Mysterious monster digests you totally + fix.
Michiel Huisjes
huisjes at ark.UUCP
Sat Nov 23 22:09:17 AEST 1985
A mysterious monster digests you totally--more--
you die...--more--
This is what happened if you were swallowed by a Trapper, Lurker above or
Purple worm, which in fact was a chameleon. As soon as the chameleon
transformed again, you died.
When you kill a chameleon, Hack would say to you that you killed the monster
it was pretending to be, as where is should say: You destroyed the chameleon.
The bug fixes are included.
-
Michiel Huisjes. (huisjes at ark.UUCP)
{seismo|decvax|philabs}!mcvax!vu44!ark!huisjes
=== Cut here ====== Cut here ====== Cut here ====== Cut here ====== Cut here ===
*** hack.bug.mon.c Sat Nov 23 10:56:03 1985
--- hack.mon.c Sat Nov 23 10:46:51 1985
***************
*** 655,661
#define NEW_SCORING
#endif lint
register int tmp,tmp2,nk,x,y;
! register struct permonst *mdat = mtmp->data;
extern long newuexp();
if(mtmp->cham) mdat = PM_CHAMELEON;
--- 655,661 -----
#define NEW_SCORING
#endif lint
register int tmp,tmp2,nk,x,y;
! register struct permonst *mdat;
extern long newuexp();
if(mtmp->cham) mtmp->data = PM_CHAMELEON;
***************
*** 658,664
register struct permonst *mdat = mtmp->data;
extern long newuexp();
! if(mtmp->cham) mdat = PM_CHAMELEON;
if(Blind) pline("You destroy it!");
else {
pline("You destroy %s!",
--- 658,665 -----
register struct permonst *mdat;
extern long newuexp();
! if(mtmp->cham) mtmp->data = PM_CHAMELEON;
! mdat = mtmp->data;
if(Blind) pline("You destroy it!");
else {
pline("You destroy %s!",
***************
*** 786,791
#ifndef NOWORM
if(mtmp->wormno) wormdead(mtmp); /* throw tail away */
#endif NOWORM
hpn = mtmp->mhp;
hpd = (mtmp->data->mlevel)*8;
if(!hpd) hpd = 4;
--- 787,802 -----
#ifndef NOWORM
if(mtmp->wormno) wormdead(mtmp); /* throw tail away */
#endif NOWORM
+ if (u.ustuck == mtmp) {
+ if (u.uswallow) {
+ u.uswallow = 0;
+ u.uswldtim = 0;
+ mnexto (mtmp);
+ docrt ();
+ prme ();
+ }
+ u.ustuck = 0;
+ }
hpn = mtmp->mhp;
hpd = (mtmp->data->mlevel)*8;
if(!hpd) hpd = 4;
More information about the Comp.sources.bugs
mailing list