summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_remove.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp
index 8d303d3e0..47d16f14c 100644
--- a/src/modules/m_remove.cpp
+++ b/src/modules/m_remove.cpp
@@ -171,14 +171,14 @@ class RemoveBase
hasnokicks = (ServerInstance->FindModule("m_nokicks.so") && channel->IsModeSet('Q'));
/* We support the +Q channel mode via. the m_nokicks module, if the module is loaded and the mode is set then disallow the /remove */
- if(!supportnokicks || !hasnokicks || (ulevel == ULINE))
+ if ((!IS_LOCAL(user)) || (!supportnokicks || !hasnokicks || (ulevel == ULINE)))
{
/* We'll let everyone remove their level and below, eg:
* ops can remove ops, halfops, voices, and those with no mode (no moders actually are set to 1)
* a ulined target will get a higher level than it's possible for a /remover to get..so they're safe.
* Nobody may remove a founder.
*/
- if ((ulevel > PEON) && (ulevel >= tlevel) && (tlevel != OWNER))
+ if ((!IS_LOCAL(user)) || ((ulevel > PEON) && (ulevel >= tlevel) && (tlevel != OWNER)))
{
// no you can't just go from a std::ostringstream to a std::string, Om. -nenolod
// but you can do this, nenolod -brain