TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI Struct Reference

Public Member Functions

 go_wg_vehicle_teleporterAI (GameObject *gameObject)
 
void UpdateAI (uint32 diff) override
 
- Public Member Functions inherited from GameObjectAI
 GameObjectAI (GameObject *g)
 
virtual ~GameObjectAI ()
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void DoAction (int32)
 
virtual void SetGUID (uint64, int32)
 
virtual uint64 GetGUID (int32) const
 
virtual bool GossipHello (Player *)
 
virtual bool GossipSelect (Player *, uint32, uint32)
 
virtual bool GossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual bool QuestAccept (Player *, Quest const *)
 
virtual bool QuestReward (Player *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *)
 
virtual void Destroyed (Player *, uint32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void OnGameEvent (bool, uint16)
 
virtual void OnStateChanged (uint32, Unit *)
 
virtual void EventInform (uint32)
 

Private Attributes

uint32 _checkTimer
 

Additional Inherited Members

- Static Public Member Functions inherited from GameObjectAI
static int Permissible (GameObject const *go)
 
- Protected Attributes inherited from GameObjectAI
GameObject *const go
 

Constructor & Destructor Documentation

go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI::go_wg_vehicle_teleporterAI ( GameObject gameObject)
inline
341 : GameObjectAI(gameObject), _checkTimer(1000) { }
GameObjectAI(GameObject *g)
Definition: GameObjectAI.h:34
uint32 _checkTimer
Definition: zone_wintergrasp.cpp:361

Member Function Documentation

void go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI::UpdateAI ( uint32  diff)
inlineoverridevirtual

Reimplemented from GameObjectAI.

344  {
345  if (_checkTimer <= diff)
346  {
347  if (Battlefield* wg = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG))
348  // Tabulation madness in the hole!
349  for (uint8 i = 0; i < MAX_WINTERGRASP_VEHICLES; i++)
350  if (Creature* vehicleCreature = go->FindNearestCreature(vehiclesList[i], 3.0f, true))
351  if (!vehicleCreature->HasAura(SPELL_VEHICLE_TELEPORT) && vehicleCreature->getFaction() == WintergraspFaction[wg->GetDefenderTeam()])
352  if (Creature* teleportTrigger = vehicleCreature->FindNearestCreature(NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC, 100.0f, true))
353  teleportTrigger->CastSpell(vehicleCreature, SPELL_VEHICLE_TELEPORT, true);
354 
355  _checkTimer = 1000;
356  }
357  else _checkTimer -= diff;
358  }
Definition: zone_wintergrasp.cpp:57
uint32 const WintergraspFaction[]
Definition: BattlefieldWG.h:438
Definition: Creature.h:467
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2443
Definition: Battlefield.h:196
uint32 _checkTimer
Definition: zone_wintergrasp.cpp:361
#define sBattlefieldMgr
Definition: BattlefieldMgr.h:67
Definition: Battlefield.h:33
uint8 const MAX_WINTERGRASP_VEHICLES
Definition: zone_wintergrasp.cpp:104
uint8_t uint8
Definition: Define.h:152
Definition: zone_wintergrasp.cpp:70
GameObject *const go
Definition: GameObjectAI.h:32
uint32 const vehiclesList[MAX_WINTERGRASP_VEHICLES]
Definition: zone_wintergrasp.cpp:106

+ Here is the call graph for this function:

Member Data Documentation

uint32 go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI::_checkTimer
private

The documentation for this struct was generated from the following file: