166 init.SetVelocity(8.f);
280 ai->JustSummoned(
me);
282 ai->JustSummoned(landMine);
507 passenger->ExitVehicle();
524 if (creature->IsAIEnabled())
@ ENCOUNTER_FRAME_DISENGAGE
@ TEMPSUMMON_MANUAL_DESPAWN
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_SRC_AREA_ENTRY
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
@ ACTION_SAY_DETONATE_TRAPS
@ ACTION_INITIATE_COUNTDOWN
void AddSC_boss_general_husam()
@ SPELL_SUMMON_SHOCKWAVE_TARGET_S
@ SPELL_LAND_MINE_PLAYER_SEARCH_EFFECT
@ SPELL_LAND_MINE_PLAYER_SEARCH_TRIGGER
@ SPELL_LAND_MINE_PERIODIC
@ SPELL_SHOCKWAVE_SUMMON_EFFECT
@ SPELL_SUMMON_SHOCKWAVE_TARGET_N
@ SPELL_SHOCKWAVE_VISUAL_PERIODIC_SUMMON_TRIGGER
@ SPELL_TOLVIR_LAND_MINE_VISUAL
@ SPELL_SUMMON_SHOCKWAVE_TARGET_W
@ SPELL_EJECT_ALL_PASSENGERS
@ SPELL_MYSTIC_TRAP_DAMAGE
@ SPELL_SUMMON_SHOCKWAVE_TARGET_E
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
AuraEffect * GetEffect(uint8 effIndex) const
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
Creature * DoSummon(uint32 entry, Position const &pos, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void Repeat(Milliseconds time)
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void AddEventAtOffset(BasicEvent *event, Milliseconds offset)
Creature * GetCreature(uint32 type)
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
void LaunchMoveSpline(std::function< void(Movement::MoveSplineInit &init)> &&initializer, uint32 id=0, MovementGeneratorPriority priority=MOTION_PRIORITY_NORMAL, MovementGeneratorType type=EFFECT_MOTION_TYPE)
static Creature * ToCreature(Object *o)
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< CastHandler > AfterCast
Creature * GetHitCreature() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
SpellInfo const * GetSpellInfo() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void Summon(Creature const *summon)
Unit * GetSummonerUnit() const
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void EnterVehicle(Unit *base, int8 seatId=-1)
void CastStop(uint32 except_spellid=0)
MotionMaster * GetMotionMaster()
TempSummon * ToTempSummon()
bool HasUnitState(const uint32 f) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleScriptEffect(SpellEffIndex)
void HandlePostCastText()
bool Validate(SpellInfo const *spellInfo) override
void HandleTick(AuraEffect const *)
bool Validate(SpellInfo const *spellInfo) override
void HandleScriptEffect(SpellEffIndex)
void HandleDummyEffect(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void EffectScriptEffect(SpellEffIndex)
@ NPC_TOLVIR_LAND_MINE_TARGET
@ NPC_TOLVIR_LAND_MINE_CASTER
@ NPC_BAD_INTENTIONS_TARGET
@ NPC_TOLVIR_LAND_MINE_VEHICLE
#define RegisterLostCityOfTheTolvirAI(ai_name)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
float GetAbsoluteAngle(float x, float y) const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() const
bool IsTimewalking() const
void DoAction(int32 action) override
void EnterEvadeMode(EvadeReason) override
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *victim) override
boss_general_husam(Creature *creature)
void JustDied(Unit *) override
uint8 _shockwaveStalkerCount
void PassengerBoarded(Unit *, int8, bool apply) override
== Fields =======================================
void JustEngagedWith(Unit *who) override
void JustSummoned(Creature *summon) override
npc_husam_bad_intentions_target(Creature *creature)
void PassengerBoarded(Unit *passenger, int8, bool apply) override
== Fields =======================================
void JustAppeared() override
npc_husam_shockwave_visual(Creature *creature)
void JustAppeared() override
InstanceScript * _instance
void DoAction(int32 action) override
void PassengerBoarded(Unit *, int8, bool apply) override
== Fields =======================================
void InitializeAI() override
void UpdateAI(uint32 diff) override
npc_husam_tolvir_land_mine(Creature *creature)