fpx · stats
v0.2.0StatSheet (la entidad: base + nivel + fuentes de gear → snapshot), derivados en orden fijo, fórmulas de impacto/daño/crítico/cura y perfil de balance versionado.
Sistemas de juego desacoplados para Godot 4, extraídos de un RPG táctico real (Stremus: El Tercer Despertar). Cada componente funciona por separado, declara sus dependencias y se lleva a tu juego copiando una carpeta — sin autoloads, sin plugins, sin sorpresas.
Cada ZIP trae el componente y sus dependencias con la estructura addons/fpx/… ya correcta, más sus tests.
En la raíz del proyecto Godot. No hay nada que activar: son clases con class_name, disponibles al instante.
RNG, reloj, contexto y gates entran como parámetros; el contenido (ítems, tablas, diálogos) son .tres tuyos.
Dependencias explícitas por manifiesto (component.cfg), solo hacia abajo, sin ciclos —
y un test guardián que lo verifica en cada commit. Haz clic en un componente:
StatSheet (la entidad: base + nivel + fuentes de gear → snapshot), derivados en orden fijo, fórmulas de impacto/daño/crítico/cura y perfil de balance versionado.
Grid táctico: adyacencia, pathfinding A*, alcance por presupuesto (Dijkstra), ocupación, línea de visión supercover, AoE rotable y adaptador isométrico 3D.
Patrullas por BFS, scheduler round-robin, respawn con reloj de mapa y avisos de aggro. Reloj inyectado: testeable sin escena.
Grafos de diálogo ramificado con condiciones (nivel, quests) contra un contexto inyectado. Runtime puro: jamás toca estado global.
Grupos (tope 8, liderazgo heredable) y trade P2P con escrow determinista anti-scam (candados + doble confirmación).
UI mínima con el tema como datos: UiThemeDefinition (.tres) → UiThemeBuilder → Theme con variaciones y colores semánticos, presets dark/light, ContextView y pila de ventanas.
Esquema de ítem (equipo/consumible/material/quest), conjuntos con bonos por umbral, ItemCatalog por convención, RarityCatalog como datos y ConsumableEffects.
Tablas de botín con tiradas independientes por entrada (modelo D12) y banda de XP por jugador. RNG inyectado: determinista.
Inventario por huecos con stacking y tope, paperdoll sobre EquipmentLayout declarativo e InventoryOps (equipar/usar/comprar/vender/trade todo-o-nada).
El motor táctico por turnos completo: CombatState determinista con semilla, FSM, acciones como Commands con motivos tipados, eventos, zonas, vínculos, ecos e IA de datos.
Quests como datos: pasos secuenciales con disparadores (talk/kill/reach/collect/encounter), prerequisitos y recompensas, QuestLog con motivos y QuestOfferFlow puro.
La ventana de inventario del ejemplar: ItemSlot, ficha rica con comparativa (ItemTooltip), marco de rareza, menú contextual con acciones inyectadas e InventoryPanel con bind().
CharacterProgress completo: XP contra la tabla del job, niveles y puntos, promoción con rebirth, árboles de skills, hitos de Despertar, RewardFlow y XpCurve.
Nada aquí es teórico: cada sistema se extrajo de Stremus, donde ya sostiene un juego completo con
más de 2000 tests. Sus fórmulas, reglas y números de producción son los defaults del kit, y el
ejemplo canónico (STR 45 + arma 40 @ nivel 10 → atk_melee == 150) está anclado por tests en ambos
repositorios. Más sobre el modelo copia + sincronía →