Commit Graph
306 Commits
Author SHA1 Message Date
tresabhi b00a63a9f8 sorting 2026-10-15 00:38:01 -05:00
tresabhi 1416d64e34 add skills 2026-10-13 20:37:53 -05:00
tresabhi 95318d0a99 woohoo more data driven stats! 2026-10-11 00:43:08 -05:00
tresabhi 1b08393f65 Merge branch 'main' into data-driven 2026-10-11 00:34:39 -05:00
Mark Greene 940c3c537b Feature: track repair time in Tankopedia
Adds track repair time to the Tankopedia survivability stats, matching the value the game lists.

- Added a required `repair_time` to track definitions, filled from each chassis's hysteresis health divided by its health regen per second
- Applied the toolbox, the repair crew skill and the protective kit as multiplicative repair speed bonuses
- Added a Track repair time row under fire chance; it appears once the definitions are regenerated on the next build

Fixes #308
2026-10-08 18:02:05 +13:00
TrèsAbhi aa6268a86b Merge branch 'main' into stable-tank-sort-order 2026-10-07 16:30:42 -05:00
TrèsAbhi de03a2ab95 Merge branch 'main' into tier-eleven-compatibility 2026-10-07 16:23:11 -05:00
tresabhi 03b8ffe7e5 Merge branch 'main' into data-driven 2026-10-05 11:35:26 -05:00
tresabhi c70fae8162 game strings 2026-10-05 11:24:29 -05:00
tresabhi d79e0ddb5d caching for strings 2026-10-05 11:24:01 -05:00
Mark Greene e4e92d76b4 Feature: tier XI compatibility
Prepares BlitzKit for tier XI tanks ahead of their release. Tier X was hardcoded as the maximum in the tank search filters, the guesser and the tech tree, and had no roman numeral beyond X.

- Added `XI` to `TIER_ROMAN_NUMERALS`
- Added an awaitable tier list derived from the highest tier in the tank definitions, so nothing changes until tier XI tanks exist
- Used it for the tank search tier filters and the guesser tier picker and defaults
- Made the tech tree check for successors instead of assuming tier X is the last tier

Fixes #302
2026-10-05 18:18:19 +13:00
Mark Greene 273881c460 Fix: keep tank order stable on select
Tanks sharing the same tier, nation, class and type were shown in an arbitrary order that changed after selecting a tank. The meta sort had no tiebreaker, and the filtered list was sorted and reversed in place, so each re-sort started from the previous reversed order and flipped tied tanks around.

- Added tank ID as the first sort key in `metaSortTank` so tied tanks always come out in the same order
- Sorted a copy of the tank search results, pre-sorted by ID, instead of the cached list
- Added an `exclude` option to tank search and used it in Compare so tanks already being compared can't be added again, including through select all or by swapping another slot

Fixes #313
2026-10-05 18:00:43 +13:00
tresabhi 7cb3df3da2 reload 2026-10-04 18:16:08 -05:00
tresabhi 4e1219486d penetration 2026-10-04 17:08:03 -05:00
tresabhi 6ebb2810ad Merge branch 'main' into data-driven 2026-10-04 16:33:53 -05:00
tresabhi f3a8f2faab only supply full name if it's different 2026-10-04 14:03:32 -05:00
Mark Greene 6153beced6 Fix: search redirecting early and missing full tank names
**Enter key**
- Enter redirected to the previous results' first tank while a search was still buffering, because the key handler captured a stale `searching` value.
- Enter on an empty field redirected to the first tank of the unfiltered list (Sheridan).
- The handler now reads live filter state and only acts when there is a settled search, matching the quick-link button.

**Full names in search**
- Search only knew short tank names, so queries like "super pershing" found nothing when the game stores a short form.
- Add an optional `name_full` to `TankDefinition`, filled from the game's full name when a short name exists, and index it (plus an accent-stripped copy) in `fetchTankNames` / `SEARCH_KEYS`.
- Displayed names are unchanged. Full names become searchable once the definitions are regenerated on the next build.
2026-10-04 14:24:02 +13:00
tresabhi 1a2caf120b remove some dead code 2026-10-02 16:55:53 -05:00
tresabhi 1f767af0b5 angles 2026-09-30 20:59:18 -05:00
tresabhi f73ffc3c93 correct axes 2026-09-30 19:00:25 -05:00
tresabhi cbf320454f various bug fixes 2026-09-30 18:38:15 -05:00
tresabhi 480d2226f7 versions and shit 2026-09-30 17:32:39 -05:00
tresabhi 558a02b6ae compile tank search page 2026-09-27 13:22:34 -05:00
tresabhi 960279bf00 huh i forgor 2026-09-23 17:37:52 -05:00
tresabhi a75c47865b checkpoint 2026-09-23 17:09:43 -05:00
tresabhi 1c505818a4 to core 2026-09-23 16:58:36 -05:00
tresabhi 444705347f imports 2026-09-23 16:51:09 -05:00
tresabhi 19556b5fc9 game strings 2026-09-23 16:45:07 -05:00
tresabhi e52f003c1b build protos indexing on first shot 2026-09-23 16:42:30 -05:00
tresabhi 4fc57d7fc1 Merge branch 'main' into data-driven 2026-09-23 16:37:39 -05:00
tresabhi 347efa75fe add compatibility for string game mode ids 2026-09-23 16:31:35 -05:00
tresabhi 1619ee1e00 checkpoint 2026-09-23 15:36:22 -05:00
tresabhi a38239a6f9 tankClassOrder 2026-09-23 13:58:29 -05:00
tresabhi 9e26da3205 checkpoint 2026-09-23 13:48:50 -05:00
tresabhi 750bdd236a useCompatibility 2026-09-23 10:39:12 -05:00
tresabhi 4e470599e8 speed 2026-09-22 16:39:51 -05:00
tresabhi 5f24887535 api strings 2026-09-22 16:38:30 -05:00
tresabhi 7d02f6311f tank states 2026-09-22 16:13:27 -05:00
tresabhi 6c9ce58af5 scripts api 2026-09-22 15:36:12 -05:00
tresabhi 402b6d5113 blitz scripts 2026-09-22 15:25:25 -05:00
tresabhi 1733180f2c oh my god this is hideous 2026-09-22 14:52:33 -05:00
tresabhi 267bb271c9 some notes 2026-09-22 11:52:39 -05:00
tresabhi 3c01056f4e implement rest 2026-09-16 09:56:13 -05:00
tresabhi 66f9c9d106 start of data driven provisions 2026-09-16 09:42:20 -05:00
tresabhi 3be91469aa strict types 2026-09-13 13:20:45 -05:00
tresabhi 054f33a649 move protos 2026-09-13 12:36:29 -05:00
tresabhi fe7282aae7 Merge branch 'main' into data-driven 2026-09-06 20:58:34 -05:00
tresabhi 84f950ade4 fix tag0 assumption 2026-09-02 16:32:46 -05:00
tresabhi 4015c103cf load readdir 2026-08-30 14:56:24 -05:00
tresabhi 8c08a00d64 move server funcs to init 2 2026-08-30 14:46:14 -05:00