# Grinding Lacustre - Wiki Oficial (Code Truth)

Ultima actualizacion: 2026-02-26

Esta wiki refleja el estado vigente del juego y reemplaza contenido legacy que quedo desincronizado.
Fuentes de verdad:
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/Game/Core/GameReducer.swift`
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/Game/Core/GameModels.swift`
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/Game/Core/EncounterGenerator.swift`
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/Game/Core/TowerProgression.swift`
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/Game/Persistence/MetaProgress.swift`
- `/Users/matiasvillagran/GrindingLacustre/GrindingLacustre/ContentView.swift`

## 0. Estado actual del sistema

- Perfil nuevo: partes de set iniciales = `0`.
- Perfil nuevo: gear equipado inicial = vacio.
- Ruta oficial de campana: `3 -> 5 -> 10 -> 15 -> 20 -> 25`.
- Endgame oficial: `Boss Conclave (6 floors)`.
- Desbloqueo de `Boss Conclave`: solo requiere limpiar `Tower 25` al menos una vez.
- Sets activos en ruta viva: `Tempest Regalia`, `Aegis Bastion`, `Pyre Dynasty`.
- Set `Crimson Vow`: fuera de ruta viva (no se muestra en Codice ni en wiki web).

## 1. Torres: ruta oficial y desbloqueo

| Torre | maxFloor | Boss | Dificultad | Foco de progreso |
|---|---:|---|---|---|
| Scout Tower | 3 | Overlord | Easy | Base de mazo y economia inicial |
| Classic Spire | 5 | Sentinel Prime | Normal | Inicio de progresion Tempest |
| Rift Keep | 10 | Warlord | Hard | Escalado medio + bridge a Aegis |
| Abyss Citadel | 15 | Lich King | Expert | Gate medio-alto con foco Aegis |
| Warlord Fortress | 20 | Void Dragon | Master | Inicio de multi-enemy (2 max) + bridge Pyre |
| Endless Throne | 25 | Eclipse Tyrant | Legend | Capstone de campana + drop legendario |
| Boss Conclave | 6 | Secuencia de 6 bosses | Mythic | Endgame boss rush |

### 1.1 Regla de desbloqueo endgame

- `GameReducer.endgameTowerEligibility(meta).isEligible` usa `campaignUnlocked`.
- `campaignUnlocked = meta.completions(for: 25) > 0`.
- Resultado practico: al primer clear de `T25`, se desbloquea `Boss Conclave`.

## 2. Progresion de sets y recompensas deterministas

### 2.1 Set esperado por tramo

`TowerProgression.towerGateProfile(for:)`:

| Torre | Set esperado |
|---|---|
| 5 | Tempest Regalia |
| 10 | Tempest Regalia |
| 15 | Aegis Bastion |
| 20 | Pyre Dynasty |
| 25 | Pyre Dynasty |

### 2.2 Recompensa al limpiar torre

`GameReducer.finalizeVictory` + `awardTowerGearProgress` + `awardTowerMilestoneProgress`:

- Siempre:
  - registra completacion de torre
  - entrega seals por torre (`1/2/3/4`, endgame `6`)
  - entrega progreso de armeria (tokens + cache)
- Primer clear de cada torre de campana:
  - pieza garantizada del set foco de la torre
  - bonus de scraps
  - carta de milestone enfocada

### 2.3 Bridge rewards (preparacion de la siguiente torre)

`awardBridgePrepProgress` + `bridgeTargetSet`:

| Torre farmeada | Set objetivo del bridge |
|---|---|
| 5 | Tempest |
| 10 | Aegis |
| 15 | Pyre |
| 20 | Pyre |

En clears 1/2 (y 3 solo cuando aplica) se entregan tokens, scraps y carta enfocada de bridge.

### 2.3.1 Cartas de soporte de mecanica por bridge

Para evitar runs sin respuesta al boss siguiente, `awardBridgePrepProgress` prioriza cartas neutrales de counterplay:

| Torre completada | Carta de soporte prioritaria |
|---|---|
| 5 | `Counterstance Matrix` |
| 10 | `Emergency Ration` |
| 15 | `Thermal Breach` |
| 20 | `Thermal Breach` -> `Counterstance Matrix` -> `Emergency Ration` |

### 2.4 Recompensa legendaria de T25

`awardTowerTwentyFiveLegendary`:

- Trigger: clear #1 y luego cada 3 clears de T25.
- Pool orientado por arquetipo del mazo:
  - Lightning -> `Storm Sovereign` o `Worldbreaker Oath`
  - Fortress -> `Citadel Paragon` o `Worldbreaker Oath`
  - Fire -> `Infernal Requiem` o `Worldbreaker Oath`
  - Sin arquetipo dominante -> pool mixto de las 4
- Si cae duplicado maxeado: conversion a `+28 scraps`, `+24 dust`, `+12 HP`.

### 2.5 Presentacion de recompensa de pieza de set

Cuando se desbloquea una pieza ahora se encola `pendingGearReveals` y se muestra overlay dedicado:

- fuentes visibles: `Armory Cache`, `Tower Milestone`, `Bridge Reward`
- CTA: `Continue`
- se muestra antes del reveal de cartas para que la pieza no pase desapercibida

## 3. Combate vigente simplificado

### 3.1 Cantidad de enemigos por combate

`EncounterGenerator.encounterEnemyCount(floor:maxFloor:)`:

- torres `< 20`: siempre `1` enemigo (ademas del boss final de la torre)
- torres `>= 20`: maximo `2` enemigos
- la segunda unidad aparece solo en progreso tardio (`floor/maxFloor >= 0.60`)

### 3.2 Intents activos

`EnemyIntent` vigente:

- `attack`
- `chargedAttack`
- `guardUp`
- `enrage`
- `weaken`

### 3.3 Estados clave del combate

Estados y recursos que dominan el sistema actual:

- `Weak`
- `Vulnerable`
- `Block`
- `Elemental Imperil`
- `Lightning Barrier`
- `Energy / Max Energy`

### 3.4 Firmas de boss (T5-T25)

Estas mecanicas usan `bossMechanicState` y se telegraph-ean en UI (panel con condicion, progreso, turnos restantes y castigo):

| Torre | Boss | Firma mecanica | Como se cumple | Si fallas |
|---|---|---|---|---|
| 5 | Sentinel Prime | `Crushing Protocol` | En cada ciclo de 3 turnos, lograr `>= 12` block en al menos un turno | Golpe fuerte (~65% HP max) + debuff de tempo |
| 10 | Warlord | `Runic Bulwark` | Romper 3 cargas de barrera con acciones Lightning/Tempest o `Thermal Breach` | Boss se cura (~9%) y gana enrage (+ATK) |
| 15 | Lich King | `Massacre & Recover` | Tras `Massacre` (HP a 10%), curar `>= 25%` HP max antes de expirar `Doom(2)` | Ejecucion al expirar Doom |
| 20 | Void Dragon | `Elemental Carapace` | Construir 3 `Melt stacks` con fuego dentro de la ventana | `Absolute Zero`: dano alto (~40%) + tax de energia |
| 25 | Eclipse Tyrant | `Dual Sigils` | Fase A: fuego, fase B: block, fase final: ambos | +`Eclipse Charge` + heal; a 3 cargas hay wipe |

### 3.5 Guia practica para vencer cada boss de torre

La siguiente guia resume el plan minimo de victoria por boss, con referencia visual de boss, set y cartas clave.

#### 3.5.1 T5 - Sentinel Prime (`Crushing Protocol`)

| Referencia | Visual |
|---|---|
| Boss | ![Sentinel Prime](../GrindingLacustre/Assets.xcassets/EnemyBossSentinelFFBE.imageset/enemy_boss_sentinel_ffbe_v1.png) |
| Set recomendado | `Tempest Regalia` (carta emblema: ![Storm Relay](../GrindingLacustre/Assets.xcassets/CardActionStormRelay.imageset/card_action_storm_relay_v2.png)) |
| Cartas clave | ![Counterstance Matrix](../GrindingLacustre/Assets.xcassets/CardActionBulwarkStance.imageset/card_action_bulwark_stance_v2.png) ![Capacitor Guard](../GrindingLacustre/Assets.xcassets/CardActionCapacitorGuard.imageset/card_action_capacitor_guard_v2.png) ![Storm Relay](../GrindingLacustre/Assets.xcassets/CardActionStormRelay.imageset/card_action_storm_relay_v2.png) |

Plan:
- En cada ciclo de 3 turnos, reserva energia para asegurar un turno con `>=12 Block`.
- Si no llegas al umbral, prioriza `Counterstance Matrix` para cerrar el check.
- Cuando cumples, aprovecha la ventana de `Vulnerable` para burst.

#### 3.5.2 T10 - Warlord (`Runic Bulwark`)

| Referencia | Visual |
|---|---|
| Boss | ![Warlord](../GrindingLacustre/Assets.xcassets/EnemyBossWarlordFFBE.imageset/enemy_boss_warlord_ffbe_v1.png) |
| Set recomendado | `Tempest Regalia` (carta emblema: ![Spark Draft](../GrindingLacustre/Assets.xcassets/CardActionSparkDraft.imageset/card_action_spark_draft_v2.png)) |
| Cartas clave | ![Storm Relay](../GrindingLacustre/Assets.xcassets/CardActionStormRelay.imageset/card_action_storm_relay_v2.png) ![Spark Draft](../GrindingLacustre/Assets.xcassets/CardActionSparkDraft.imageset/card_action_spark_draft_v2.png) ![Thermal Breach](../GrindingLacustre/Assets.xcassets/CardActionEmberNeedle.imageset/card_action_ember_needle_v2.png) |

Plan:
- Objetivo primario: romper 3 cargas antes del cierre del ciclo.
- Cadena Lightning/Tempest primero; usa `Thermal Breach` si falta 1 carga.
- No gastes turnos en dano puro mientras la barrera siga activa (el HP damage es `0`).

#### 3.5.3 T15 - Lich King (`Massacre & Recover`)

| Referencia | Visual |
|---|---|
| Boss | ![Lich King](../GrindingLacustre/Assets.xcassets/EnemyBossLichFFBE.imageset/enemy_boss_lich_ffbe_v1.png) |
| Set recomendado | `Aegis Bastion` (carta emblema: ![Guard Drill](../GrindingLacustre/Assets.xcassets/CardActionGuardDrill.imageset/card_action_guard_drill_v2.png)) |
| Cartas clave | ![Emergency Ration](../GrindingLacustre/Assets.xcassets/CardActionRestorativeLight.imageset/card_action_restorative_light_v2.png) ![Guard Drill](../GrindingLacustre/Assets.xcassets/CardActionGuardDrill.imageset/card_action_guard_drill_v2.png) ![Bastion Diagram](../GrindingLacustre/Assets.xcassets/CardActionBastionDiagram.imageset/card_action_bastion_diagram_v2.png) |

Plan:
- Anticipa `Massacre`: guarda al menos 1 carta de curacion para el turno de `Doom(2)`.
- Debes curar `>=25%` de HP maximo antes de expirar Doom.
- Si el boss marca ventana de recuperacion, cambia prioridad de dano a sustain inmediato.

#### 3.5.4 T20 - Void Dragon (`Elemental Carapace`)

| Referencia | Visual |
|---|---|
| Boss | ![Void Dragon](../GrindingLacustre/Assets.xcassets/EnemyBossDragonFFBE.imageset/enemy_boss_dragon_ffbe_v1.png) |
| Set recomendado | `Pyre Dynasty` (carta emblema: ![Ember Needle](../GrindingLacustre/Assets.xcassets/CardActionEmberNeedle.imageset/card_action_ember_needle_v2.png)) |
| Cartas clave | ![Thermal Breach](../GrindingLacustre/Assets.xcassets/CardActionEmberNeedle.imageset/card_action_ember_needle_v2.png) ![Cauterize Field](../GrindingLacustre/Assets.xcassets/CardActionCauterizeField.imageset/card_action_cauterize_field_v2.png) ![Dynasty Kiln](../GrindingLacustre/Assets.xcassets/CardActionDynastyKiln.imageset/card_action_dynasty_kiln_v2.png) |

Plan:
- Abre siempre con fuego para construir `Melt stacks` (meta: 3 en ventana de 3 turnos).
- Durante caparazon, evita gasto de recursos no-fuego (solo pegan al 10%).
- Tras romper caparazon, entra en burst y prepara defensa para el siguiente ciclo.

#### 3.5.5 T25 - Eclipse Tyrant (`Dual Sigils`)

| Referencia | Visual |
|---|---|
| Boss | ![Eclipse Tyrant](../GrindingLacustre/Assets.xcassets/EnemyBossEclipseFFBE.imageset/enemy_boss_eclipse_ffbe_v1.png) |
| Set recomendado | `Pyre Dynasty` base + soporte de block (carta emblema de soporte: ![Phoenix Guard](../GrindingLacustre/Assets.xcassets/CardActionPhoenixGuard.imageset/card_action_phoenix_guard_v2.png)) |
| Cartas clave | ![Thermal Breach](../GrindingLacustre/Assets.xcassets/CardActionEmberNeedle.imageset/card_action_ember_needle_v2.png) ![Counterstance Matrix](../GrindingLacustre/Assets.xcassets/CardActionBulwarkStance.imageset/card_action_bulwark_stance_v2.png) ![Phoenix Guard](../GrindingLacustre/Assets.xcassets/CardActionPhoenixGuard.imageset/card_action_phoenix_guard_v2.png) |

Plan:
- Fase A: cumple fuego (`>=2`) rapido para no acumular `Eclipse Charge`.
- Fase B: guarda energia/cartas para alcanzar `Block >=20`.
- Fase final: coordina fuego + block en la misma ventana (`>=2 fire` y `>=16 block`).
- Si llegas a `2/3` cargas, cambia a plan defensivo y juega solo a cumplir mecanica.

## 4. Codice (Codex) in-game

- Entrada principal: boton `Codice` en `MainMenuView`.
- Biblioteca: cartas, enemigos, progreso y filtros en vivo.
- Fuente de datos: `MetaProgress` + modelos reales de cartas/enemigos.
- Limpieza aplicada:
  - no se muestran cartas fuera de ruta viva (`associatedSet == crimsonVow` o cartas de bleed)
  - se mantiene visibilidad de cartas vigentes Tempest/Aegis/Pyre y neutrales

## 5. Cartas y arquetipos vigentes

### 5.1 Arquetipos operativos

- `lightningChain` (Tempest)
- `fortressBlock` (Aegis)
- `fireBurst` (Pyre)

### 5.2 Legendaries clave

- `Storm Sovereign` (Tempest)
- `Citadel Paragon` (Aegis)
- `Infernal Requiem` (Pyre)
- `Worldbreaker Oath` (universal)

### 5.3 Nota sobre contenido legacy

Cartas y textos del paquete Crimson/Bleed quedan fuera de la ruta viva y no forman parte de la guia de progreso oficial.

### 5.4 Cartas neutrales nuevas para counterplay de bosses

| Carta | Rareza | Coste | Rol |
|---|---|---:|---|
| `Emergency Ration` | Rare | 1 | Curacion de burst para checks de recuperacion (`+18 HP + draw 1`) |
| `Thermal Breach` | Rare | 1 | Presion de fuego (`6 Fire`) + imperil + interaccion con barrera/caparazon |
| `Counterstance Matrix` | Rare | 1 | Bloqueo eficiente (`+14 block`) y robo situacional contra intents de ataque |

Estas cartas entran a `rewardFocusPool` y a bridge rewards de torres previas para habilitar rutas de respuesta real antes del gate.

### 5.5 Ajustes contextuales de sets en bosses mecanicos

- `Tempest 2p`: la primera carta lightning del turno puede reducir 1 carga extra de `Runic Bulwark`.
- `Aegis 4p`: bajo `Doom`, la primera jugada defensiva del turno agrega curacion de emergencia.
- `Pyre 2p`: en `Elemental Carapace`, la primera carta fire del turno agrega +1 `Melt stack`.

Estos ajustes son contextuales al boss mecanico para evitar power creep global.

## 6. Checklist de validacion

Para confirmar sincronia wiki web:

```bash
node --check /Users/matiasvillagran/GrindingLacustre/web/site/wiki/app.js
python3 -m json.tool /Users/matiasvillagran/GrindingLacustre/web/site/wiki/entities.json >/dev/null
```

Para confirmar compilacion app:

```bash
xcodebuild -project /Users/matiasvillagran/GrindingLacustre/GrindingLacustre.xcodeproj -scheme GrindingLacustre -destination 'platform=iOS Simulator,name=iPhone 17 Pro' build
```
