aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <vincent_michael@gmx.de>2016-06-05 16:43:41 +0200
committerVincent-Michael <vincent_michael@gmx.de>2016-06-05 16:43:41 +0200
commit9d7a17d9f5f29c928e14d175479da68b2118add9 (patch)
tree4c249066ac3bba56c0d5f131b75666c20c5fe339 /src
parent18aa8df320e736daf506876bcdf6143405c10bc6 (diff)
Core/Commands: Added ".npc set phase" command error message for invalid phaseid
Closes #14927
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Miscellaneous/Language.h2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp12
2 files changed, 10 insertions, 4 deletions
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index a4051c7e865..6f1f4cb2409 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -1069,7 +1069,7 @@ enum TrinityStrings
LANG_COMMAND_NO_FROZEN_PLAYERS = 5004,
LANG_COMMAND_LIST_FREEZE = 5005,
LANG_COMMAND_PERMA_FROZEN_PLAYER = 5006,
- // = 5007, unused
+ LANG_PHASE_NOTFOUND = 5007,
LANG_INSTANCE_CLOSED = 5008,
LANG_COMMAND_PLAYED_TO_ALL = 5009,
LANG_NPCINFO_LINKGUID = 5010,
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index d9d54353246..c71e0f01940 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -1106,7 +1106,13 @@ public:
if (!*args)
return false;
- uint32 phase = (uint32) atoi((char*)args);
+ uint32 phaseID = uint32(atoi((char*)args));
+ if (!sPhaseStore.LookupEntry(phaseID))
+ {
+ handler->SendSysMessage(LANG_PHASE_NOTFOUND);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
Creature* creature = handler->getSelectedCreature();
if (!creature || creature->IsPet())
@@ -1117,8 +1123,8 @@ public:
}
creature->ClearPhases();
- creature->SetInPhase(phase, true, true);
- creature->SetDBPhase(phase);
+ creature->SetInPhase(phaseID, true, true);
+ creature->SetDBPhase(phaseID);
creature->SaveToDB();