feat(Core/Config): Resurrection durability loss percentage (#25715)

Co-authored-by: Ijostrom <skylarburk@mail.com>
This commit is contained in:
Ijostrom
2026-05-10 07:34:15 -07:00
committed by GitHub
parent f4be7b1e2b
commit 7e13d17cc1
4 changed files with 14 additions and 1 deletions
+3 -1
View File
@@ -262,7 +262,9 @@ void WorldSession::SendSpiritResurrect()
{
_player->ResurrectPlayer(0.5f, true);
_player->DurabilityLossAll(0.25f, true);
float durabilityLossOnSpiritResurrect = sWorld->getRate(RATE_DURABILITY_LOSS_ON_SPIRIT_RESURRECT) / 100.0f;
if (durabilityLossOnSpiritResurrect)
_player->DurabilityLossAll(durabilityLossOnSpiritResurrect, true);
// get corpse nearest graveyard
GraveyardStruct const* corpseGrave = nullptr;
+2
View File
@@ -138,6 +138,8 @@ void WorldConfig::BuildConfigCache()
SetConfigValue<float>(RATE_DURABILITY_LOSS_ON_DEATH, "DurabilityLoss.OnDeath", 10.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f && value <= 100.0f; }, ">= 0 && <= 100");
SetConfigValue<float>(RATE_DURABILITY_LOSS_ON_SPIRIT_RESURRECT, "DurabilityLoss.OnSpiritResurrect", 25.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f && value <= 100.0f; }, ">= 0 && <= 100");
SetConfigValue<float>(RATE_DURABILITY_LOSS_DAMAGE, "DurabilityLossChance.Damage", 0.5f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(RATE_DURABILITY_LOSS_ABSORB, "DurabilityLossChance.Absorb", 0.5f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(RATE_DURABILITY_LOSS_PARRY, "DurabilityLossChance.Parry", 0.05f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
+1
View File
@@ -480,6 +480,7 @@ enum ServerConfigs
RATE_CORPSE_DECAY_LOOTED,
RATE_INSTANCE_RESET_TIME,
RATE_DURABILITY_LOSS_ON_DEATH,
RATE_DURABILITY_LOSS_ON_SPIRIT_RESURRECT,
RATE_DURABILITY_LOSS_DAMAGE,
RATE_DURABILITY_LOSS_PARRY,
RATE_DURABILITY_LOSS_ABSORB,