summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-16 10:47:45 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-16 10:47:45 +0000
commit1635c37dadd8650a7d3ee27a0c003c4e30f1ec4e (patch)
tree807a751304dc6e61645a17e690d837847600347e /src/modules
parentd14fbe03f298155b7b6c38735ceb1d1a62750bba (diff)
Tidy logic a little in here, and support <options:exemptchanops>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7033 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_nonicks.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index ef93867df..103d07c2a 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -86,13 +86,15 @@ class ModuleNoNickChange : public Module
if (curr->IsModeSet('N'))
{
- // don't allow the nickchange, theyre on at least one channel with +N set
- // and theyre not an oper
+ if (CHANOPS_EXEMPT(ServerInstance, 'N') && curr->GetStatus(user) == STATUS_OP)
+ continue;
+
user->WriteServ("447 %s :Can't change nickname while on %s (+N is set)", user->nick, curr->name);
return 1;
}
}
}
+
return 0;
}
};