Skip to content

feat(gameplay): oxygen tank tiers I/II/III + easier water exit#133

Merged
marceld23 merged 1 commit into
mainfrom
feat/oxygen-tiers-and-water-exit
Jun 29, 2026
Merged

feat(gameplay): oxygen tank tiers I/II/III + easier water exit#133
marceld23 merged 1 commit into
mainfrom
feat/oxygen-tiers-and-water-exit

Conversation

@marceld23

Copy link
Copy Markdown
Owner

Two related gameplay fixes in one PR.

🫧 Oxygen tank tiers I / II / III — closes #129

  • oxygen_tank_1 was dead. A consumable with no effect whose description wrongly promised a capacity boost. It is now a worn component with oxygenBonus 50.
  • Clean tier line: Tank I (+50) → Tank II (+100, oxygen_tank_2, renamed "Oxygen Tank II") → new Tank III (+200, oxygen_tank_3), blueprint-gated behind Tank II with a titanium recipe.
  • Highest tier wins: MaxOxygen() now takes the best carried tank's bonus instead of summing — carrying several no longer stacks.
  • Descriptions corrected in both en.json and de.json to match real behaviour.
  • New AI icon item_oxygen_tank_3.png.
  • Tests: fixed the stale // +50 max comment (real bonus is +100) and added OxygenTanks_DoNotStack_HighestTierWins.
Tier Item Bonus Max O₂
I oxygen_tank_1 +50 150
II oxygen_tank_2 +100 200
III oxygen_tank_3 +200 300

🌊 Easier to climb out of water — closes #131

In water the Jump button was only a slow 4/s swim-up (no impulse), so a 1-block bank couldn't be cleared and the player bobbed against the shore and slid back.

  • (A) Surface jump-out impulse: at the water surface, pressing Jump while pushing forward now applies a real jump impulse.
  • (B) Ledge mantle: swimming into a low (≤1-block) bank with forward input applies the same impulse + full forward speed to mount the shore.

Both are client-side in PlayerController (movement is client-authoritative); normal swimming, jumping and jetpack are unchanged.

✅ Verification

  • ./scripts/run-tests.sh793 server + 96 client tests pass (0 failed), including the new oxygen test, DE/EN locale parity, and recipe/blueprint reachability for oxygen_tank_3.
  • Local Unity Windows build green (client/Assets changed).

🤖 Generated with Claude Code

Oxygen (#129): oxygen_tank_1 was a dead consumable whose description wrongly
promised a capacity boost. It is now a worn component (+50). oxygen_tank_2 stays
+100 (renamed "Oxygen Tank II"); new oxygen_tank_3 (+200, "Oxygen Tank III")
gated behind tank II with a titanium recipe. MaxOxygen() now takes the best
carried tank instead of summing — tanks no longer stack (highest tier wins).
Descriptions corrected in DE+EN; new AI icon for tank III. Tests: fixed the
stale "+50" comment and added OxygenTanks_DoNotStack_HighestTierWins.

Water exit (#131): in water, Jump was only a slow 4/s swim-up (no impulse), so a
1-block bank could not be cleared and the player slid back. At the surface,
pressing Jump while pushing forward (A) — or swimming into a low <=1-block bank
(B) — now applies a real jump impulse + full forward speed to mount the shore.

Closes #129
Closes #131

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@marceld23 marceld23 merged commit 96a0dc4 into main Jun 29, 2026
12 checks passed
@marceld23 marceld23 deleted the feat/oxygen-tiers-and-water-exit branch June 29, 2026 21:37
marceld23 added a commit that referenced this pull request Jun 29, 2026
Add the v0.6.2 entry to "Released versions" (gameplay polish, oxygen tank tiers
I/II/III, easier water exit, station-to-space flora seal, experimental browser
client) and mark the oxygen/water work log as shipped (#133). Add a work-log entry
for the WebGL release-build fix (Velopack compile guard) + the new webgl-only.yml
attach workflow (#151).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant