diff --git a/assets/all.headsdb.ron b/assets/all.headsdb.ron index 5783e24..dbbb2c7 100644 --- a/assets/all.headsdb.ron +++ b/assets/all.headsdb.ron @@ -8,7 +8,7 @@ /*06*/(key:"goblin", ability:Arrow, aps:2, ammo:5, range:90, damage:50), /*07*/(key:"green grocer", ability:Curver, range:60, ammo:10, damage:25, projectile:"carrot"), /*08*/(key:"highland hammer thrower", ability:Thrown, aps:2, ammo:10, damage:25, range:80, projectile:"hammer", interrupt_shoot:false), - /*09*/(key:"legionnaire", ability:Gun, aps:1.5, ammo:25, range:60, damage:13), + /*09*/(key:"legionnaire", ability:Gun, aps:2, ammo:25, range:60, damage:13, shoot_offset:0.1667), /*10*/(key:"mig pilot", ability:Missile, ammo:5, range:60, damage:100, controls:Plane), /*11*/(key:"nanny", ability:Thrown, range:60), /*12*/(key:"panic attack", ability:Turbo), diff --git a/src/abilities/mod.rs b/src/abilities/mod.rs index fd24de0..3c8c797 100644 --- a/src/abilities/mod.rs +++ b/src/abilities/mod.rs @@ -10,6 +10,7 @@ use crate::{ aim::AimTarget, character::CharacterHierarchy, global_observer, + head::ActiveHead, heads::ActiveHeads, heads_database::HeadsDatabase, physics_layers::GameLayer, @@ -88,7 +89,7 @@ pub struct TriggerCurver(pub TriggerData); #[derive(Resource, Default)] pub struct TriggerStateRes { - cooldown: f32, + next_trigger_timestamp: f32, active: bool, } @@ -116,10 +117,17 @@ pub fn plugin(app: &mut App) { global_observer!(app, on_trigger_state); } -fn on_trigger_state(trigger: Trigger, mut res: ResMut) { +fn on_trigger_state( + trigger: Trigger, + mut res: ResMut, + player_head: Single<&ActiveHead, With>, + headdb: Res, + time: Res