73 Stillblade->AI()->AttackStart(player);
134 22810, 22811, 22812, 22813, 22814, 22815,
135 20783, 20784, 20785, 20786, 20788, 20789, 20790
155 if (!creature->IsHostileTo(player))
161 switch (pFaction->Faction)
172 creature->CastSpell(player,
Spell,
false);
174 TC_LOG_ERROR(
"scripts",
"go_ethereum_prison summoned Creature (entry {}) but faction ({}) are not expected by script.", creature->GetEntry(), creature->GetFaction());
195 22825, 20888, 22827, 22826, 22828
306#define GO_TELE_TO_DALARAN_CRYSTAL_FAILED "This teleport crystal cannot be used until the teleport crystal in Dalaran has been used at least once."
399#define GOSSIP_USE_OUTHOUSE "Use the outhouse."
400#define GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND "Quest item Anderhol's Slider Cider not found."
517 std::vector<Creature*> childrenList;
519 for (
Creature* creature : childrenList)
522 creature->DespawnOrUnsummon(5s);
525 creature->GetMotionMaster()->Clear();
735 std::vector<Player*> playersNearby;
737 for (
Player* player : playersNearby)
835 std::vector<Player*> playersNearby;
837 for (
Player* player : playersNearby)
1073 localtime_r(&time, &localTm);
1074 uint8 _rings = (localTm.tm_hour) % 12;
1086 for (
auto i = 0; i < _rings; ++i)
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
bool IsHolidayActive(HolidayIds id)
#define TC_LOG_ERROR(filterType__,...)
@ TEMPSUMMON_DEAD_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
#define INTERACTION_DISTANCE
@ QUEST_STATUS_INCOMPLETE
uint32 urand(uint32 min, uint32 max)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive=true)
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void AddGossipItemFor(Player *player, GossipOptionIcon icon, std::string const &text, uint32 sender, uint32 action)
void ClearGossipMenuFor(Player *player)
void CloseGossipMenuFor(Player *player)
@ GAMEOBJECT_TYPE_QUESTGIVER
@ HOLIDAY_DARKMOON_FAIRE_THUNDER
@ HOLIDAY_DARKMOON_FAIRE_ELWYNN
@ HOLIDAY_DARKMOON_FAIRE_SHATTRATH
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
void SetLootState(LootState s, Unit *unit=nullptr)
GameobjectTypes GetGoType() const
static ObjectGuid GetGUID(Object const *o)
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
Gender GetNativeGender() const override
bool GetQuestRewardStatus(uint32 quest_id) const
bool HasItemCount(uint32 item, uint32 count=1, bool inBankAlso=false) const
WorldSession * GetSession() const
QuestStatus GetQuestStatus(uint32 quest_id) const
PlayerMenu * PlayerTalkClass
virtual void SetData(uint32, uint32)
void GetPlayerListInGrid(Container &playerContainer, float maxSearchRange, bool alive=true) 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 PlayDirectMusic(uint32 musicId, Player *target=nullptr)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
float GetVisibilityRange() const
void PlayDirectSound(uint32 soundId, Player *target=nullptr)
void SendNotification(const char *format,...) ATTR_PRINTF(2
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
go_darkmoon_faire_music()
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
go_massive_seaforium_charge()
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
go_midsummer_ribbon_pole()
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
go_tele_to_dalaran_crystal()
go_tele_to_violet_stand()
GameObjectAI * GetAI(GameObject *go) const override
GameObjectAI * GetAI(GameObject *go) const override
@ ITEM_ANDERHOLS_SLIDER_CIDER
@ SPELL_CREATE_AMBERSEEDS
@ SPELL_TEST_RIBBON_POLE_2
@ SPELL_TEST_RIBBON_POLE_1
@ SPELL_TEST_RIBBON_POLE_3
#define GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND
#define GO_TELE_TO_DALARAN_CRYSTAL_FAILED
constexpr Seconds EVENT_BREWFESTDWARF02_TIME
@ GAME_EVENT_HOURLY_BELLS
constexpr Seconds EVENT_BREWFESTGOBLIN03_TIME
constexpr Seconds EVENT_BREWFESTGOBLIN01_TIME
#define GOSSIP_USE_OUTHOUSE
constexpr Seconds EVENT_BREWFESTDWARF01_TIME
const uint32 NpcPrisonEntry[]
uint32 const RibbonPoleSpells[3]
constexpr Seconds EVENT_BREWFESTGOBLIN02_TIME
@ HILLSBRAD_FOOTHILLS_ZONE
@ STAMP_OUT_BONFIRE_QUEST_COMPLETE
const uint32 NpcStasisEntry[]
@ QUEST_TELE_CRYSTAL_FLAG
@ QUEST_LEARN_LEAVE_RETURN
@ MUSIC_DARKMOON_FAIRE_MUSIC
constexpr Seconds EVENT_BREWFESTDWARF03_TIME
@ EVENTMIDSUMMERFIREFESTIVAL_A
@ EVENTMIDSUMMERFIREFESTIVAL_H
float GetPositionZ() const
float GetAbsoluteAngle(float x, float y) const
float GetPositionX() const
float GetPositionY() const
bool OnGossipHello(Player *player) override
go_amberpine_outhouseAI(GameObject *go)
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
void OnGameEvent(bool start, uint16 eventId) override
void UpdateAI(uint32 diff) override
void InitializeAI() override
go_bellsAI(GameObject *go)
go_blood_filled_orbAI(GameObject *go)
bool OnGossipHello(Player *player) override
void UpdateAI(uint32 diff) override
go_brewfest_musicAI(GameObject *go)
go_darkmoon_faire_musicAI(GameObject *go)
void UpdateAI(uint32 diff) override
go_ethereum_prisonAI(GameObject *go)
bool OnGossipHello(Player *player) override
bool OnGossipHello(Player *player) override
go_ethereum_stasisAI(GameObject *go)
bool OnGossipHello(Player *player) override
go_gilded_brazierAI(GameObject *go)
bool OnGossipHello(Player *) override
go_massive_seaforium_chargeAI(GameObject *go)
bool OnGossipSelect(Player *player, uint32, uint32) override
go_midsummer_bonfireAI(GameObject *go)
go_midsummer_musicAI(GameObject *go)
void UpdateAI(uint32 diff) override
bool OnGossipHello(Player *player) override
go_midsummer_ribbon_poleAI(GameObject *go)
go_pirate_day_musicAI(GameObject *go)
void UpdateAI(uint32 diff) override
go_resonite_caskAI(GameObject *go)
bool OnGossipHello(Player *) override
go_southfury_moonstoneAI(GameObject *go)
bool OnGossipHello(Player *player) override
go_tablet_of_the_sevenAI(GameObject *go)
bool OnGossipHello(Player *player) override
go_tele_to_dalaran_crystalAI(GameObject *go)
bool OnGossipHello(Player *player) override
bool OnGossipHello(Player *player) override
go_tele_to_violet_standAI(GameObject *go)
bool OnGossipHello(Player *player) override
go_veil_skith_cageAI(GameObject *go)