Stephan/hez 2 npc should loose head if 0 health (#34)

This commit is contained in:
extrawurst
2025-04-20 11:26:06 +02:00
committed by GitHub
parent 7cd4b38ebd
commit 2dcc396666
7 changed files with 107 additions and 12 deletions

View File

@@ -2,6 +2,7 @@ use crate::{
GameState,
ai::Ai,
head::ActiveHead,
head_drop::HeadDrops,
heads::{ActiveHeads, HEAD_COUNT, HeadState},
heads_database::HeadsDatabase,
hitpoints::{Hitpoints, Kill},
@@ -50,12 +51,14 @@ fn init(mut commands: Commands, query: Query<(Entity, &EnemySpawn)>, heads_db: R
fn on_kill(
trigger: Trigger<Kill>,
mut commands: Commands,
query: Query<(&Transform, &EnemySpawn)>,
query: Query<(&Transform, &EnemySpawn, &ActiveHead)>,
) {
let Ok((transform, enemy)) = query.get(trigger.entity()) else {
let Ok((transform, enemy, head)) = query.get(trigger.entity()) else {
return;
};
commands.trigger(HeadDrops(transform.translation, head.0));
commands.entity(trigger.entity()).despawn_recursive();
if !enemy.key.is_empty() {