Commit Graph
1587 Commits
Author SHA1 Message Date
TrèsAbhi b880b8cdbd Merge branch 'main' into spall-liner-in-tankopdiea-model-viewer 2026-10-04 13:47:04 -05:00
tresabhi 6be4ff97f3 env 2026-10-04 13:36:33 -05:00
tresabhi d9f29cd0c9 start of docs 2026-10-04 13:11:36 -05:00
Mark Greene 0bdb66742b Feature: Add Spall Liner toggle to Tankopedia model viewer
## Summary
- Add a Spall Liner toggle button to the Tankopedia model viewer, placed alongside the existing Calibrated Shells / Enhanced Armor buttons. It's only shown for tanks that can actually equip Spall Liner.
- The toggle reads/writes the same `Duel.protagonist.provisions` array as the Provisions tab, so both stay in sync automatically.
- If a provision slot is free, clicking equips Spall Liner immediately. If all slots are full, a popover shows icons with a shuffle arrow so you can pick which active provision to swap out in one step.
- Buttons use the same medium rounding as the consumable buttons on the tank page.
- When Spall Liner is equipped, the Dynamic Armor 3D viewer's click-damage tooltip now applies the same 20% HE damage reduction Spall Liner grants in-game.
- Refactored the hardcoded `-0.2` HE damage coefficient in `tankCharacteristics.ts` into a shared constant so the Compare tool and the 3D viewer use a single source of truth.

