Skip to content

Abilities: fix skill-learn flow, distinct ship names, + handoff docs#1

Merged
goetchstone merged 1 commit into
mainfrom
gameplay/abilities-names-handoff
Jun 17, 2026
Merged

Abilities: fix skill-learn flow, distinct ship names, + handoff docs#1
goetchstone merged 1 commit into
mainfrom
gameplay/abilities-names-handoff

Conversation

@goetchstone

Copy link
Copy Markdown
Owner

Summary

Gameplay push for playable solo-vs-AI, plus the rules/state docs needed to continue in a fresh session.

Ability learn flow (was genuinely broken)

The "+1pt" level-up badge only rendered on castable ability slots, so the passive hero skills (Enforced/Reinforced/Super Hull, Onboard Mechanics Crew, Ship Sails, auras) — most of a hull's progression — had no badge anywhere and could never be ranked. Hulls whose only castable skill was level-gated showed no badges at all ("other ships show no skills"). Fix: shipPassiveLearnableSkills() + a dedicated SKILLS strip above the inventory bar with the same +1pt badge, so every learnable skill on every hull is reachable. Distinct icons for hull/sails/repair/true-sight.

Verified live in a solo match by DOM/state reads (rank 0→1, point spent, full client→server→sim→snapshot round-trip); a deterministic test asserts 0 orphan learnable skills across all hulls.

Distinct ship names

Added ShipSpec.properName from the WC3 Proper Name (upro) field — Sailor, Crusader, Interceptor, Dominator, Destroyer, Overlord, Juggernaut, … — so colliding class names ("Battle Ship" ×4, "Cruiser" ×4) are distinguishable. Shown in shop/scoreboard/banner/gallery; the renderer still keys the sprite off .name.

Also in this push

Pathfinding routes ships around land · AI trader runs routes in solo-vs-AI · wave-imitating lane ribbons removed · multi-ability HUD cast bar · shop arrow no longer overlaps a hotkey.

Docs / rules (session transfer)

  • CLAUDE.md — durable working rules + architecture (auto-loaded by a new session).
  • docs/STATUS.md — current-state handoff: what's done, open items (crash #15, map parked #14, broad ability cast-audit to re-run).
  • .gitignore — exclude decoded map imagery (data/reference/) and local agent config (.claude/).

Verification

Tests green: client 398, core 520, server 143; lint clean; build green; determinism (AI-only seed-equal replay) intact.

Open (tracked in docs/STATUS.md)

  • In-game crash (#15) — unreproduced this session; likely client-side.
  • Exhaustive ability cast-system audit — re-run in the new session.

🤖 Generated with Claude Code

Gameplay push for playable solo-vs-AI, plus the rules/state docs needed to
continue in a fresh session.

Ability learn flow (was genuinely broken): the "+1pt" level-up badge only
rendered on castable ability slots, so the PASSIVE hero skills (Enforced/
Reinforced/Super Hull, Onboard Mechanics Crew, Ship Sails, auras) — most of a
hull's progression — had no badge anywhere and could never be ranked; hulls
whose only castable skill was level-gated showed no badges at all. Added
shipPassiveLearnableSkills() + a dedicated SKILLS strip above the inventory bar
with the same +1pt badge, so every learnable skill on every hull is reachable.
Distinct icons for hull/sails/repair/true-sight. Verified live in a solo match
by DOM/state reads (rank 0->1, point spent, full client->server->sim round
trip); a test asserts 0 orphan learnable skills across all hulls.

Distinct ship names: added ShipSpec.properName from the WC3 Proper Name (upro)
field (Sailor, Crusader, Interceptor, Dominator, ...) so colliding class names
("Battle Ship" x4, "Cruiser" x4) are distinguishable; shown in shop/scoreboard/
banner/gallery. Renderer still keys the sprite off .name.

Also in this push: pathfinding routes ships around land; AI trader runs routes
in solo-vs-AI; wave-imitating lane ribbons removed; multi-ability HUD cast bar;
shop arrow no longer overlaps a hotkey.

Docs/rules: add CLAUDE.md (durable working rules + architecture) and
docs/STATUS.md (current-state handoff). Gitignore decoded map imagery
(data/reference/) and local agent config (.claude/) — derived assets / local
tooling, not redistributed.

Tests green: client 398, core 520, server 143; lint clean; build green;
determinism (AI-only seed-equal replay) intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@goetchstone goetchstone merged commit b407988 into main Jun 17, 2026
1 check failed
@goetchstone goetchstone deleted the gameplay/abilities-names-handoff branch June 17, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants