diff options
| author | blub <Vincent_Michael@gmx.de> | 2013-01-07 07:52:35 -0800 | 
|---|---|---|
| committer | blub <Vincent_Michael@gmx.de> | 2013-01-07 07:52:35 -0800 | 
| commit | 9ad1857e59fcd81d58a953565a738e97c4fc7236 (patch) | |
| tree | 099cef112177bfed15c719f1e5d3e43b3b51c6cc /src/server/scripts/Commands | |
| parent | 24e0eb1812f94c5092009f78ced3306f142d2789 (diff) | |
| parent | 08f62d8313e05ed6eb1767eed07a7e31533e9bb6 (diff) | |
Merge pull request #8826 from joschiwald/mmaps_disable
Core/MMaps: use DisableMgr to disable pathfinding on a specific map
Diffstat (limited to 'src/server/scripts/Commands')
| -rw-r--r-- | src/server/scripts/Commands/cs_disable.cpp | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/src/server/scripts/Commands/cs_disable.cpp b/src/server/scripts/Commands/cs_disable.cpp index 37e282cac8e..34738777c85 100644 --- a/src/server/scripts/Commands/cs_disable.cpp +++ b/src/server/scripts/Commands/cs_disable.cpp @@ -48,6 +48,7 @@ public:              { "achievement_criteria",   SEC_ADMINISTRATOR,      true,   &HandleRemoveDisableAchievementCriteriaCommand, "", NULL },              { "outdoorpvp",             SEC_ADMINISTRATOR,      true,   &HandleRemoveDisableOutdoorPvPCommand,          "", NULL },              { "vmap",                   SEC_ADMINISTRATOR,      true,   &HandleRemoveDisableVmapCommand,                "", NULL }, +            { "mmap",                   SEC_ADMINISTRATOR,      true,   &HandleRemoveDisableMMapCommand,                "", NULL },              { NULL,                     0,                      false,  NULL,                                           "", NULL }          };          static ChatCommand addDisableCommandTable[] = @@ -59,6 +60,7 @@ public:              { "achievement_criteria",   SEC_ADMINISTRATOR,      true,   &HandleAddDisableAchievementCriteriaCommand,    "", NULL },              { "outdoorpvp",             SEC_ADMINISTRATOR,      true,   &HandleAddDisableOutdoorPvPCommand,             "", NULL },              { "vmap",                   SEC_ADMINISTRATOR,      true,   &HandleAddDisableVmapCommand,                   "", NULL }, +            { "mmap",                   SEC_ADMINISTRATOR,      true,   &HandleAddDisableMMapCommand,                   "", NULL },              { NULL,                     0,                      false,  NULL,                                           "", NULL }          };          static ChatCommand disableCommandTable[] = @@ -172,6 +174,17 @@ public:                  disableTypeStr = "vmap";                  break;              } +            case DISABLE_TYPE_MMAP: +            { +                if (!sMapStore.LookupEntry(entry)) +                { +                    handler->PSendSysMessage(LANG_COMMAND_NOMAPFOUND); +                    handler->SetSentErrorMessage(true); +                    return false; +                } +                disableTypeStr = "mmap"; +                break; +            }              default:                  break;          } @@ -256,6 +269,14 @@ public:          return HandleAddDisables(handler, args, DISABLE_TYPE_VMAP);      } +    static bool HandleAddDisableMMapCommand(ChatHandler* handler, char const* args) +    { +        if (!*args) +            return false; + +        return HandleAddDisables(handler, args, DISABLE_TYPE_MMAP); +    } +      static bool HandleRemoveDisables(ChatHandler* handler, char const* args, uint8 disableType)      {          char* entryStr = strtok((char*)args, " "); @@ -289,6 +310,9 @@ public:              case DISABLE_TYPE_VMAP:                  disableTypeStr = "vmap";                  break; +            case DISABLE_TYPE_MMAP: +                disableTypeStr = "mmap"; +                break;          }          PreparedStatement* stmt = NULL; @@ -367,6 +391,14 @@ public:          return HandleRemoveDisables(handler, args, DISABLE_TYPE_VMAP);      } + +    static bool HandleRemoveDisableMMapCommand(ChatHandler* handler, char const* args) +    { +        if (!*args) +            return false; + +        return HandleRemoveDisables(handler, args, DISABLE_TYPE_MMAP); +    }  };  void AddSC_disable_commandscript()  | 
