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;
|
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
|
//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 ) {
|
switch( attack_type ) {
|
||||||
case BF_MAGIC:
|
case BF_MAGIC:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user