intentional, but when clairvoyance finished the monster wasn't shown
nurse corpse/tin chance to convey poison resistance when eaten was not honored
make tame vampires be more aggressive when shifted to bat/fog/wolf form
+a stale gold symbol could be displayed on the status line following a switch
+ to a new symset, as observed and reported for Windows RogueEpyx symset
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
boolean *valsetlist;
{
static int oldrndencode = 0;
+ static nhsym oldgoldsym = 0;
int pc, chg, color = NO_COLOR;
unsigned anytype;
boolean updated = FALSE, reset;
* so $:0 has already been encoded and cached by the window
* port. Without this hack, gold's \G sequence won't be
* recognized and ends up being displayed as-is for 'update_all'.
+ *
+ * Also, even if context.rndencode hasn't changed and the
+ * gold amount itself hasn't changed, the glyph portion of the
+ * encoding may have changed if a new symset was put into
+ * effect.
+ *
+ * \GXXXXNNNN:25
+ * XXXX = the context.rndencode portion
+ * NNNN = the glyph portion
+ * 25 = the gold amount
+ *
*/
- if (context.rndencode != oldrndencode && fld == BL_GOLD) {
- chg = 2;
- oldrndencode = context.rndencode;
+
+ if (fld == BL_GOLD) {
+ if (context.rndencode != oldrndencode && fld == BL_GOLD) {
+ chg = 2;
+ oldrndencode = context.rndencode;
+ }
+ if (oldgoldsym != showsyms[COIN_CLASS + SYM_OFF_O]) {
+ chg = 2;
+ oldgoldsym = showsyms[COIN_CLASS + SYM_OFF_O];
+ }
}
reset = FALSE;