73 namespace GossipOption
88 namespace MurderWasTheCaseThatTheyGaveMe
100 namespace LousPartingThoughts
123 namespace MurderWasTheCaseThatTheyGaveMe
128 namespace LousPartingThoughts
141 namespace HarvestGolem
170 namespace SmallTimeHustlerText
197 targets.remove_if([caster](
WorldObject const* target) ->
bool
202 if (targets.size() > 1)
306 target->DespawnOrUnsummon(100ms);
361 targets.push_back(creature);
384 targets.push_back(creature);
404 targets.push_back(creature);
407 targets.push_back(creature);
430 static constexpr std::array<HoboClueData, 4>
HoboClues =
440 uint8 clueGainChance = 0;
441 switch (gossipListId)
596 if (!creature->IsAlive() || creature->IsInCombat())
678 creature->AI()->SetGUID(
GetCaster()->GetGUID(), 0);
700 lousPartingThoughtsTrigger->AI()->SetGUID(player->
GetGUID(), 0);
714 if (
Creature* summoner = summon->GetSummonerCreatureBase())
723 if (
Creature* summoner = summon->GetSummonerCreatureBase())
730 { -9859.36f, 1332.42f, 41.9859f, 2.49582f },
731 { -9862.52f, 1332.08f, 41.9859f, 0.855211f },
732 { -9863.49f, 1335.49f, 41.9859f, 5.63741f },
733 { -9860.43f, 1335.46f, 41.9859f, 4.11898f },
790 for (
uint8 i = 0; i < 4; i++)
801 if (invoker && thug1)
809 if (invoker && thug2)
817 if (invoker && thug2)
825 if (invoker && thug3)
833 if (invoker && thug1)
839 thug->SetFacingToObject(invoker);
848 if (invoker && thug1)
857 if (invoker && thug1)
864 thug->SetImmuneToAll(
false);
865 thug->AI()->AttackStart(invoker);
940 lousPartingThoughtsTrigger->AI()->SetGUID(player->
GetGUID(), 0);
First const & RAND(First const &first, Second const &second, Rest const &... rest)
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ QUEST_STATUS_INCOMPLETE
bool roll_chance(float chance, PseudoRandomDistributionState &state)
uint32 urand(uint32 min, uint32 max)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive=true)
void CloseGossipMenuFor(Player *player)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TARGET_UNIT_SRC_AREA_ENTRY
@ SPELL_FAILED_BAD_TARGETS
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
AuraEffect * GetEffect(uint8 effIndex) const
ObjectGuid const & GetGUID() const
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetImmuneToPC(bool apply) override
GuidUnorderedSet const & GetTapList() const
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void DoFleeToGetAssistance()
void Repeat(Milliseconds time)
void CancelEventGroup(GroupIndex group)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
static ObjectGuid const Empty
WorldObject * ToWorldObject()
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
uint16 GetQuestSlotCounter(uint16 slot, uint8 counter) const
uint16 FindQuestSlot(uint32 quest_id) const
QuestStatus GetQuestStatus(uint32 quest_id) const
at_westfall_small_time_hustler()
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
at_westfall_two_shoed_lou_thugs()
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
void HandleDummy(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
void FilterTargets(std::list< WorldObject * > &targets)
void HandleScriptEffect(SpellEffIndex)
void HandlePeriodic(AuraEffect const *)
bool Validate(SpellInfo const *spellInfo) override
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
void HandleScriptEffect(SpellEffIndex)
SpellCastResult CheckTarget()
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
Creature * GetHitCreature() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< EffectHandler > OnEffectLaunch
Unit * GetExplTargetUnit() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
void ResumeMovement(uint32 timer=0, uint8 slot=0)
void PauseMovement(uint32 timer=0, uint8 slot=0, bool forced=true)
void RemoveNpcFlag(NPCFlags flags)
TempSummon * ToTempSummon()
Unit * GetCharmerOrOwner() const
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
void SetNpcFlag(NPCFlags flags)
bool HealthBelowPctDamaged(float pct, uint32 damage) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
void SetAIAnimKitId(uint16 animKitId)
virtual void ExitVehicle(Position const *exitPosition=nullptr)
Creature * FindNearestCreatureWithOptions(float range, FindCreatureOptions const &options) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
void PlayDistanceSound(uint32 soundId, Player const *target=nullptr) const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
float GetDistance(WorldObject const *obj) const
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
static constexpr uint32 ThugReset
static constexpr uint32 HoboAggroAction
static constexpr uint32 HoboAggroActionDone
static constexpr uint32 TheMoestFarm
static constexpr uint32 LousPartingThoughtsTrigger
static constexpr uint32 SmallTimeHustler
static constexpr uint32 WestPlainDrifter
static constexpr uint32 EnergizedHarvestReaper
static constexpr uint32 JangolodeMineGlubtok
static constexpr uint32 Thug
static constexpr uint32 HomelessStormwindCitizen1
static constexpr uint32 JangolodeMineFigure
static constexpr uint32 HomelessStormwindCitizen2
static constexpr uint32 OverloadedHarvestGolem
static constexpr uint32 Transient
static constexpr uint32 DataThugDeath
static constexpr uint32 CheckArea
static constexpr uint32 DespawnHarvester
static constexpr uint32 HustlerSay1
static constexpr uint32 HustlerSay0
static constexpr uint32 ThugSay6
static constexpr uint32 ThugSay5
static constexpr uint32 ThugSay1
static constexpr uint32 ThugSay0
static constexpr uint32 SummonThugs
static constexpr uint32 ThugSay4
static constexpr uint32 ThugWarning
static constexpr uint32 HustlerEventReset
static constexpr uint32 ThugCredit
static constexpr uint32 ThugShoot2
static constexpr uint32 ThugShoot1
static constexpr uint32 ThugSay3
static constexpr uint32 ThugSay2
static constexpr uint32 ThugScream
static constexpr uint32 JackpotMiddle
static constexpr uint32 PropertyRage
static constexpr uint32 HoboCry
static constexpr uint32 ResumeMove
static constexpr uint32 GroupOOC
static constexpr uint32 JackpotIntro
static constexpr uint32 JackpotEnd
static constexpr uint32 HoboTalk
static constexpr uint32 GossipOption1
static constexpr uint32 GossipOption0
static constexpr uint32 LousPartingThoughts
static constexpr uint32 MurderWasTheCaseThatTheyGaveMe
static constexpr uint32 Shooting
static constexpr uint32 Scream
static constexpr uint32 SummonRagamuffinLooter4
static constexpr uint32 HoboInformation2
static constexpr uint32 SummonRagamuffinLooter3
static constexpr uint32 HoboInformation
static constexpr uint32 SummonRagamuffinLooter1
static constexpr uint32 JangolodeMineSummonGlubtok
static constexpr uint32 SummonRagamuffinLooter
static constexpr uint32 HoboAggro
static constexpr uint32 HoboInformation4
static constexpr uint32 JangolodeMineSummonFigure
static constexpr uint32 HoboInformation3
static constexpr uint32 SummonRagamuffinLooter2
static constexpr uint32 HoboInformation1
static constexpr uint32 AnnounceOutOfArea
static constexpr uint32 HoboJackpotEnd
static constexpr uint32 HoboFlee
static constexpr uint32 HoboSayClue3
static constexpr uint32 HoboAggroBribe
static constexpr uint32 HoboSayClue2
static constexpr uint32 HoboJackpotIntro
static constexpr uint32 HoboSayClue4
static constexpr uint32 HoboEvent
static constexpr uint32 HoboSayClue1
static constexpr uint32 HoboPropertyRage
static constexpr uint32 HoboAggroConvince
static constexpr uint32 HustlerSay1
static constexpr uint32 HustlerSay0
static constexpr uint32 ThugSay1
static constexpr uint32 ThugSay6
static constexpr uint32 ThugSay0
static constexpr uint32 ThugSay3
static constexpr uint32 ThugSay5
static constexpr uint32 ThugSay4
static constexpr uint32 SayWarning
static constexpr uint32 ThugSay2
Position constexpr ThugPos[4]
void RandomResize(C &container, std::size_t requestedSize)
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void GiveClue(Player *player)
void SetGUID(ObjectGuid const &guid, int32) override
void JustDied(Unit *who) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
npc_westfall_hobo_witness(Creature *creature)
static constexpr std::array< HoboClueData, 4 > HoboClues
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
void DoAction(int32 action) override
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
void JustAppeared() override
npc_westfall_lous_parting_thoughts_trigger(Creature *creature)
void SetData(uint32, uint32 data) override
std::array< ObjectGuid, 4 > _summonGUIDs
void DoAction(int32 action) override
void UpdateAI(uint32 diff) override
void SetGUID(ObjectGuid const &guid, int32) override
ObjectGuid _eventInvokerGUID
void JustAppeared() override
void PassengerBoarded(Unit *, int8, bool apply) override
== Fields =======================================
npc_westfall_overloaded_harvest_golem(Creature *creature)
void UpdateAI(uint32 diff) override
npc_westfall_small_time_hustler(Creature *creature)
void UpdateAI(uint32 diff) override
void SetGUID(ObjectGuid const &guid, int32) override
ObjectGuid _eventInvokerGUID
npc_westfall_thug(Creature *creature)
void EnterEvadeMode(EvadeReason) override
void JustDied(Unit *) override