Files
cc3k/src/potions/fine_booze.cc
2024-07-18 20:10:53 -04:00

35 lines
858 B
C++

#include "fine_booze.h"
#include <algorithm>
#include "../constants.h"
fine_booze::fine_booze(const position &pos):
potion{potion_type::fine_booze, DURATION, pos} {}
void fine_booze::apply(const enum race &race, int &HP, int &ATK,
int &DEF, fraction &base_hit_rate) {
if (remaining_duration != 0) {
int tmp = GAIN_HP;
if (race == rdrow)
tmp *= DROW_POTION_MUL;
HP = std::min(HP + tmp, MAX_HP[race]);
if (race == rbrawler)
base_hit_rate = HR_TB;
else
base_hit_rate *= HR_MUL;
--remaining_duration;
}
}
int fine_booze::get_priority() const {
return CALC_LAST;
}
const char *fine_booze::get_name() const {
return "FB";
}