AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
SmartGameObjectAI Class Reference

#include "SmartAI.h"

Inheritance diagram for SmartGameObjectAI:
GameObjectAI

Public Member Functions

 SmartGameObjectAI (GameObject *g)
 
 ~SmartGameObjectAI () override
 
void UpdateAI (uint32 diff) override
 
void InitializeAI () override
 
void Reset () override
 
SmartScriptGetScript ()
 
bool GossipHello (Player *player, bool reportUse) override
 
bool GossipSelect (Player *player, uint32 sender, uint32 action) override
 
bool GossipSelectCode (Player *, uint32, uint32, const char *) override
 
bool QuestAccept (Player *player, Quest const *quest) override
 
bool QuestReward (Player *player, Quest const *quest, uint32 opt) override
 
void Destroyed (Player *player, uint32 eventId) override
 
void SetData (uint32 id, uint32 value) override
 
void SetScript9 (SmartScriptHolder &e, uint32 entry, Unit *invoker)
 
void OnGameEvent (bool start, uint16 eventId) override
 
void OnStateChanged (uint32 state, Unit *unit) override
 
void EventInform (uint32 eventId) override
 
void SpellHit (Unit *unit, SpellInfo const *spellInfo) override
 
void JustSummoned (Creature *creature) override
 
void SummonedCreatureDespawn (Creature *unit) override
 
void SummonedCreatureDies (Creature *summon, Unit *killer) override
 
- Public Member Functions inherited from GameObjectAI
 GameObjectAI (GameObject *go)
 
virtual ~GameObjectAI ()
 
virtual void UpdateAI (uint32)
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void DoAction (int32)
 
virtual void SetGUID (ObjectGuid, int32)
 
virtual ObjectGuid GetGUID (int32) const
 
virtual bool GossipHello (Player *, bool)
 
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 SetData (uint32, uint32)
 
virtual void OnGameEvent (bool, uint16)
 
virtual void OnStateChanged (uint32, Unit *)
 
virtual void EventInform (uint32)
 
virtual void SpellHit (Unit *, SpellInfo const *)
 
virtual bool CanBeSeen (Player const *)
 
