aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Miscellaneous/Language.h4
-rw-r--r--src/server/scripts/Commands/cs_go.cpp36
2 files changed, 23 insertions, 17 deletions
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index f5c8f4144c5..23b7ceda1fc 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -966,8 +966,8 @@ 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,
- LANG_COMMAND_GO_INSTANCE_START_FAILED = 1198, // 3.3.5 RESERVED
+ LANG_COMMAND_GO_INSTANCE_GATE_FAILED = 1197,
+ LANG_COMMAND_GO_INSTANCE_START_FAILED = 1198,
// Room for more level 3 1199 not used
// Debug commands
diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp
index edf75078b8a..c3ad199a587 100644
--- a/src/server/scripts/Commands/cs_go.cpp
+++ b/src/server/scripts/Commands/cs_go.cpp
@@ -478,6 +478,7 @@ public:
if (matches.empty())
{
handler->SendSysMessage(LANG_COMMAND_NO_INSTANCES_MATCH);
+ handler->SetSentErrorMessage(true);
return false;
}
auto it = matches.rbegin();
@@ -512,28 +513,33 @@ public:
player->SaveRecallPosition();
// try going to entrance
- AreaTriggerStruct const* exit = sObjectMgr->GetGoBackTrigger(mapid);
- if (!exit)
- handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_EXIT, mapid, scriptname.c_str());
-
- if (exit && player->TeleportTo(exit->target_mapId, exit->target_X, exit->target_Y, exit->target_Z, exit->target_Orientation + M_PI))
+ if (AreaTriggerStruct const* exit = sObjectMgr->GetGoBackTrigger(mapid))
{
- handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_GATE, mapid, scriptname.c_str());
- 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
- AreaTriggerStruct const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid);
- if (!entrance)
- handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_ENTRANCE, mapid, scriptname.c_str());
-
- if (entrance && player->TeleportTo(entrance->target_mapId, entrance->target_X, entrance->target_Y, entrance->target_Z, entrance->target_Orientation))
+ if (AreaTriggerStruct const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid))
{
- handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_START, mapid, scriptname.c_str());
- 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.c_str(), exit ? exit->target_mapId : uint32(-1));
handler->SetSentErrorMessage(true);
return false;
}