Reduce probabilities and effects of various random events in EventsWorker: Adjusted the likelihood and impact of events such as character illness, accidents, regional epidemics, and earthquakes to balance gameplay dynamics.

This commit is contained in:
Torsten Schulz (local)
2026-01-31 08:58:15 +01:00
parent f6d566427a
commit 972ef2b714
2 changed files with 34 additions and 34 deletions

View File

@@ -283,15 +283,15 @@ impl EventsWorker {
},
RandomEvent {
id: "character_illness".to_string(),
probability_per_minute: 0.01, // 1% pro Minute
probability_per_minute: 0.004, // 0.4% pro Minute (reduziert)
event_type: EventType::Personal,
title: "Krankheit".to_string(),
description: "Ein Charakter ist erkrankt und hat an Gesundheit verloren.".to_string(),
effects: vec![
EventEffect::CharacterHealthChange {
probability: 1.0,
min_change: -20,
max_change: -5,
min_change: -12,
max_change: -3,
},
],
},
@@ -311,35 +311,35 @@ impl EventsWorker {
},
RandomEvent {
id: "character_accident".to_string(),
probability_per_minute: 0.003, // 0.3% pro Minute
probability_per_minute: 0.001, // 0.1% pro Minute (reduziert)
event_type: EventType::Personal,
title: "Unfall".to_string(),
description: "Ein schwerer Unfall hat einen Charakter schwer verletzt.".to_string(),
effects: vec![
EventEffect::CharacterHealthChange {
probability: 1.0,
min_change: -50,
max_change: -30,
min_change: -25,
max_change: -12,
},
EventEffect::CharacterDeath {
probability: 0.2, // 20% Chance auf Tod
probability: 0.08, // 8% Chance auf Tod (reduziert)
},
],
},
RandomEvent {
id: "regional_epidemic".to_string(),
probability_per_minute: 0.002, // 0.2% pro Minute
probability_per_minute: 0.0007, // 0.07% pro Minute (reduziert)
event_type: EventType::Regional,
title: "Epidemie".to_string(),
description: "Eine Seuche hat die Region erfasst.".to_string(),
effects: vec![
EventEffect::CharacterHealthChange {
probability: 0.8, // 80% der Charaktere betroffen
min_change: -15,
max_change: -5,
probability: 0.5, // 50% der Charaktere betroffen (reduziert)
min_change: -10,
max_change: -3,
},
EventEffect::CharacterDeath {
probability: 0.1, // 10% Chance auf Tod pro Charakter
probability: 0.04, // 4% Chance auf Tod pro Charakter (reduziert)
},
],
},
@@ -361,18 +361,18 @@ impl EventsWorker {
},
RandomEvent {
id: "earthquake".to_string(),
probability_per_minute: 0.001, // 0.1% pro Minute (sehr selten)
probability_per_minute: 0.0004, // 0.04% pro Minute (sehr selten)
event_type: EventType::Regional,
title: "Erdbeben".to_string(),
description: "Ein Erdbeben hat die Region erschüttert.".to_string(),
effects: vec![
EventEffect::CharacterHealthChange {
probability: 0.3, // 30% Chance auf Gesundheitsschäden (geringe Wahrscheinlichkeit)
min_change: -20,
max_change: -5,
probability: 0.2, // 20% Chance auf Gesundheitsschäden (reduziert)
min_change: -12,
max_change: -3,
},
EventEffect::CharacterDeath {
probability: 0.05, // 5% Chance auf Tod (sehr geringe Wahrscheinlichkeit)
probability: 0.02, // 2% Chance auf Tod (reduziert)
},
EventEffect::StorageCapacityChange {
probability: 1.0, // Alle Lager werden beschädigt