diff --git a/src/server/game/LuaEngine/methods/TrinityCore/GlobalMethods.h b/src/server/game/LuaEngine/methods/TrinityCore/GlobalMethods.h index 64b8b2d072..bc89309e14 100644 --- a/src/server/game/LuaEngine/methods/TrinityCore/GlobalMethods.h +++ b/src/server/game/LuaEngine/methods/TrinityCore/GlobalMethods.h @@ -3410,9 +3410,17 @@ namespace LuaGlobalFunctions lua_setfield(L, -2, "delay"); } - // MoveType is WaypointMoveType enum - lua_pushinteger(L, static_cast(node.MoveType)); - lua_setfield(L, -2, "moveType"); + // MoveType is Optional + if (node.MoveType) + { + lua_pushinteger(L, static_cast(*node.MoveType)); + lua_setfield(L, -2, "moveType"); + } + else + { + lua_pushinteger(L, 0); // Default to WAYPOINT_MOVE_TYPE_WALK + lua_setfield(L, -2, "moveType"); + } lua_rawseti(L, -2, nodeIndex++); } diff --git a/src/server/game/LuaEngine/methods/TrinityCore/UnitMethods.h b/src/server/game/LuaEngine/methods/TrinityCore/UnitMethods.h index 0406d501ec..8588f5fe10 100644 --- a/src/server/game/LuaEngine/methods/TrinityCore/UnitMethods.h +++ b/src/server/game/LuaEngine/methods/TrinityCore/UnitMethods.h @@ -2076,7 +2076,8 @@ namespace LuaUnit Position pos(x, y, z); - unit->GetMotionMaster()->MoveJump(pos, zSpeed, maxHeight, id); + // New signature: MoveJump(id, pos, speedOrTime, minHeight, maxHeight, ...) + unit->GetMotionMaster()->MoveJump(id, pos, zSpeed, {}, maxHeight); return 0; }