Dash
4d620bc384
build: replace black and isort with ruff
...
ruff format keeps black's style at the same line length, and ruff
check covers import sorting plus pycodestyle and pyflakes. Three
comments and a test regex are wrapped to fit 79 columns.
2026-10-17 15:55:51 +02:00
Dash
9c44d69633
random: port Alea, one generator per character
...
pqcli used Python's global Mersenne Twister, seeded once from the clock.
Upstream uses Johannes Baagøe's Alea, with Random(n) = uint32() % n, and
keeps the generator state with each character. The port matches the JS
output bit for bit, including UTF-16 seeding of non-BMP characters.
Each Player now owns an Alea that is pickled with the save, and
Simulation.tick draws from it. Saves without one get a fresh generator.
As upstream does, a new character's game continues from the state the
kept stat roll was made from.
The parity traces are re-recorded, since every random number changes.
2026-10-17 15:55:50 +02:00
Dash
f1cdff8140
mechanic: fill the plot bar during the Prologue
2026-10-17 15:55:49 +02:00
Dash
c25f9dc057
lingo: extend roman numerals past 4000
2026-10-17 15:55:49 +02:00
Dash
48f48aec58
mechanic: keep at most 100 quests in the log
2026-10-17 15:55:48 +02:00
Dash
fa31045052
lingo: use "an" before words starting with Ü
2026-10-17 15:55:47 +02:00
Dash
0f1100d4be
mechanic: sync impressive guys and cinematics
2026-10-17 15:55:46 +02:00
Dash
9942091af7
mechanic: cap new item wins on huge inventories
2026-10-17 15:55:46 +02:00
Dash
17e1b91a18
mechanic: clump stat gains on prime stats only
2026-10-17 15:55:45 +02:00
Dash
ab179c1eb0
mechanic: shorten quests as upstream does
2026-10-17 15:55:44 +02:00
Dash
bec6171483
mechanic: use upstream's exponential level curve
2026-10-17 15:55:43 +02:00
Dash
f03394f680
tests: add a recipe to re-record parity traces
2026-10-17 15:55:43 +02:00
Dash
b69231f321
docs: update install and contributing for uv
2026-10-17 15:55:42 +02:00
Dash
1a6cd720ac
build: move dev dependencies to dependency-groups
2026-10-17 15:55:41 +02:00
Dash
c0c6c8aeba
mechanic: move word lists to data files
...
The word lists (monsters, spells, equipment, races, classes, titles and
so on) now live in pqcli/data/*.json instead of pqcli/config.py. A
GameData object loaded at startup is passed to the simulation and UIs.
Users can replace any list by putting NAME.json in
$XDG_CONFIG_HOME/pqcli/data/ or a directory given with --data-dir.
--dump-data DIR copies the built-in files out for editing. Malformed
files are reported and pqcli exits before starting the UI.
Combat task descriptions come from the new combat_verbs list, with
{target} standing for the enemy. The built-in list holds only "Executing
{target}", and a single verb consumes no random roll, so stock gameplay
is unchanged. Recorded traces in tests/fixtures pin this down.
Monster, Race and Class stay in pqcli.config so existing saves still
load.
Resolves #3
2026-10-17 15:55:41 +02:00
Dash
5337d94f82
build: add justfile
2026-10-17 15:55:29 +02:00
Dash
da60c6f792
build: remove poetry.lock
2026-10-17 15:55:28 +02:00
Jakub Stastka and Jakub Stastka
696fad78b3
build: add Docker builds
...
Co-authored-by: Jakub Stastka <jakub@stastka.org >
2026-04-19 09:58:04 +09:00
Dash
7426924170
misc: release 1.0.4
1.0.4
2025-12-11 14:59:18 +01:00
Dash
9609e9a3f2
misc: fix style issues
2025-12-11 14:58:55 +01:00
Dash
7e52a74065
misc: update author info
2025-12-11 14:58:55 +01:00
Dash
4d5b070949
build: migrate to uv
2025-12-11 14:58:55 +01:00
Dash
326b9297c1
build: migrate to uv
2025-12-11 14:49:15 +01:00
Owen Cochell
7790e52a6d
misc: fix crash on Linux due to zero length addnstr call
2025-04-10 08:20:21 +02:00
Owen Cochell
e6d18352c5
misc: fix empty character sheet on Linux
2025-04-04 20:26:08 +02:00
dependabot[bot]
4122e936c8
build(deps-dev): bump setuptools from 69.5.1 to 70.0.0
...
Bumps [setuptools](https://github.com/pypa/setuptools ) from 69.5.1 to 70.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases )
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/setuptools/compare/v69.5.1...v70.0.0 )
---
updated-dependencies:
- dependency-name: setuptools
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-15 21:57:21 +02:00
Marcin Kurczewski
803eba416e
misc: fix xdg-base-dirs refactor
2024-07-02 15:41:50 +02:00
Marcin Kurczewski
07cae1a4e8
misc: use xdg-base-dirs
...
Resolves #26
2024-05-04 12:18:07 +02:00
Marcin Kurczewski
9eaf4397df
misc: fix syntax warning
2024-04-26 01:27:33 +02:00
anakojm
077016f7a0
misc: fix seed type issue
2024-04-26 01:26:41 +02:00
txtsd
e51a14c081
misc: Set correct python version in classifiers
...
Signed-off-by: txtsd <code@ihavea.quest >
2022-11-11 08:02:27 +01:00
txtsd
77391e7888
misc: Remove unused imports
...
Signed-off-by: txtsd <code@ihavea.quest >
2022-11-11 08:02:27 +01:00
txtsd
69ad5e7299
misc: Fix grammar
...
Signed-off-by: txtsd <code@ihavea.quest >
2022-11-11 08:02:27 +01:00
txtsd
04e0611d45
misc: Fix typos
...
Signed-off-by: txtsd <code@ihavea.quest >
2022-11-11 08:02:27 +01:00
txtsd
c0395e9447
misc: Update .gitignore
...
Fixes directory format
Adds __pycache__
Signed-off-by: txtsd <code@ihavea.quest >
2022-11-11 08:02:27 +01:00
rr-
3b2d9db2e2
build: switch to Poetry
2021-12-20 23:29:37 +01:00
Marcin Kurczewski
bbe3842a2f
ui: allow loading characters directly from cli ( #16 )
2020-09-30 20:20:29 +02:00
rr-
1ad563ad93
misc: release 1.0.2
1.0.2
2020-08-17 09:12:56 +02:00
rr-
29207c1d4c
misc: remove unused imports
2020-08-17 09:12:56 +02:00
CJ Kucera
67c3888f82
docs: add troubleshooting section
2020-06-22 21:57:43 +02:00
rr-
d4675c747a
misc: require windows-curses for Windows
2020-05-07 15:36:41 +02:00
Petr Gašparík
c5f0c60ec8
roster: fix overwriting old saves on Windows
2020-05-07 15:27:56 +02:00
rr-
fc4dcff9e3
ui/curses: fix division by zero
2020-05-07 15:04:58 +02:00
rr-
f8a030a648
misc: release 1.0.1
1.0.1
2019-04-10 20:09:47 +02:00
rr-
82c8d21395
ui/curses: fix division by zero
2019-04-10 20:09:22 +02:00
rr-
746ca551f3
misc: release 1.0
1.0
2019-02-02 00:32:48 +01:00
rr-
5d47a0f44c
mechanic: fix simulation stopping under certain conditions
2019-01-17 00:47:23 +01:00
rr-
555f386b24
ui/curses: highlight changed and added items
2019-01-14 16:10:26 +01:00
rr-
5f34a85c80
ui/curses: fix new quests and acts not appearing
2019-01-14 14:52:24 +01:00
rr-
97552a711a
misc: don't use relative imports
2019-01-14 14:42:29 +01:00