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

@@ -817,6 +817,10 @@ struct obj **optr;
unpunish();
res = 1;
}
else if (u.utrap && u.utraptype == TT_BURIEDBALL) {
buried_ball_to_freedom();
res = 1;
}
res += openit();
switch (res) {
case 0: pline(nothing_happens); break;
@@ -1315,9 +1319,12 @@ int magic; /* 0=Physical, otherwise skill level */
You("pull yourself above the lava!");
u.utrap = 0;
return 1;
case TT_BURIEDBALL:
case TT_INFLOOR:
You("strain your %s, but you're still stuck in the floor.",
makeplural(body_part(LEG)));
You("strain your %s, but you're still %s.",
makeplural(body_part(LEG)),
(u.utraptype == TT_INFLOOR) ? "stuck in the floor" :
"attached to the buried ball");
set_wounded_legs(LEFT_SIDE, rn1(10, 11));
set_wounded_legs(RIGHT_SIDE, rn1(10, 11));
return 1;