Commit Graph

3 Commits (ddf67ecb68d49bc65ccc940a2354b1111d1808a3)

Author SHA1 Message Date
Amir Alexander Abdelbaki ddf67ecb68 Add dev-mode faction tag editor
F7 opens it targeting the player, F8 targets whichever character is directly
ahead. Type + Enter adds a tag, Up/Down selects an existing one, Delete
removes it. Backed by a new DevFactionMenu (mirrors the existing spawn/turret
dev menus) and Mode.FACTION_EDIT.

Note: Character.factions isn't persisted through WorldRepository save/load
yet - same pre-existing gap as implants/ai/held_items.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyY5qQB6XHRoBFNbsgdRQn
2026-07-16 16:55:58 +02:00
Amir Alexander Abdelbaki e04761f7b5 Add item pickup/drop, NPC AI framework, hacking, and turrets
- Item pickup (key) and drag-to-drop from a dedicated container popup card
  (backpacks, pockets), replacing the earlier inline inventory grid
- NPC AI slot framework (engine/ai.py, resources/logic/ai.py) with a wander
  behavior, an NPC spawner UI (dev-mode, reuses the character creator), and
  a "secret items password" creator field
- Hacking mechanic: derived tech skill (intelligence + perception), a sample
  lockable door, a hacking tool item, and six cyberdeck implants with
  bonus/roll-floor effects (including a secret dev-only one)
- Turrets: character faction/tag targeting, turn-rate-limited tracking of
  the closest hostile, and cpu/psu/motors/gun/camera body parts with
  weapon-type variants

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyY5qQB6XHRoBFNbsgdRQn
2026-07-16 16:44:46 +02:00
Amir Alexander Abdelbaki 616c945509 Add start menu, procedural world generation, and controller support
- Wire up the previously-unused menu/character-creation classes into an
  actual start menu -> character creation -> world creation -> pause/
  controls flow in main.py, instead of dropping straight into a fixed
  world. Adds a minimal screen-space UI layer (bitmap font + panels)
  since the engine had no text/menu rendering at all before this.
- Fix ship interiors rendering when the player is off-ship, add helm
  zoom-out, wire the character card and ability bar (both existed as
  unused pure-state classes with no rendering or input hooked up).
- Add a configure-controls menu with live keybind rebinding, and a
  dev-mode config toggle with an item-spawn cheat.
- Full gamepad support for every menu (previously gameplay-only), with
  a stale-button-state fix across pause transitions.
- Procedural world generation: seeded Perlin noise heightmap, terrain
  types (water/sand/dirt/mud/stone) with speed effects, slopes and
  occasional caves between elevations, and a swim up/down mechanic in
  water - selectable as a new world template alongside the existing
  test map.
- Add gravity (fall to the first floor below when there's none underfoot)
  and Dwarf-Fortress-style depth shading (only the player's own z-level
  renders at full brightness; lower ground seen through a gap darkens
  with depth) - both fix a real gap the terrain generator left open
  (walking off a steep cliff previously just floated in empty air).
- Add scripts/export_blank_textures.py and reimport_textures.py for a
  blank-template/re-import art workflow.

215 new tests across the above; full suite (676 tests) passing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyY5qQB6XHRoBFNbsgdRQn
2026-07-16 10:32:25 +02:00