From 925cca336658aa7d0ae30f92295706b7dd0075d5 Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Sun, 28 Jul 2024 22:19:34 -0700 Subject: [PATCH] Fix player contact knockback --- src/game/actor/enemy.rs | 2 +- src/game/actor/player.rs | 2 +- src/game/combat/damage.rs | 2 +- src/game/combat/hit.rs | 2 +- src/game/combat/knockback.rs | 18 ++++++++++++++---- src/game/combat/projectile.rs | 2 +- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/game/actor/enemy.rs b/src/game/actor/enemy.rs index d6fbb44..70e6699 100644 --- a/src/game/actor/enemy.rs +++ b/src/game/actor/enemy.rs @@ -39,7 +39,7 @@ pub fn enemy(key: impl Into) -> impl EntityCommand { let config = r!(config.get()); let actor = r!(config.enemies.get(&key)).clone(); - (actor, game_root.players, assets.sfx_kick.clone()) + (actor, game_root.enemies, assets.sfx_kick.clone()) }; world diff --git a/src/game/actor/player.rs b/src/game/actor/player.rs index cf1e352..649f414 100644 --- a/src/game/actor/player.rs +++ b/src/game/actor/player.rs @@ -76,7 +76,7 @@ pub fn player(key: impl Into) -> impl EntityCommand { // Contact hitbox was for testing, but it's funny, so I'm leaving it in. Hitbox, HitboxDamage(0.0), - HitboxKnockback(0.0), + HitboxKnockback(150.0, false), HurtSfx(sfx_hurt, 1.8), DeathSfx(sfx_death, 1.0), )) diff --git a/src/game/combat/damage.rs b/src/game/combat/damage.rs index dd701d2..330d49d 100644 --- a/src/game/combat/damage.rs +++ b/src/game/combat/damage.rs @@ -29,6 +29,6 @@ fn apply_hitbox_damage( hitbox_query: Query<&HitboxDamage>, ) { let &OnHit(hitbox, hurtbox) = trigger.event(); - let damage = r!(hitbox_query.get(hitbox)); + let damage = rq!(hitbox_query.get(hitbox)); commands.entity(hurtbox).trigger(OnDamage(damage.0)); } diff --git a/src/game/combat/hit.rs b/src/game/combat/hit.rs index 3c321d0..fbdfe66 100644 --- a/src/game/combat/hit.rs +++ b/src/game/combat/hit.rs @@ -79,7 +79,7 @@ impl Configure for HurtSfx { } fn play_hurt_sfx(trigger: Trigger, sfx_query: Query<&HurtSfx>, audio: Res