🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by ryan Sat, 11 May 1985 23:51
Y.A.H.B (Yet Another Hack BUG)
#574
Author: ryan
Date: Sat, 11 May 1985 23:51
15 lines
982 bytes
I was playing hack last night when i tamed a mimic......
When i tamed him i was stuck to him and then when i killed him
i was still stuck.....


Is there a bug fix for this or am i the only one who has experianced
this....

Also, in my version stairs are not created past the 27th level....
Why, how are you supposed to get the amulet without teleporting?
Is there a bug fix for it?

		Bye

	Ryan
Re: Y.A.H.B (Yet Another Hack BUG)
#588
Author: Andries Brouwer
Date: Tue, 14 May 1985 13:53
50 lines
2268 bytes
In article <5367@ucla-cs.ARPA> ryan@ucla-cs.UUCP writes:
>I was playing hack last night when i tamed a mimic......
>When i tamed him i was stuck to him and then when i killed him
>i was still stuck.....

Yes, I cannot reproduce the bug on my machine, but reading the source
shows that it works fine for me by some coincidence. The problem is that when
you name or tame a monster, it is moved to a new monster structure but
there may still be pointers around to the old structure. I'll think
about this a little more, but the problem you mention is cured by adding
the line  if(u.ustuck == mtmp) u.ustuck = mtmp2;  to the routine replmon()
in hack.mon.c. Future versions of hack will use ustuckid instead of ustuck.

Below follows a diff between my current hack.mon.c and the 1.0.2 version.

>Also, in my version stairs are not created past the 27th level....
>Why, how are you supposed to get the amulet without teleporting?
>Is there a bug fix for it?

But this is not a bug; it is quite intentional.


< /* hack.mon.c - version 1.0.2 */
---
> /* hack.mon.c - current working version */
130a131
> 	/* flags.botlx = 1;		/* should we show status line ? */
193a195,199
> 
> 	/* fleeing monsters might regain courage */
> 	if(mtmp->mflee && mtmp->mhp == mtmp->mhpmax && !rn2(25))
> 		mtmp->mflee = 0;
> 
231a238,239
> 	if(mtmp->mfroz || mtmp->msleep)
> 		return(0);
239a248,252
> #ifndef NOWORM
> 	if(mtmp->wormno)
> 		goto not_special;
> #endif NOWORM
> 
283a297
> not_special:
579a594
> 	if(u.ustuck == mtmp) u.ustuck = mtmp2;
720c735
< 	if(!letter(tmp) || !rn2(3)) tmp = 0;
---
> 	if(!letter(tmp) || (!index("mw", tmp) && !rn2(3))) tmp = 0;
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads