AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Public Member Functions | |
go_soulwellAI (GameObject *go) | |
bool | GossipHello (Player *player, bool reportUse) 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 *) |
Private Attributes | |
uint32 | _stoneSpell |
uint32 | _stoneId |
Additional Inherited Members | |
Static Public Member Functions inherited from GameObjectAI | |
static int32 | Permissible (GameObject const *go) |
Protected Attributes inherited from GameObjectAI | |
GameObject *const | me |
|
inline |
References _stoneId, _stoneSpell, EFFECT_0, SpellInfo::Effects, Object::GetEntry(), GameObject::GetOwner(), GO_SOUL_WELL_R1, GO_SOUL_WELL_R2, SPELL_CREATE_FEL_HEALTH_STONE_R0, SPELL_CREATE_FEL_HEALTH_STONE_R1, SPELL_CREATE_FEL_HEALTH_STONE_R2, SPELL_CREATE_MASTER_HEALTH_STONE_R0, SPELL_CREATE_MASTER_HEALTH_STONE_R1, SPELL_CREATE_MASTER_HEALTH_STONE_R2, SPELL_IMPROVED_HEALTH_STONE_R1, and sSpellMgr.
|
inlineoverridevirtual |
Due to the fact that this GameObject triggers CMSG_GAMEOBJECT_USE and CMSG_GAMEOBJECT_REPORT_USE, this GossipHello hook is called twice. The script's handling is fine as it won't remove two charges on the well. We have to find how to segregate REPORT_USE and USE.
Reimplemented from GameObjectAI.
References _stoneId, _stoneSpell, GameObject::AddUse(), Unit::CastSpell(), GameObject::GetOwner(), Object::GetTypeId(), Player::HasItemCount(), Player::IsInSameRaidWith(), GameObjectAI::me, Spell::SendCastResult(), SPELL_FAILED_ERROR, SPELL_FAILED_TARGET_NOT_IN_RAID, SPELL_FAILED_TOO_MANY_OF_ITEM, sSpellMgr, Object::ToPlayer(), and TYPEID_PLAYER.
|
private |
Referenced by go_soulwellAI(), and GossipHello().
|
private |
Referenced by go_soulwellAI(), and GossipHello().