feat: added armour passives
This commit is contained in:
parent
cfe2631578
commit
451efd2bb7
17 changed files with 654 additions and 318 deletions
|
|
@ -12,7 +12,8 @@ use crate::{
|
|||
Stages,
|
||||
effect::{Effects, TurnLimitedEffect},
|
||||
player::status_effect::{
|
||||
AdditiveStatusEffect, Crippled, Demoralise, Frozen, Motivate, Slow, Weakened, Withered,
|
||||
AdditiveStatusEffect, Crippled, DamageOverTimeType, Demoralise, Frozen, Motivate, Slow,
|
||||
Weakened, Withered,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -427,6 +428,15 @@ pub(crate) fn prepare_bonuses(
|
|||
});
|
||||
}
|
||||
|
||||
WeaponBonusType::Bleed => {
|
||||
commands
|
||||
.entity(weapon.parent())
|
||||
.with_child(DamageProcEffect::DamageOverTimer {
|
||||
value: value.0,
|
||||
kind: DamageOverTimeType::Bleed,
|
||||
});
|
||||
}
|
||||
|
||||
val => unimplemented!("{val:?}"),
|
||||
}
|
||||
}
|
||||
|
|
@ -434,6 +444,6 @@ pub(crate) fn prepare_bonuses(
|
|||
|
||||
pub(crate) fn configure(stages: &mut Stages) {
|
||||
stages
|
||||
.pre_fight
|
||||
.passives
|
||||
.add_systems(prepare_bonuses.after(super::apply_passives));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use bevy_ecs::prelude::*;
|
||||
use proxisim_models::bundle::{
|
||||
passive::{Education, EducationPartDamageBonus, FactionUpgrades, Merits},
|
||||
player::{Current, PartDamageBonus, Weapons},
|
||||
player::{Current, PartDamageBonus},
|
||||
stat::{
|
||||
AdditiveBonus, AmmoControl, ClipSize, Clips, CritRate, DamageBonus, Dexterity,
|
||||
SimpleStatBonus, SimpleStatEffective, WeaponAccuracy,
|
||||
|
|
@ -17,6 +17,7 @@ use crate::{
|
|||
effect::{Effects, TurnLimitedEffect},
|
||||
log,
|
||||
log::Logger,
|
||||
player::status_effect::DamageOverTimeType,
|
||||
};
|
||||
|
||||
use self::bonus::{
|
||||
|
|
@ -152,6 +153,10 @@ pub enum DamageProcEffect {
|
|||
value: f32,
|
||||
bonus: SelfStatusEffect,
|
||||
},
|
||||
DamageOverTimer {
|
||||
value: f32,
|
||||
kind: DamageOverTimeType,
|
||||
},
|
||||
}
|
||||
|
||||
fn apply_passives(
|
||||
|
|
@ -520,7 +525,7 @@ pub(crate) fn configure(stages: &mut Stages) {
|
|||
// running this in the snapshot layer ensures that the stat increases aren't restored at the
|
||||
// end of the run
|
||||
stages.snapshot.add_systems(apply_first_turn_effects);
|
||||
stages.pre_fight.add_systems(apply_passives);
|
||||
stages.equip.add_systems(apply_passives);
|
||||
stages.turn.add_systems(reload_weapon);
|
||||
stages.post_turn.add_systems(unset_current);
|
||||
stages
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue