feat: implemented extra status effect effectiveness and duration

This commit is contained in:
TotallyNot 2025-11-04 19:38:02 +01:00
parent 9b720facf8
commit 39c6714317
Signed by: pyrite
GPG key ID: 7F1BA9170CD35D15
3 changed files with 68 additions and 12 deletions

View file

@ -6,7 +6,13 @@ use proxisim_models::bundle::{
},
};
use crate::{Stages, effect::Effects};
use crate::{
Stages,
effect::Effects,
player::status_effect::{
ExtraStatusEffectEffectiveness, Hardened, Hastened, Sharpened, Strengthened,
},
};
fn spawn_permanent_effects(
merit_q: Query<(
@ -17,6 +23,7 @@ fn spawn_permanent_effects(
Option<&DrugCooldown>,
)>,
mut effects: Effects,
mut commands: Commands,
) {
for (player, merits, edu, faction, drug_cd) in merit_q.iter() {
if merits.brawn > 0 {
@ -211,6 +218,14 @@ fn spawn_permanent_effects(
if edu.def2760 {
effects.spawn(AdditiveBonus::<Speed>::new("DEF2760", 0.03), player);
}
if edu.spt2480 {
commands.entity(player).insert((
ExtraStatusEffectEffectiveness::<1, Strengthened>::new(1.1),
ExtraStatusEffectEffectiveness::<1, Sharpened>::new(1.1),
ExtraStatusEffectEffectiveness::<1, Hardened>::new(1.1),
ExtraStatusEffectEffectiveness::<1, Hastened>::new(1.1),
));
}
if edu.spt2490 {
effects.spawn(AdditiveBonus::<Speed>::new("SPT2490", 0.02), player);
effects.spawn(AdditiveBonus::<Strength>::new("SPT2490", 0.02), player);