Покопался:
bool miasma_monster(monster* mons, const actor* who)
{
//Бла-бла-бла резисты
bool success = poison_monster(mons, who);
//Бла-бла-бла TSO выебет
if (mons->max_hit_points > 4 && coinflip())
{
mons->max_hit_points--;
mons->hit_points = std::min(mons->max_hit_points,
mons->hit_points);
success = true;
}
if (one_chance_in(3))
{
bolt beam;
beam.flavour = BEAM_SLOW;
beam.apply_enchantment_to_monster(mons);
success = true;
}
return success;
}
В общем, рот есть, 50/50(если я правильно понимаю coinflip), но урон он наносит разве что на первом ходу, т.к. отжирает максхп, не трогая текущее хп ниже максимального.
Слоу - один к трем, работает как бутылка, т.е. МР не проверяет, только наличие жизни(интересно, а демоны кем считаются при этом)
Алсо, "стартовый" дамаг у миазмы чуть больше(не знал, что он вообще у облаков есть.)
case CLOUD_POISON:
return _cloud_damage_calc(10, 1, 0, maximum_damage);
case CLOUD_MIASMA:
return _cloud_damage_calc(12, 3, 0, maximum_damage);
Насчет отравы, не понял, откуда берется сила(уровень) яда, может такая же, может нет.
Пока писал сообщение, капча сменилась с fapotion на femotion.