diff options
Diffstat (limited to 'modules/protocol/ratbox.cpp')
-rw-r--r-- | modules/protocol/ratbox.cpp | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index 98b7bae6c..b7716bce1 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -218,19 +218,50 @@ class ProtoRatbox : public Module void AddModes() { /* user modes */ - ModeManager::RemoveUserMode(ModeManager::FindUserModeByName("HIDEOPER")); - ModeManager::RemoveUserMode(ModeManager::FindUserModeByName("REGPRIV")); - ModeManager::RemoveUserMode(ModeManager::FindUserModeByName("SSL")); + ModeManager::AddUserMode(new UserModeOperOnly("ADMIN", 'a')); + ModeManager::AddUserMode(new UserModeOperOnly("BOT", 'b')); + // c/C = con + // d = debug? + ModeManager::AddUserMode(new UserMode("DEAF", 'D')); + // f = full? + ModeManager::AddUserMode(new UserMode("CALLERID", 'g')); + ModeManager::AddUserMode(new UserMode("INVIS", 'i')); + // k = skill? + ModeManager::AddUserMode(new UserModeOperOnly("LOCOPS", 'l')); + // n = nchange + ModeManager::AddUserMode(new UserMode("OPER", 'o')); + // r = rej + ModeManager::AddUserMode(new UserModeOperOnly("SNOMASK", 's')); ModeManager::AddUserMode(new UserModeNoone("PROTECTED", 'S')); + // u = unauth? + ModeManager::AddUserMode(new UserMode("WALLOPS", 'w')); + // x = external? + // y = spy? + ModeManager::AddUserMode(new UserModeOperOnly("OPERWALLS", 'z')); + // Z = spy? + + /* b/e/I */ + ModeManager::AddChannelMode(new ChannelModeList("BAN", 'b')); + ModeManager::AddChannelMode(new ChannelModeList("EXCEPT", 'e')); + ModeManager::AddChannelMode(new ChannelModeList("INVITEOVERRIDE", 'I')); /* v/h/o/a/q */ - ModeManager::RemoveChannelMode(ModeManager::FindChannelModeByName("HALFOP")); + ModeManager::AddChannelMode(new ChannelModeStatus("VOICE", 'v', '+', 0)); + ModeManager::AddChannelMode(new ChannelModeStatus("OP", 'o', '@', 1)); + + /* l/k */ + ModeManager::AddChannelMode(new ChannelModeParam("LIMIT", 'l')); + ModeManager::AddChannelMode(new ChannelModeKey('k')); /* channel modes */ - ModeManager::RemoveChannelMode(ModeManager::FindChannelModeByName("REGISTERED")); - ModeManager::RemoveChannelMode(ModeManager::FindChannelModeByName("OPERONLY")); - ModeManager::RemoveChannelMode(ModeManager::FindChannelModeByName("REGISTEREDONLY")); - ModeManager::RemoveChannelMode(ModeManager::FindChannelModeByName("SSL")); + ModeManager::AddChannelMode(new ChannelMode("INVITE", 'i')); + ModeManager::AddChannelMode(new ChannelMode("MODERATED", 'm')); + ModeManager::AddChannelMode(new ChannelMode("NOEXTERNAL", 'n')); + ModeManager::AddChannelMode(new ChannelMode("PRIVATE", 'p')); + ModeManager::AddChannelMode(new ChannelModeNoone("REGISTEREDONLY", 'r')); + ModeManager::AddChannelMode(new ChannelMode("SECRET", 's')); + ModeManager::AddChannelMode(new ChannelMode("TOPIC", 't')); + ModeManager::AddChannelMode(new ChannelMode("SSL", 'S')); } public: |