virtual void JustSummoned (Creature *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 

Static Public Member Functions

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

Protected Attributes

SmartScript mScript
 
- Protected Attributes inherited from GameObjectAI
GameObject *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ SmartGameObjectAI()

SmartGameObjectAI::SmartGameObjectAI ( GameObject g)
inline
255: GameObjectAI(g) {}
Definition: GameObjectAI.h:34

◆ ~SmartGameObjectAI()

SmartGameObjectAI::~SmartGameObjectAI ( )
inlineoverride
256{}

Member Function Documentation

◆ Destroyed()

void SmartGameObjectAI::Destroyed ( Player player,
uint32  eventId 
)
overridevirtual

Reimplemented from GameObjectAI.

1214{
1215 GetScript()->ProcessEventsFor(SMART_EVENT_DEATH, player, eventId, 0, false, nullptr, me);
1216}
@ SMART_EVENT_DEATH
Definition: SmartScriptMgr.h:124
GameObject *const me
Definition: GameObjectAI.h:36
SmartScript * GetScript()
Definition: SmartAI.h:261
void ProcessEventsFor(SMART_EVENT e, Unit *unit=nullptr, uint32 var0=0, uint32 var1=0, bool bvar=false, SpellInfo const *spell=nullptr, GameObject *gob=nullptr)
Definition: SmartScript.cpp:95

References GetScript(), GameObjectAI::me, SmartScript::ProcessEventsFor(), and SMART_EVENT_DEATH.

◆ EventInform()

void SmartGameObjectAI::EventInform ( uint32  eventId)
overridevirtual

Reimplemented from GameObjectAI.

1241{
1243}
@ SMART_EVENT_GO_EVENT_INFORM
Definition: SmartScriptMgr.h:189

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_GO_EVENT_INFORM.

◆ GetScript()

◆ GossipHello()

bool SmartGameObjectAI::GossipHello ( Player player,
bool  reportUse 
)
overridevirtual

Reimplemented from GameObjectAI.

1179{
1180 LOG_DEBUG("sql.sql", "SmartGameObjectAI::GossipHello");
1181 GetScript()->ProcessEventsFor(SMART_EVENT_GOSSIP_HELLO, player, (uint32)reportUse, 0, false, nullptr, me);
1182 return false;
1183}
std::uint32_t uint32
Definition: Define.h:108
#define LOG_DEBUG(filterType__,...)
Definition: Log.h:171
@ SMART_EVENT_GOSSIP_HELLO
Definition: SmartScriptMgr.h:182

References GetScript(), LOG_DEBUG, GameObjectAI::me, SmartScript::ProcessEventsFor(), and SMART_EVENT_GOSSIP_HELLO.

◆ GossipSelect()

bool SmartGameObjectAI::GossipSelect ( Player player,
uint32  sender,
uint32  action 
)
overridevirtual

Reimplemented from GameObjectAI.

1187{
1188 GetScript()->ProcessEventsFor(SMART_EVENT_GOSSIP_SELECT, player, sender, action, false, nullptr, me);
1189 return false;
1190}
@ SMART_EVENT_GOSSIP_SELECT
Definition: SmartScriptMgr.h:180

References GetScript(), GameObjectAI::me, SmartScript::ProcessEventsFor(), and SMART_EVENT_GOSSIP_SELECT.

◆ GossipSelectCode()

bool SmartGameObjectAI::GossipSelectCode ( Player ,
uint32  ,
uint32  ,
const char *   
)
overridevirtual

Reimplemented from GameObjectAI.

1194{
1195 return false;
1196}

◆ InitializeAI()

void SmartGameObjectAI::InitializeAI ( )
overridevirtual

Reimplemented from GameObjectAI.

1160{
1162
1163 // Xinef: do not call respawn event if go is not spawned
1164 if (me->isSpawned())
1166 //Reset();
1167}
@ SMART_EVENT_RESPAWN
Definition: SmartScriptMgr.h:129
void OnInitialize(WorldObject *obj, AreaTrigger const *at=nullptr)
Definition: SmartScript.cpp:4327
bool isSpawned() const
Definition: GameObject.h:191

References GetScript(), GameObject::isSpawned(), GameObjectAI::me, SmartScript::OnInitialize(), SmartScript::ProcessEventsFor(), and SMART_EVENT_RESPAWN.

◆ JustSummoned()

void SmartGameObjectAI::JustSummoned ( Creature creature)
overridevirtual

Reimplemented from GameObjectAI.

1251{
1253}
@ SMART_EVENT_SUMMONED_UNIT
Definition: SmartScriptMgr.h:135

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_SUMMONED_UNIT.

◆ OnGameEvent()

void SmartGameObjectAI::OnGameEvent ( bool  start,
uint16  eventId 
)
overridevirtual

Reimplemented from GameObjectAI.

1231{
1233}
@ SMART_EVENT_GAME_EVENT_START
Definition: SmartScriptMgr.h:186
@ SMART_EVENT_GAME_EVENT_END
Definition: SmartScriptMgr.h:187

References GetScript(), SmartScript::ProcessEventsFor(), SMART_EVENT_GAME_EVENT_END, and SMART_EVENT_GAME_EVENT_START.

◆ OnStateChanged()

void SmartGameObjectAI::OnStateChanged ( uint32  state,
Unit unit 
)
overridevirtual

Reimplemented from GameObjectAI.

1236{
1238}
@ SMART_EVENT_GO_STATE_CHANGED
Definition: SmartScriptMgr.h:188

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_GO_STATE_CHANGED.

◆ Permissible()

static int32 SmartGameObjectAI::Permissible ( GameObject const *  )
inlinestatic
262{ return PERMIT_BASE_NO; }
@ PERMIT_BASE_NO
Definition: CreatureAI.h:233

References PERMIT_BASE_NO.

◆ QuestAccept()

bool SmartGameObjectAI::QuestAccept ( Player player,
Quest const *  quest 
)
overridevirtual

Reimplemented from GameObjectAI.

1200{
1201 GetScript()->ProcessEventsFor(SMART_EVENT_ACCEPTED_QUEST, player, quest->GetQuestId(), 0, false, nullptr, me);
1202 return false;
1203}
@ SMART_EVENT_ACCEPTED_QUEST
Definition: SmartScriptMgr.h:137

References Quest::GetQuestId(), GetScript(), GameObjectAI::me, SmartScript::ProcessEventsFor(), and SMART_EVENT_ACCEPTED_QUEST.

◆ QuestReward()

bool SmartGameObjectAI::QuestReward ( Player player,
Quest const *  quest,
uint32  opt 
)
overridevirtual

Reimplemented from GameObjectAI.

1207{
1208 GetScript()->ProcessEventsFor(SMART_EVENT_REWARD_QUEST, player, quest->GetQuestId(), opt, false, nullptr, me);
1209 return false;
1210}
@ SMART_EVENT_REWARD_QUEST
Definition: SmartScriptMgr.h:138

References Quest::GetQuestId(), GetScript(), GameObjectAI::me, SmartScript::ProcessEventsFor(), and SMART_EVENT_REWARD_QUEST.

◆ Reset()

void SmartGameObjectAI::Reset ( )
overridevirtual

Reimplemented from GameObjectAI.

1170{
1171 // Xinef: call respawn event on reset
1173
1174 GetScript()->OnReset();
1175}
void OnReset()
Definition: SmartScript.cpp:71

References GetScript(), SmartScript::OnReset(), SmartScript::ProcessEventsFor(), and SMART_EVENT_RESPAWN.

◆ SetData()

void SmartGameObjectAI::SetData ( uint32  id,
uint32  value 
)
overridevirtual

Reimplemented from GameObjectAI.

1219{
1220 GetScript()->ProcessEventsFor(SMART_EVENT_DATA_SET, nullptr, id, value);
1221}
@ SMART_EVENT_DATA_SET
Definition: SmartScriptMgr.h:156

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_DATA_SET.

◆ SetScript9()

void SmartGameObjectAI::SetScript9 ( SmartScriptHolder e,
uint32  entry,
Unit invoker 
)
1224{
1225 if (invoker)
1226 GetScript()->mLastInvoker = invoker->GetGUID();
1227 GetScript()->SetScript9(e, entry);
1228}
ObjectGuid mLastInvoker
Definition: SmartScript.h:215
void SetScript9(SmartScriptHolder &e, uint32 entry)
Definition: SmartScript.cpp:4511
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106

References Object::GetGUID(), GetScript(), SmartScript::mLastInvoker, and SmartScript::SetScript9().

◆ SpellHit()

void SmartGameObjectAI::SpellHit ( Unit unit,
SpellInfo const *  spellInfo 
)
overridevirtual

Reimplemented from GameObjectAI.

1246{
1247 GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, unit, 0, 0, false, spellInfo);
1248}
@ SMART_EVENT_SPELLHIT
Definition: SmartScriptMgr.h:126

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_SPELLHIT.

