72 Stillblade->AI()->AttackStart(player);
133 22810, 22811, 22812, 22813, 22814, 22815,
134 20783, 20784, 20785, 20786, 20788, 20789, 20790
154 if (!creature->IsHostileTo(player))
160 switch (pFaction->Faction)
171 creature->CastSpell(player,
Spell,
false);
173 TC_LOG_ERROR(
"scripts",
"go_ethereum_prison summoned Creature (entry {}) but faction ({}) are not expected by script.", creature->GetEntry(), creature->GetFaction());
194 22825, 20888, 22827, 22826, 22828
305#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."
428#define GOSSIP_USE_OUTHOUSE "Use the outhouse."
429#define GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND "Quest item Anderhol's Slider Cider not found."
546 std::vector<Creature*> childrenList;
548 for (
Creature* creature : childrenList)
551 creature->DespawnOrUnsummon(5s);
554 creature->GetMotionMaster()->Clear();
764 std::vector<Player*> playersNearby;
766 for (
Player* player : playersNearby)
864 std::vector<Player*> playersNearby;
866 for (
Player* player : playersNearby)
1102 localtime_r(&time, &localTm);
1103 uint8 _rings = (localTm.tm_hour) % 12;
1115 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 AddGossipItemFor(Player *player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action)
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void ClearGossipMenuFor(Player *player)
void CloseGossipMenuFor(Player *player)
@ GAMEOBJECT_TYPE_QUESTGIVER
@ HOLIDAY_MIDSUMMER_FIRE_FESTIVAL
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
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)
static Player * ToPlayer(Object *o)
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
bool IsInSameRaidWith(Player const *p) const
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
std::unique_ptr< PlayerMenu > PlayerTalkClass
virtual void SetData(uint32, uint32)
void GetPlayerListInGrid(Container &playerContainer, float maxSearchRange, bool alive=true) const
void PlayDirectSound(uint32 soundId, Player const *target=nullptr, uint32 broadcastTextId=0) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void PlayDirectMusic(uint32 musicId, Player const *target=nullptr) const
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)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
float GetVisibilityRange() const
void SendNotification(char const *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
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
constexpr float GetPositionX() const
constexpr float GetPositionY() const
float GetAbsoluteAngle(float x, float y) const
constexpr float GetPositionZ() 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
bool OnGossipHello(Player *player) override
go_soulwellAI(GameObject *go)
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)