Corrects every attack returning at least 1 damage (#6967)
* Follow up to 33a99b5. * Resolves an issue where normal attacks which have no reflect damage were being capped to at least 1. Thanks to @XanKriegor1!
This commit is contained in:
parent
6bf1b7c2ad
commit
5cee1cb3b1
@ -8342,12 +8342,14 @@ int64 battle_calc_return_damage(struct block_list* tbl, struct block_list *src,
|
||||
}
|
||||
|
||||
if (sc) {
|
||||
if (status_reflect && sc->data[SC_REFLECTDAMAGE])
|
||||
if (status_reflect && sc->data[SC_REFLECTDAMAGE]) {
|
||||
rdamage -= damage * sc->data[SC_REFLECTDAMAGE]->val2 / 100;
|
||||
if (sc->data[SC_VENOMBLEED] && sc->data[SC_VENOMBLEED]->val3 == 0)
|
||||
rdamage = i64max(rdamage, 1);
|
||||
}
|
||||
if (sc->data[SC_VENOMBLEED] && sc->data[SC_VENOMBLEED]->val3 == 0) {
|
||||
rdamage -= damage * sc->data[SC_VENOMBLEED]->val2 / 100;
|
||||
|
||||
rdamage = i64max(rdamage, 1);
|
||||
rdamage = i64max(rdamage, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (tsc) {
|
||||
@ -8355,7 +8357,10 @@ int64 battle_calc_return_damage(struct block_list* tbl, struct block_list *src,
|
||||
rdamage = damage * tsc->data[SC_MAXPAIN]->val1 * 10 / 100;
|
||||
}
|
||||
|
||||
return cap_value(rdamage, 1, status_get_max_hp(tbl));
|
||||
if (rdamage == 0)
|
||||
return 0; // No reflecting damage calculated.
|
||||
else
|
||||
return cap_value(rdamage, 1, status_get_max_hp(tbl));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user