summaryrefslogtreecommitdiff
path: root/modules/protocol/ratbox.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-08-10 17:45:39 -0400
committerAdam <Adam@anope.org>2013-08-10 17:59:31 -0400
commitc507c78d5aa7e1a194acfce2e56e8ed7d6488b1d (patch)
tree92495d847f7eb27935303f4b79f012bb89e89bfb /modules/protocol/ratbox.cpp
parent58c05687bf7b365c9be7791f8128dbd0da56f5ca (diff)
Do not have ratbox or plexus pull modes from hybrid, it is entirely too confusing. Also fix cs_mode config
Diffstat (limited to 'modules/protocol/ratbox.cpp')
-rw-r--r--modules/protocol/ratbox.cpp47
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: