Option to create the character deaf

Allows creating your character permanently deaf,
for that added challenge.

Breaks saves.
This commit is contained in:
Pasi Kallinen
2023-04-11 13:19:46 +03:00
parent 699473e03f
commit ffb61612e3
12 changed files with 29 additions and 9 deletions

View File

@@ -886,7 +886,8 @@ from_what(int propidx) /* special cases can have negative values */
* There are exceptions. Versatile jumping from spell or boots
* takes priority over knight's innate but limited jumping.
*/
if (propidx == BLINDED && u.uroleplay.blind)
if ((propidx == BLINDED && u.uroleplay.blind)
|| (propidx == DEAF && u.uroleplay.deaf))
Sprintf(buf, " from birth");
else if (innateness == FROM_ROLE || innateness == FROM_RACE)
Strcpy(buf, " innately");

View File

@@ -2013,6 +2013,8 @@ show_conduct(int final)
if (u.uroleplay.blind)
you_have_been("blind from birth");
if (u.uroleplay.deaf)
you_have_been("deaf from birth");
if (u.uroleplay.nudist)
you_have_been("faithfully nudist");

View File

@@ -448,7 +448,8 @@ make_deaf(long xtime, boolean talk)
if ((xtime != 0L) ^ (old != 0L)) {
gc.context.botl = TRUE;
if (talk)
You(old ? "can hear again." : "are unable to hear anything.");
You(old && !Deaf ? "can hear again."
: "are unable to hear anything.");
}
}

View File

@@ -817,7 +817,8 @@ nh_timeout(void)
* to this number must be thoroughly play tested.
*/
if ((inv_weight() > -500)) {
You("make a lot of noise!");
if (!Deaf)
You("make a lot of noise!");
wake_nearby();
}
}

View File

@@ -591,6 +591,7 @@ encode_extended_conducts(char *buf)
if (sokoban_in_play())
add_achieveX(buf, "sokoban", !u.uconduct.sokocheat);
add_achieveX(buf, "blind", u.uroleplay.blind);
add_achieveX(buf, "deaf", u.uroleplay.deaf);
add_achieveX(buf, "nudist", u.uroleplay.nudist);
add_achieveX(buf, "bonesless", !flags.bones);