diff options
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> |
