diff options
author | Treeston <treeston.mmoc@gmail.com> | 2019-08-06 23:46:07 +0200 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2019-08-06 23:46:07 +0200 |
commit | 4320a021e93423122745684e2689aa1a7028f8b4 (patch) | |
tree | 0c58a6169c6a6128766285ec3c31017c76d0c720 /src | |
parent | f4ea3993cec2ee942420d760db8f46e95fdc5cfb (diff) |
Scripts/Commands: Cleanup some output from .go instance
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Miscellaneous/Language.h | 5 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_go.cpp | 36 |
2 files changed, 24 insertions, 17 deletions
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index 5e57449a5e6..133deee6347 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -920,8 +920,9 @@ enum TrinityStrings LANG_COMMAND_INSTANCE_NO_EXIT = 1194, LANG_COMMAND_WENT_TO_INSTANCE_GATE = 1195, LANG_COMMAND_WENT_TO_INSTANCE_START = 1196, - LANG_COMMAND_GO_INSTANCE_FAILED = 1197, - // Room for more level 3 1197-1199 not used + LANG_COMMAND_GO_INSTANCE_GATE_FAILED = 1197, + LANG_COMMAND_GO_INSTANCE_START_FAILED = 1198, + // Room for more level 3 1199 not used // Debug commands LANG_CINEMATIC_NOT_EXIST = 1200, diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index 8ea58e407c2..d22f6776c04 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -406,6 +406,7 @@ public: if (matches.empty()) { handler->SendSysMessage(LANG_COMMAND_NO_INSTANCES_MATCH); + handler->SetSentErrorMessage(true); return false; } auto it = matches.rbegin(); @@ -440,28 +441,33 @@ public: player->SaveRecallPosition(); // try going to entrance - AreaTrigger const* exit = sObjectMgr->GetGoBackTrigger(mapid); - if (!exit) - handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_EXIT, mapid, scriptname); - - if (exit && player->TeleportTo(exit->target_mapId, exit->target_X, exit->target_Y, exit->target_Z, exit->target_Orientation + M_PI)) + if (AreaTrigger const* exit = sObjectMgr->GetGoBackTrigger(mapid)) { - handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_GATE, mapid, scriptname); - return true; + if (player->TeleportTo(exit->target_mapId, exit->target_X, exit->target_Y, exit->target_Z, exit->target_Orientation + M_PI)) + { + handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_GATE, mapid, scriptname); + return true; + } + else + handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_GATE_FAILED, mapid, scriptname, exit->target_mapId); } + else + handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_EXIT, mapid, scriptname); // try going to start - AreaTrigger const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid); - if (!entrance) - handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_ENTRANCE, mapid, scriptname); - - if (entrance && player->TeleportTo(entrance->target_mapId, entrance->target_X, entrance->target_Y, entrance->target_Z, entrance->target_Orientation)) + if (AreaTrigger const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid)) { - handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_START, mapid, scriptname); - return true; + if (player->TeleportTo(entrance->target_mapId, entrance->target_X, entrance->target_Y, entrance->target_Z, entrance->target_Orientation)) + { + handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_START, mapid, scriptname); + return true; + } + else + handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_START_FAILED, mapid, scriptname); } + else + handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_ENTRANCE, mapid, scriptname); - handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_FAILED, mapid, scriptname, exit ? exit->target_mapId : uint32(-1)); handler->SetSentErrorMessage(true); return false; } |