void stealgold(struct monst *mtmp) { struct gold *gold = g_at(u.ux, u.uy); long tmp; if(gold && ( !u.ugold || gold->amount > u.ugold || !rn2(5))) { mtmp->mgold += gold->amount; freegold(gold); if(Invisible) newsym(u.ux, u.uy); pline("%s quickly snatches some gold from between your feet!", Monnam(mtmp)); if(!u.ugold || !rn2(5)) { rloc(mtmp); mtmp->mflee = 1; } } else if(u.ugold) { u.ugold -= (tmp = somegold()); pline("Your purse feels lighter."); mtmp->mgold += tmp; rloc(mtmp); mtmp->mflee = 1; flags.botl = 1; } }
void mpickgold(struct monst *mtmp) { struct gen *gold; gold = g_at(mtmp->mx, mtmp->my, fgold); while(gold != 0) { mtmp->mgold += gold->gflag; freegold(gold); if(levl[(int)mtmp->mx][(int)mtmp->my].scrsym == '$') { newsym(mtmp->mx, mtmp->my); } gold = g_at(mtmp->mx, mtmp->my, fgold); } }