Files
nethack/include
Alex Smith 656f58b099 A basic version of starting character rerolling
This adds a "reroll" option that lets players reroll their
character's attributes and starting inventory. Although I generally
think doing this makes the game worse, a) some players are going to
do it regardless and b) if a player is going for a challenge game,
rather than to win, it may be required. So in the absence of an
option like this, players repeatedly start and quit games instead,
creating a large number of junk logfile entries and generally
causing problems for other players on the same shared machine
(because repeatedly reloading the game is very CPU-intensive).

This should in theory be windowport-agnostic (although in practice
it may not be). Tested on tty, X11 and curses; on tty and X11 it
works fine (although X11 treats the change in attributes as
something that needs a status highlight), on curses it is slightly
jankier in terms of what other windows are drawn in the background
(but still plays correctly and I suspect this is a pre-existing
bug).

To form a complete implementation, we will need to consider the
following:

- Should there be a delay on a) starting the game and/or b)
  rerolling? If so, what should it be (maybe configurable via
  sysconf?)

- Should we take more steps to discourage players from rerolling?
  It would be bad if players see the option exists and turn it on
  just because it exists, or (worse) treat it as condoning the
  particular style of play.

- Should we take steps to detect that players are rerolling
  manually and a) tell them to use the option instead, b) tell them
  that this is not an intended way to play (and may make the game
  less enjoyable and/or prevent them getting the practice they need
  to eventually win)?

Breaks save and bones files.
2025-11-30 06:49:14 +00:00
..
2022-02-04 11:01:20 -05:00
2025-05-25 20:38:17 -04:00
2025-04-15 15:35:17 -04:00
2022-11-29 21:53:21 -05:00
2024-12-15 09:53:50 -05:00
2025-07-29 15:45:11 -07:00
2022-06-30 23:48:18 -04:00
2024-12-20 10:32:38 -05:00
2024-09-06 13:08:07 -07:00
2023-03-01 14:00:29 +02:00
2024-10-12 14:56:36 -04:00
2021-01-26 21:06:16 -05:00
2025-04-15 15:35:17 -04:00
2024-12-19 18:18:11 -08:00
2025-10-06 11:49:31 -04:00
2025-05-25 20:38:17 -04:00
2025-05-29 09:59:29 -04:00
2025-05-26 20:33:06 -04:00
2024-09-06 13:08:07 -07:00
2022-06-19 02:30:45 -07:00
2025-02-04 15:16:42 -05:00
2024-09-06 13:08:07 -07:00
2025-04-24 11:11:55 -07:00
2024-02-24 13:49:51 -08:00
2024-12-20 10:32:38 -05:00
2025-03-19 17:14:07 -04:00
2024-11-26 20:57:11 -08:00
2022-10-26 14:21:23 -04:00
2022-10-26 14:21:23 -04:00
2022-10-26 14:21:23 -04:00
2025-05-26 13:18:32 -04:00
2024-03-07 11:01:04 -05:00
2025-05-25 20:38:17 -04:00
2024-02-28 20:15:56 -08:00
2024-09-06 13:08:07 -07:00
2024-03-07 11:01:04 -05:00
2024-08-17 11:19:45 -07:00
2024-11-13 09:07:10 -05:00
2023-11-22 16:01:58 -05:00
2020-08-12 16:15:28 -07:00
2024-06-15 19:04:57 +03:00
2024-12-20 10:32:38 -05:00
2024-12-20 10:32:38 -05:00
2024-09-06 13:08:07 -07:00
2025-03-22 12:17:12 -04:00
2022-06-30 23:48:18 -04:00
2025-01-04 23:38:34 -05:00
2025-04-26 12:50:18 -07:00
2025-04-15 15:35:17 -04:00
2025-02-28 11:37:05 -08:00
2022-10-26 14:21:23 -04:00
2022-10-26 14:21:23 -04:00
2024-11-26 20:57:11 -08:00