[Rules] Add Keep Level on Death (#2319)

* add keep level on death rule

* add keep level on death rule

* add sql rule

* add rule db update

* remove unnecessary manifest entry

* remove unnecessary sql migration

* fix casing
This commit is contained in:
Trent
2022-07-30 12:32:21 -06:00
committed by GitHub
parent eaeb583048
commit 5e50c4181f
2 changed files with 10 additions and 0 deletions
+9
View File
@@ -1843,6 +1843,15 @@ bool Client::Death(Mob* killerMob, int64 damage, uint16 spell, EQ::skills::Skill
exploss *= zone->level_exp_mod[GetLevel()].ExpMod;
}
if (exploss > 0 && RuleB(Character, DeathKeepLevel)) {
int32 total_exp = GetEXP();
uint32 level_min_exp = GetEXPForLevel(killed_level);
int32 level_exp = total_exp - level_min_exp;
if (exploss > level_exp) {
exploss = level_exp;
}
}
if ((GetLevel() < RuleI(Character, DeathExpLossLevel)) || (GetLevel() > RuleI(Character, DeathExpLossMaxLevel)) || IsBecomeNPC())
{
exploss = 0;