summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-04-30 10:29:27 -0300
committerJesusaves <cpntb1@ymail.com>2020-04-30 10:29:27 -0300
commit37af2a0bf7ff2a9535bf54696e1f91a4dd1eecd5 (patch)
treeb9d2a4249785d81f5e37055f7250f70009d002a6
parentc06ceaf8651cac1fb41c46b5a9f9b734ca45d12a (diff)
downloadevol-hercules-37af2a0bf7ff2a9535bf54696e1f91a4dd1eecd5.tar.gz
evol-hercules-37af2a0bf7ff2a9535bf54696e1f91a4dd1eecd5.tar.bz2
evol-hercules-37af2a0bf7ff2a9535bf54696e1f91a4dd1eecd5.tar.xz
evol-hercules-37af2a0bf7ff2a9535bf54696e1f91a4dd1eecd5.zip
Patch Level B: Revert part of defense calculations when critically hit
Incides mostly over DEF2. Do note the 40 attack bonus was kept!!
-rw-r--r--src/emap/battle.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/emap/battle.c b/src/emap/battle.c
index 5a24927..d574919 100644
--- a/src/emap/battle.c
+++ b/src/emap/battle.c
@@ -91,9 +91,17 @@ struct Damage ebattle_calc_weapon_attack_post(struct Damage retVal,
struct block_list *src,
struct block_list *target,
uint16 skill_id,
- uint16 skill_lv __attribute__ ((unused)),
+ uint16 skill_lv,
int wflag __attribute__ ((unused)))
{
+ // ML: Crits ignore defense (estimate)
+ // (regardless of source or target)
+ if (retVal.type == BDT_CRIT) {
+ int pnerf;
+ pnerf=battle->calc_defense(BF_WEAPON, src, target, skill_id, skill_lv, retVal.damage, 0, 0);
+ retVal.damage+=retVal.damage-pnerf;
+ }
+
if (src == NULL)
return retVal;