From 1dc9b83a2556741ffd0c6ddce447a3e04f51a2b2 Mon Sep 17 00:00:00 2001 From: r4dish Date: Sat, 6 Jan 2024 10:17:34 +0200 Subject: Core/Misc: Do not apply Deserter debuff to players teleported from the battleground by gm command (.appear/.summon). --- src/server/game/Entities/Player/Player.cpp | 4 ++-- src/server/game/Entities/Player/Player.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server/game') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a64db2be2f6..ea3cfdb1b8b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22259,7 +22259,7 @@ uint32 Player::GetBGTeam() const return m_bgData.bgTeam ? m_bgData.bgTeam : GetTeam(); } -void Player::LeaveBattleground(bool teleportToEntryPoint /*= true*/) +void Player::LeaveBattleground(bool teleportToEntryPoint /*= true*/, bool withoutDeserterDebuff /*= false*/) { Battleground* bg = GetBattleground(); if (!bg) @@ -22270,7 +22270,7 @@ void Player::LeaveBattleground(bool teleportToEntryPoint /*= true*/) // call after remove to be sure that player resurrected for correct cast if (bg->isBattleground() && sWorld->getBoolConfig(CONFIG_BATTLEGROUND_CAST_DESERTER)) { - if (!GetSession()->HasPermission(rbac::RBAC_PERM_NO_BATTLEGROUND_DESERTER_DEBUFF)) + if (!withoutDeserterDebuff && !GetSession()->HasPermission(rbac::RBAC_PERM_NO_BATTLEGROUND_DESERTER_DEBUFF)) { if (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN) { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 2b5b12c6413..b36b6440e65 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1936,7 +1936,7 @@ class TC_GAME_API Player : public Unit, public GridObject void SetBGTeam(uint32 team); uint32 GetBGTeam() const; - void LeaveBattleground(bool teleportToEntryPoint = true); + void LeaveBattleground(bool teleportToEntryPoint = true, bool withoutDeserterDebuff = false); bool CanJoinToBattleground(Battleground const* bg) const; bool CanReportAfkDueToLimit(); void ReportedAfkBy(Player* reporter); -- cgit v1.2.3