diff --git a/Effects/EnemyDeathEffect.gd b/Effects/EnemyDeathEffect.gd new file mode 100644 index 0000000..16e026b --- /dev/null +++ b/Effects/EnemyDeathEffect.gd @@ -0,0 +1,4 @@ +extends Node2D + +func _on_DustEffect11_tree_exited(): + queue_free() diff --git a/Effects/EnemyDeathEffect.tscn b/Effects/EnemyDeathEffect.tscn new file mode 100644 index 0000000..aaac0a8 --- /dev/null +++ b/Effects/EnemyDeathEffect.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Effects/DustEffect.tscn" type="PackedScene" id=1] +[ext_resource path="res://Effects/EnemyDeathEffect.gd" type="Script" id=2] + +[node name="EnemyDeathEffect" type="Node2D"] +script = ExtResource( 2 ) + +[node name="DustEffect" parent="." instance=ExtResource( 1 )] + +[node name="DustEffect2" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, 7 ) + +[node name="DustEffect3" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -8 ) + +[node name="DustEffect4" parent="." instance=ExtResource( 1 )] +position = Vector2( 7, -3 ) + +[node name="DustEffect8" parent="." instance=ExtResource( 1 )] +position = Vector2( -7, -3 ) + +[node name="DustEffect10" parent="." instance=ExtResource( 1 )] +position = Vector2( -7, 4 ) + +[node name="DustEffect11" parent="." instance=ExtResource( 1 )] +position = Vector2( 7, 4 ) + +[connection signal="tree_exited" from="DustEffect11" to="." method="_on_DustEffect11_tree_exited"] diff --git a/Enemies/Enemy.gd b/Enemies/Enemy.gd index 5101168..8cad2e5 100644 --- a/Enemies/Enemy.gd +++ b/Enemies/Enemy.gd @@ -1,5 +1,7 @@ extends KinematicBody2D +var deathEffect = preload("res://Effects/EnemyDeathEffect.tscn") + export(int) var MAX_SPEED = 15 var motion = Vector2.ZERO @@ -9,4 +11,5 @@ func _on_Hurtbox_hit(damage): stats.health -= damage func _on_EnemyStats_enemy_death(): + Utils.instance_on_main(deathEffect, global_position) queue_free()