![]() |
TrinityCore
|
Inheritance diagram for boss_freya::boss_freyaAI:Public Member Functions | |
| boss_freyaAI (Creature *creature) | |
| void | Initialize () |
| void | Reset () override |
| void | KilledUnit (Unit *who) override |
| void | DamageTaken (Unit *who, uint32 &damage, DamageEffectType, SpellInfo const *) override |
| void | JustEngagedWith (Unit *who) override |
| uint32 | GetData (uint32 type) const override |
| void | UpdateAI (uint32 diff) override |
| void | LasherDead (uint32 type) |
| int | GetWaveId () |
| void | SpawnWave () |
| void | JustDied (Unit *) override |
| void | JustSummoned (Creature *summoned) override |
| void | SummonedCreatureDies (Creature *summoned, Unit *who) override |
Public Member Functions inherited from BossAI | |
| BossAI (Creature *creature, uint32 bossId) | |
| virtual | ~BossAI () |
| void | JustSummoned (Creature *summon) override |
| void | SummonedCreatureDespawn (Creature *summon) override |
| virtual void | ExecuteEvent (uint32) |
| virtual void | ScheduleTasks () |
| void | Reset () override |
| void | JustEngagedWith (Unit *who) override |
| void | JustDied (Unit *) override |
| void | JustReachedHome () override |
| bool | CanAIAttack (Unit const *target) const override |
Public Member Functions inherited from ScriptedAI | |
| ScriptedAI (Creature *creature) | |
| virtual | ~ScriptedAI () |
| void | AttackStartNoMove (Unit *target) |
| void | AttackStart (Unit *) override |
| void | DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f) |
| void | DoStartNoMovement (Unit *target) |
| void | DoStopAttack () |
| void | DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false) |
| void | DoPlaySoundToSet (WorldObject *source, uint32 soundId) |
| void | AddThreat (Unit *victim, float amount, Unit *who=nullptr) |
| void | ModifyThreatByPercent (Unit *victim, int32 pct, Unit *who=nullptr) |
| void | ResetThreat (Unit *victim, Unit *who=nullptr) |
| void | ResetThreatList (Unit *who=nullptr) |
| float | GetThreat (Unit const *victim, Unit const *who=nullptr) |
| void | ForceCombatStop (Creature *who, bool reset=true) |
| void | ForceCombatStopForCreatureEntry (uint32 entry, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true) |
| void | ForceCombatStopForCreatureEntry (std::vector< uint32 > creatureEntries, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true) |
| void | DoTeleportTo (float x, float y, float z, uint32 time=0) |
| void | DoTeleportTo (float const pos[4]) |
| void | DoTeleportPlayer (Unit *unit, float x, float y, float z, float o) |
| void | DoTeleportAll (float x, float y, float z, float o) |
| Unit * | DoSelectLowestHpFriendly (float range, uint32 minHPDiff=1) |
| Unit * | DoSelectBelowHpPctFriendlyWithEntry (uint32 entry, float range, uint8 hpPct=1, bool excludeSelf=true) |
| std::list< Creature * > | DoFindFriendlyCC (float range) |
| std::list< Creature * > | DoFindFriendlyMissingBuff (float range, uint32 spellId) |
| Player * | GetPlayerAtMinimumRange (float minRange) |
| Creature * | DoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime) |
| bool | HealthBelowPct (uint32 pct) const |
| bool | HealthAbovePct (uint32 pct) const |
| SpellInfo const * | SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, uint32 powerCostMin, uint32 powerCostMax, float rangeMin, float rangeMax, SelectEffect effect) |
| void | SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE) |
| void | SetCombatMovement (bool allowMovement) |
| bool | IsCombatMovementAllowed () const |
| bool | IsHeroic () const |
| Difficulty | GetDifficulty () const |
| bool | Is25ManRaid () const |
| void | SetAggressiveStateAfter (Milliseconds timer, Creature *who=nullptr, bool startCombat=true, Creature *summoner=nullptr, StartCombatArgs const &combatArgs={ }) |
| void | DoAddEvent (Milliseconds timer, BasicEvent *event, WorldObject *who=nullptr) |
| template<class T > | |
| T const & | DUNGEON_MODE (T const &normal5, T const &heroic10) const |
| template<class T > | |
| T const & | RAID_MODE (T const &normal10, T const &normal25) const |
| template<class T > | |
| T const & | RAID_MODE (T const &normal10, T const &normal25, T const &heroic10, T const &heroic25) const |
Public Member Functions inherited from CreatureAI | |
| CreatureAI (Creature *creature) | |
| virtual | ~CreatureAI () |
| bool | IsEngaged () const |
| void | Talk (uint8 id, WorldObject const *whisperTarget=nullptr) |
| void | MoveInLineOfSight_Safe (Unit *who) |
| == Reactions At ================================= | |
| void | TriggerAlert (Unit const *who) const |
| virtual void | EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
| void | JustEnteredCombat (Unit *) override |
| virtual void | JustStartedThreateningMe (Unit *who) |
| virtual void | IsSummonedBy (WorldObject *) |
| virtual void | SpellHit (WorldObject *, SpellInfo const *) |
| virtual void | SpellHitTarget (WorldObject *, SpellInfo const *) |
| virtual void | OnSpellCast (SpellInfo const *) |
| virtual void | OnSpellFailed (SpellInfo const *) |
| virtual void | OnSpellStart (SpellInfo const *) |
| virtual void | OnChannelFinished (SpellInfo const *) |
| virtual void | OnAuraApplied (AuraApplication const *) |
| virtual void | OnAuraRemoved (AuraApplication const *) |
| virtual bool | IsEscorted () const |
| virtual void | JustAppeared () |
| virtual void | MovementInform (uint32, uint32) |
| void | OnCharmed (bool isNew) override |
| void | DoZoneInCombat (Creature *creature=nullptr) |
| virtual void | ReceiveEmote (Player *, uint32) |
| virtual void | OwnerAttackedBy (Unit *attacker) |
| virtual void | OwnerAttacked (Unit *target) |
| virtual void | CorpseRemoved (uint32 &) |
| == Triggered Actions Requested ================== | |
| virtual Optional< QuestGiverStatus > | GetDialogStatus (Player *) |
| == Gossip system ================================ | |
| virtual bool | OnGossipHello (Player *) |
| virtual bool | OnGossipSelect (Player *, uint32, uint32) |
| virtual bool | OnGossipSelectCode (Player *, uint32, uint32, char const *) |
| virtual void | OnQuestAccept (Player *, Quest const *) |
| virtual void | OnQuestReward (Player *, Quest const *, uint32) |
| virtual void | WaypointStarted (uint32, uint32) |
| == Waypoints system ============================= | |
| virtual void | WaypointReached (uint32, uint32) |
| virtual void | WaypointPathEnded (uint32, uint32) |
| virtual void | PassengerBoarded (Unit *, int8, bool) |
| == Fields ======================================= | |
| virtual void | OnSpellClick (Unit *, bool) |
| virtual bool | CanSeeAlways (WorldObject const *) |
| virtual PlayerAI * | GetAIForCharmedPlayer (Player *) |
| int32 | VisualizeBoundary (Seconds duration, Unit *owner=nullptr, bool fill=false) const |
| virtual bool | CheckInRoom () |
| CreatureBoundary const * | GetBoundary () const |
| void | SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false) |
| bool | IsInBoundary (Position const *who=nullptr) const |
Public Member Functions inherited from UnitAI | |
| UnitAI (Unit *unit) | |
| virtual | ~UnitAI () |
| virtual void | InitializeAI () |
| virtual void | DoAction (int32) |
| virtual void | SetData (uint32, uint32) |
| virtual void | SetGUID (ObjectGuid const &, int32=0) |
| virtual ObjectGuid | GetGUID (int32=0) const |
| Unit * | SelectTarget (SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
| template<class PREDICATE > | |
| Unit * | SelectTarget (SelectTargetMethod targetType, uint32 offset, PREDICATE const &predicate) |
| void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
| template<class PREDICATE > | |
| void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset, PREDICATE const &predicate) |
| virtual void | JustExitedCombat () |
| virtual void | OnDespawn () |
| virtual void | DamageDealt (Unit *, uint32 &, DamageEffectType) |
| virtual void | HealReceived (Unit *, uint32 &) |
| virtual void | HealDone (Unit *, uint32 &) |
| virtual void | SpellInterrupted (uint32, uint32) |
| void | AttackStartCaster (Unit *victim, float dist) |
| SpellCastResult | DoCast (uint32 spellId) |
| SpellCastResult | DoCast (Unit *victim, uint32 spellId, CastSpellExtraArgs const &args={}) |
| SpellCastResult | DoCastSelf (uint32 spellId, CastSpellExtraArgs const &args={}) |
| SpellCastResult | DoCastVictim (uint32 spellId, CastSpellExtraArgs const &args={}) |
| SpellCastResult | DoCastAOE (uint32 spellId, CastSpellExtraArgs const &args={}) |
| float | DoGetSpellMaxRange (uint32 spellId, bool positive=false) |
| virtual bool | ShouldSparWith (Unit const *) const |
| void | DoMeleeAttackIfReady () |
| bool | DoSpellAttackIfReady (uint32 spellId) |
| virtual void | OnGameEvent (bool, uint16) |
| virtual std::string | GetDebugInfo () const |
Public Attributes | |
| ObjectGuid | ElementalGUID [3][2] |
| uint32 | deforestation [6][2] |
| uint32 | elementalTimer [2] |
| uint32 | diffTimer |
| uint8 | trioWaveCount |
| uint8 | trioWaveController |
| uint8 | waveCount |
| uint8 | elderCount |
| uint8 | attunedToNature |
| bool | checkElementalAlive [2] |
| bool | trioDefeated [2] |
| bool | random [3] |
| bool | _encounterFinished |
Public Attributes inherited from BossAI | |
| InstanceScript *const | instance |
Public Attributes inherited from ScriptedAI | |
| bool | IsFleeing |
Additional Inherited Members | |
Public Types inherited from CreatureAI | |
| enum | EvadeReason { EVADE_REASON_NO_HOSTILES , EVADE_REASON_BOUNDARY , EVADE_REASON_NO_PATH , EVADE_REASON_SEQUENCE_BREAK , 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 BossAI | |
| void | _Reset () |
| void | _JustEngagedWith (Unit *who) |
| void | _JustDied () |
| void | _JustReachedHome () |
| void | _DespawnAtEvade (Seconds delayToRespawn=30s, Creature *who=nullptr) |
| void | TeleportCheaters () |
Protected Member Functions inherited from CreatureAI | |
| bool | UpdateVictim () |
| Creature * | DoSummon (uint32 entry, Position const &pos, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| Creature * | DoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| Creature * | DoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
| void | EngagementStart (Unit *who) |
| void | EngagementOver () |
| virtual void | MoveInLineOfSight (Unit *) |
| bool | _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
Protected Attributes inherited from BossAI | |
| EventMap | events |
| SummonList | summons |
| TaskScheduler | scheduler |
Protected Attributes inherited from CreatureAI | |
| Creature *const | me |
| CreatureBoundary const * | _boundary |
| bool | _negateBoundary |
Protected Attributes inherited from UnitAI | |
| Unit *const | me |
Definition at line 269 of file boss_freya.cpp.
|
inline |
Definition at line 271 of file boss_freya.cpp.
References _encounterFinished, attunedToNature, diffTimer, elementalTimer, and Initialize().
|
inlineoverridevirtual |
Reimplemented from UnitAI.
Definition at line 333 of file boss_freya.cpp.
References Unit::GetHealth(), JustDied(), and CreatureAI::me.
Reimplemented from UnitAI.
Definition at line 394 of file boss_freya.cpp.
References attunedToNature, DATA_GETTING_BACK_TO_NATURE, DATA_KNOCK_ON_WOOD, and elderCount.
|
inline |
Definition at line 564 of file boss_freya.cpp.
References random, and urand().
Referenced by SpawnWave().
|
inline |
Definition at line 280 of file boss_freya.cpp.
References checkElementalAlive, deforestation, elderCount, ElementalGUID, random, trioDefeated, trioWaveController, trioWaveCount, and waveCount.
Referenced by boss_freyaAI(), and Reset().
|
inlineoverridevirtual |
Freya's chest is dynamically spawned on death by different spells.
Reimplemented from CreatureAI.
Definition at line 602 of file boss_freya.cpp.
References _encounterFinished, BossAI::_JustDied(), ACTION_ELDER_FREYA_KILLED, Creature::AI(), Unit::AttackStop(), WorldObject::CastSpell(), Unit::CombatStop(), DATA_BRIGHTLEAF, Creature::DespawnOrUnsummon(), UnitAI::DoAction(), elderCount, CreatureAI::EngagementOver(), FACTION_FRIENDLY, ObjectAccessor::GetCreature(), Map::GetDifficultyID(), InstanceScript::GetGuidData(), WorldObject::GetMap(), BossAI::instance, Unit::InterruptNonMeleeSpells(), Unit::IsAlive(), CreatureAI::me, REACT_PASSIVE, Unit::RemoveAllAttackers(), Unit::RemoveAllAuras(), SAY_DEATH, Unit::SetFaction(), Creature::SetReactState(), and SPELL_KNOCK_ON_WOOD_CREDIT.
Referenced by DamageTaken().
|
inlineoverridevirtual |
Why?
Reimplemented from CreatureAI.
Definition at line 342 of file boss_freya.cpp.
References Unit::AddAura(), CastSpellExtraArgs::AddSpellMod(), ScriptedAI::AddThreat(), Creature::AI(), UnitAI::AttackStart(), WorldObject::CastSpell(), DATA_BRIGHTLEAF, CreatureAI::DoZoneInCombat(), elderCount, EVENT_ENRAGE, EVENT_EONAR_GIFT, EVENT_GROUND_TREMOR, EVENT_STRENGTHENED_IRON_ROOTS, EVENT_SUNBEAM, EVENT_UNSTABLE_ENERGY, EVENT_WAVE, BossAI::events, ObjectAccessor::GetCreature(), InstanceScript::GetGuidData(), BossAI::instance, BossAI::JustEngagedWith(), LOOT_MODE_DEFAULT, CreatureAI::me, Creature::RemoveLootMode(), SAY_AGGRO, SAY_AGGRO_WITH_ELDER, EventMap::ScheduleEvent(), SPELL_ATTUNED_TO_NATURE, SPELL_BRIGHTLEAF_ESSENCE, SPELL_DRAINED_OF_POWER, SPELL_IRONBRANCH_ESSENCE, SPELL_STONEBARK_ESSENCE, SPELLVALUE_AURA_STACK, and TRIGGERED_FULL_MASK.
|
inlineoverridevirtual |
Reimplemented from CreatureAI.
Definition at line 644 of file boss_freya.cpp.
References ScriptedAI::AddThreat(), Creature::AI(), UnitAI::AttackStart(), CreatureAI::DoZoneInCombat(), ElementalGUID, Object::GetEntry(), Object::GetGUID(), NPC_ANCIENT_CONSERVATOR, NPC_ANCIENT_WATER_SPIRIT, NPC_DETONATING_LASHER, NPC_SNAPLASHER, NPC_STORM_LASHER, Random, UnitAI::SelectTarget(), SummonList::Summon(), BossAI::summons, trioWaveController, and trioWaveCount.
|
inlineoverridevirtual |
Reimplemented from CreatureAI.
Definition at line 327 of file boss_freya.cpp.
References Object::GetTypeId(), SAY_SLAY, and TYPEID_PLAYER.
|
inline |
Definition at line 533 of file boss_freya.cpp.
References deforestation, diffTimer, InstanceScript::DoCastSpellOnPlayers(), BossAI::instance, and SPELL_DEFORESTATION_CREDIT.
|
inlineoverridevirtual |
Reimplemented from UnitAI.
Definition at line 318 of file boss_freya.cpp.
References _encounterFinished, BossAI::_Reset(), and Initialize().
|
inline |
Definition at line 579 of file boss_freya.cpp.
References UnitAI::DoCast(), EMOTE_ALLIES_OF_NATURE, GetWaveId(), SAY_SUMMON_CONSERVATOR, SAY_SUMMON_LASHERS, SAY_SUMMON_TRIO, SPELL_SUMMON_ANCIENT_CONSERVATOR, SPELL_SUMMON_LASHERS, SPELL_SUMMON_TRIO, trioWaveCount, and waveCount.
Referenced by UpdateAI().
|
inlineoverridevirtual |
Reimplemented from CreatureAI.
Definition at line 673 of file boss_freya.cpp.
References WorldObject::CastSpell(), SummonList::Despawn(), Creature::DespawnOrUnsummon(), Object::GetEntry(), CreatureAI::me, NPC_ANCIENT_CONSERVATOR, NPC_DETONATING_LASHER, SPELL_DETONATE, SPELL_REMOVE_25STACK, SPELL_REMOVE_2STACK, and BossAI::summons.
|
inlineoverridevirtual |
Reimplemented from BossAI.
Definition at line 407 of file boss_freya.cpp.
References attunedToNature, WorldObject::CastSpell(), checkElementalAlive, SummonList::Despawn(), Creature::DespawnOrUnsummon(), diffTimer, UnitAI::DoCast(), UnitAI::DoCastAOE(), UnitAI::DoMeleeAttackIfReady(), ElementalGUID, elementalTimer, EMOTE_GROUND_TREMOR, EMOTE_IRON_ROOTS, EMOTE_LIFEBINDERS_GIFT, EVENT_ENRAGE, EVENT_EONAR_GIFT, EVENT_GROUND_TREMOR, EVENT_NATURE_BOMB, EVENT_STRENGTHENED_IRON_ROOTS, EVENT_SUNBEAM, EVENT_UNSTABLE_ENERGY, EVENT_WAVE, BossAI::events, EventMap::ExecuteEvent(), FREYA_WAVE_TIME, Unit::GetAura(), ObjectAccessor::GetCreature(), Unit::HasAura(), Unit::HasUnitState(), CreatureAI::me, Random, Creature::Respawn(), SAY_BERSERK, EventMap::ScheduleEvent(), UnitAI::SelectTarget(), Unit::SetHealth(), SpawnWave(), SPELL_ATTUNED_TO_NATURE, SPELL_ENRAGE, SPELL_FREYA_GROUND_TREMOR, SPELL_FREYA_UNSTABLE_SUNBEAM, SPELL_REMOVE_10STACK, SPELL_ROOTS_FREYA, SPELL_SUMMON_EONAR_GIFT, SPELL_SUMMON_NATURE_BOMB, SPELL_SUNBEAM, SPELL_TOUCH_OF_EONAR, BossAI::summons, trioDefeated, UNIT_STATE_CASTING, EventMap::Update(), CreatureAI::UpdateVictim(), and waveCount.
| bool boss_freya::boss_freyaAI::_encounterFinished |
Definition at line 316 of file boss_freya.cpp.
Referenced by boss_freyaAI(), JustDied(), and Reset().
| uint8 boss_freya::boss_freyaAI::attunedToNature |
Definition at line 311 of file boss_freya.cpp.
Referenced by boss_freyaAI(), GetData(), and UpdateAI().
| bool boss_freya::boss_freyaAI::checkElementalAlive[2] |
Definition at line 313 of file boss_freya.cpp.
Referenced by Initialize(), and UpdateAI().
| uint32 boss_freya::boss_freyaAI::deforestation[6][2] |
Definition at line 304 of file boss_freya.cpp.
Referenced by Initialize(), and LasherDead().
| uint32 boss_freya::boss_freyaAI::diffTimer |
Definition at line 306 of file boss_freya.cpp.
Referenced by boss_freyaAI(), LasherDead(), and UpdateAI().
| uint8 boss_freya::boss_freyaAI::elderCount |
Definition at line 310 of file boss_freya.cpp.
Referenced by GetData(), Initialize(), JustDied(), and JustEngagedWith().
| ObjectGuid boss_freya::boss_freyaAI::ElementalGUID[3][2] |
Definition at line 302 of file boss_freya.cpp.
Referenced by Initialize(), JustSummoned(), and UpdateAI().
| uint32 boss_freya::boss_freyaAI::elementalTimer[2] |
Definition at line 305 of file boss_freya.cpp.
Referenced by boss_freyaAI(), and UpdateAI().
| bool boss_freya::boss_freyaAI::random[3] |
Definition at line 315 of file boss_freya.cpp.
Referenced by GetWaveId(), and Initialize().
| bool boss_freya::boss_freyaAI::trioDefeated[2] |
Definition at line 314 of file boss_freya.cpp.
Referenced by Initialize(), and UpdateAI().
| uint8 boss_freya::boss_freyaAI::trioWaveController |
Definition at line 308 of file boss_freya.cpp.
Referenced by Initialize(), and JustSummoned().
| uint8 boss_freya::boss_freyaAI::trioWaveCount |
Definition at line 307 of file boss_freya.cpp.
Referenced by Initialize(), JustSummoned(), and SpawnWave().
| uint8 boss_freya::boss_freyaAI::waveCount |
Definition at line 309 of file boss_freya.cpp.
Referenced by Initialize(), SpawnWave(), and UpdateAI().