From 1ee90e1022a235859316e55356ea8a3d2f456c9b Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 23 Aug 2009 22:09:43 -0500 Subject: *Update vehicle system. Make vehicle a seperate class from creature. --HG-- branch : trunk --- src/bindings/scripts/include/sc_creature.cpp | 7 +++++++ src/bindings/scripts/include/sc_creature.h | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/bindings/scripts/include') diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index aa64a6fcbf1..89c996c6589 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -175,6 +175,13 @@ Creature *ScriptedAI::DoSummon(uint32 uiEntry, WorldObject* pGo, float fRadius, return me->SummonCreature(uiEntry, fX, fY, fZ, me->GetOrientation(), uiType, uiDespawntime); } +Creature *ScriptedAI::DoSummonFlyer(uint32 uiEntry, WorldObject *obj, float _fZ, float fRadius, uint32 uiDespawntime, TempSummonType uiType) +{ + float fX, fY, fZ; + obj->GetGroundPointAroundUnit(fX, fY, fZ, fRadius * rand_norm(), rand_norm()*2*M_PI); + return me->SummonCreature(uiEntry, fX, fY, _fZ, me->GetOrientation(), uiType, uiDespawntime); +} + Unit* ScriptedAI::SelectUnit(SelectAggroTarget target, uint32 uiPosition) { diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index 74eea9ad599..c4066a95598 100644 --- a/src/bindings/scripts/include/sc_creature.h +++ b/src/bindings/scripts/include/sc_creature.h @@ -18,7 +18,6 @@ #define CAST_PLR(a) (SCRIPT_CAST_TYPE(a)) #define CAST_CRE(a) (SCRIPT_CAST_TYPE(a)) -#define CAST_VEH(a) (SCRIPT_CAST_TYPE(a)) #define CAST_SUM(a) (SCRIPT_CAST_TYPE(a)) #define CAST_PET(a) (SCRIPT_CAST_TYPE(a)) #define CAST_AI(a,b) (SCRIPT_CAST_TYPE(b)) @@ -27,7 +26,7 @@ class ScriptedInstance; -class SummonList : private std::list +class SummonList : public std::list { public: explicit SummonList(Creature* creature) : m_creature(creature) {} @@ -154,6 +153,7 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI Creature* DoSpawnCreature(uint32 uiId, float fX, float fY, float fZ, float fAngle, uint32 uiType, uint32 uiDespawntime); Creature *DoSummon(uint32 uiEntry, const float fPos[4], uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN); Creature *DoSummon(uint32 uiEntry, WorldObject *obj, float fRadius = 5.0f, uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN); + Creature *DoSummonFlyer(uint32 uiEntry, WorldObject *obj, float fZ, float fRadius = 5.0f, uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN); //Selects a unit from the creature's current aggro list Unit* SelectUnit(SelectAggroTarget target, uint32 uiPosition); -- cgit v1.2.3