* Convert SCRIPT_COMMAND_* defines to enum. Make comments for values up-to-date.

* Cleanup ScriptsProcess method. Move repeating parts of code to inline helper methods.
* Improve SCRIPT_COMMAND_CAST_SPELL command. You can specify triggered attribute when datalong2 = 4 by making dataint negative.
* Improve SCRIPT_COMMAND_KILL command. Now, if source is not a creature, it tries to use target object instead.

--HG--
branch : trunk
This commit is contained in:
azazel
2010-08-05 00:55:10 +06:00
parent 96fa91034f
commit f3eab91102
3 changed files with 491 additions and 750 deletions
File diff suppressed because it is too large Load Diff
+9
View File
@@ -517,6 +517,15 @@ class Map : public GridRefManager<NGridType>
ActiveNonPlayers::iterator m_activeNonPlayersIter;
private:
Player* _GetScriptPlayerSourceOrTarget(Object* source, Object* target, uint32 unScriptID, const char *sCommandName) const;
Creature* _GetScriptCreatureSourceOrTarget(Object* source, Object* target, uint32 unScriptID, const char *sCommandName, bool bReverse = false) const;
Unit* _GetScriptUnit(Object* obj, bool isSource, uint32 unScriptID, const char *sCommandName) const;
Player* _GetScriptPlayer(Object* obj, bool isSource, uint32 unScriptID, const char *sCommandName) const;
Creature* _GetScriptCreature(Object* obj, bool isSource, uint32 unScriptID, const char *sCommandName) const;
WorldObject* _GetScriptWorldObject(Object* obj, bool isSource, uint32 unScriptID, const char *sCommandName) const;
void _ScriptProcessDoor(Object* source, Object* target, bool bOpen, uint32 guid, int32 nTimeToToggle, uint32 unScriptID) const;
GameObject* _FindGameObject(WorldObject* pWorldObject, uint32 guid) const;
time_t i_gridExpiry;
//used for fast base_map (e.g. MapInstanced class object) search for