mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
[Rule] Add ManaOnDeath and EndurOnDeath (#2661)
* [Rule] Add ManaOnDeath and EndurOnDeath This rule allows death to fully fill Mana or Endurance. * Updates rules to live-like * Adjust rule names to be more descriptive of their intent, remove else cases Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
parent
083d44d4fe
commit
e6f58382de
@ -194,6 +194,8 @@ RULE_INT(Character, BeastlordTrackingDistanceMultiplier, 0, "If you want beastlo
|
||||
RULE_INT(Character, BerserkerTrackingDistanceMultiplier, 0, "If you want berserkers to be able to track, increase this above 0. 0 disables tracking packets.")
|
||||
RULE_BOOL(Character, OnInviteReceiveAlreadyinGroupMessage, true, "If you want clients to receive a message when trying to invite a player into a group that is currently in another group.")
|
||||
RULE_BOOL(Character, PetZoneWithOwner, true, "Should Pets Zone with Owner")
|
||||
RULE_BOOL(Character, FullManaOnDeath, true, "On death set mana to full")
|
||||
RULE_BOOL(Character, FullEndurOnDeath, true, "On death set endurance to full")
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(Mercs)
|
||||
|
||||
@ -645,16 +645,22 @@ bool Client::Save(uint8 iCommitNow) {
|
||||
|
||||
m_pp.guildrank = guildrank;
|
||||
|
||||
/* Mana and HP */
|
||||
if (GetHP() <= 0) {
|
||||
if (dead && GetHP() <= 0) {
|
||||
m_pp.cur_hp = GetMaxHP();
|
||||
}
|
||||
else {
|
||||
m_pp.cur_hp = GetHP();
|
||||
}
|
||||
m_pp.mana = current_mana;
|
||||
if (RuleB(Character, FullManaOnDeath)) {
|
||||
m_pp.mana = GetMaxMana();
|
||||
}
|
||||
|
||||
m_pp.mana = current_mana;
|
||||
m_pp.endurance = current_endurance;
|
||||
m_pp.endurance = current_endurance;
|
||||
if (RuleB(Character, FullEndurOnDeath)) {
|
||||
m_pp.endurance = GetMaxEndurance();
|
||||
}
|
||||
} else { // Otherwise, no changes.
|
||||
m_pp.cur_hp = GetHP();
|
||||
m_pp.mana = current_mana;
|
||||
m_pp.endurance = current_endurance;
|
||||
}
|
||||
|
||||
/* Save Character Currency */
|
||||
database.SaveCharacterCurrency(CharacterID(), &m_pp);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user