TrinityCore
Loading...
Searching...
No Matches
SummonList Class Reference

#include <ScriptedCreature.h>

Public Types

typedef GuidList StorageType
 
typedef StorageType::iterator iterator
 
typedef StorageType::const_iterator const_iterator
 
typedef StorageType::size_type size_type
 
typedef StorageType::value_type value_type
 

Public Member Functions

 SummonList (Creature *creature)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator erase (iterator i)
 
bool empty () const
 
size_type size () const
 
void clear ()
 
void Summon (Creature const *summon)
 
void Despawn (Creature const *summon)
 
void DespawnEntry (uint32 entry)
 
void DespawnAll ()
 
template<typename T >
void DespawnIf (T const &predicate)
 
template<class Predicate >
void DoAction (int32 info, Predicate &&predicate, uint16 max=0)
 
void DoZoneInCombat (uint32 entry=0)
 
void RemoveNotExisting ()
 
bool HasEntry (uint32 entry) const
 

Private Member Functions

void DoActionImpl (int32 action, StorageType &summons, uint16 max)
 

Private Attributes

Creature * _me
 
StorageType _storage
 

Detailed Description

Definition at line 32 of file ScriptedCreature.h.

Member Typedef Documentation

◆ const_iterator

typedef StorageType::const_iterator SummonList::const_iterator

Definition at line 37 of file ScriptedCreature.h.

◆ iterator

typedef StorageType::iterator SummonList::iterator

Definition at line 36 of file ScriptedCreature.h.

◆ size_type

typedef StorageType::size_type SummonList::size_type

Definition at line 38 of file ScriptedCreature.h.

◆ StorageType

Definition at line 35 of file ScriptedCreature.h.

◆ value_type

typedef StorageType::value_type SummonList::value_type

Definition at line 39 of file ScriptedCreature.h.

Constructor & Destructor Documentation

◆ SummonList()

SummonList::SummonList ( Creature *  creature)
inlineexplicit

Definition at line 41 of file ScriptedCreature.h.

Member Function Documentation

◆ begin() [1/2]

◆ begin() [2/2]

const_iterator SummonList::begin ( ) const
inline

Definition at line 51 of file ScriptedCreature.h.

◆ clear()

◆ Despawn()

◆ DespawnAll()

void SummonList::DespawnAll ( )

Definition at line 79 of file ScriptedCreature.cpp.

References _me, _storage, Creature::DespawnOrUnsummon(), and ObjectAccessor::GetCreature().

