feat(progression): Erfahrung, Aufstieg und Punkteverteilung
Toeten gibt Erfahrung (exp_reward stand seit M3 ungelesen an jedem Gegner), give_exp als zwoelfte Aktion fuer spaetere Quests. Aufstieg in einer Schleife am Zugende, ein Punkt je Stufe, keine Obergrenze. Verteilt wird im Charakterbogen — kein zwoelfter Screen. AssignPoints nimmt alle Punkte auf einmal und kostet damit einen Zug. luck wirkt jetzt: eine Chance auf einen Zusatzzug auf jeder Beutetabelle. Drei Befunde: - strength und constitution las niemand, zwei der fuenf verteilbaren Grundwerte waren Fallen. Zwei balance-Knoepfe rechnen sie beim Verteilen um. - Rng::chance(0.0) verbrauchte eine Zahl und verschob den Zufallsstrom. - Cheat::ClearRoom ging am Todesweg vorbei.
This commit is contained in:
@@ -218,8 +218,25 @@ pub struct Balance {
|
||||
pub verkauf: f32,
|
||||
/// Wie stark `charisma` auf `price_modifier` wirkt (Ticket 02).
|
||||
pub charisma_preis: f32,
|
||||
// TODO(M5): `exp_base`, `exp_exponent` (Ticket 15) und `luck_factor`
|
||||
// (Ticket 16) — sie kommen mit ihren Lesern, nicht davor.
|
||||
/// Die Erfahrungskurve: `exp_base × level^exp_exponent`. **Zwei Zahlen
|
||||
/// statt fuenfzig Tabellenzeilen** (Ticket 15) — eine Tabelle liesse einen
|
||||
/// Modder Level 13 zum Sprung machen, und das ist der Ausbau, nicht der
|
||||
/// Anfang.
|
||||
pub exp_base: f32,
|
||||
pub exp_exponent: f32,
|
||||
/// `p_extra = clamp(luck × luck_factor, 0, 0.9)` — eine Chance auf einen
|
||||
/// zusaetzlichen Zug auf **jeder** Tabelle (Ticket 16).
|
||||
pub luck_factor: f32,
|
||||
/// Was ein Punkt in `strength` bzw. `constitution` tatsaechlich bewirkt.
|
||||
///
|
||||
/// **Befund aus M5:** Ticket 15 verteilt Punkte auf fuenf Grundwerte, aber
|
||||
/// `strength` und `constitution` las bis dahin *niemand* — zwei der fuenf
|
||||
/// Wahlmoeglichkeiten waren Fallen. Die Umrechnung sitzt hier und nicht in
|
||||
/// `Game::attribute`, weil sie beim **Verteilen** einmal passiert und nicht
|
||||
/// bei jedem Auslesen: Ein Punkt in Konstitution hebt den Grundwert
|
||||
/// `max_health`, wie es Ticket 15 fuer die Zuwachs-Regel voraussetzt.
|
||||
pub damage_per_strength: f32,
|
||||
pub health_per_constitution: f32,
|
||||
}
|
||||
|
||||
impl Default for Balance {
|
||||
@@ -233,6 +250,11 @@ impl Default for Balance {
|
||||
hit_ceiling: 0.95,
|
||||
verkauf: 0.4,
|
||||
charisma_preis: 1.5,
|
||||
exp_base: 20.0,
|
||||
exp_exponent: 1.5,
|
||||
luck_factor: 0.02,
|
||||
damage_per_strength: 1.0,
|
||||
health_per_constitution: 8.0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user