From ab3b17b12e3da7b2f5bb7b43546dd4d60fd934b7 Mon Sep 17 00:00:00 2001 From: csnv Date: Fri, 3 Jul 2015 18:50:54 +0200 Subject: Corrected critical bonus display - Fixes #573 --- src/map/battle.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 603db4738..4e56b47ce 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4485,13 +4485,19 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list skill_id == NJ_KIRIKAGE)) { short cri = sstatus->cri; - if (sd) - { + if (sd) { + // Check for katar here as katar crit bonus should not be displayed + if (sd->status.weapon == W_KATAR) { + cri <<= 1; + } + cri+= sd->critaddrace[tstatus->race]; - if(flag.arrow) + + if (flag.arrow) { cri += sd->bonus.arrow_cri; + } } - if( sc && sc->data[SC_CAMOUFLAGE] ) + if (sc && sc->data[SC_CAMOUFLAGE]) cri += 10 * (10-sc->data[SC_CAMOUFLAGE]->val4); #ifndef RENEWAL //The official equation is *2, but that only applies when sd's do critical. -- cgit v1.2.3-70-g09d2