## Scope
This only affects the single-tank Tankopedia page. The Firepower stats table (the viewed tank's own outgoing gun damage) is intentionally untouched, since a defensive damage reduction would be semantically backwards there. The Dynamic Armor viewer's click tooltip is the only place a "damage taken by this tank" number exists, so that's where the reduction is wired in.
2026-10-04 13:27:34 +13:00
TrèsAbhi 126e91411a New translations en.json (Russian)
[ci skip]
2026-10-02 15:35:49 -07:00
TrèsAbhi 24ffd70394 New translations en.json (Portuguese)
[ci skip]
2026-10-02 15:35:48 -07:00
TrèsAbhi 8c8b36f0d5 New translations en.json (Polish)
[ci skip]
2026-10-02 15:35:46 -07:00
TrèsAbhi 38c595ebce New translations en.json (Japanese)
[ci skip]
2026-10-02 15:35:45 -07:00
TrèsAbhi 66a6aece7c New translations en.json (Spanish)
[ci skip]
2026-10-02 15:35:43 -07:00
TrèsAbhi 35ce79a421 New translations en.json (French)
[ci skip]
2026-10-02 15:35:41 -07:00
TrèsAbhi 8e8da15254 New translations en.json (Chinese Simplified)
[ci skip]
2026-10-02 15:35:40 -07:00
TrèsAbhi eea358c4e1 New translations en.json (Ukrainian)
[ci skip]
2026-10-02 15:35:38 -07:00
TrèsAbhi 3b0af110d2 Merge branch 'main' into peekabo-dpm 2026-10-02 15:22:06 -07:00
TrèsAbhi 91da72e8b4 New Crowdin updates (#268) 2026-10-02 17:08:10 -05:00
TrèsAbhi 6319d6fbd0 Merge pull request #269 from Hitjack007/equaliser-beta-flag 2026-10-02 15:05:56 -07:00
tresabhi a5321ebde3 game mode banner with string ids 2026-10-02 17:05:25 -05:00
tresabhi 74ca01f978 remove string 2026-10-02 17:01:43 -05:00
tresabhi b7ac038ace Merge branch 'main' of https://github.com/blitzkit/blitzkit 2026-10-02 16:56:05 -05:00
tresabhi 1a2caf120b remove some dead code 2026-10-02 16:55:53 -05:00
TrèsAbhi 377bbabb02 Merge pull request #270 from Hitjack007/contact-shadows-fix 2026-10-02 14:55:05 -07:00
TrèsAbhi a4c6f0a1e2 Merge pull request #272 from Hitjack007/moving-camo-duplicate
Clarify shooting camo labels
2026-10-02 14:37:28 -07:00
tresabhi f7db1280cf use useRef instead of useState 2026-10-02 16:34:12 -05:00
TrèsAbhi 0477887d68 Merge branch 'main' into consumable-armor-view 2026-10-02 14:20:38 -07:00
Mark Greene 0941c23a3c Fix dynamic armor overlay vanishing on re-render
PrimaryArmorSceneComponent rebuilt its ShaderMaterial every render with null uniforms that were only set once on mount. Create it once with useState instead.
2026-10-02 19:24:43 +13:00
Mark Greene d44c184025 Clarify shooting camo labels 2026-10-02 18:49:23 +13:00
Mark Greene 73975a5d83 Fix contact shadows growing across modes
Armor left gl.autoClear off after its frame, so ContactShadows accumulated onto an uncleared target. Restore it at the end of the frame.
2026-10-02 18:34:50 +13:00
Mark Greene 7f9ee1f907 Remove equalizer beta badge 2026-10-02 18:27:10 +13:00
tresabhi ee146b8ed9 fix wgpkg dirs 2026-09-30 13:51:13 -05:00
TrèsAbhi 763ecf22b0 New Crowdin updates (#266) 2026-09-24 16:25:00 -05:00
Mark Greene 281e4abec7 Add peekaboo DPM stat to Tankopedia firepower
Adds a **Peekaboo DPM** entry nested under DPM for single-shot guns, estimating damage per minute when only firing after resetting camouflage (or waiting out the reload, whichever is slower), assuming at least 10 seconds between shots.

- Shots per minute are capped at `60/10` for reloads faster than 10s, and fall back to `60/reload` otherwise
- The result is multiplied by the currently selected shell's damage and rounded
- An (i) icon next to the label opens a popover explaining the calculation
- The row is hidden for auto-loader/auto-reloader guns
- No percentile ranking bar is shown, since no dataset exists yet for this new stat
2026-09-25 09:22:08 +12:00
TrèsAbhi 2beb084b67 Merge pull request #267 from Hitjack007/fix/session-missing-average-crash 2026-09-24 14:07:50 -07:00
tresabhi f7ca622906 correct assertions 2026-09-24 16:07:12 -05:00
tresabhi 347efa75fe add compatibility for string game mode ids 2026-09-23 16:31:35 -05:00
Mark Greene 88643d366d Fix: skip session delta entries with no tank definition or average
The /session/ page crashed when a tracked player's tank stats included
a tank with no matching tank definition or no average stats (WN8
baseline). The delta memo dereferenced `tank.id` on a possibly missing
definition and forced `average?.mu!` through as non-null, so a missing
average threw inside `compositeStats`/`calculateWN8` uncaught, breaking
the page on every load while the bad state persisted in localStorage.

Skip those entries instead of crashing: entries with no tank
definition or no average `mu` are dropped from the delta via
`flatMap`, so the rest of the session table still renders.
2026-09-23 08:21:16 +12:00
tresabhi 84f950ade4 fix tag0 assumption 2026-09-02 16:32:46 -05:00
tresabhi a0111d8b69 intense contact shadows 2026-08-19 13:57:36 -05:00
tresabhi f68198475e install clis 2026-08-13 12:15:55 -05:00
tresabhi 204c3eacc1 i give up 2026-08-13 12:01:16 -05:00
tresabhi 4d0f21e10b zip download 2026-08-13 11:05:01 -05:00
tresabhi d3202e8607 steam downloader 2026-08-13 10:56:15 -05:00
tresabhi a438eb704f smarter max rate 2026-08-13 10:29:11 -05:00
tresabhi 1569de4475 Merge branch 'main' of https://github.com/blitzkit/blitzkit 2026-08-12 20:33:40 -05:00
tresabhi 0f022f8295 chunking based on fetch rate 2026-08-12 20:33:38 -05:00
TrèsAbhi 75c21a5129 New Crowdin updates (#261) 2026-08-12 20:25:55 -05:00
tresabhi 5092d43e8e fix has pbr 2026-08-12 13:41:59 -05:00
tresabhi 3152c18840 simplify robots.txt 2026-08-12 11:46:45 -05:00
tresabhi 7e184b8be0 eh whatever, this'll make it into the next update 2026-08-12 11:36:55 -05:00
tresabhi 877ba9408d some more recording 2026-08-11 20:29:50 -05:00
tresabhi 8dc9a6b46d start of recording 2026-08-11 20:11:12 -05:00
tresabhi b3e439669b start of performance 2026-08-11 20:03:57 -05:00