diff options
author | megamage <none@none> | 2008-12-09 23:06:16 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-09 23:06:16 -0600 |
commit | ebf6469fb4347c2065da9d32992c38c812a05e08 (patch) | |
tree | 0a91e241ef2a4add4a2a44d3544844e013bca371 /src/game/World.cpp | |
parent | 36af87fc72594b3b6e3b91e91cd29a00e1a36480 (diff) | |
parent | cc0838459a86e45ccdbaa4977e20f4233f1ff1c1 (diff) |
*Merge to solve EOL issue.
--HG--
branch : trunk
Diffstat (limited to 'src/game/World.cpp')
-rw-r--r-- | src/game/World.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/game/World.cpp b/src/game/World.cpp index 04b3a1004c9..66054d95afb 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -1271,6 +1271,7 @@ void World::SetInitialWorldSettings() objmgr.LoadSpellScripts(); // must be after load Creature/Gameobject(Template/Data) objmgr.LoadGameObjectScripts(); // must be after load Creature/Gameobject(Template/Data) objmgr.LoadEventScripts(); // must be after load Creature/Gameobject(Template/Data) + objmgr.LoadWaypointScripts(); sLog.outString( "Loading Scripts text locales..." ); // must be after Load*Scripts calls objmgr.LoadDbScriptStrings(); @@ -1313,7 +1314,6 @@ void World::SetInitialWorldSettings() ///- Initilize static helper structures AIRegistry::Initialize(); - WaypointMovementGenerator<Creature>::Initialize(); Player::InitVisibleBits(); ///- Initialize MapManager @@ -2203,8 +2203,32 @@ void World::ScriptsProcess() break; } + + case SCRIPT_COMMAND_LOAD_PATH: + { + if(!source) + { + sLog.outError("SCRIPT_COMMAND_START_MOVE is tried to apply to NON-existing unit."); + break; + } - default: + if(!source->isType(TYPEMASK_UNIT)) + { + sLog.outError("SCRIPT_COMMAND_START_MOVE source mover isn't unit (TypeId: %u), skipping.",source->GetTypeId()); + break; + } + + if(!WaypointMgr.GetPath(step.script->datalong)) + { + sLog.outError("SCRIPT_COMMAND_START_MOVE source mover has an invallid path, skipping.", step.script->datalong2); + break; + } + + dynamic_cast<Unit*>(source)->GetMotionMaster()->MovePath(step.script->datalong, step.script->datalong2); + break; + } + + default: sLog.outError("Unknown script command %u called.",step.script->command); break; } |