code fixes
All checks were successful
Deploy yourpart (blue-green) / deploy (push) Successful in 1m52s

This commit is contained in:
Torsten Schulz (local)
2026-06-06 13:26:45 +02:00
parent 35377e3b59
commit 41c0e5a6f2
9 changed files with 71 additions and 88 deletions

View File

@@ -12,9 +12,8 @@ use std::sync::atomic::Ordering;
use std::sync::Arc;
use std::time::{Duration, Instant};
use rand::distributions::{Distribution, Uniform};
use rand::rngs::StdRng;
use rand::SeedableRng;
use rand::{Rng, SeedableRng};
use super::base::{BaseWorker, Worker, WorkerState};
use super::sql::{
@@ -46,7 +45,6 @@ const GAME_MONTH_SLICE_INTERVAL: Duration = Duration::from_secs(2 * 3600);
pub struct FalukantFamilyWorker {
base: BaseWorker,
rng: StdRng,
dist: Uniform<f64>,
last_daily: Option<Instant>,
last_monthly: Option<Instant>,
/// Gemeinsamer Tick für Liebschafts-Raten + Dienerschaft (Monatstick ≈ 2 h).
@@ -63,8 +61,10 @@ impl FalukantFamilyWorker {
pub fn new(pool: ConnectionPool, broker: MessageBroker) -> Self {
Self {
base: BaseWorker::new("FalukantFamilyWorker", pool, broker),
rng: StdRng::from_entropy(),
dist: Uniform::from(0.0..1.0),
rng: {
let mut base_rng = rand::rng();
StdRng::from_rng(&mut base_rng)
},
last_daily: None,
last_monthly: None,
last_game_month_slice: None,
@@ -361,7 +361,7 @@ impl FalukantFamilyWorker {
}
}
}
if breakup_risk_pct > 0.0 && self.dist.sample(&mut self.rng) * 100.0 < breakup_risk_pct {
if breakup_risk_pct > 0.0 && self.rng.random_range(0.0..1.0) * 100.0 < breakup_risk_pct {
conn.execute("deactivate_lover", &[&l.rel_id])?;
ended_rel_ids.insert(l.rel_id);
push_user_id(&mut breakup_socket_users, l.user1_id);
@@ -676,7 +676,7 @@ impl FalukantFamilyWorker {
p -= 2.0;
}
p = p.clamp(0.0, 25.0);
if self.dist.sample(&mut self.rng) * 100.0 < p {
if self.rng.random_range(0.0..1.0) * 100.0 < p {
self.base.broker.publish(format!(
r#"{{"event":"falukant_family_scandal_hint","relationship_id":{}}}"#,
l.rel_id
@@ -709,7 +709,7 @@ impl FalukantFamilyWorker {
}
let mut rng_malus_cids: Vec<i32> = Vec::new();
for cid in unique_cids.iter().copied() {
let r = self.dist.sample(&mut self.rng) * 100.0;
let r = self.rng.random_range(0.0..1.0) * 100.0;
let malus = if r < 1.0 {
-5.0
} else if r < 3.0 {