summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 2b1b34d1a..0b88f17c9 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) Athena Dev Teams
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -4661,13 +4661,17 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
{
short cri = sstatus->cri;
if (sd != NULL) {
+ // Racial crit bonuses are affected by katar's crit bonus.
+ if (battle_config.show_katar_crit_bonus && sd->weapontype == W_KATAR)
+ cri += sd->critaddrace[tstatus->race] * 2;
+ else
+ cri += sd->critaddrace[tstatus->race];
+
// if show_katar_crit_bonus is enabled, it already done the calculation in status.c
if (!battle_config.show_katar_crit_bonus && sd->weapontype == W_KATAR) {
cri <<= 1;
}
- cri+= sd->critaddrace[tstatus->race];
-
if (flag.arrow) {
cri += sd->bonus.arrow_cri;
}