fixed potion of BL being erased by other potions
This commit is contained in:
@ -9,6 +9,11 @@ continuous_restoration::continuous_restoration(const position &pos):
|
||||
void continuous_restoration::apply(const enum race &race, int &HP, int &ATK,
|
||||
int &DEF, fraction &base_hit_rate) {
|
||||
if (remaining_duration != 0) {
|
||||
if (HP >= MAX_HP[race]) {
|
||||
--remaining_duration;
|
||||
return;
|
||||
}
|
||||
|
||||
int tmp = GAIN_HEALTH;
|
||||
|
||||
if (race == DROW)
|
||||
|
@ -11,7 +11,9 @@ void echoing_resilience::apply(const enum race &race, int &HP, int &ATK,
|
||||
if (remaining_duration != 0) {
|
||||
int tmp = GAIN_HEALTH * (race == DROW ? DROW_POTION_MUL : 1);
|
||||
|
||||
HP = std::min(HP + tmp, MAX_HP[race]);
|
||||
if (HP < MAX_HP[race])
|
||||
HP = std::min(HP + tmp, MAX_HP[race]);
|
||||
|
||||
ATK -= LOSE_ATK * (race == DROW ? DROW_POTION_MUL : 1);
|
||||
DEF -= LOSE_DEF * (race == DROW ? DROW_POTION_MUL : 1);
|
||||
|
||||
|
@ -14,7 +14,8 @@ void fine_booze::apply(const enum race &race, int &HP, int &ATK,
|
||||
if (race == DROW)
|
||||
tmp *= DROW_POTION_MUL;
|
||||
|
||||
HP = std::min(HP + tmp, MAX_HP[race]);
|
||||
if (HP < MAX_HP[race])
|
||||
HP = std::min(HP + tmp, MAX_HP[race]);
|
||||
|
||||
if (race == BRAWLER)
|
||||
base_hit_rate = HR_TB;
|
||||
|
@ -9,6 +9,11 @@ restore_health::restore_health(const position &pos):
|
||||
void restore_health::apply(const enum race &race, int &HP, int &ATK, int &DEF,
|
||||
fraction &base_hit_rate) {
|
||||
if (remaining_duration != 0) {
|
||||
if (HP >= MAX_HP[race]) {
|
||||
--remaining_duration;
|
||||
return;
|
||||
}
|
||||
|
||||
int tmp = GAIN_HEALTH;
|
||||
|
||||
if (race == DROW)
|
||||
|
Reference in New Issue
Block a user