From cb8a2b26bf15d65118ae3e68b44c4e96ab0be677 Mon Sep 17 00:00:00 2001 From: extrawurst <776816+extrawurst@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:08:39 +0200 Subject: [PATCH] use ProjectileOrigin joint (#36) --- src/abilities/arrow.rs | 2 +- src/abilities/gun.rs | 2 +- src/abilities/mod.rs | 18 +++++++++++++++--- src/abilities/thrown.rs | 2 +- src/character.rs | 42 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 59 insertions(+), 7 deletions(-) diff --git a/src/abilities/arrow.rs b/src/abilities/arrow.rs index beb72bf..2dfbf6a 100644 --- a/src/abilities/arrow.rs +++ b/src/abilities/arrow.rs @@ -59,7 +59,7 @@ fn on_trigger_arrow( }; let mut t = Transform::from_translation(state.pos).with_rotation(rotation); - t.translation += (t.forward().as_vec3() * 2.) + (Vec3::Y * 0.6); + t.translation += t.forward().as_vec3() * 2.; let damage = heads_db.head_stats(state.head).damage; commands.spawn((Name::new("projectile-arrow"), ArrowProjectile { damage }, t)); diff --git a/src/abilities/gun.rs b/src/abilities/gun.rs index 32fc702..a565fd4 100644 --- a/src/abilities/gun.rs +++ b/src/abilities/gun.rs @@ -98,7 +98,7 @@ fn on_trigger_gun( }; let mut t = Transform::from_translation(state.pos).with_rotation(rotation); - t.translation += (t.forward().as_vec3() * 2.) + (Vec3::Y * 0.6); + t.translation += t.forward().as_vec3() * 2.0; commands .spawn(( diff --git a/src/abilities/mod.rs b/src/abilities/mod.rs index ed1d099..85f5006 100644 --- a/src/abilities/mod.rs +++ b/src/abilities/mod.rs @@ -4,6 +4,7 @@ mod thrown; use crate::{ aim::AimTarget, + character::ProjectileOrigin, global_observer, heads::ActiveHeads, heads_database::HeadsDatabase, @@ -81,10 +82,12 @@ fn on_trigger_state( trigger: Trigger, mut commands: Commands, player_rot: Query<&Transform, With>, - player_query: Query<(&Transform, &AimTarget), With>, + player_query: Query<(Entity, &AimTarget), With>, mut active_heads: Query<&mut ActiveHeads, With>, heads_db: Res, time: Res