gold
struct gold *ngold;
extern struct gold *fgold;
struct gold *g_at(int, int);
#define newgold() (struct gold *) alloc(sizeof(struct gold))
struct gold *fgold = 0;
struct gold *gold;
while ((gold = g_at(u.ux,u.uy))) {
pline("%ld gold piece%s.", gold->amount, plur(gold->amount));
u.ugold += gold->amount;
freegold(gold);
void freegold(struct gold *);
struct gold *g_at(int, int);
void savegoldchn(int, struct gold *);
freegold(struct gold *gold)
struct gold *gtmp;
if(gold == fgold) fgold = gold->ngold;
for(gtmp = fgold; gtmp->ngold != gold; gtmp = gtmp->ngold)
gtmp->ngold = gold->ngold;
free(gold);
struct gold *
struct gold *gold = fgold;
while(gold) {
if(gold->gx == x && gold->gy == y) return(gold);
gold = gold->ngold;
struct gold *gold;
gold = g_at(u.ux, u.uy);
if(u.uswallow || (!otmp0 && !gold)) {
if(gold) {
gold->amount, plur(gold->amount));
if(ct == 1 && !gold) {
savegoldchn(int fd, struct gold *gold)
struct gold *gold2;
while(gold) {
gold2 = gold->ngold;
bwrite(fd, gold, sizeof(struct gold));
free(gold);
gold = gold2;
bwrite(fd, nul, sizeof(struct gold));
struct gold *gold;
gold = newgold();
mread(fd, (char *)gold, sizeof(struct gold));
while(gold->gx) {
gold->ngold = fgold;
fgold = gold;
gold = newgold();
mread(fd, (char *)gold, sizeof(struct gold));
free(gold);
struct gold *gold;
if ((gold = g_at(x,y)))
gold->amount += amount;
gold = newgold();
gold->ngold = fgold;
gold->gx = x;
gold->gy = y;
gold->amount = amount;
fgold = gold;
struct gold *gold;
for(gold = fgold; gold; gold = gold->ngold)
if((dd = DIST(omx,omy,gold->gx,gold->gy)) < mind){
gx = gold->gx;
gy = gold->gy;
struct gold *gold;
while ((gold = g_at(mtmp->mx, mtmp->my))) {
mtmp->mgold += gold->amount;
freegold(gold);
struct gold *gtmp;
struct gold *gold = g_at(u.ux, u.uy);
if(gold && ( !u.ugold || gold->amount > u.ugold || !rn2(5))) {
mtmp->mgold += gold->amount;
freegold(gold);
double gold = 0.0; /* gold awarded */
gold = ROLL(treasuretype * 10.0, treasuretype
printw("You have found %.0f gold pieces.", gold);
collecttaxes(gold, gems);
collecttaxes(double gold, double gems)
Player.p_gold += gold;
taxes = N_TAXAMOUNT / 100.0 * (N_GEMVALUE * gems + gold);