Add logging to Mob::GetMeleeMitDmg [skip ci]

This commit is contained in:
Akkadius 2019-10-06 00:38:08 -05:00
parent c927fec803
commit 344682e6ff
2 changed files with 96 additions and 2 deletions

View File

@ -689,6 +689,14 @@ function MobGetMeleeMitDmg(defender, attacker, damage, min_damage, mitigation_ra
local mit_roll = Random.Real(0, mitigation_rating);
local atk_roll = Random.Real(0, attack_rating);
eq.debug(
string.format("[%s] [Mob::GetMeleeMitDmg] MitigationRoll [%02f] AtkRoll [%02f]",
e.self:GetCleanName(),
mit_roll,
atk_roll
)
);
if (atk_roll > mit_roll) then
local a_diff = atk_roll - mit_roll;
local thac0 = attack_rating * ACthac0Factor;
@ -716,9 +724,46 @@ function MobGetMeleeMitDmg(defender, attacker, damage, min_damage, mitigation_ra
end
local interval = (damage - min_damage) / 20.0;
eq.debug(
string.format("[%s] [Mob::GetMeleeMitDmg] Interval [%02f] d [%02f]",
e.self:GetCleanName(),
interval,
d
)
);
damage = damage - (math.floor(d) * interval);
eq.debug(
string.format("[%s] [Mob::GetMeleeMitDmg] Damage [%02f] Post Interval",
e.self:GetCleanName(),
damage
)
);
damage = damage - (min_damage * defender:GetItemBonuses():MeleeMitigation() / 100);
damage = damage + (damage * (defender:GetSpellBonuses():MeleeMitigationEffect() + defender:GetItemBonuses():MeleeMitigationEffect() + defender:GetAABonuses():MeleeMitigationEffect()) / 100);
eq.debug(
string.format("[%s] [Mob::GetMeleeMitDmg] Damage [%02f] Mitigation [%i] Post Mitigation MinDmg",
e.self:GetCleanName(),
damage,
defender:GetItemBonuses():MeleeMitigation()
)
);
-- Changed from positive to negative per original
damage = damage - (damage * (defender:GetSpellBonuses():MeleeMitigationEffect() + defender:GetItemBonuses():MeleeMitigationEffect() + defender:GetAABonuses():MeleeMitigationEffect()) / 100);
eq.debug(
string.format("[%s] [Mob::GetMeleeMitDmg] Damage [%02f] SpellMit [%i] ItemMit [%i] AAMit [%i] Post All Mit Bonuses",
e.self:GetCleanName(),
damage,
defender:GetSpellBonuses():MeleeMitigationEffect(),
defender:GetItemBonuses():MeleeMitigationEffect(),
defender:GetAABonuses():MeleeMitigationEffect()
)
);
return damage;
end

View File

@ -736,6 +736,15 @@ int32 Mob::GetMeleeMitDmg(Mob *attacker, int32 damage, int32 minhit,
float mit_roll = zone->random.Real(0, mit_rating);
float atk_roll = zone->random.Real(0, atk_rating);
Log.Out(
Logs::General,
Logs::Combat,
"[%s] [Mob::GetMeleeMitDmg] MitigationRoll [%.2f] AtkRoll [%.2f]",
GetCleanName(),
mit_roll,
atk_roll
);
if (atk_roll > mit_roll) {
float a_diff = atk_roll - mit_roll;
float thac0 = atk_rating * RuleR(Combat, ACthac0Factor);
@ -760,10 +769,50 @@ int32 Mob::GetMeleeMitDmg(Mob *attacker, int32 damage, int32 minhit,
d = 20.0;
float interval = (damage - minhit) / 20.0;
Log.Out(
Logs::General,
Logs::Combat,
"[%s] [Mob::GetMeleeMitDmg] Interval [%.2f] d [%.2f]",
GetCleanName(),
interval,
d
);
damage -= ((int)d * interval);
Log.Out(
Logs::General,
Logs::Combat,
"[%s] [Mob::GetMeleeMitDmg] Damage [%.2f] Post Interval",
GetCleanName(),
damage
);
damage -= (minhit * itembonuses.MeleeMitigation / 100);
damage -= (damage * (spellbonuses.MeleeMitigationEffect + itembonuses.MeleeMitigationEffect + aabonuses.MeleeMitigationEffect) / 100);
Log.Out(
Logs::General,
Logs::Combat,
"[%s] [Mob::GetMeleeMitDmg] Damage [%.2f] Mitigation [%i] Post Mitigation MinDmg",
GetCleanName(),
damage,
itembonuses.MeleeMitigation
);
damage -= (damage * (spellbonuses.MeleeMitigationEffect + itembonuses.MeleeMitigationEffect + aabonuses.MeleeMitigationEffect) / 100);
Log.Out(
Logs::General,
Logs::Combat,
"[%s] [Mob::GetMeleeMitDmg] Damage [%.2f] SpellMit [%i] ItemMit [%i] AAMit [%i] Post All Mit Bonuses",
GetCleanName(),
damage,
spellbonuses.MeleeMitigationEffect,
itembonuses.MeleeMitigationEffect,
aabonuses.MeleeMitigationEffect
);
return damage;
}