Skip to content

Commit

Permalink
feat(ScriptMgr): add OnArenaStart hook (#19922)
Browse files Browse the repository at this point in the history
  • Loading branch information
Helias committed Sep 11, 2024
1 parent c42b3ee commit f6e9bd5
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/server/game/Battlegrounds/Battleground.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,8 @@ inline void Battleground::_ProcessJoin(uint32 diff)
}
m_ToBeTeleported.clear();
}

sScriptMgr->OnArenaStart(this);
}
else
{
Expand Down
5 changes: 5 additions & 0 deletions src/server/game/Scripting/ScriptDefines/ArenaScript.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ bool ScriptMgr::OnBeforeArenaCheckWinConditions(Battleground* const bg)
CALL_ENABLED_BOOLEAN_HOOKS(ArenaScript, ARENAHOOK_ON_BEFORE_CHECK_WIN_CONDITION, !script->OnBeforeArenaCheckWinConditions(bg));
}

void ScriptMgr::OnArenaStart(Battleground* bg)
{
CALL_ENABLED_HOOKS(ArenaScript, ARENAHOOK_ON_ARENA_START, script->OnArenaStart(bg));
}

ArenaScript::ArenaScript(const char* name, std::vector<uint16> enabledHooks)
: ScriptObject(name, ARENAHOOK_END)
{
Expand Down
3 changes: 3 additions & 0 deletions src/server/game/Scripting/ScriptDefines/ArenaScript.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ enum ArenaHook
ARENAHOOK_ON_GET_POINTS,
ARENAHOOK_CAN_SAVE_TO_DB,
ARENAHOOK_ON_BEFORE_CHECK_WIN_CONDITION,
ARENAHOOK_ON_ARENA_START,
ARENAHOOK_END
};

Expand All @@ -48,6 +49,8 @@ class ArenaScript : public ScriptObject
[[nodiscard]] virtual bool OnBeforeArenaCheckWinConditions(Battleground* const /* bg */) { return true; }

[[nodiscard]] virtual bool CanSaveToDB(ArenaTeam* /*team*/) { return true; }

virtual void OnArenaStart(Battleground* /* bg */) { };
};

#endif
1 change: 1 addition & 0 deletions src/server/game/Scripting/ScriptMgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -648,6 +648,7 @@ class ScriptMgr
void OnGetPoints(ArenaTeam* team, uint32 memberRating, float& points);
bool CanSaveToDB(ArenaTeam* team);
bool OnBeforeArenaCheckWinConditions(Battleground* const bg);
void OnArenaStart(Battleground* const bg);

public: /* MiscScript */

Expand Down

0 comments on commit f6e9bd5

Please sign in to comment.