◆ SummonedCreatureDespawn()

void SmartGameObjectAI::SummonedCreatureDespawn ( Creature unit)
overridevirtual

Reimplemented from GameObjectAI.

1256{
1258}
@ SMART_EVENT_SUMMON_DESPAWNED
Definition: SmartScriptMgr.h:153
uint32 GetEntry() const
Definition: Object.h:109

References Object::GetEntry(), GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_SUMMON_DESPAWNED.

◆ SummonedCreatureDies()

void SmartGameObjectAI::SummonedCreatureDies ( Creature summon,
Unit killer 
)
overridevirtual

Reimplemented from GameObjectAI.

1150{
1152}
@ SMART_EVENT_SUMMONED_UNIT_DIES
Definition: SmartScriptMgr.h:202

References GetScript(), SmartScript::ProcessEventsFor(), and SMART_EVENT_SUMMONED_UNIT_DIES.

◆ UpdateAI()

void SmartGameObjectAI::UpdateAI ( uint32  diff)
overridevirtual

Reimplemented from GameObjectAI.

1155{
1156 GetScript()->OnUpdate(diff);
1157}
void OnUpdate(const uint32 diff)
Definition: SmartScript.cpp:4206

References GetScript(), and SmartScript::OnUpdate().

Member Data Documentation

◆ mScript

SmartScript SmartGameObjectAI::mScript
protected

Referenced by GetScript().