|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include "Creature.h"#include "CreatureAI.h"#include "CreatureAIImpl.h"#include "InstanceScript.h"Go to the source code of this file.
Classes | |
| class | BossAI |
| class | DummyEntryCheckPredicate |
| class | EntryCheckPredicate |
| struct | ScriptedAI |
| class | SummonList |
| class | WorldBossAI |
Macros | |
| #define | CAST_AI(a, b) |
Functions | |
| Creature * | GetClosestCreatureWithEntry (WorldObject *source, uint32 entry, float maxSearchRange, bool alive=true) |
| GameObject * | GetClosestGameObjectWithEntry (WorldObject *source, uint32 entry, float maxSearchRange) |
| void | GetCreatureListWithEntryInGrid (std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange) |
| void | GetGameObjectListWithEntryInGrid (std::list< GameObject * > &list, WorldObject *source, uint32 entry, float maxSearchRange) |
| void | GetPlayerListInGrid (std::list< Player * > &list, WorldObject *source, float maxSearchRange) |
| void | GetPositionWithDistInOrientation (Unit *pUnit, float dist, float orientation, float &x, float &y) |
| void | GetRandPosFromCenterInDist (float centerX, float centerY, float dist, float &x, float &y) |
| #define CAST_AI | ( | a, | |
| b ) |
Definition at line 14 of file ScriptedCreature.h.
Referenced by boss_moroes_guestAI::AcquireGUID(), boss_priestess_lackey_commonAI::AcquireGUIDs(), npc_akama_illidan::npc_akama_illidanAI::BeginTalk(), netherspite_infernal::netherspite_infernalAI::Cleanup(), boss_julianne::boss_julianneAI::DamageTaken(), boss_romulo::boss_romuloAI::DamageTaken(), hyjalAI::DeSpawnVeins(), npc_head::npc_headAI::Disappear(), boss_four_horsemen::boss_four_horsemenAI::DoEncounteraction(), npc_parasitic_shadowfiend::npc_parasitic_shadowfiendAI::DoMeleeAttackIfReady(), hyjalAI::DoOverrun(), spell_yogg_saron_brain_link::spell_yogg_saron_brain_link_AuraScript::DummyTick(), boss_illidari_councilAI::EnterCombat(), boss_twinemperorsAI::EnterCombat(), npc_shadowmoon_channeler::npc_shadowmoon_channelerAI::EnterCombat(), boss_kiljaeden::boss_kiljaedenAI::EnterEvadeMode(), npc_akama_illidan::npc_akama_illidanAI::EnterPhase(), spell_yogg_saron_brain_link::spell_yogg_saron_brain_link_SpellScript::FilterTargets(), npc_anubisath_sentinel::aqsentinelAI::GetOtherSentinels(), npc_anubisath_sentinel::aqsentinelAI::GiveBuddyMyList(), spell_loatheb_necrotic_aura_warning::spell_loatheb_necrotic_aura_warning_AuraScript::HandleEffectApply(), spell_power_of_the_twins::spell_power_of_the_twins_AuraScript::HandleEffectApply(), spell_loatheb_necrotic_aura_warning::spell_loatheb_necrotic_aura_warning_AuraScript::HandleEffectRemove(), spell_power_of_the_twins::spell_power_of_the_twins_AuraScript::HandleEffectRemove(), spell_krick_pursuit::spell_krick_pursuit_AuraScript::HandleExtraEffect(), spell_krick_pursuit::spell_krick_pursuit_SpellScript::HandleScriptEffect(), boss_illidan_stormrage::boss_illidan_stormrageAI::HandleTalkSequence(), npc_akama_illidan::npc_akama_illidanAI::HandleTalkSequence(), npc_ashtongue_defender::npc_ashtongue_defenderAI::IsSummonedBy(), npc_ashtongue_elementalist::npc_ashtongue_elementalistAI::IsSummonedBy(), npc_ashtongue_rogue::npc_ashtongue_rogueAI::IsSummonedBy(), npc_ashtongue_sorcerer::npc_ashtongue_sorcererAI::IsSummonedBy(), npc_ashtongue_spiritbinder::npc_ashtongue_spiritbinderAI::IsSummonedBy(), npc_coldflame::npc_coldflameAI::IsSummonedBy(), npc_meteor_strike_initial::npc_meteor_strike_initialAI::IsSummonedBy(), boss_fathomguard_caribdis::boss_fathomguard_caribdisAI::JustDied(), boss_fathomguard_sharkkis::boss_fathomguard_sharkkisAI::JustDied(), boss_fathomguard_tidalvess::boss_fathomguard_tidalvessAI::JustDied(), boss_headless_horseman::boss_headless_horsemanAI::JustDied(), boss_sathrovarr::boss_sathrovarrAI::JustDied(), boss_twinemperorsAI::JustDied(), npc_acolyte_of_shadron::npc_acolyte_of_shadronAI::JustDied(), npc_acolyte_of_vesperon::npc_acolyte_of_vesperonAI::JustDied(), npc_akama_shade::npc_akamaAI::JustDied(), npc_ancient_water_spirit::npc_ancient_water_spiritAI::JustDied(), npc_anubisath_sentinel::aqsentinelAI::JustDied(), npc_enslaved_soul::npc_enslaved_soulAI::JustDied(), npc_fel_crystal::npc_fel_crystalAI::JustDied(), npc_ferocious_rhino::npc_ferocious_rhinoAI::JustDied(), npc_frenzied_worgen::npc_frenzied_worgenAI::JustDied(), npc_hand_of_the_deceiver::npc_hand_of_the_deceiverAI::JustDied(), npc_hellfire_sentry::npc_hellfire_sentryAI::JustDied(), npc_illidari_spawn::npc_illidari_spawnAI::JustDied(), npc_jedoga_initiand::npc_jedoga_initiandAI::JustDied(), npc_massive_jormungar::npc_massive_jormungarAI::JustDied(), npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::JustDied(), npc_ravenous_furbolg::npc_ravenous_furbolgAI::JustDied(), npc_shadowmoon_channeler::npc_shadowmoon_channelerAI::JustDied(), npc_snaplasher::npc_snaplasherAI::JustDied(), npc_storm_lasher::npc_storm_lasherAI::JustDied(), npc_tainted_elemental::npc_tainted_elementalAI::JustDied(), npc_tito::npc_titoAI::JustDied(), boss_balinda::boss_balindaAI::JustSummoned(), boss_exarch_maladaar::boss_exarch_maladaarAI::JustSummoned(), boss_illidan_stormrage::boss_illidan_stormrageAI::JustSummoned(), boss_headless_horseman::boss_headless_horsemanAI::KilledUnit(), boss_sathrovarr::boss_sathrovarrAI::KilledUnit(), boss_teron_gorefiend::boss_teron_gorefiendAI::MindControlGhost(), boss_headless_horseman::boss_headless_horsemanAI::MovementInform(), npc_counselor_talbot::npc_counselor_talbotAI::MovementInform(), npc_general_arlos::npc_general_arlosAI::MovementInform(), npc_image_lich_king::npc_image_lich_kingAI::MovementInform(), npc_jedoga_initiand::npc_jedoga_initiandAI::MovementInform(), npc_leryssa::npc_leryssaAI::MovementInform(), npc_ancient_water_spirit::npc_ancient_water_spiritAI::npc_ancient_water_spiritAI(), npc_snaplasher::npc_snaplasherAI::npc_snaplasherAI(), npc_storm_lasher::npc_storm_lasherAI::npc_storm_lasherAI(), achievement_intense_cold::OnCheck(), achievement_once_bitten_twice_shy_n::OnCheck(), achievement_once_bitten_twice_shy_v::OnCheck(), achievement_snakes_whyd_it_have_to_be_snakes::OnCheck(), containment_sphere::OnGossipHello(), gameobject_cage_trap::OnGossipHello(), go_acherus_soul_prison::OnGossipHello(), go_bristlelimb_cage::OnGossipHello(), go_loosely_turned_soil::OnGossipHello(), go_manaforge_control_console::OnGossipHello(), go_manticron_cube::OnGossipHello(), go_naga_brazier::OnGossipHello(), go_najentus_spine::OnGossipHello(), go_orb_of_the_blue_flight::OnGossipHello(), go_palehoof_sphere::OnGossipHello(), npc_arthas::OnGossipHello(), npc_barnes::OnGossipHello(), npc_defiant_troll::OnGossipHello(), npc_jaina_proudmoore::OnGossipHello(), npc_thrall::OnGossipHello(), npc_tyrande_whisperwind::OnGossipHello(), prince_taldaram_sphere::OnGossipHello(), example_escort::OnGossipSelect(), npc_announcer_toc5::OnGossipSelect(), npc_arthas::OnGossipSelect(), npc_barnes::OnGossipSelect(), npc_blastmaster_emi_shortfuse::OnGossipSelect(), npc_brann_hos::OnGossipSelect(), npc_death_knight_initiate::OnGossipSelect(), npc_disciple_of_naralex::OnGossipSelect(), npc_engineer_spark_overgrind::OnGossipSelect(), npc_expedition_commander::OnGossipSelect(), npc_highlord_darion_mograine::OnGossipSelect(), npc_injured_rainspeaker_oracle::OnGossipSelect(), npc_jaina_proudmoore::OnGossipSelect(), npc_sergeant_bly::OnGossipSelect(), npc_shadowfang_prisoner::OnGossipSelect(), npc_sinclari_vh::OnGossipSelect(), npc_taretha::OnGossipSelect(), npc_thassarian::OnGossipSelect(), npc_theramore_guard::OnGossipSelect(), npc_thrall::OnGossipSelect(), npc_thrall_old_hillsbrad::OnGossipSelect(), npc_transient::OnGossipSelect(), go_crystal_prison::OnQuestAccept(), go_crystalline_tear::OnQuestAccept(), npc_00x09hl::OnQuestAccept(), npc_akuno::OnQuestAccept(), npc_apothecary_hanes::OnQuestAccept(), npc_apprentice_mirveda::OnQuestAccept(), npc_bessy::OnQuestAccept(), npc_bonker_togglevolt::OnQuestAccept(), npc_chicken_cluck::OnQuestAccept(), npc_daegarn::OnQuestAccept(), npc_deathstalker_erland::OnQuestAccept(), npc_doctor::OnQuestAccept(), npc_earthmender_wilda::OnQuestAccept(), npc_emily::OnQuestAccept(), npc_engineer_helice::OnQuestAccept(), npc_gilthares::OnQuestAccept(), npc_isla_starmane::OnQuestAccept(), npc_kayra_longmane::OnQuestAccept(), npc_koltira_deathweaver::OnQuestAccept(), npc_lurgglbr::OnQuestAccept(), npc_magwin::OnQuestAccept(), npc_maxx_a_million_escort::OnQuestAccept(), npc_mist::OnQuestAccept(), npc_mootoo_the_younger::OnQuestAccept(), npc_muglash::OnQuestAccept(), npc_OOX17::OnQuestAccept(), npc_overlord_morghor::OnQuestAccept(), npc_professor_phizzlethorpe::OnQuestAccept(), npc_ranger_lilatha::OnQuestAccept(), npc_ruul_snowhoof::OnQuestAccept(), npc_stinky::OnQuestAccept(), npc_tooga::OnQuestAccept(), npc_torek::OnQuestAccept(), npc_willix::OnQuestAccept(), npc_wizzlecrank_shredder::OnQuestAccept(), npc_wounded_blood_elf::OnQuestAccept(), npc_chicken_cluck::OnQuestComplete(), npc_lady_sylvanas_windrunner::OnQuestReward(), npc_rocknot::OnQuestReward(), spell_yogg_saron_brain_link::spell_yogg_saron_brain_link_AuraScript::OnRemove(), at_commander_dawnforge::OnTrigger(), at_kelthuzad_center::OnTrigger(), item_tainted_core::OnUse(), spell_varos_energize_core_area_enemy::spell_varos_energize_core_area_enemySpellScript::PrepareSpellScript(), spell_varos_energize_core_area_entry::spell_varos_energize_core_area_entrySpellScript::PrepareSpellScript(), SmartScript::ProcessAction(), boss_terestian_illhoof::boss_terestianAI::Reset(), npc_ferocious_rhino::npc_ferocious_rhinoAI::Reset(), npc_frenzied_worgen::npc_frenzied_worgenAI::Reset(), npc_greyheart_spellbinder::npc_greyheart_spellbinderAI::Reset(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::Reset(), npc_massive_jormungar::npc_massive_jormungarAI::Reset(), npc_pulsing_pumpkin::npc_pulsing_pumpkinAI::Reset(), npc_ravenous_furbolg::npc_ravenous_furbolgAI::Reset(), hyjalAI::Retreat(), boss_midnight::boss_midnightAI::SetMidnight(), npc_injured_patient::npc_injured_patientAI::SpellHit(), npc_salanar_the_horseman::npc_salanar_the_horsemanAI::SpellHit(), npc_illidari_council::npc_illidari_councilAI::StartEvent(), npc_oliver_harris::npc_oliver_harrisAI::StartSceneImpl(), hyjalAI::SummonCreature(), boss_illidan_stormrage::boss_illidan_stormrageAI::SummonFlamesOfAzzinoth(), boss_malchezaar::boss_malchezaarAI::SummonInfernal(), npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI::SummonNextWave(), npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI::SummonNextWave(), boss_reliquary_of_souls::boss_reliquary_of_soulsAI::SummonSoul(), boss_dorothee::boss_dorotheeAI::SummonTito(), boss_warp_splinter::boss_warp_splinterAI::SummonTreants(), boss_twinemperorsAI::TeleportToMyBrother(), boss_attumen::boss_attumenAI::UpdateAI(), boss_headless_horseman::boss_headless_horsemanAI::UpdateAI(), boss_julianne::boss_julianneAI::UpdateAI(), boss_kaelthas::boss_kaelthasAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), boss_maiev_shadowsong::boss_maievAI::UpdateAI(), boss_romulo::boss_romuloAI::UpdateAI(), boss_terestian_illhoof::boss_terestianAI::UpdateAI(), boss_teron_gorefiend::boss_teron_gorefiendAI::UpdateAI(), boss_warlord_kalithresh::boss_warlord_kalithreshAI::UpdateAI(), npc_doctor::npc_doctorAI::UpdateAI(), npc_enchanted_elemental::npc_enchanted_elementalAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), npc_injured_patient::npc_injured_patientAI::UpdateAI(), npc_leryssa::npc_leryssaAI::UpdateAI(), npc_shadowmoon_channeler::npc_shadowmoon_channelerAI::UpdateAI(), npc_toxic_sporebat::npc_toxic_sporebatAI::UpdateAI(), npc_twilight_eggs::npc_twilight_eggsAI::UpdateAI(), npc_brann_hos::npc_brann_hosAI::UpdateEscortAI(), hyjalAI::WaypointReached(), npc_brann_hos::npc_brann_hosAI::WaypointReached(), and npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::WaypointReached().
| Creature * GetClosestCreatureWithEntry | ( | WorldObject * | source, |
| uint32 | entry, | ||
| float | maxSearchRange, | ||
| bool | alive = true ) |
Definition at line 662 of file ScriptedCreature.cpp.
References WorldObject::FindNearestCreature().
Referenced by npc_mrfloppy::npc_mrfloppyAI::EnterCombat(), boss_hodir::boss_hodirAI::FlashFreeze(), SmartScript::GetTargets(), spell_pot_check::spell_pot_check_SpellScript::HandleScriptEffect(), spell_random_ingredient::spell_random_ingredient_SpellScript::HandleScriptEffect(), npc_emily::npc_emilyAI::JustSummoned(), Condition::Meets(), npc_mageguard_dalaran::npc_mageguard_dalaranAI::MoveInLineOfSight(), npc_vics_flying_machine::npc_vics_flying_machineAI::MovementInform(), go_elune_fire::OnGossipHello(), go_naga_brazier::OnGossipHello(), go_amberpine_outhouse::OnGossipSelect(), npc_emily::OnQuestAccept(), spell_fetch_ingredient_aura::spell_fetch_ingredient_aura_AuraScript::OnRemove(), npc_firework_launcher::npc_firework_launcherAI::OnSpellClick(), npc_announcer_toc10::npc_announcer_toc10AI::Reset(), Map::ScriptsProcess(), boss_volkhan::boss_volkhanAI::UpdateAI(), npc_a_special_surprise::npc_a_special_surpriseAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_blessed_banner::npc_blessed_bannerAI::UpdateAI(), npc_flame_tsunami::npc_flame_tsunamiAI::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), npc_warmage_violetstand::npc_warmage_violetstandAI::UpdateAI(), npc_brann_hos::npc_brann_hosAI::WaypointReached(), and npc_emily::npc_emilyAI::WaypointReached().
| GameObject * GetClosestGameObjectWithEntry | ( | WorldObject * | source, |
| uint32 | entry, | ||
| float | maxSearchRange ) |
Definition at line 667 of file ScriptedCreature.cpp.
References WorldObject::FindNearestGameObject().
Referenced by npc_ranshalla::npc_ranshallaAI::DoChannelTorchSpell(), npc_firework::npc_fireworkAI::FindNearestLauncher(), SmartScript::GetTargets(), npc_ranshalla::npc_ranshallaAI::JustDidDialogueStep(), Condition::Meets(), boss_svala::boss_svalaAI::MoveInLineOfSight(), AreaTrigger_at_coilfang_waterfall::OnTrigger(), boss_svala::boss_svalaAI::UpdateAI(), npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::UpdateAI(), npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::WaypointReached(), and npc_muglash::npc_muglashAI::WaypointReached().
| void GetCreatureListWithEntryInGrid | ( | std::list< Creature * > & | list, |
| WorldObject * | source, | ||
| uint32 | entry, | ||
| float | maxSearchRange ) |
Definition at line 672 of file ScriptedCreature.cpp.
References WorldObject::GetCreatureListWithEntryInGrid().
Referenced by instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::CheckLichKingAvailability(), boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI::CleanStalkers(), boss_earthrager_ptah::boss_earthrager_ptahAI::Cleanup(), boss_earthrager_ptah::boss_earthrager_ptahAI::DamageTaken(), boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI::DamageTaken(), boss_xevozz::boss_xevozzAI::DespawnSphere(), boss_professor_putricide::boss_professor_putricideAI::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), npc_yogg_saron_keeper::npc_yogg_saron_keeperAI::DoAction(), instance_blackrock_spire::instance_blackrock_spireMapScript::Dragonspireroomstore(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::EnterCombat(), spell_frostwarden_handler_order_whelp::spell_frostwarden_handler_order_whelp_SpellScript::HandleForcedCast(), spell_putricide_unstable_experiment::spell_putricide_unstable_experiment_SpellScript::HandleScript(), npc_egg_pile::npc_egg_pileAI::JustDied(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::MovementInform(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::MovementInform(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::MovementInform(), go_large_gjalerbron_cage::OnGossipHello(), go_veil_skith_cage::OnGossipHello(), at_icc_saurfang_portal::OnTrigger(), spell_dreamwalker_summon_suppresser::spell_dreamwalker_summon_suppresser_AuraScript::PeriodicTick(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::ProcessEvent(), npc_yogg_saron_keeper::npc_yogg_saron_keeperAI::Reset(), boss_hodir::boss_hodirAI::UpdateAI(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI::UpdateAI(), boss_the_lich_king::boss_the_lich_kingAI::UpdateAI(), npc_warmage_coldarra::npc_warmage_coldarraAI::UpdateAI(), and npc_warmage_violetstand::npc_warmage_violetstandAI::UpdateAI().
| void GetGameObjectListWithEntryInGrid | ( | std::list< GameObject * > & | list, |
| WorldObject * | source, | ||
| uint32 | entry, | ||
| float | maxSearchRange ) |
Definition at line 677 of file ScriptedCreature.cpp.
References WorldObject::GetGameObjectListWithEntryInGrid().
Referenced by npc_snufflenose_gopher::npc_snufflenose_gopherAI::DoFindNewTubber(), and npc_ranshalla::npc_ranshallaAI::WaypointReached().
| void GetPlayerListInGrid | ( | std::list< Player * > & | list, |
| WorldObject * | source, | ||
| float | maxSearchRange ) |
Definition at line 682 of file ScriptedCreature.cpp.
References WorldObject::GetPlayerListInGrid().
Referenced by boss_zhao_ren::boss_zhao_renAI::checkParticipants(), npc_jaomin_ro::npc_jaomin_roAI::DamageTaken(), boss_zhao_ren::boss_zhao_renAI::GetRandomPlayer(), boss_zhao_ren::boss_zhao_renAI::JustDied(), npc_aysa_chamber_of_whispers::npc_aysa_chamber_of_whispersAI::UpdateAI(), npc_hogger_elwynn::npc_hogger_elwynnAI::UpdateAI(), npc_hot_air_balloon_vehicle::npc_hot_air_balloon_vehicleAI::UpdateAI(), npc_jaomin_ro::npc_jaomin_roAI::UpdateAI(), npc_master_shang_xi_wood_of_staves::npc_master_shang_xi_wood_of_stavesAI::UpdateAI(), npc_shu_dailo::npc_shu_dailoAI::UpdateAI(), and npc_shu_pool_of_reflection::npc_shu_pool_of_reflectionAI::UpdateAI().
| void GetPositionWithDistInOrientation | ( | Unit * | pUnit, |
| float | dist, | ||
| float | orientation, | ||
| float & | x, | ||
| float & | y ) |
Definition at line 687 of file ScriptedCreature.cpp.
References Position::GetPositionX(), and Position::GetPositionY().
Referenced by npc_transient::npc_transientAI::JustDied(), boss_ancient_stone_keeper::boss_ancient_stone_keeperAI::UpdateAI(), and npc_shu_pool_of_reflection::npc_shu_pool_of_reflectionAI::UpdateAI().
| void GetRandPosFromCenterInDist | ( | float | centerX, |
| float | centerY, | ||
| float | dist, | ||
| float & | x, | ||
| float & | y ) |
Definition at line 692 of file ScriptedCreature.cpp.