diff options
Diffstat (limited to 'src/server/game/Chat/Chat.cpp')
-rwxr-xr-x | src/server/game/Chat/Chat.cpp | 58 |
1 files changed, 20 insertions, 38 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index 0aaecd233f5..2aaa3992572 100755 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -160,15 +160,6 @@ ChatCommand * ChatHandler::getCommandTable() { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand eventCommandTable[] = - { - { "activelist", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleEventActiveListCommand>, "", NULL }, - { "start", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleEventStartCommand>, "", NULL }, - { "stop", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleEventStopCommand>, "", NULL }, - { "", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleEventInfoCommand>, "", NULL }, - { NULL, 0, false, NULL, "", NULL } - }; - static ChatCommand gobjectCommandTable[] = { { "activate", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleActivateObjectCommand>, "", NULL }, @@ -465,16 +456,6 @@ ChatCommand * ChatHandler::getCommandTable() { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand teleCommandTable[] = - { - { "add", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleTeleAddCommand>, "", NULL }, - { "del", SEC_ADMINISTRATOR, true, OldHandler<&ChatHandler::HandleTeleDelCommand>, "", NULL }, - { "name", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleTeleNameCommand>, "", NULL }, - { "group", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleTeleGroupCommand>, "", NULL }, - { "", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleTeleCommand>, "", NULL }, - { NULL, 0, false, NULL, "", NULL } - }; - static ChatCommand titlesCommandTable[] = { { "add", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleTitlesAddCommand>, "", NULL }, @@ -533,9 +514,7 @@ ChatCommand * ChatHandler::getCommandTable() static ChatCommand commandTable[] = { - { "tele", SEC_MODERATOR, true, NULL, "", teleCommandTable }, { "character", SEC_GAMEMASTER, true, NULL, "", characterCommandTable}, - { "event", SEC_GAMEMASTER, false, NULL, "", eventCommandTable }, { "gobject", SEC_GAMEMASTER, false, NULL, "", gobjectCommandTable }, { "honor", SEC_GAMEMASTER, false, NULL, "", honorCommandTable }, { "wp", SEC_GAMEMASTER, false, NULL, "", wpCommandTable }, @@ -854,6 +833,26 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand *table, const char* text, co if (!hasStringAbbr(table[i].Name, cmd.c_str())) continue; + bool match = false; + if (strlen(table[i].Name) > strlen(cmd.c_str())) + { + for (uint32 j = 0; table[j].Name != NULL; ++j) + { + if (!hasStringAbbr(table[j].Name, cmd.c_str())) + continue; + + if (strcmp(table[j].Name,cmd.c_str()) != 0) + continue; + else + { + match = true; + break; + } + } + } + if (match) + continue; + // select subcommand from child commands list if (table[i].ChildCommands != NULL) { @@ -874,23 +873,6 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand *table, const char* text, co if (!table[i].Handler || !isAvailable(table[i])) continue; - bool match = false; - if (strlen(table[i].Name) > strlen(cmd.c_str())) - { - for (uint32 j = 0; table[j].Name != NULL; ++j) - { - if (strcmp(table[j].Name,cmd.c_str()) != 0) - continue; - else - { - match = true; - break; - } - } - } - if (match) - continue; - SetSentErrorMessage(false); // table[i].Name == "" is special case: send original command to handler if ((table[i].Handler)(this, strlen(table[i].Name) != 0 ? text : oldtext)) |