bool player_morale::morale_point::is_expired() const { // Zero morale bonuses will be shown occasionally anyway return ( !is_permanent() && age >= duration ) || bonus == 0; }
DirtyCardQueue::~DirtyCardQueue() { if (!is_permanent()) { flush(); } }
int player_morale::morale_point::get_net_bonus() const { return bonus * ( ( !is_permanent() && age > decay_start ) ? logarithmic_range( decay_start, duration, age ) : 1 ); }