131 std::vector<WorldObject*> flames;
137 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)
402 std::list<Creature*> servants;
404 for (std::list<Creature*>::iterator itr = servants.begin(); itr != servants.end(); ++itr)
407 if ((*itr)->isDead())
408 (*itr)->Respawn(
true);
414 if (
Unit* target = (*itr)->SelectNearestTarget(150.0f))
415 (*itr)->AI()->AttackStart(target);
419 std::list<Creature*> saboteurs;
420 caster->GetCreatureListWithEntryInGrid(saboteurs,
NPC_SABOTEUR, 200.0f);
421 for (std::list<Creature*>::iterator itr = saboteurs.begin(); itr != saboteurs.end(); ++itr)
422 if ((*itr)->IsAlive())
492 if (!wilhelm || !apple || !drostan)
DB2Storage< BroadcastTextEntry > sBroadcastTextStore("BroadcastText.db2", &BroadcastTextLoadInfo::Instance)
@ 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
@ SPELL_FAILED_CASTER_AURASTATE
@ SPELL_FAILED_CUSTOM_ERROR
@ FACTION_ESCORTEE_N_NEUTRAL_PASSIVE
#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(PhaseShift const &phaseShift, float x, float y, float z, float *ground=nullptr, bool swim=false, float collisionHeight=2.03128f)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
void MoveFollow(Unit *target, float dist, ChaseAngle angle, Optional< Milliseconds > duration={}, 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)
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
int32 GetQuestObjectiveData(uint32 questId, uint32 objectiveId) const
QuestStatus GetQuestStatus(uint32 quest_id) const
QuestObjectives Objectives
uint32 GetQuestId() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
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 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, uint32 reqEffMask=0) const
void KillSelf(bool durabilityLoss=true, bool skipSettingDeathState=false)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void GetCreatureListWithEntryInGrid(Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
PhaseShift & GetPhaseShift()
float GetDistance2d(WorldObject const *obj) const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Player * GetCharmerOrOwnerPlayerOrPlayerItself() const
SpellCastResult CheckCast()
void HandleDummy(SpellEffIndex)
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleSendEvent(SpellEffIndex effIndex)
static constexpr uint32 SPAWN_GROUP_FLAMES
bool Validate(SpellInfo const *) override
void HandleDummyEffect(SpellEffIndex)
static constexpr uint32 SPAWN_GROUP_FLAMES
bool Validate(SpellInfo const *) override
void HandleDummyEffect(SpellEffIndex)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
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)
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
bool HasEscortState(uint32 escortState)
void LoadPath(uint32 pathId)
Player * GetPlayerForEscort()
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetOrientation() const
constexpr float GetPositionZ() 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