codebase-systems

Document core game system extension points and event handling for a turn-based TUI RPG.

Updated Dec 13, 2025
One-click install
npx skills add https://github.com/EliasVahlberg/saltglass-steppe --skill codebase-systems
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: codebase-systems
Source: https://github.com/EliasVahlberg/saltglass-steppe/tree/main/.kiro_snapshot_2026-04-04_1209/skills/codebase-systems
Command: npx skills add https://github.com/EliasVahlberg/saltglass-steppe --skill codebase-systems

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a single, actionable reference for the responsibilities, event handling, and extension points of all core game systems so developers can safely add or modify gameplay mechanics without breaking invariants or regressions.

Core Features & Use Cases

  • CombatSystem: Melee and ranged attack flows, damage calculation points, death handling, XP and loot triggers; use when adding new weapons or combat rules.
  • AiSystem: Behavior registry pattern and built-in behaviors with A* pathfinding; use when adding or tuning enemy behaviors and cover/retreat mechanics.
  • MovementSystem: Bump-resolution priorities, tile effect triggers, and pickup logic; use when changing movement rules, interactables, or tile reactions.
  • Loot & Quest Systems: Reactive event-driven loot spawning and quest progression handlers; use when introducing new loot tables or quest event hooks.
  • StatusEffectSystem & StormSystem: Turn-based status ticking and complex storm-driven map edits and spawns; use when designing per-turn effects, adaptation thresholds, or environmental transformations.
  • Integration & Testing: Lists required GameEvent additions, where to register new systems, and recommends writing DES scenarios for deterministic automated tests.

Quick Start

Ask the skill to produce a concrete plan to add or modify a specific system (for example: a ranged-support AI behavior), including file locations, event changes, registry updates, and a DES test scenario.

Frequently Asked Questions about codebase-systems

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new enemy AI behavior to a turn-based RPG in Rust?

To add new enemy AI behavior in Rust, use the behavior registry pattern to integrate with the AiSystem, apply A* pathfinding for movement, and register the behavior convention. Update the System trait integration points to maintain deterministic event handling.

Where do I add new combat rules and damage calculation logic in a Rust TUI RPG?

Combat rules and damage calculation logic belong in the CombatSystem. You extend melee and ranged attack flows, modify death handling, and trigger XP and loot drops by updating the event enum and adding required GameEvent variants.

How does event-driven quest progression work in a deterministic turn-based RPG?

Event-driven quest progression works through reactive handlers in the Quest System that listen to GameEvent variants. You introduce new quest event hooks by extending the event enum and registering handlers to maintain deterministic turn-based execution.

Can I create automated integration tests for game systems using event-driven scenarios?

Yes, you can write deterministic event-driven system (DES) scenarios as automated integration tests. The system specifies where to register new systems and recommends writing DES scenarios to validate combat, movement, and storm mechanics without regressions.

What's the best way to implement per-turn status effects and environmental storm transformations?

Use the StatusEffectSystem for turn-based status ticking and the StormSystem for storm-driven map edits and spawns. Configure adaptation thresholds and environmental transformations by modifying storm timing and edit types within the System trait framework.

How do I change movement rules and tile effect triggers in a Rust TUI RPG?

Modify the MovementSystem to adjust bump-resolution priorities, tile effect triggers, and pickup logic. When changing movement rules or interactables, update the event enum and ensure tile reactions comply with deterministic event handling conventions.