void i_azoth(pob o) { if (o->plus < 0) { mprint("The mercury was poisonous!"); p_poison(25); } else if (o->plus == 0) { mprint("The partially enchanted azoth makes you sick!"); Player.con = ((int) (Player.con / 2)); calc_melee(); } else if (o->blessing < 1) { mprint("The unblessed azoth warps your soul!"); Player.pow = Player.maxpow = ((int) (Player.maxpow / 2)); level_drain(random_range(10),"cursed azoth"); } else { mprint("The azoth fills you with cosmic power!"); if (Player.str > Player.maxstr*2) { mprint("The power rages out of control!"); p_death("overdose of azoth"); } else { heal(10); cleanse(1); Player.mana = calcmana()*3; toggle_item_use(TRUE); Player.str = (Player.maxstr++)*3; toggle_item_use(FALSE); } } }
void i_perm_negimmune(pob o) { if (o->blessing > -1) { if (o->used) { Player.immunity[NEGENERGY]++; } else Player.immunity[NEGENERGY]--; } else if (o->used) level_drain(abs(o->blessing),"cursed cloak of level drain"); }
void weapon_desecrate(int dmgmod, pob o, pmt m) { o->known = 2; if (Player.alignment < 0) { mprint("Your opponent screams in agony!"); p_hit(m,Player.dmg+dmgmod,UNSTOPPABLE); Player.alignment--; if (Player.hp < Player.maxhp) { mprint("You feel a thrill of power surging up your blade!"); Player.hp = min(Player.maxhp,Player.hp+Player.dmg+dmgmod); } } else { mprint("Your blade turns in your hands and hits you!"); mprint("You hear evil laughter...."); level_drain(Player.dmg,"the sword Desecrator"); Player.alignment-=10; mprint("A strange force spreads from the wound throughout your body..."); mprint("You feel much more chaotic now."); } }