Resolves cardfix calculation going below zero (#6560)
* Fixes an issue where cardfix bonuses cause the final result to go below zero ultimately giving unwanted effects. Thanks to @Tokeiburu and@alycecil!
This commit is contained in:
parent
8ebba124eb
commit
ad2660b037
@ -675,7 +675,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
||||
s_defele = (tsd) ? (enum e_element)status_get_element(src) : ELE_NONE;
|
||||
|
||||
//Official servers apply the cardfix value on a base of 1000 and round down the reduction/increase
|
||||
#define APPLY_CARDFIX(damage, fix) { (damage) = (damage) - (int64)(((damage) * (1000 - (fix))) / 1000); }
|
||||
#define APPLY_CARDFIX(damage, fix) { (damage) = (damage) - (int64)(((damage) * (1000 - min(max(0, fix), 1000))) / 1000); }
|
||||
|
||||
switch( attack_type ) {
|
||||
case BF_MAGIC:
|
||||
|
Loading…
x
Reference in New Issue
Block a user