This commit is contained in:
@@ -266,6 +266,9 @@ impl FalukantFamilyWorker {
|
||||
});
|
||||
|
||||
let mut v_net = 0i32;
|
||||
if l.min_age_years <= 12 {
|
||||
v_net += 3;
|
||||
}
|
||||
if l.maintenance_level < 35 {
|
||||
v_net += 1;
|
||||
}
|
||||
@@ -289,6 +292,9 @@ impl FalukantFamilyWorker {
|
||||
let new_vis = clamp_i32(l.visibility + v_net, 0, 100);
|
||||
|
||||
let mut d_net = 0i32;
|
||||
if l.min_age_years <= 12 {
|
||||
d_net -= 3;
|
||||
}
|
||||
if l.maintenance_level >= 70 {
|
||||
d_net += 1;
|
||||
}
|
||||
@@ -452,8 +458,8 @@ impl FalukantFamilyWorker {
|
||||
{
|
||||
delta -= 1;
|
||||
}
|
||||
if touching.iter().any(|l| l.min_age_years <= 15) {
|
||||
delta -= 1;
|
||||
if touching.iter().any(|l| l.min_age_years <= 12) {
|
||||
delta -= 4;
|
||||
}
|
||||
// Standsabhängige Deltas aus der Liebschaften-Verarbeitung anwenden
|
||||
if let Some(extra_delta) = spouse_satisfaction_delta.get(&m.id) {
|
||||
@@ -499,8 +505,8 @@ impl FalukantFamilyWorker {
|
||||
if (g1 as i32 - g2 as i32).abs() >= 2 {
|
||||
pst -= 1;
|
||||
}
|
||||
if touching.iter().any(|l| l.min_age_years <= 15) {
|
||||
pst -= 2;
|
||||
if touching.iter().any(|l| l.min_age_years <= 12) {
|
||||
pst -= 4;
|
||||
}
|
||||
let ho_avg = (m.household_order_1 + m.household_order_2) / 2;
|
||||
if ho_avg < 35 {
|
||||
@@ -1307,12 +1313,10 @@ fn rank_rep_modifier(g: u8, scandal: bool, order_ok: bool) -> f64 {
|
||||
|
||||
/// Spec 5a: Altersmalus (jüngeres Alter der Beteiligten), zusätzlich zur Basis-Reputation.
|
||||
fn age_reputation_delta(min_age_years: i32) -> f64 {
|
||||
if min_age_years <= 13 {
|
||||
-1.5
|
||||
} else if min_age_years <= 15 {
|
||||
-0.8
|
||||
} else if min_age_years <= 17 {
|
||||
-0.3
|
||||
if min_age_years <= 10 {
|
||||
-6.0
|
||||
} else if min_age_years <= 12 {
|
||||
-3.0
|
||||
} else {
|
||||
0.0
|
||||
}
|
||||
@@ -1320,8 +1324,10 @@ fn age_reputation_delta(min_age_years: i32) -> f64 {
|
||||
|
||||
/// Spec 5a: minAge <= 15 und hohe Sichtbarkeit.
|
||||
fn visibility_young_penalty(min_age_years: i32, visibility: i32) -> f64 {
|
||||
if min_age_years <= 15 && visibility >= 50 {
|
||||
-0.5
|
||||
if min_age_years <= 10 && visibility >= 20 {
|
||||
-4.0
|
||||
} else if min_age_years <= 12 && visibility >= 25 {
|
||||
-2.0
|
||||
} else {
|
||||
0.0
|
||||
}
|
||||
@@ -1414,12 +1420,10 @@ fn breakup_risk_percent(l: &LoverData) -> f64 {
|
||||
|
||||
/// Spec Skandalrisiko: stufenweise Zusatz (exklusiv).
|
||||
fn scandal_age_extra_pct(min_age_years: i32) -> f64 {
|
||||
if min_age_years <= 13 {
|
||||
6.0
|
||||
} else if min_age_years <= 15 {
|
||||
3.0
|
||||
} else if min_age_years <= 17 {
|
||||
1.0
|
||||
if min_age_years <= 10 {
|
||||
12.0
|
||||
} else if min_age_years <= 12 {
|
||||
8.0
|
||||
} else {
|
||||
0.0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user