mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-02 00:06:36 +00:00
[Bug Fix] Slay Adjustments (#4389)
Previous change did not account for the modern slay undead and holyforge spells. Reverted some of the changes and cleaned up others. Rule Renamed (Default value was incorrect, this was a clean way to fix that) - SlayDamageAdjustment -> SlayDamageMultiplier Also added a rate multiplier RULE_REAL(Combat, SlayRateMultiplier, 1.0, "Slay Rate Adjustments - Multiply final slay rate check by this value. Default: 1.0") Fixed the ordering of the constants for the slay undead SPA that were backwards and causing major headaches with tuning and setting up slay undead correctly. Base = Damage Mod (100 is base, so 240 = 140% more) Limit = Proc Rate - Value is divided by 10000 for a Float %. e.g. 1700 becomes 0.17 (Or 17% proc rate). Damage bonus should be additive not std::max as AA, Spells and Item bonuses should stack. e.g. Slay Undead RK3 240 + Holy Forge 140 should = 380 (280% damage)
This commit is contained in:
@@ -234,13 +234,7 @@ public:
|
||||
int compute_defense();
|
||||
int GetTotalDefense(); // compute_defense + spell bonuses
|
||||
bool CheckHitChance(Mob* attacker, DamageHitInfo &hit);
|
||||
bool RollMeleeCritCheck(Mob *defender, EQ::skills::SkillType skill);
|
||||
inline bool CanUndeadSlay() { return static_cast<bool>(GetUndeadSlayRate());}
|
||||
inline bool IsUndeadForSlay() { return (GetBodyType() == BodyType::Undead || GetBodyType() == BodyType::SummonedUndead || GetBodyType() == BodyType::Vampire); }
|
||||
int GetUndeadSlayRate();
|
||||
void DoUndeadSlay(DamageHitInfo &hit, int crit_mod);
|
||||
void TryCriticalHit(Mob *defender, DamageHitInfo &hit, ExtraAttackOptions *opts = nullptr);
|
||||
bool TryUndeadSlay(Mob *defender, DamageHitInfo &hit, ExtraAttackOptions *opts = nullptr);
|
||||
void TryPetCriticalHit(Mob *defender, DamageHitInfo &hit);
|
||||
virtual bool TryFinishingBlow(Mob *defender, int64 &damage);
|
||||
int TryHeadShot(Mob* defender, EQ::skills::SkillType skillInUse);
|
||||
|
||||
Reference in New Issue
Block a user