void disease_monst(cCreature *which_m,short how_much) { magic_adjust(which_m,&how_much); which_m->status[7] = minmax(-8,8, which_m->status[7] + how_much); monst_spell_note(which_m->number,(how_much == 0) ? 10 : 25); }
void dumbfound_monst(cCreature *which_m,short how_much) { magic_adjust(which_m,&how_much); which_m->status[9] = minmax(-8,8, which_m->status[9] + how_much); monst_spell_note(which_m->number,(how_much == 0) ? 10 : 22); }
void web_monst(cCreature *which_m,short how_much) { magic_adjust(which_m,&how_much); which_m->status[6] = minmax(-8,8, which_m->status[6] + how_much); monst_spell_note(which_m->number,(how_much == 0) ? 10 : 19); }
void scare_monst(cCreature *which_m,short how_much) { magic_adjust(which_m,&how_much); which_m->morale = which_m->morale - how_much; monst_spell_note(which_m->number,(how_much == 0) ? 10 : 1); }
void acid_monst(cCreature *which_m,short how_much) { magic_adjust(which_m,&how_much); which_m->status[13] = minmax(-8,8, which_m->status[13] + how_much); monst_spell_note(which_m->number,31); }
void cCreature::acid(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::ACID, how_much); if(how_much >= 0) spell_note(31); else spell_note(48); }
void cCreature::dumbfound(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::DUMB, how_much); if(how_much >= 0) spell_note((how_much == 0) ? 10 : 22); else spell_note(39); }
void cCreature::disease(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::DISEASE, how_much); if(how_much >= 0) spell_note((how_much == 0) ? 10 : 25); else spell_note(38); }
void cCreature::scare(int how_much) { how_much = magic_adjust(how_much); morale -= how_much; if(how_much >= 0) spell_note((how_much == 0) ? 10 : 1); else spell_note(47); }
void cCreature::web(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::WEBS, how_much); if(how_much >= 0) spell_note((how_much == 0) ? 10 : 19); else spell_note(37); }
void cCreature::curse(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::BLESS_CURSE, -how_much); if(how_much >= 0) spell_note((how_much == 0) ? 10 : 5); else spell_note(36); }
void cCreature::slow(int how_much) { how_much = magic_adjust(how_much); apply_status(eStatus::HASTE_SLOW, -how_much); if(how_much >= 0) spell_note((how_much == 0) ? 10 : 2); else spell_note(35); }
void cCreature::drain_sp(int drain) { drain = magic_adjust(drain); if(drain > 0) { if(mu > 0 && mp > 4) drain = min(mp, drain / 3); else if(cl > 0 && mp > 10) drain = min(mp, drain / 2); mp -= drain; if(mp < 0) mp = 0; } }