diff options
| author | megamage <none@none> | 2009-06-04 16:36:33 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-06-04 16:36:33 -0500 |
| commit | 8fa2fa0fdb8269a4c278ff974b4981628101a5d6 (patch) | |
| tree | df6eeae6b9e53ae5083f6cc6a5d243b7c97413a5 /src/bindings/scripts/include | |
| parent | 93a23a7b401d26fe14f0b9b463a2ca19fd2d6f82 (diff) | |
*Use dynamic cast for script cast.
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts/include')
| -rw-r--r-- | src/bindings/scripts/include/sc_creature.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/include/sc_creature.h | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index b0ff9d48584..d30f0b01879 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -491,7 +491,7 @@ void ScriptedAI::DoTeleportPlayer(Unit* pUnit, float x, float y, float z, float return; } - ((Player*)pUnit)->TeleportTo(pUnit->GetMapId(), x, y, z, o, TELE_TO_NOT_LEAVE_COMBAT); + CAST_PLR(pUnit)->TeleportTo(pUnit->GetMapId(), x, y, z, o, TELE_TO_NOT_LEAVE_COMBAT); } void ScriptedAI::DoTeleportAll(float x, float y, float z, float o) diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index 3eef1db1947..964e25b51eb 100644 --- a/src/bindings/scripts/include/sc_creature.h +++ b/src/bindings/scripts/include/sc_creature.h @@ -13,6 +13,15 @@ #include "CreatureAIImpl.h" #include "InstanceData.h" +#define USE_DYNAMIC_CAST +#ifdef USE_DYNAMIC_CAST +#define CAST_PLR(a) (dynamic_cast<Player*>(a)) +#define CAST_CRE(a) (dynamic_cast<Creature*>(a)) +#else +#define CAST_PLR(a) (static_cast<Player*>(a)) +#define CAST_CRE(a) (static_cast<Creature*>(a)) +#endif + class ScriptedInstance; class SummonList : private std::list<uint64> |
