[net.games.hack] Engrave

kneller@ucsfcgl.UUCP (Don Kneller%Langridge) (01/23/86)

>>>3) Engraving.  When you engrave using your hands, your weapon
>>>   is automatically un-wielded.  Great way to un-wield
>>>   cursed weapons...

>>Was fixed in 1.03.  The fix checks if you're wielding a cursed
>>weapon and forces you to use it.

>Not true in the 1.0.3 version that we have here. I use this "bug" to check
> ...

This is the section of code that checks for "E-" not unwielding your
cursed whatever.  This is not a diff because this is from our original
1.03 sources.  I suspect many people have trouble with 1.03 because there
were (probably) two different postings.  When we updated to 1.03 I
requested sources from several people, but the "data.h" files came
with dates differing by about 2 weeks.  Anyway, here is the 'fix'.

--- code is from hack.engrave.c ---
 	if(otmp && otmp->otyp == WAN_FIRE && otmp->spe) {
		type = BURN;
		otmp->spe--;
	} else {
		/* first wield otmp */
		if(otmp != uwep) {
>			if(uwep && uwep->cursed) {
>			    /* Andreas Bormann */
>			    pline("Since your weapon is welded to your hand,");
>			    pline("you use the %s.", aobjnam(uwep, (char *) 0));
>			    otmp = uwep;
>			} else {
			    if(!otmp)
				pline("You are now empty-handed.");
			    else if(otmp->cursed)
				pline("The %s %s to your hand!",
				    aobjnam(otmp, "weld"),
				    (otmp->quan == 1) ? "itself" : "themselves");
			    else
				pline("You now wield %s.", doname(otmp));
			    setuwep(otmp);
>			}
		}
		.... etc ...
	}
-- 
	Don Kneller
UUCP:	...ucbvax!ucsfcgl!kneller
ARPA:	kneller@ucsf-cgl.ARPA
BITNET:	kneller@ucsfcgl.BITNET