111 std::list<Creature*> tigers;
115 for (std::list<Creature*>::iterator itr = tigers.begin(); itr != tigers.end(); ++itr)
117 if (!(*itr)->IsSummon())
122 && !summoner->IsInCombat())
184 if (!attacker || !attacker->
IsSummon())
227 if (tiger->IsSummon())
247{11665, 11734, 11750, 12037, 12038, 12042, 12049, 12849, 13529, 14759, 15570, 15701,
24815702, 1882, 1897, 1976, 2025, 27286, 2734, 2735, 4084, 4085, 4087, 4089, 4231, 4357,
2494358, 4360, 4361, 4362, 4363, 4370, 4532, 4537, 4540, 4610, 6839, 7037, 9767, 9768};
355 target->
Mount(volunteerAI->GetMountId());
389 caster->
CastSpell(target, motivate,
false);
uint32 urand(uint32 min, uint32 max)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ SPELL_AURA_PERIODIC_DUMMY
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
@ UNIT_FLAG_NON_ATTACKABLE
HookList< EffectPeriodicHandler > OnEffectPeriodic
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetDisplayId(uint32 displayId, bool setNative=false) override
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
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 ObjectGuid GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
Unit * GetSummonerUnit() const
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
Vehicle * GetVehicle() const
MotionMaster * GetMotionMaster()
Aura * AddAura(uint32 spellId, Unit *target)
TempSummon * ToTempSummon()
void Mount(uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
float GetSpeedRate(UnitMoveType mtype) const
void SetSpeedRate(UnitMoveType mtype, float rate)
void SetUnitFlag(UnitFlags flags)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool Validate(SpellInfo const *) override
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const
void SetCombatMovement(bool allowMovement)
bool HealthBelowPct(uint32 pct) const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
npc_tiger_matriarch_credit(Creature *creature)
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *victim) override
void DamageTaken(Unit *attacker, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
void IsSummonedBy(WorldObject *summonerWO) override
npc_tiger_matriarch(Creature *creature)
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
npc_troll_volunteer(Creature *creature)
void InitializeAI() override
void MovementInform(uint32 type, uint32 id) override
void AddSC_event_zalazane_fall()
@ SPELL_SPIRIT_OF_THE_TIGER_RIDER
@ SPELL_SUMMON_ZENTABRA_TRIGGER
uint32 const trollmodel[]
@ EVENT_CHECK_SUMMON_AURA
npc_troll_volunteer VolunteerAI