The "fixed" code is
Code:
if (best_s_ptr != NULL)
{
if (best_s_ptr->mult > mul)
{
p = best_s_ptr->melee_verb;
mul = best_s_ptr->mult; // CHANGED!
if (best_s_ptr->resist_flag == RF_IM_ACID)
type = GF_ACID;
else if (best_s_ptr->resist_flag == RF_IM_ELEC)
type = GF_ELEC;
else if (best_s_ptr->resist_flag == RF_IM_FIRE)
type = GF_FIRE;
else if (best_s_ptr->resist_flag == RF_IM_COLD)
type = GF_COLD;
else if (best_s_ptr->resist_flag == RF_IM_POIS)
type = GF_POIS;
}
// REMOVED "else" BRANCH
}
k *= mul; // ALWAYS APPLY MULTIPLIER
The lich gets his attacks from monster.txt, apparently, with any attacks that have special attributes that don't apply to monsters (e.g. drain-stat or drain-charges) getting a damage bonus. As a bog-standard lich that means two nondamaging blows and two 2d8 blows right from the start, so if you're going to use melee a lot (and with that ring of ice, why wouldn't you?), weapons are a bad idea early on.
Leave a comment: