'urgent' messages
Follow up on some old groundwork. For tty, if the core has designated
a message as 'urgent', override any message suppression taking place
because of ESC typed at the --More-- prompt. Right now, "You die"
messages, feedback about having something stolen, feedback for
"amorous demon" interaction (mainly in case of armor removal), and
exploding a bag of holding are treated as urgent.
The "You die" case is already handled by a hack in top-line handling;
I left that in place so the conversion of 3 or 4 pline("You die.*")
to custompline(URGENT_MESSAGE, "You die.*") was redundant. There
are probably various non-You_die messages which precede done() which
should be marked urgent too.
Other interfaces might want to do something similar. And we ought to
implement MSGTYPE=force or MSGTYPE=urgent to allow players to indicate
other messages that they want have to override suppression. But I'm
not intending to work on either of those. I mainly wanted to force
the magic bag explosion message to be shown since a sequence of "You
put <foo> into <bag>." messages is a likely candidate for --More--ESC.
This commit is contained in:
+20
-18
@@ -428,22 +428,23 @@ steal(struct monst* mtmp, char* objnambuf)
|
||||
unmul((char *) 0);
|
||||
slowly = (armordelay >= 1 || g.multi < 0);
|
||||
if (flags.female)
|
||||
pline("%s charms you. You gladly %s your %s.",
|
||||
!seen ? "She" : Monnam(mtmp),
|
||||
curssv ? "let her take"
|
||||
: !slowly ? "hand over"
|
||||
: was_doffing ? "continue removing"
|
||||
: "start removing",
|
||||
equipname(otmp));
|
||||
custompline(URGENT_MESSAGE,
|
||||
"%s charms you. You gladly %s your %s.",
|
||||
!seen ? "She" : Monnam(mtmp),
|
||||
curssv ? "let her take"
|
||||
: !slowly ? "hand over"
|
||||
: was_doffing ? "continue removing"
|
||||
: "start removing",
|
||||
equipname(otmp));
|
||||
else
|
||||
pline("%s seduces you and %s off your %s.",
|
||||
!seen ? "She" : Adjmonnam(mtmp, "beautiful"),
|
||||
curssv
|
||||
? "helps you to take"
|
||||
: !slowly ? "you take"
|
||||
: was_doffing ? "you continue taking"
|
||||
: "you start taking",
|
||||
equipname(otmp));
|
||||
custompline(URGENT_MESSAGE,
|
||||
"%s seduces you and %s off your %s.",
|
||||
!seen ? "She" : Adjmonnam(mtmp, "beautiful"),
|
||||
curssv ? "helps you to take"
|
||||
: !slowly ? "you take"
|
||||
: was_doffing ? "you continue taking"
|
||||
: "you start taking",
|
||||
equipname(otmp));
|
||||
named++;
|
||||
/* the following is to set multi for later on */
|
||||
nomul(-armordelay);
|
||||
@@ -478,9 +479,10 @@ steal(struct monst* mtmp, char* objnambuf)
|
||||
subfrombill(otmp, shop_keeper(*u.ushops));
|
||||
freeinv(otmp);
|
||||
/* if attached ball was taken, uball and uchain are now Null */
|
||||
pline("%s%s stole %s.", named ? "She" : Monnam(mtmp),
|
||||
(was_punished && !Punished) ? " removed your chain and" : "",
|
||||
doname(otmp));
|
||||
custompline(URGENT_MESSAGE,
|
||||
"%s%s stole %s.", named ? "She" : Monnam(mtmp),
|
||||
(was_punished && !Punished) ? " removed your chain and" : "",
|
||||
doname(otmp));
|
||||
could_petrify = (otmp->otyp == CORPSE
|
||||
&& touch_petrifies(&mons[otmp->corpsenm]));
|
||||
(void) mpickobj(mtmp, otmp); /* may free otmp */
|
||||
|
||||
Reference in New Issue
Block a user