summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaruna <haru@dotalux.com>2015-09-26 05:08:36 +0200
committerHaruna <haru@dotalux.com>2015-09-26 05:08:36 +0200
commit7bfa19a75436df83f8f69ef925bd43dac0c30189 (patch)
tree614162f15479a348a1e8d839390c9c4f7c691500 /src
parent92434ef2f316fbdac09b6f590a64a6f0087cfce3 (diff)
parentab3b17b12e3da7b2f5bb7b43546dd4d60fd934b7 (diff)
downloadhercules-7bfa19a75436df83f8f69ef925bd43dac0c30189.tar.gz
hercules-7bfa19a75436df83f8f69ef925bd43dac0c30189.tar.bz2
hercules-7bfa19a75436df83f8f69ef925bd43dac0c30189.tar.xz
hercules-7bfa19a75436df83f8f69ef925bd43dac0c30189.zip
Merge pull request #579 from csnv/minfixes
Corrected critical bonus display
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c14
-rw-r--r--src/map/status.c6
2 files changed, 10 insertions, 10 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 15db4d88c..e2f85e988 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -4521,13 +4521,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.
diff --git a/src/map/status.c b/src/map/status.c
index d7da17d5a..3ba80e531 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -3535,12 +3535,6 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
st->cri = status->calc_critical(bl, sc, bst->cri, true);
else
st->cri = status->calc_critical(bl, sc, bst->cri + 3*(st->luk - bst->luk), true);
- /**
- * after status_calc_critical so the bonus is applied despite if you have or not a sc bugreport:5240
- **/
- if( bl->type == BL_PC && ((TBL_PC*)bl)->status.weapon == W_KATAR )
- st->cri <<= 1;
-
}
if(flag&SCB_FLEE2 && bst->flee2) {