Skip to content

[X02][Codex] Implement Ghost Archer - #4

Merged
BotTony329 merged 6 commits into
developfrom
codex/x02-ghost-archer
Aug 2, 2026
Merged

[X02][Codex] Implement Ghost Archer#4
BotTony329 merged 6 commits into
developfrom
codex/x02-ghost-archer

Conversation

@BotTony329

Copy link
Copy Markdown
Owner

Task

  • Task ID: X02
  • Owner: Codex
  • Objective: Add one ranged Ghost Archer module using the frozen M1 enemy and combat architecture.

Changes

  • Added a concrete GhostArcher subclass with patrol, detection, preferred-range spacing, close-range retreat, readable aim, shooting, recovery/cooldown, hurt, and inherited idempotent death.
  • Added the one-hit, fixed-trajectory Ghost Arrow with owner exclusion, impact cleanup, timeout cleanup, and DamageContext integration through the existing Damageable/CombatResolver pipeline.
  • Added data resources for every archer stat, distance, timing, projectile speed, and lifetime.
  • Integrated the existing ghost_archer_* prototype sheets through the SpriteFrames generator.
  • Injected the archer scene/config through the existing coordinator composition seam, so the playable wave and F4 debug command use the normal coordinator-owned spawn path.
  • Added automated behavior, projectile, death, cooldown, combat integration, debug-spawn, and scene smoke coverage.
  • Updated README, task register, and AI handoff.

Architecture

No frozen interface or protected framework file changed. EnemyBase, CombatResolver, RunState, EventBus, SacrificeService, and RunCoordinator are reused unchanged.

Validation

  • /Applications/Godot.app/Contents/MacOS/Godot --headless --import --path .
  • /Applications/Godot.app/Contents/MacOS/Godot --headless --path . res://tests/test_runner.tscn
    • 59 tests, 229 assertions, 0 failures
  • /Applications/Godot.app/Contents/MacOS/Godot --headless --path . --quit-after 180
    • M1 main-scene smoke run passed
  • git diff --check origin/develop...HEAD
  • Common-secret scan passed

Local validation used Godot 4.7.1 stable; repository CI remains pinned to Godot 4.3 and supplies the compatibility gate.

Known limitation

No Ghost Arrow sprite was supplied. ghost_arrow.tscn uses a small, clearly named procedural FallbackVisual; collision and behavior are complete, and only that visual node needs replacement when approved projectile art arrives.

@BotTony329
BotTony329 marked this pull request as ready for review August 2, 2026 06:14
@BotTony329
BotTony329 merged commit d98e400 into develop Aug 2, 2026
2 checks passed
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.

1 participant