Thread View: net.games.hack
2 messages
2 total messages
Started by Latitudinarian Lobster
Tue, 04 Jun 1985 23:47
Hack 1.0.2 fix for mellow shopkeepers.
Author: Latitudinarian Lobster
Date: Tue, 04 Jun 1985 23:47
Date: Tue, 04 Jun 1985 23:47
86 lines
3240 bytes
3240 bytes
I've always thought it a bit funny that shopkeepers didn't mind you having
a box or pickaxe IN the shop -- you are only checked when you enter. It
was recently pointed out that you can currently always get in the front door
with a pickaxe if you are patient enough.
Below is a context diff for a patch (with a couple of older ones included)
which will cause the shopkeeper to become angry if you are ever in his shop
with a box or a pickaxe (aside from standing on the front door).
*** hack.shk.c.old Mon Apr 29 18:42:44 1985
--- hack.shk.c Tue Jun 4 18:16:25 1985
***************
*** 233,239
if(ANGRY(shopkeeper) &&
strncmp(ESHK(shopkeeper)->customer,plname,PL_NSIZ))
NOTANGRY(shopkeeper) = 1;
- billobjs = 0;
return;
}
shopkeeper = 0;
--- 233,238 -----
if(ANGRY(shopkeeper) &&
strncmp(ESHK(shopkeeper)->customer,plname,PL_NSIZ))
NOTANGRY(shopkeeper) = 1;
return;
}
shopkeeper = 0;
***************
*** 816,821
else {
uondoor = (u.ux == ESHK(shkp)->shd.x &&
u.uy == ESHK(shkp)->shd.y);
if(uondoor) {
if(ESHK(shkp)->billct)
pline("Hello %s! Will you please pay before leaving?",
--- 815,821 -----
else {
uondoor = (u.ux == ESHK(shkp)->shd.x &&
u.uy == ESHK(shkp)->shd.y);
+ badinv = (carrying(PICK_AXE) || carrying(ICE_BOX));
if(uondoor) {
if(ESHK(shkp)->billct)
pline("Hello %s! Will you please pay before leaving?",
***************
*** 820,826
if(ESHK(shkp)->billct)
pline("Hello %s! Will you please pay before leaving?",
plname);
- badinv = (carrying(PICK_AXE) || carrying(ICE_BOX));
if(satdoor && badinv)
return(0);
avoid = !badinv;
--- 820,825 -----
if(ESHK(shkp)->billct)
pline("Hello %s! Will you please pay before leaving?",
plname);
if(satdoor && badinv)
return(0);
avoid = !badinv;
***************
*** 824,832
if(satdoor && badinv)
return(0);
avoid = !badinv;
! } else {
! avoid = (u.uinshop && dist(gx,gy) > 8);
! badinv = FALSE;
}
if(((!ESHK(shkp)->robbed && !ESHK(shkp)->billct) || avoid)
--- 823,833 -----
if(satdoor && badinv)
return(0);
avoid = !badinv;
! } else { /* uwmacc!myers; get angry */
! if(u.uinshop && badinv) { /* if you're not in doorway */
! avoid = FALSE;
! setmangry(shkp);
! } else avoid = (u.uinshop && dist(gx,gy) > 8);
}
if(((!ESHK(shkp)->robbed && !ESHK(shkp)->billct) || avoid)
Re: Hack 1.0.2 fix for mellow shopkeepers.
Author: Andries Brouwer
Date: Sat, 08 Jun 1985 12:51
Date: Sat, 08 Jun 1985 12:51
5 lines
976 bytes
976 bytes
I disagree with this "fix" - it violates the shopkeeper philosophy. As it is now the shopkeeper will NEVER attack you unless you attacked him first. This pseudo-fix would make the shopkeeper attack you under other circumstances as well, e.g. when you fall into a shop through a trapdoor while carrying a pick-axe.
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