diff --git a/engine/server/library/serverGame/src/shared/core/Client.cpp b/engine/server/library/serverGame/src/shared/core/Client.cpp index cae9c03a..7d327942 100755 --- a/engine/server/library/serverGame/src/shared/core/Client.cpp +++ b/engine/server/library/serverGame/src/shared/core/Client.cpp @@ -885,6 +885,21 @@ void Client::receiveClientMessage(const GameNetworkMessage &message) { break; } + + case constcrc("handleWaypointWarp") : { + Archive::ReadIterator ri = static_cast(message).getByteStream().begin(); + GenericValueTypeMessage > const msg(ri); + CreatureObject *creatureObject = dynamic_cast(getCharacterObject()); + if (creatureObject != nullptr) { + GameScriptObject *gameScriptObject = creatureObject->getScriptObject(); + if (gameScriptObject != nullptr) { + ScriptParams p; + p.addParam(msg.getValue().first); + IGNORE_RETURN(gameScriptObject->trigAllScripts(Scripting::TRIG_WAYPOINT_WARP, p)); + } + } + break; + } //---------------------------------------------------------------------- diff --git a/engine/server/library/serverScript/src/shared/ScriptFunctionTable.cpp b/engine/server/library/serverScript/src/shared/ScriptFunctionTable.cpp index e9f4e88c..3a56b674 100755 --- a/engine/server/library/serverScript/src/shared/ScriptFunctionTable.cpp +++ b/engine/server/library/serverScript/src/shared/ScriptFunctionTable.cpp @@ -431,6 +431,8 @@ static const Scripting::ScriptFuncTable ScriptFuncList[] = {Scripting::TRIG_ON_ABANDON_PLAYER_QUEST, "OnAbandonPlayerQuest", "O"}, {Scripting::TRIG_ON_GCW_SCORE_CATEGORY_PERCENTILE_CHANGE, "OnGcwScoreCategoryPercentileChange", "sii"}, + + {Scripting::TRIG_WAYPOINT_WARP, "OnWaypointWarpRequested", "O"}, //-- finish it up diff --git a/engine/server/library/serverScript/src/shared/ScriptFunctionTable.h b/engine/server/library/serverScript/src/shared/ScriptFunctionTable.h index 72d7b67d..63b508c0 100755 --- a/engine/server/library/serverScript/src/shared/ScriptFunctionTable.h +++ b/engine/server/library/serverScript/src/shared/ScriptFunctionTable.h @@ -479,6 +479,7 @@ enum TrigId TRIG_ON_RATING_FINISHED = 301, TRIG_ON_ABANDON_PLAYER_QUEST = 302, TRIG_ON_GCW_SCORE_CATEGORY_PERCENTILE_CHANGE = 303, + TRIG_WAYPOINT_WARP = 304, TRIG_LAST_TRIGGER };