Skip to content

Commit

Permalink
Escape from controlled polymorph prompt no longer causes random poly
Browse files Browse the repository at this point in the history
This was one of the remaining "a single typo causes a major gameplay
disruption" behaviors (i.e. turning into something large and breaking
armor, or into a dragon). Since this prompt only appears when the
polymorph is controlled, there's no reason to punish this in particular,
so I changed it to instead inform the player how they can explicitly
request a random polymorph, then prompt again.

However, I did not touch the "That's enough tries! Have a random
polymorph!" behavior if the loop is triggered enough times (currently
5).
  • Loading branch information
copperwater committed Apr 13, 2024
1 parent be73191 commit 03c51b6
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
4 changes: 4 additions & 0 deletions doc/xnh-changelog-9.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ changes:
- When polymorphed into a monster with an explosion attack, you can #monster to
intentionally explode. (This was already possible by attacking a monster or
force-fighting thin air.)
- Escaping out of a polymorph prompt no longer causes a random polymorph; it
instead gives instructions on how to explicitly request that and prompts
again. (However, escaping or failing to enter a valid form 5 times still
causes a random polymorph.)

### Architectural changes

3 changes: 2 additions & 1 deletion src/polyself.c
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,8 @@ polyself(int psflags)
pline1(Never_mind);
return;
}
Strcpy(buf, "*"); /* resort to random */
pline("Enter \"random\" or \"*\" for a random polymorph.");
continue;
}
if (!strcmp(buf, "*") || !strcmp(buf, "random")) {
/* explicitly requesting random result */
Expand Down

0 comments on commit 03c51b6

Please sign in to comment.