code fixes
All checks were successful
Deploy yourpart (blue-green) / deploy (push) Successful in 1m52s
All checks were successful
Deploy yourpart (blue-green) / deploy (push) Successful in 1m52s
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user