From 18f5b28295b0672de0ca44cd94b47bf8d45d9bfa Mon Sep 17 00:00:00 2001 From: Hazel Snider Date: Mon, 16 Jan 2023 02:08:35 -0500 Subject: [PATCH] inflict upon EVERYONE a bloody death! --- objects/enemy/death_particles.tscn | 37 ++++++++++++++++++++++++++++++ objects/enemy/enemy.gd | 8 +++++++ scripts/debug.gd | 3 +-- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 objects/enemy/death_particles.tscn diff --git a/objects/enemy/death_particles.tscn b/objects/enemy/death_particles.tscn new file mode 100644 index 0000000..0dffa47 --- /dev/null +++ b/objects/enemy/death_particles.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://graphics/particles/blood.png" type="Texture" id=1] + +[sub_resource type="Curve" id=43] +_data = [ Vector2( 0, 1 ), 0.0, -0.113537, 0, 0, Vector2( 1, 0 ), -3.35032, 0.0, 0, 0 ] + +[sub_resource type="CurveTexture" id=42] +width = 128 +curve = SubResource( 43 ) + +[sub_resource type="ParticlesMaterial" id=44] +emission_shape = 2 +emission_box_extents = Vector3( 4, 4, 0 ) +flag_disable_z = true +direction = Vector3( 0, -1, 0 ) +spread = 180.0 +gravity = Vector3( 0, 50, 0 ) +initial_velocity = 60.0 +initial_velocity_random = 0.9 +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 +damping = 2.0 +angle = 720.0 +angle_random = 1.0 +scale = 0.5 +scale_random = 1.0 +scale_curve = SubResource( 42 ) + +[node name="DeathSplatter" type="Particles2D"] +emitting = false +lifetime = 0.2 +one_shot = true +explosiveness = 0.9 +local_coords = false +process_material = SubResource( 44 ) +texture = ExtResource( 1 ) diff --git a/objects/enemy/enemy.gd b/objects/enemy/enemy.gd index fe7a44b..9c1c463 100644 --- a/objects/enemy/enemy.gd +++ b/objects/enemy/enemy.gd @@ -1,5 +1,7 @@ extends Node2D +const DeathParticles = preload("res://objects/enemy/death_particles.tscn") + export var can_be_killed_by_sword = true export var can_be_killed_by_arrow = true export var can_be_squashed = true @@ -33,5 +35,11 @@ func _on_Area2D_area_entered(area): die() func die(): + var death_particles = DeathParticles.instance() + death_particles.global_position = global_position + death_particles.emitting = true + get_parent().add_child(death_particles) + + Game.play_sound(Game.a_die, Game.ac_die) Game.score += score_for_killing queue_free() diff --git a/scripts/debug.gd b/scripts/debug.gd index 4fec511..49cdcdd 100644 --- a/scripts/debug.gd +++ b/scripts/debug.gd @@ -111,9 +111,8 @@ func _enter_code(): goldsprite.position.y -= 2 #goldsprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_green.png")) "1989": - Game.play_sound(Game.a_die, Game.ac_die) for enemy in get_tree().get_nodes_in_group("enemy"): - enemy.queue_free() + enemy.die() "DGSTEEZY": debug = true "6DOUBLOONS":