From 83301cc59a75f14bea4b73136e7dffc396f37fc3 Mon Sep 17 00:00:00 2001 From: AnnieRuru Date: Fri, 20 Nov 2015 18:53:14 +0800 Subject: *Show the katar critical bonus in player status window - this is unofficial behavior, so it has to be in battle config Related to #579 Closes #882 as merged Signed-off-by: Haru --- src/map/battle.c | 5 +++-- src/map/battle.h | 1 + src/map/status.c | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/battle.c b/src/map/battle.c index 1c3817a31..a040d443b 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4558,8 +4558,8 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list { short cri = sstatus->cri; if (sd) { - // Check for katar here as katar crit bonus should not be displayed - if (sd->status.weapon == W_KATAR) { + // if show_katar_crit_bonus is enabled, it already done the calculation in status.c + if (!battle_config.show_katar_crit_bonus && sd->status.weapon == W_KATAR) { cri <<= 1; } @@ -7078,6 +7078,7 @@ static const struct battle_data { { "mob_remove_damaged", &battle_config.mob_remove_damaged, 1, 0, 1, }, { "show_hp_sp_drain", &battle_config.show_hp_sp_drain, 0, 0, 1, }, { "show_hp_sp_gain", &battle_config.show_hp_sp_gain, 1, 0, 1, }, + { "show_katar_crit_bonus", &battle_config.show_katar_crit_bonus, 0, 0, 1, }, { "mob_npc_event_type", &battle_config.mob_npc_event_type, 1, 0, 1, }, { "character_size", &battle_config.character_size, 1|2, 0, 1|2, }, { "retaliate_to_master", &battle_config.retaliate_to_master, 1, 0, 1, }, diff --git a/src/map/battle.h b/src/map/battle.h index 586673c17..37d78436c 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -399,6 +399,7 @@ struct Battle_Config { int boss_active_time; int show_hp_sp_drain, show_hp_sp_gain; //[Skotlex] + int show_katar_crit_bonus; int mob_npc_event_type; //Determines on who the npc_event is executed. [Skotlex] diff --git a/src/map/status.c b/src/map/status.c index c7ce2c9c0..32e5760a7 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3754,6 +3754,8 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) { else st->cri = status->calc_critical(bl, sc, bst->cri + 3*(st->luk - bst->luk), true); } + if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && ((TBL_PC*)bl)->status.weapon == W_KATAR) + st->cri <<= 1; if(flag&SCB_FLEE2 && bst->flee2) { if (st->luk == bst->luk) -- cgit v1.2.3-70-g09d2