129 std::vector<WorldObject*> flames;
135 flame_go->DespawnOrUnsummon(20s);
170 std::vector<WorldObject*> flames;
176 flame_go->DespawnOrUnsummon(20s);
250 if (orphanOut->GetCaster() && orphanOut->GetCaster()->GetEntry() ==
ORPHAN_WOLVAR)
252 orphanGUID = orphanOut->GetCaster()->GetGUID();
265 if (!orphan || !player)
345 for (
uint8 i = 0; i < 3; ++i)
350 if (itr->second.CreatureOrGOCount[i] != 0)
405 std::list<Creature*> servants;
407 for (std::list<Creature*>::iterator itr = servants.begin(); itr != servants.end(); ++itr)
410 if ((*itr)->isDead())
411 (*itr)->Respawn(
true);
417 if (
Unit* target = (*itr)->SelectNearestTarget(150.0f))
418 (*itr)->AI()->AttackStart(target);
422 std::list<Creature*> saboteurs;
423 caster->GetCreatureListWithEntryInGrid(saboteurs,
NPC_SABOTEUR, 200.0f);
424 for (std::list<Creature*>::iterator itr = saboteurs.begin(); itr != saboteurs.end(); ++itr)
425 if ((*itr)->IsAlive())
497 if (!wilhelm || !apple || !drostan)
@ QUEST_STATUS_INCOMPLETE
uint32 urand(uint32 min, uint32 max)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SEND_EVENT
@ SPELL_CUSTOM_ERROR_MUST_TARGET_WILHELM
@ FACTION_ESCORTEE_N_NEUTRAL_PASSIVE
@ SPELL_FAILED_CASTER_AURASTATE
@ SPELL_FAILED_CUSTOM_ERROR
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool UpdateEntry(uint32 entry, CreatureData const *data=nullptr, bool updateLevel=true)
float GetWaterOrGroundLevel(uint32 phasemask, float x, float y, float z, float *ground=nullptr, bool swim=false, float collisionHeight=2.03128f) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
void MoveFollow(Unit *target, float dist, ChaseAngle angle, MovementSlot slot=MOTION_SLOT_ACTIVE)
static Creature * ToCreature(Object *o)
static GameObject * ToGameObject(Object *o)
static ObjectGuid GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
QuestStatusMap & getQuestStatusMap()
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
int32 RequiredNpcOrGo[QUEST_OBJECTIVES_COUNT]
uint32 GetQuestId() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
HookList< CheckCastHandler > OnCheckCast
HookList< HitHandler > AfterHit
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
int32 GetEffectValue() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
void SetCustomCastResultMessage(SpellCustomErrors result)
Unit * GetExplTargetUnit() const
SpellCastResult DoCast(uint32 spellId)
void KillSelf(bool durabilityLoss=true)
void SetFaction(uint32 faction) override
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
uint32 GetPhaseMask() const
void GetCreatureListWithEntryInGrid(Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
float GetDistance2d(WorldObject const *obj) const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Player * GetCharmerOrOwnerPlayerOrPlayerItself() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
PrepareSpellScript(spell_q12589_shoot_rjr)
SpellCastResult CheckCast()
void HandleDummy(SpellEffIndex)
void HandleScriptEffect(SpellEffIndex)
PrepareSpellScript(spell_q12611_deathbolt)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_q12620_the_lifewarden_wrath)
void HandleSendEvent(SpellEffIndex effIndex)
PrepareSpellScript(spell_q12688_detonate_1)
static constexpr uint32 SPAWN_GROUP_FLAMES
bool Validate(SpellInfo const *) override
void HandleDummyEffect(SpellEffIndex)
static constexpr uint32 SPAWN_GROUP_FLAMES
PrepareSpellScript(spell_q12688_detonate_2)
bool Validate(SpellInfo const *) override
void HandleDummyEffect(SpellEffIndex)
PrepareSpellScript(spell_sholazar_flight_to_sholazar)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_sholazar_lightning_strike)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_sholazar_song_of_cleansing)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_sholazar_sputum_collected)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_sholazar_take_sputum_sample)
SpellCastResult CheckCast()
bool Validate(SpellInfo const *spellInfo) override
void HandleDummy(SpellEffIndex)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
bool HasEscortState(uint32 escortState)
void Start(bool isActiveAttacker=true, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
Player * GetPlayerForEscort()
float GetPositionZ() const
float GetOrientation() const
float GetPositionX() const
float GetPositionY() const
npc_engineer_helice(Creature *creature)
void OnQuestAccept(Player *player, Quest const *quest) override
void WaypointReached(uint32 waypointId, uint32) override
void JustDied(Unit *) override
npc_haiphoon(Creature *creature)
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void proceedCwEvent(const uint32 diff)
void UpdateAI(uint32 diff) override
npc_jungle_punch_target(Creature *creature)
void MoveInLineOfSight(Unit *who) override
@ SPELL_FREYA_DUMMY_TRIGGER
@ SAY_HEMET_HADRIUS_TAMARA_1
@ SAY_HEMET_HADRIUS_TAMARA_3
@ SAY_HEMET_HADRIUS_TAMARA_2
@ QUEST_THE_MIGHTY_HEMET_NESINGWARY
void AddSC_sholazar_basin()
@ SPELL_SEVENFOLD_RETRIBUTION
@ SPELL_CREATE_POWER_OF_THE_TEMPEST
@ SPELL_SUMMON_SPIRIT_HAKHALAN
@ SPELL_SUMMON_SPIRIT_ATHA
@ SPELL_SUMMON_SPIRIT_KOOSU