aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting
diff options
context:
space:
mode:
authorXTZGZoReX <none@none>2010-08-07 14:17:32 +0200
committerXTZGZoReX <none@none>2010-08-07 14:17:32 +0200
commit360e028331744e1e269db3f8a2d1fec34da9229a (patch)
tree64dfc80355779cc73b4c02dcca583036cf41e03e /src/server/game/Scripting
parentbcfc58a72df7ce5aaa14c2bc49ee28f500a8bffb (diff)
* Add new TransportScript::OnRelocate hook.
* TransportScript::OnUpdate is now called on every tick, not just on movement update. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Scripting')
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp6
-rw-r--r--src/server/game/Scripting/ScriptMgr.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 9487baa5811..86336d138c6 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -1006,6 +1006,12 @@ void ScriptMgr::OnTransportUpdate(Transport* transport, uint32 diff)
tmpscript->OnUpdate(transport, diff);
}
+void ScriptMgr::OnRelocate(Transport* transport, uint32 mapId, float x, float y, float z)
+{
+ GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript);
+ tmpscript->OnRelocate(transport, mapId, x, y, z);
+}
+
void SpellHandlerScript::RegisterSelf()
{
ScriptMgr::ScriptRegistry<SpellHandlerScript>::AddScript(this);
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 7cb81724497..971924b6b58 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -729,6 +729,9 @@ class TransportScript : public ScriptObject, public UpdatableScript<Transport>
// Called when a player exits the transport.
virtual void OnRemovePassenger(Transport* transport, Player* player) { }
+
+ // Called when a transport moves.
+ virtual void OnRelocate(Transport* transport, uint32 mapId, float x, float y, float z) { }
};
// Placed here due to ScriptRegistry::AddScript dependency.
@@ -895,6 +898,7 @@ class ScriptMgr
void OnAddCreaturePassenger(Transport* transport, Creature* creature);
void OnRemovePassenger(Transport* transport, Player* player);
void OnTransportUpdate(Transport* transport, uint32 diff);
+ void OnRelocate(Transport* transport, uint32 mapId, float x, float y, float z);
public: /* ScriptRegistry */