feat(Core/PvP): Outdoor PvP capture rate multiplier (#23902)

This commit is contained in:
Michael Richards
2025-12-28 22:34:45 -06:00
committed by GitHub
parent f73a08e207
commit 76933b2732
5 changed files with 21 additions and 4 deletions

View File

@@ -25,6 +25,7 @@
#include "ObjectMgr.h"
#include "OutdoorPvPMgr.h"
#include "WorldPacket.h"
#include "World.h"
OPvPCapturePoint::OPvPCapturePoint(OutdoorPvP* pvp) :
_pvp(pvp)
@@ -349,12 +350,12 @@ bool OPvPCapturePoint::Update(uint32 diff)
}
// get the difference of numbers
float factDiff = ((float)_activePlayers[0].size() - (float)_activePlayers[1].size()) * float(diff) / OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL;
float factDiff = (((float)_activePlayers[0].size() - (float)_activePlayers[1].size()) * float(diff) / OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL) * sWorld->getFloatConfig(CONFIG_OUTDOOR_PVP_CAPTURE_RATE);
if (factDiff == 0.f)
return false;
TeamId ChallengerId = TEAM_NEUTRAL;
float maxDiff = _maxSpeed * float(diff);
float maxDiff = (_maxSpeed * float(diff)) * sWorld->getFloatConfig(CONFIG_OUTDOOR_PVP_CAPTURE_RATE);
if (factDiff < 0.f)
{

View File

@@ -488,6 +488,8 @@ void WorldConfig::BuildConfigCache()
SetConfigValue<uint32>(CONFIG_FFA_PVP_TIMER, "FFAPvPTimer", 30);
SetConfigValue<float>(CONFIG_OUTDOOR_PVP_CAPTURE_RATE, "OutdoorPvPCaptureRate", 1.0f);
SetConfigValue<uint32>(CONFIG_LOOT_NEED_BEFORE_GREED_ILVL_RESTRICTION, "LootNeedBeforeGreedILvlRestriction", 70);
SetConfigValue<bool>(CONFIG_PLAYER_SETTINGS_ENABLED, "EnablePlayerSettings", 0);

View File

@@ -372,6 +372,7 @@ enum ServerConfigs
CONFIG_NPC_EVADE_IF_NOT_REACHABLE,
CONFIG_NPC_REGEN_TIME_IF_NOT_REACHABLE_IN_RAID,
CONFIG_FFA_PVP_TIMER,
CONFIG_OUTDOOR_PVP_CAPTURE_RATE,
CONFIG_LOOT_NEED_BEFORE_GREED_ILVL_RESTRICTION,
CONFIG_LFG_MAX_KICK_COUNT,
CONFIG_LFG_KICK_PREVENTION_TIMER,