🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Jeff Myers Wed, 22 May 1985 09:54
1.0.2 minor bug fix in , command
#662
Author: Jeff Myers
Date: Wed, 22 May 1985 09:54
83 lines
2834 bytes
When you've been punished with a ball and chain, there's a small bug which
appears when you do a , pickup command in the space where the chain is:
you are asked whether or not you want to pick it up.  The fix involves
checking to see if the current object is the chain just a bit earlier.
The context diff follows, which includes some previous bug fixes to hack.c.

*** hack.c.old	Sun May 12 14:23:52 1985
--- hack.c	Wed May 22 03:47:57 1985
***************
*** 369,374
  	    if(obj->ox == u.ux && obj->oy == u.uy) {
  		if(flags.run) nomul(0);
  
  		if(!all) {
  			char c;
  

--- 369,378 -----
  	    if(obj->ox == u.ux && obj->oy == u.uy) {
  		if(flags.run) nomul(0);
  
+ 		/* do not pick up uchain */
+ 		if(Punished && obj == uchain)
+ 			continue;
+ 
  		if(!all) {
  			char c;
  
***************
*** 400,409
  		  }
  		}
  
- 		/* do not pick up uchain */
- 		if(Punished && obj == uchain)
- 			continue;
- 
  		wt = inv_weight() + obj->owt;
  		if(wt > 0) {
  			if(obj->quan > 1) {

--- 404,409 -----
  		  }
  		}
  
  		wt = inv_weight() + obj->owt;
  		if(wt > 0) {
  			if(obj->quan > 1) {
***************
*** 516,522
  			break;
  		case '^':
  			if(flags.run == 1) goto corr;	/* if you must */
! 			if(x == u.ux+u.dx && y == u.uy+u.dx) goto stop;
  			break;
  		default:	/* e.g. objects or trap or stairs */
  			if(flags.run == 1) goto corr;

--- 516,522 -----
  			break;
  		case '^':
  			if(flags.run == 1) goto corr;	/* if you must */
! 			if(x == u.ux+u.dx && y == u.uy+u.dy) goto stop;
  			break;
  		default:	/* e.g. objects or trap or stairs */
  			if(flags.run == 1) goto corr;
***************
*** 569,574
  		if(x == u.ux && y == u.uy) continue;
  		if((mtmp = m_at(x,y)) && !mtmp->mimic && !mtmp->mtame &&
  			!mtmp->mpeaceful && !index("Ea", mtmp->data->mlet) &&
  			(!mtmp->minvis || See_invisible))
  			return(1);
  	}

--- 569,575 -----
  		if(x == u.ux && y == u.uy) continue;
  		if((mtmp = m_at(x,y)) && !mtmp->mimic && !mtmp->mtame &&
  			!mtmp->mpeaceful && !index("Ea", mtmp->data->mlet) &&
+ 			!mtmp->mfroz && !mtmp->msleep &&  /* aplvax!jcn */
  			(!mtmp->minvis || See_invisible))
  			return(1);
  	}
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