Referenced by BossAI::_JustDied(), WorldBossAI::_JustDied(), BossAI::_Reset(), WorldBossAI::_Reset(), boss_garothi_worldbreaker::CleanupEncounter(), boss_the_lich_king::DamageTaken(), boss_eregos::DamageTaken(), boss_algalon_the_observer::DamageTaken(), boss_black_knight::boss_black_knightAI::DamageTaken(), boss_felblood_kaelthas::DamageTaken(), npc_fiendish_portal::npc_fiendish_portalAI::DoAction(), boss_brain_of_yogg_saron::boss_brain_of_yogg_saronAI::DoAction(), ControllerBaseAI::DoAction(), npc_ahune_bunny::DoAction(), boss_magtheridon::DoAction(), npc_void_sentry::DoAction(), npc_creature_generator_akama::DoAction(), boss_baleroc::EnterEvadeMode(), boss_kiljaeden::boss_kiljaedenAI::EnterEvadeMode(), npc_blazing_monstrosity::npc_blazing_monstrosityAI::EnterEvadeMode(), boss_ossirian::boss_ossirianAI::EnterEvadeMode(), boss_viscidus::boss_viscidusAI::EnterEvadeMode(), HeartsbaneTriadSharedAI::EnterEvadeMode(), boss_northrend_beastsAI::EnterEvadeMode(), boss_razorscale::EnterEvadeMode(), boss_massive_jormungar::EnterEvadeMode(), Scripts::QuelThalas::MurderRow::KystiaManaheart::boss_kystia_manaheart::EnterEvadeMode(), boss_amalgam_of_souls::EnterEvadeMode(), boss_ymiron_the_fallen_king::EnterEvadeMode(), boss_rokmora::EnterEvadeMode(), boss_guarm::EnterEvadeMode(), boss_leymor::EnterEvadeMode(), boss_telash_greywing::EnterEvadeMode(), boss_argaloth::EnterEvadeMode(), boss_coren_direbrew::EnterEvadeMode(), boss_felblood_kaelthas::EnterEvadeMode(), boss_maiden_of_virtue_rtk::EnterEvadeMode(), boss_shade_of_medivh::EnterEvadeMode(), boss_the_curator_rtk::EnterEvadeMode(), boss_armsmaster_harlan::EnterEvadeMode(), boss_apothecary_hummel::EnterEvadeMode(), boss_sacrolash::EnterEvadeMode(), boss_alythess::EnterEvadeMode(), boss_kalecgos::EnterEvadeMode(), boss_hexlord_malacrass::EnterEvadeMode(), boss_janalai::EnterEvadeMode(), boss_general_husam::EnterEvadeMode(), boss_lockmaw::EnterEvadeMode(), boss_azhiccar::EnterEvadeMode(), boss_edna::EnterEvadeMode(), boss_skarmorak::EnterEvadeMode(), boss_aqusirr::EnterEvadeMode(), boss_amanitar::EnterEvadeMode(), boss_jedoga_shadowseeker::EnterEvadeMode(), boss_anub_arak::EnterEvadeMode(), boss_hadronox::EnterEvadeMode(), boss_krik_thir::EnterEvadeMode(), boss_baltharus_the_warborn::EnterEvadeMode(), boss_general_zarithrian::EnterEvadeMode(), npc_tirion_toc::EnterEvadeMode(), boss_drakkari_colossus::EnterEvadeMode(), boss_gal_darah::EnterEvadeMode(), boss_blood_council_controller::EnterEvadeMode(), boss_lady_deathwhisper::EnterEvadeMode(), boss_the_lich_king::EnterEvadeMode(), boss_malygos::EnterEvadeMode(), boss_volkhan::EnterEvadeMode(), boss_sjonnir::EnterEvadeMode(), boss_hodir::EnterEvadeMode(), boss_vx_001::boss_vx_001AI::EnterEvadeMode(), boss_aerial_command_unit::boss_aerial_command_unitAI::EnterEvadeMode(), boss_thorim::boss_thorimAI::EnterEvadeMode(), boss_xt002::EnterEvadeMode(), boss_palehoof::EnterEvadeMode(), boss_skadi::EnterEvadeMode(), boss_illidan_stormrage::EnterEvadeMode(), boss_illidari_council::EnterEvadeMode(), boss_reliquary_of_souls::EnterEvadeMode(), boss_shade_of_akama::EnterEvadeMode(), boss_supremus::EnterEvadeMode(), boss_teron_gorefiend::EnterEvadeMode(), boss_fathomlord_karathress::EnterEvadeMode(), boss_ahune::EnterEvadeMode(), boss_alar::EnterEvadeMode(), boss_kaelthas::EnterEvadeMode(), boss_sylvanas_windrunner::EnterEvadeMode(), boss_anduin_wrynn::EnterEvadeMode(), npc_anduin_wrynn_anduin_soul::EnterEvadeMode(), boss_remnant_of_a_fallen_king::EnterEvadeMode(), boss_priestess_alun_za::EnterEvadeMode(), boss_rezan::EnterEvadeMode(), boss_volkaal::EnterEvadeMode(), boss_the_golden_serpent::EnterEvadeMode(), boss_cragmaw_the_infested::EnterEvadeMode(), boss_elder_leaxa::EnterEvadeMode(), boss_sporecaller_zancha::EnterEvadeMode(), npc_akama_shade::Initialize(), npc_creature_generator_akama::Initialize(), boss_balinda::JustDied(), npc_twilight_flame_caller::npc_twilight_flame_callerAI::JustDied(), boss_kiljaeden::boss_kiljaedenAI::JustDied(), npc_blazing_monstrosity::npc_blazing_monstrosityAI::JustDied(), boss_general_husam::JustDied(), boss_viscidus::boss_viscidusAI::JustDied(), boss_azhiccar::JustDied(), npc_halion_controller::JustDied(), boss_twin_baseAI::JustDied(), BloodPrincesBossAI::JustDied(), npc_precious_icc::JustDied(), npc_akama_shade::JustDied(), npc_anduin_wrynn_anduin_soul::JustDied(), boss_volkaal::JustDied(), npc_toc_enh_shaman::JustDied(), npc_halion_controller::JustExitedCombat(), boss_twin_baseAI::JustReachedHome(), npc_daegarn::OnQuestAccept(), boss_balinda::Reset(), npc_koltira_deathweaver::Reset(), boss_headless_horseman::Reset(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::Reset(), boss_kiljaeden::boss_kiljaedenAI::Reset(), npc_thalorien_dawnseeker::Reset(), boss_anetheron::Reset(), npc_necromancer::npc_necromancerAI::Reset(), npc_halion_controller::Reset(), boss_black_knight::boss_black_knightAI::Reset(), npc_toc_enh_shaman::Reset(), boss_jaraxxus::Reset(), boss_northrend_beastsAI::Reset(), boss_twin_baseAI::Reset(), BloodPrincesBossAI::Reset(), boss_professor_putricide::Reset(), npc_precious_icc::Reset(), npc_frostwing_ymirjar_vrykul::Reset(), npc_green_dragon_combat_trigger::Reset(), boss_four_horsemen_baseAI::Reset(), npc_runic_colossus::npc_runic_colossusAI::Reset(), npc_ancient_rune_giant::npc_ancient_rune_giantAI::Reset(), boss_brain_of_yogg_saron::boss_brain_of_yogg_saronAI::Reset(), npc_sinclari_vh::Reset(), npc_daegarn::Reset(), npc_warden_mellichar::Reset(), npc_colonel_jules::npc_colonel_julesAI::Reset(), npc_anduin_wrynn_anduin_soul::Reset(), npc_sinclari_vh::ScheduleIntro(), boss_toc_champion_controller::SetData(), npc_black_hole::SpellHit(), npc_koltira_deathweaver::UpdateAI(), npc_silverpine_grand_executor_mortuus::UpdateAI(), and boss_general_vezax::boss_general_vezaxAI::UpdateAI().

◆ DespawnEntry()

◆ DespawnIf()

template<typename T >
void SummonList::DespawnIf ( T const &  predicate)
inline

◆ DoAction()

◆ DoActionImpl()

void SummonList::DoActionImpl ( int32  action,
StorageType &  summons,
uint16  max 
)
private

◆ DoZoneInCombat()

◆ empty()

◆ end() [1/2]

◆ end() [2/2]

const_iterator SummonList::end ( ) const
inline

Definition at line 61 of file ScriptedCreature.h.

◆ erase()

iterator SummonList::erase ( iterator  i)
inline

Definition at line 66 of file ScriptedCreature.h.

Referenced by boss_kelthuzad::JustDied().

◆ HasEntry()

bool SummonList::HasEntry ( uint32  entry) const

◆ RemoveNotExisting()

void SummonList::RemoveNotExisting ( )

Definition at line 90 of file ScriptedCreature.cpp.

References _me, _storage, and ObjectAccessor::GetCreature().

Referenced by boss_volkhan::DoAction(), and boss_lockmaw::UpdateAI().

◆ size()

◆ Summon()

void SummonList::Summon ( Creature const *  summon)

Definition at line 38 of file ScriptedCreature.cpp.

References _storage, and BaseEntity::GetGUID().

Referenced by boss_skeram::boss_skeramAI::JustSummoned(), npc_thorim_minibossAI::JustSummoned(), BossAI::JustSummoned(), WorldBossAI::JustSummoned(), boss_garothi_worldbreaker::JustSummoned(), boss_occuthar::boss_occutharAI::JustSummoned(), boss_victor_nefarius::JustSummoned(), npc_fiendish_portal::npc_fiendish_portalAI::JustSummoned(), boss_felblood_kaelthas::JustSummoned(), npc_koltira_deathweaver::JustSummoned(), boss_headless_horseman::JustSummoned(), npc_thalorien_dawnseeker::JustSummoned(), npc_silverpine_grand_executor_mortuus::JustSummoned(), boss_janalai::JustSummoned(), boss_anetheron::JustSummoned(), npc_necromancer::npc_necromancerAI::JustSummoned(), npc_blazing_monstrosity::npc_blazing_monstrosityAI::JustSummoned(), boss_general_husam::JustSummoned(), boss_lockmaw::JustSummoned(), boss_amanitar::JustSummoned(), boss_volazj::JustSummoned(), boss_jedoga_shadowseeker::JustSummoned(), boss_hadronox::JustSummoned(), boss_baltharus_the_warborn::JustSummoned(), boss_general_zarithrian::JustSummoned(), boss_black_knight::boss_black_knightAI::JustSummoned(), boss_novos::JustSummoned(), boss_trollgore::JustSummoned(), boss_bronjahm::JustSummoned(), boss_horAI::JustSummoned(), boss_krick::JustSummoned(), boss_slad_ran::JustSummoned(), boss_prince_keleseth_icc::JustSummoned(), boss_prince_taldaram_icc::JustSummoned(), boss_prince_valanar_icc::JustSummoned(), boss_deathbringer_saurfang::JustSummoned(), boss_lady_deathwhisper::JustSummoned(), boss_professor_putricide::JustSummoned(), boss_rotface::JustSummoned(), npc_precious_icc::JustSummoned(), boss_sindragosa::JustSummoned(), npc_frostwing_ymirjar_vrykul::JustSummoned(), boss_the_lich_king::JustSummoned(), boss_gothik::JustSummoned(), boss_kelthuzad::JustSummoned(), boss_noth::JustSummoned(), boss_algalon_the_observer::JustSummoned(), npc_black_hole::JustSummoned(), boss_ignis::boss_ignis_AI::JustSummoned(), boss_kologarn::boss_kologarnAI::JustSummoned(), boss_leviathan_mk_ii::boss_leviathan_mk_iiAI::JustSummoned(), boss_vx_001::boss_vx_001AI::JustSummoned(), boss_brain_of_yogg_saron::boss_brain_of_yogg_saronAI::JustSummoned(), boss_skadi::JustSummoned(), boss_svala::JustSummoned(), boss_ymiron::JustSummoned(), boss_ichoron::JustSummoned(), npc_void_sentry::JustSummoned(), npc_violet_hold_teleportation_portal_commonAI::JustSummoned(), npc_daegarn::JustSummoned(), boss_illidan_stormrage::JustSummoned(), boss_reliquary_of_souls::JustSummoned(), npc_akama_shade::JustSummoned(), npc_creature_generator_akama::JustSummoned(), boss_fathomlord_karathress::JustSummoned(), boss_ahune::JustSummoned(), npc_ahune_bunny::JustSummoned(), boss_warchief_kargath_bladefist::JustSummoned(), npc_warden_mellichar::JustSummoned(), boss_high_astromancer_solarian::JustSummoned(), boss_kaelthas::JustSummoned(), npc_phoenix_the_eye::JustSummoned(), npc_colonel_jules::npc_colonel_julesAI::JustSummoned(), boss_sylvanas_windrunner::JustSummoned(), boss_anduin_wrynn::JustSummoned(), boss_remnant_of_a_fallen_king::JustSummoned(), boss_balinda::JustSummoned(), npc_twilight_flame_caller::npc_twilight_flame_callerAI::JustSummoned(), boss_vexallus::JustSummoned(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::JustSummoned(), boss_kiljaeden::boss_kiljaedenAI::JustSummoned(), boss_onyxia::JustSummoned(), boss_anubarak_trial::JustSummoned(), npc_toc_enh_shaman::JustSummoned(), boss_jormungarAI::JustSummoned(), npc_tirion_toc::JustSummoned(), boss_ionar::JustSummoned(), boss_sjonnir::JustSummoned(), boss_freya::boss_freyaAI::JustSummoned(), boss_nexusprince_shaffar::JustSummoned(), boss_darkweaver_syth::JustSummoned(), npc_halion_controller::JustSummoned(), npc_anduin_wrynn_anduin_soul::JustSummoned(), and boss_toc_champion_controller::SummonChampions().

Member Data Documentation

◆ _me

Creature* SummonList::_me
private

◆ _storage

StorageType SummonList::_storage
private

The documentation for this class was generated from the following files: