Esempio n. 1
0
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;
	}
}
Esempio n. 2
0
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);
    }
}