18#ifndef TRINITY_BATTLEGROUND_SCRIPT_H
19#define TRINITY_BATTLEGROUND_SCRIPT_H
24#ifdef TRINITY_API_USE_DYNAMIC_LINKING
44 virtual void OnEnd([[maybe_unused]]
Team winner) { }
49 virtual Team GetPrematureWinner();
54 void UpdateWorldState(
int32 worldStateId,
int32 value,
bool hidden =
false)
const;
60#ifdef TRINITY_API_USE_DYNAMIC_LINKING
62 std::shared_ptr<ModuleReference> module_reference;
73 GameObject* CreateObject(
uint32 entry,
float x,
float y,
float z,
float o,
float rotation0,
float rotation1,
float rotation2,
float rotation3,
GOState goState =
GO_STATE_READY)
const;
74 Creature* CreateCreature(
uint32 entry,
float x,
float y,
float z,
float o)
const;
~ArenaScript() override=default
Battleground * battleground
virtual void OnPrepareStage1()
BattlegroundMap * battlegroundMap
~BattlegroundScript() override=default
virtual void OnEnd(Team winner)
virtual void OnPrepareStage2()
virtual void OnPlayerKilled(Player *victim, Player *killer)
virtual void OnPlayerLeft(Player *player)
virtual void OnUpdate(uint32 diff)
virtual void OnPrepareStage3()
virtual void OnPlayerJoined(Player *player, bool inBattleground)
virtual void OnUnitKilled(Creature *victim, Unit *killer)
virtual void TriggerGameEvent(uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr)