diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /games/hack/hack.bones.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) |
Diffstat (limited to 'games/hack/hack.bones.c')
-rw-r--r-- | games/hack/hack.bones.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/games/hack/hack.bones.c b/games/hack/hack.bones.c deleted file mode 100644 index d4a05b822212..000000000000 --- a/games/hack/hack.bones.c +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ -/* hack.bones.c - version 1.0.3 */ - -#include "hack.h" -extern char plname[PL_NSIZ]; -extern long somegold(); -extern struct monst *makemon(); -extern struct permonst pm_ghost; - -char bones[] = "bones_xx"; - -/* save bones and possessions of a deceased adventurer */ -savebones(){ -register fd; -register struct obj *otmp; -register struct trap *ttmp; -register struct monst *mtmp; - if(dlevel <= 0 || dlevel > MAXLEVEL) return; - if(!rn2(1 + dlevel/2)) return; /* not so many ghosts on low levels */ - bones[6] = '0' + (dlevel/10); - bones[7] = '0' + (dlevel%10); - if((fd = open(bones,0)) >= 0){ - (void) close(fd); - return; - } - /* drop everything; the corpse's possessions are usually cursed */ - otmp = invent; - while(otmp){ - otmp->ox = u.ux; - otmp->oy = u.uy; - otmp->age = 0; /* very long ago */ - otmp->owornmask = 0; - if(rn2(5)) otmp->cursed = 1; - if(!otmp->nobj){ - otmp->nobj = fobj; - fobj = invent; - invent = 0; /* superfluous */ - break; - } - otmp = otmp->nobj; - } - if(!(mtmp = makemon(PM_GHOST, u.ux, u.uy))) return; - mtmp->mx = u.ux; - mtmp->my = u.uy; - mtmp->msleep = 1; - (void) strcpy((char *) mtmp->mextra, plname); - mkgold(somegold() + d(dlevel,30), u.ux, u.uy); - for(mtmp = fmon; mtmp; mtmp = mtmp->nmon){ - mtmp->m_id = 0; - if(mtmp->mtame) { - mtmp->mtame = 0; - mtmp->mpeaceful = 0; - } - mtmp->mlstmv = 0; - if(mtmp->mdispl) unpmon(mtmp); - } - for(ttmp = ftrap; ttmp; ttmp = ttmp->ntrap) - ttmp->tseen = 0; - for(otmp = fobj; otmp; otmp = otmp->nobj) { - otmp->o_id = 0; - /* otmp->o_cnt_id = 0; - superfluous */ - otmp->onamelth = 0; - otmp->known = 0; - otmp->invlet = 0; - if(otmp->olet == AMULET_SYM && !otmp->spe) { - otmp->spe = -1; /* no longer the actual amulet */ - otmp->cursed = 1; /* flag as gotten from a ghost */ - } - } - if((fd = creat(bones, FMASK)) < 0) return; - savelev(fd,dlevel); - (void) close(fd); -} - -getbones(){ -register fd,x,y,ok; - if(rn2(3)) return(0); /* only once in three times do we find bones */ - bones[6] = '0' + dlevel/10; - bones[7] = '0' + dlevel%10; - if((fd = open(bones, 0)) < 0) return(0); - if((ok = uptodate(fd)) != 0){ - getlev(fd, 0, dlevel); - for(x = 0; x < COLNO; x++) for(y = 0; y < ROWNO; y++) - levl[x][y].seen = levl[x][y].new = 0; - } - (void) close(fd); -#ifdef WIZARD - if(!wizard) /* duvel!frans: don't remove bones while debugging */ -#endif WiZARD - if(unlink(bones) < 0){ - pline("Cannot unlink %s .", bones); - return(0); - } - return(ok); -} |