buried punishment ball

Prevent burying a ball from ending your punishment.

When you bury the ball, internally NetHack Punishment
ceases, but a new trap type of TT_BURIEDBALL  immediately
kicks in (acting similar to TT_INFLOOR in some ways).
You can eventually work the ball free (or teleport, etc.),
but that will just return you back to normal Punishment.
This commit is contained in:
nethack.allison
2003-03-11 03:40:17 +00:00
parent 9fe995d2a3
commit 176d31c980
14 changed files with 198 additions and 29 deletions

View File

@@ -1178,19 +1178,24 @@ domove()
#endif
You("disentangle yourself.");
}
} else if (u.utraptype == TT_INFLOOR) {
} else if (u.utraptype == TT_INFLOOR ||
u.utraptype == TT_BURIEDBALL) {
if(--u.utrap) {
if(flags.verbose) {
predicament = "stuck in the";
predicament = (u.utraptype == TT_INFLOOR) ?
"stuck in the" : "attached to the";
#ifdef STEED
if (u.usteed)
Norep("%s is %s %s.",
upstart(y_monnam(u.usteed)),
predicament, surface(u.ux, u.uy));
predicament,
(u.utraptype == TT_INFLOOR) ?
surface(u.ux, u.uy) : "buried ball");
else
#endif
Norep("You are %s %s.", predicament,
surface(u.ux, u.uy));
(u.utraptype == TT_INFLOOR) ?
surface(u.ux, u.uy) : "buried ball");
}
} else {
#ifdef STEED
@@ -1199,7 +1204,11 @@ domove()
upstart(y_monnam(u.usteed)));
else
#endif
You("finally wiggle free.");
You("finally wiggle %s.",
u.utraptype == TT_INFLOOR ?
"free" : "the ball free");
if (u.utraptype == TT_BURIEDBALL)
buried_ball_to_punishment();
}
} else {
if(flags.verbose) {