![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Public Member Functions | |
| npc_mistress_nagmara (Creature *creature) | |
| void | Reset () override |
| void | sGossipSelect (Player *player, uint32 menuId, uint32 gossipListId) override |
| void | SetData (uint32 id, uint32 value) override |
| void | DoAction (int32 action) override |
| void | MovementInform (uint32 type, uint32 pointId) override |
| void | WaypointReached (uint32 pointId, uint32 pathId) override |
| void | PathEndReached (uint32 pathId) override |
| void | UpdateAI (uint32 diff) override |
| Use to start attacking a target. Called just before JustEngagedWith() | |
Public Member Functions inherited from CreatureAI | |
| void | Talk (uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0ms) |
Causes the creature to talk/say the text assigned to their entry in the creature_text database table. | |
| void | Talk (uint8 id, Milliseconds delay) |
| WorldObject * | GetSummoner () const |
| Returns the summoner creature/object, if the creature is a temporary summon. | |
| CreatureAI (Creature *creature) | |
| ~CreatureAI () override | |
| bool | IsEngaged () const |
| Check if creature is currently engaged in combat. | |
| void | MoveCircleChecks () |
| void | MoveBackwardsChecks () |
| void | MoveInLineOfSight_Safe (Unit *who) |
| == Reactions At ================================= | |
| void | TriggerAlert (Unit const *who) const |
| virtual bool | CanRespawn () |
| virtual bool | IsEscortNPC (bool=true) const |
| virtual void | EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
| void | JustEnteredCombat (Unit *who) override |
| Called when the unit enters combat. | |
| virtual void | JustStartedThreateningMe (Unit *who) |
| virtual void | JustEngagedWith (Unit *) |
| Called for reaction when initially engaged - this happens after JustEnteredCombat. | |
| void | EngagementStart (Unit *who) |
| void | EngagementOver () |
| void | JustExitedCombat () override |
| Called when the unit leaves combat. | |
| virtual void | JustDied (Unit *) |
| virtual void | KilledUnit (Unit *) |
| virtual void | JustSummoned (Creature *) |
| virtual void | IsSummonedBy (WorldObject *) |
| virtual void | SummonedCreatureDespawn (Creature *) |
| virtual void | SummonedCreatureDies (Creature *, Unit *) |
| virtual void | SummonedCreatureDespawnAll () |
| virtual void | SummonedCreatureEvade (Creature *) |
| virtual void | SpellHit (Unit *, SpellInfo const *) |
| virtual void | SpellHitTarget (Unit *, SpellInfo const *) |
| virtual void | OnSpellStart (SpellInfo const *) |
| virtual void | OnSpellCast (SpellInfo const *) |
| virtual void | OnSpellFailed (SpellInfo const *) |
| virtual void | OnChannelFinished (SpellInfo const *) |
| virtual void | AttackedBy (Unit *) |
| virtual bool | IsEscorted () |
| virtual void | JustRespawned () |
| virtual void | WaypointPathStarted (uint32) |
| == Waypoints system ============================= | |
| virtual void | WaypointStarted (uint32, uint32) |
| virtual void | WaypointPathEnded (uint32, uint32) |
| void | OnCharmed (bool apply) override |
| Called when unit is charmed. | |
| virtual void | JustReachedHome () |
| void | DoZoneInCombat (Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f) |
| virtual void | ReceiveEmote (Player *, uint32) |
| virtual void | OwnerAttackedBy (Unit *attacker) |
| virtual void | OwnerAttacked (Unit *target) |
| void | OnOwnerCombatInteraction (Unit *target) |
| virtual void | CorpseRemoved (uint32 &) |
| == Triggered Actions Requested ================== | |
| virtual void | PassengerBoarded (Unit *, int8, bool) |
| == Fields ======================================= | |
| virtual bool | BeforeSpellClick (Unit *) |
| virtual void | OnSpellClick (Unit *, bool &) |
| virtual bool | CanSeeAlways (WorldObject const *) |
| virtual bool | CanBeSeen (Player const *) |
| virtual bool | CanAlwaysBeDetectable (WorldObject const *) |
| virtual void | PetStopAttack () |
| int32 | VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false, bool checkZ=false) const |
| virtual bool | CheckInRoom () |
| CreatureBoundary const * | GetBoundary () const |
| void | SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false) |
| bool | IsInBoundary (Position const *who=nullptr) const |
| virtual void | CalculateThreat (Unit *, float &, SpellInfo const *) |
| virtual bool | OnTeleportUnreacheablePlayer (Player *) |
| virtual void | OnAuraRemove (AuraApplication *, AuraRemoveMode) |
| virtual void | DistancingStarted () |
| virtual void | DistancingEnded () |
Public Member Functions inherited from UnitAI | |
| UnitAI (Unit *unit) | |
| virtual | ~UnitAI () |
| virtual bool | CanAIAttack (Unit const *) const |
| virtual void | AttackStart (Unit *) |
| virtual void | InitializeAI () |
| virtual uint32 | GetData (uint32) const |
| virtual void | SetGUID (ObjectGuid const &, int32=0) |
| virtual ObjectGuid | GetGUID (int32=0) const |
| Unit * | SelectTarget (SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
| template<class PREDICATE > | |
| Unit * | SelectTarget (SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate) |
| void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
| Select the best (up to) <num> targets (in <targetType> order) from the threat list that fulfill the following: | |
| template<class PREDICATE > | |
| void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate) |
| virtual void | OnDespawn () |
| Called when the unit is about to be removed from the world (despawn, grid unload, corpse disappearing, player logging out etc.) | |
| virtual void | EvadeTimerExpired () |
| Called when evade timer expires (target unreachable for too long) | |
| virtual void | DamageDealt (Unit *, uint32 &, DamageEffectType, SpellSchoolMask) |
| Called at any Damage to any victim (before damage apply) | |
| virtual void | DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask) |
| Called at any Damage from any attacker (before damage apply) | |
| virtual void | HealReceived (Unit *, uint32 &) |
| Called when the creature receives heal. | |
| virtual void | OnPowerUpdate (Powers, int32, int32, uint32) |
| Called when the creature power updates. | |
| virtual void | HealDone (Unit *, uint32 &) |
| Called when the unit heals. | |
| virtual void | OnCalculateMeleeDamageReceived (uint32 &, Unit *) |
| Called during damage calculations. | |
| virtual void | OnCalculateSpellDamageReceived (int32 &, Unit *) |
| virtual void | OnCalculatePeriodicTickReceived (uint32 &, Unit *) |
| Called during calculation when receiving periodic healing or damage (DoT or HoT) | |
| void | AttackStartCaster (Unit *victim, float dist) |
| SpellCastResult | DoAddAuraToAllHostilePlayers (uint32 spellid) |
| SpellCastResult | DoCast (uint32 spellId) |
| SpellCastResult | DoCast (Unit *victim, uint32 spellId, bool triggered=false) |
| SpellCastResult | DoCastSelf (uint32 spellId, bool triggered=false) |
| SpellCastResult | DoCastToAllHostilePlayers (uint32 spellid, bool triggered=false) |
| To specify the caster as target if the spell is self-cast. | |
| SpellCastResult | DoCastVictim (uint32 spellId, bool triggered=false) |
| SpellCastResult | DoCastAOE (uint32 spellId, bool triggered=false) |
| SpellCastResult | DoCastRandomTarget (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false, bool withTank=true, int32 aura=0) |
| Cast the spell on a random unit from the threat list. | |
| SpellCastResult | DoCastMaxThreat (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false) |
| Cast spell on the top threat target, which may not be the current victim. | |
| float | DoGetSpellMaxRange (uint32 spellId, bool positive=false) |
| void | DoMeleeAttackIfReady () |
| bool | DoSpellAttackIfReady (uint32 spell) |
| void | DoSpellAttackToRandomTargetIfReady (uint32 spell, uint32 threatTablePosition=0, float dist=0.f, bool playerOnly=true) |
| virtual void | SummonMovementInform (Creature *, uint32, uint32) |
| Called when a summon reaches a waypoint or point movement finished. | |
| virtual void | sGossipHello (Player *) |
| virtual void | sGossipSelectCode (Player *, uint32, uint32, char const *) |
| virtual void | sQuestAccept (Player *, Quest const *) |
| virtual void | sQuestSelect (Player *, Quest const *) |
| virtual void | sQuestComplete (Player *, Quest const *) |
| virtual void | sQuestReward (Player *, Quest const *, uint32) |
| virtual void | sOnGameEvent (bool, uint16) |
| virtual std::string | GetDebugInfo () const |
Private Member Functions | |
| Creature * | FindNearestPatron () const |
| void | MoveToApproachPoint () |
| void | MoveToGreetingPosition () |
| void | GreetRocknot (TaskContext &context) |
| void | CastLovePotion (TaskContext &context) |
| void | StartLoversRoute (TaskContext &context) |
| bool | OpenBarDoor () |
| void | TryOpenBarDoor (TaskContext &context) |
| void | ContinueAfterDoor () |
| void | ReachLoversStop (TaskContext &context) |
| void | KissRocknot (TaskContext &context) |
| void | ScheduleKiss () |
| void | CancelLovePotionTasks () |
| void | AbortLovePotionEvent (bool notifyRocknot) |
| void | AbortLovePotionEvent (bool notifyRocknot, TaskContext &context) |
| void | ResetLovePotionEvent (bool notifyRocknot) |
Private Attributes | |
| InstanceScript * | _instance |
| TaskScheduler | _ambientScheduler |
| ObjectGuid | _rocknotGuid |
| uint8 | _doorOpenAttempts |
| bool | _lovePotionEvent |
| bool | _lovePotionComplete |
| bool | _doorOpenedByEvent |
Additional Inherited Members | |
Public Types inherited from CreatureAI | |
| enum | EvadeReason { EVADE_REASON_NO_HOSTILES , EVADE_REASON_BOUNDARY , EVADE_REASON_SEQUENCE_BREAK , EVADE_REASON_NO_PATH , EVADE_REASON_OTHER } |
Static Public Member Functions inherited from CreatureAI | |
| static bool | IsInBounds (CreatureBoundary const &boundary, Position const *who) |
Static Public Member Functions inherited from UnitAI | |
| static void | FillAISpellInfo () |
Static Public Attributes inherited from UnitAI | |
| static AISpellInfoType * | AISpellInfo |
Protected Member Functions inherited from CreatureAI | |
| bool | UpdateVictim () |
| bool | UpdateVictimWithGaze () |
| void | SetGazeOn (Unit *target) |
| Creature * | DoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| Creature * | DoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| Creature * | DoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| virtual void | MoveInLineOfSight (Unit *) |
| bool | _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
Protected Attributes inherited from CreatureAI | |
| Creature *const | me |
| EventMap | events |
| TaskScheduler | scheduler |
| CreatureBoundary const * | _boundary |
| bool | _negateBoundary |
| bool | _isEngaged |
Protected Attributes inherited from UnitAI | |
| Unit *const | me |
|
inline |
|
inlineprivate |
References _lovePotionComplete, _lovePotionEvent, CancelLovePotionTasks(), and ResetLovePotionEvent().
Referenced by CastLovePotion(), DoAction(), GreetRocknot(), ReachLoversStop(), Reset(), sGossipSelect(), StartLoversRoute(), and TryOpenBarDoor().
|
inlineprivate |
References _lovePotionComplete, _lovePotionEvent, TaskContext::CancelGroupsOf(), GROUP_NAGMARA_KISS, GROUP_NAGMARA_LOVE_SEQUENCE, GROUP_NAGMARA_MOVEMENT_TIMEOUT, and ResetLovePotionEvent().
|
inlineprivate |
References TaskScheduler::CancelGroupsOf(), GROUP_NAGMARA_KISS, GROUP_NAGMARA_LOVE_SEQUENCE, GROUP_NAGMARA_MOVEMENT_TIMEOUT, and CreatureAI::scheduler.
Referenced by AbortLovePotionEvent(), and Reset().
|
inlineprivate |
References _rocknotGuid, AbortLovePotionEvent(), UnitAI::DoCast(), ObjectAccessor::GetCreature(), GROUP_NAGMARA_LOVE_SEQUENCE, CreatureAI::me, TaskContext::Schedule(), SPELL_POTION_LOVE, and StartLoversRoute().
Referenced by GreetRocknot().
|
inlineprivate |
References _rocknotGuid, ACTION_RESUME_AFTER_BAR_DOOR, ObjectAccessor::GetCreature(), CreatureAI::me, and Unit::ResumeMovement().
Referenced by TryOpenBarDoor().
|
inlineoverridevirtual |
Reimplemented from UnitAI.
References _ambientScheduler, _doorOpenedByEvent, _instance, _lovePotionComplete, _lovePotionEvent, _rocknotGuid, AbortLovePotionEvent(), ACTION_CANCEL_LOVE_POTION, ACTION_COMPLETE_LOVE_POTION, ACTION_ROCKNOT_AT_LOVERS_STOP, Creature::AI(), TaskScheduler::CancelAll(), TaskScheduler::CancelGroupsOf(), DATA_LOVE_POTION_EVENT, UnitAI::DoAction(), DONE, ObjectAccessor::GetCreature(), Position::GetPosition(), GROUP_NAGMARA_LOVE_SEQUENCE, GROUP_NAGMARA_MOVEMENT_TIMEOUT, CreatureAI::me, CreatureAI::scheduler, WorldObject::setActive(), ZoneScript::SetData(), Unit::SetFacingToObject(), and Creature::SetHomePosition().
|
inlineprivate |
References WorldObject::FindNearestCreature(), Position::GetExactDist2d(), CreatureAI::me, NPC_GRIM_PATRON, and NPC_GUZZLING_PATRON.
Referenced by SetData().
|
inlineprivate |
References _rocknotGuid, AbortLovePotionEvent(), CastLovePotion(), ObjectAccessor::GetCreature(), Unit::GetMotionMaster(), GROUP_NAGMARA_LOVE_SEQUENCE, WorldObject::IsWithinDistInMap(), CreatureAI::me, MotionMaster::MoveIdle(), TaskContext::Schedule(), and Unit::SetFacingToObject().
Referenced by MovementInform().
|
inlineprivate |
References UnitAI::DoCastSelf(), EMOTE_NAGMARA, TaskContext::Repeat(), and SPELL_NAGMARA_ROCKNOT.
Referenced by ReachLoversStop(), and ScheduleKiss().
Reimplemented from CreatureAI.
References _lovePotionEvent, GreetRocknot(), GROUP_NAGMARA_LOVE_SEQUENCE, GROUP_NAGMARA_MOVEMENT_TIMEOUT, MoveToGreetingPosition(), POINT_APPROACH, POINT_APPROACH_GREETING, POINT_MOTION_TYPE, TaskScheduler::RescheduleGroup(), TaskScheduler::Schedule(), and CreatureAI::scheduler.
|
inlineprivate |
References FORCED_MOVEMENT_NONE, Unit::GetMotionMaster(), CreatureAI::me, MotionMaster::MovePoint(), NagmaraApproachPosition, and POINT_APPROACH.
Referenced by sGossipSelect().
|
inlineprivate |
References FORCED_MOVEMENT_NONE, Unit::GetMotionMaster(), CreatureAI::me, MotionMaster::MovePoint(), NagmaraGreetingPosition, and POINT_APPROACH_GREETING.
Referenced by MovementInform().
|
inlineprivate |
References _doorOpenedByEvent, _instance, DATA_GO_BAR_DOOR, Map::GetGameObject(), GameObject::GetGoState(), InstanceScript::GetGuidData(), GO_STATE_ACTIVE, GO_STATE_READY, InstanceScript::instance, and GameObject::SetGoState().
Referenced by TryOpenBarDoor().
|
inlineoverridevirtual |
Reimplemented from CreatureAI.
References _lovePotionEvent, GROUP_NAGMARA_LOVE_SEQUENCE, PATH_NAGMARA_LOVERS, ReachLoversStop(), TaskScheduler::Schedule(), and CreatureAI::scheduler.
|
inlineprivate |
References _rocknotGuid, AbortLovePotionEvent(), ACTION_MOVE_TO_LOVERS_STOP, Position::GetAngle(), ObjectAccessor::GetCreature(), Unit::GetMotionMaster(), GROUP_NAGMARA_KISS, KissRocknot(), CreatureAI::me, MotionMaster::MoveIdle(), RocknotFinalPosition, TaskContext::Schedule(), and Unit::SetFacingTo().
Referenced by PathEndReached().
|
inlineoverridevirtual |
Reimplemented from UnitAI.
References _ambientScheduler, _doorOpenAttempts, _doorOpenedByEvent, _instance, _lovePotionComplete, _lovePotionEvent, _rocknotGuid, AbortLovePotionEvent(), TaskScheduler::CancelAll(), CancelLovePotionTasks(), ObjectGuid::Clear(), MotionMaster::Clear(), DATA_LOVE_POTION_EVENT, DONE, ZoneScript::GetData(), Unit::GetMotionMaster(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), CreatureAI::me, MotionMaster::MoveIdle(), NagmaraFinalPosition, Unit::NearTeleportTo(), Unit::ReplaceAllNpcFlags(), ScheduleKiss(), CreatureAI::scheduler, WorldObject::setActive(), Creature::SetHomePosition(), Unit::SetUnitFlag(), UNIT_FLAG_NOT_SELECTABLE, and UNIT_NPC_FLAG_NONE.
|
inlineprivate |
References _doorOpenAttempts, _doorOpenedByEvent, _instance, _lovePotionEvent, _rocknotGuid, ACTION_CANCEL_LOVE_POTION, Creature::AI(), ObjectGuid::Clear(), MotionMaster::Clear(), DATA_GO_BAR_DOOR, UnitAI::DoAction(), ObjectAccessor::GetCreature(), Map::GetGameObject(), InstanceScript::GetGuidData(), Unit::GetMotionMaster(), GO_STATE_READY, MotionMaster::InitDefault(), InstanceScript::instance, CreatureAI::me, MotionMaster::MoveTargetedHome(), Unit::RemoveAurasDueToSpell(), Unit::RemoveUnitFlag(), WorldObject::setActive(), Unit::SetNpcFlag(), SPELL_NAGMARA_ROCKNOT, UNIT_FLAG_NOT_SELECTABLE, UNIT_NPC_FLAG_GOSSIP, and UNIT_NPC_FLAG_QUESTGIVER.
Referenced by AbortLovePotionEvent(), and AbortLovePotionEvent().
|
inlineprivate |
References GROUP_NAGMARA_KISS, KissRocknot(), TaskScheduler::Schedule(), and CreatureAI::scheduler.
Referenced by Reset().
Reimplemented from UnitAI.
References _ambientScheduler, _lovePotionComplete, DATA_AMBIENT_ORDER, FindNearestPatron(), GROUP_NAGMARA_AMBIENT_REPLY, TaskScheduler::IsGroupScheduled(), SAY_NAGMARA_AMBIENT, and TaskScheduler::Schedule().
|
inlineoverridevirtual |
Reimplemented from UnitAI.
References _instance, _lovePotionEvent, _rocknotGuid, AbortLovePotionEvent(), ACTION_START_LOVE_POTION, Creature::AI(), MotionMaster::Clear(), CloseGossipMenuFor(), DATA_CAN_START_LOVE_POTION, DATA_LOVE_POTION_ACTIVE, UnitAI::DoAction(), WorldObject::FindNearestCreature(), UnitAI::GetData(), ZoneScript::GetData(), Object::GetGUID(), Unit::GetMotionMaster(), Player::GetQuestRewardStatus(), GOSSIP_MENU_NAGMARA, GROUP_NAGMARA_MOVEMENT_TIMEOUT, IN_PROGRESS, CreatureAI::me, MoveToApproachPoint(), NOT_STARTED, NPC_PRIVATE_ROCKNOT, QUEST_POTION_LOVE, Unit::ReplaceAllNpcFlags(), SAY_NAGMARA_1, TaskScheduler::Schedule(), CreatureAI::scheduler, WorldObject::setActive(), Unit::SetUnitFlag(), Creature::SetWalk(), TYPE_BAR, UNIT_FLAG_NOT_SELECTABLE, and UNIT_NPC_FLAG_NONE.
|
inlineprivate |
References _rocknotGuid, AbortLovePotionEvent(), ACTION_BEGIN_LOVERS_FOLLOW, Creature::AI(), DATA_LOVE_POTION_ACTIVE, UnitAI::DoAction(), ObjectAccessor::GetCreature(), UnitAI::GetData(), Unit::GetMotionMaster(), CreatureAI::me, MotionMaster::MoveWaypoint(), and PATH_NAGMARA_LOVERS.
Referenced by CastLovePotion().
|
inlineprivate |
References _doorOpenAttempts, AbortLovePotionEvent(), ContinueAfterDoor(), GROUP_NAGMARA_LOVE_SEQUENCE, OpenBarDoor(), TaskContext::Repeat(), and TaskContext::Schedule().
Referenced by WaypointReached().
|
inlineoverridevirtual |
Use to start attacking a target. Called just before JustEngagedWith()
Implements UnitAI.
References _ambientScheduler, _lovePotionComplete, _lovePotionEvent, CreatureAI::scheduler, and TaskScheduler::Update().
Reimplemented from CreatureAI.
References _doorOpenAttempts, _lovePotionEvent, _rocknotGuid, ACTION_PAUSE_AT_BAR_DOOR, ObjectAccessor::GetCreature(), GROUP_NAGMARA_LOVE_SEQUENCE, GROUP_NAGMARA_MOVEMENT_TIMEOUT, CreatureAI::me, PATH_NAGMARA_LOVERS, Unit::PauseMovement(), POINT_NAGMARA_DOOR_WAIT, TaskScheduler::RescheduleGroup(), TaskScheduler::Schedule(), CreatureAI::scheduler, and TryOpenBarDoor().
|
private |
Referenced by DoAction(), Reset(), SetData(), and UpdateAI().
|
private |
Referenced by Reset(), ResetLovePotionEvent(), TryOpenBarDoor(), and WaypointReached().
|
private |
Referenced by DoAction(), OpenBarDoor(), Reset(), and ResetLovePotionEvent().
|
private |
Referenced by DoAction(), OpenBarDoor(), Reset(), ResetLovePotionEvent(), and sGossipSelect().
|
private |
Referenced by AbortLovePotionEvent(), AbortLovePotionEvent(), DoAction(), Reset(), SetData(), and UpdateAI().
|
private |
|
private |