diff --git a/graphics/enemy/slime_purple.png b/graphics/enemy/pal_slime_purple.png similarity index 100% rename from graphics/enemy/slime_purple.png rename to graphics/enemy/pal_slime_purple.png diff --git a/graphics/enemy/pal_slime_purple.png.import b/graphics/enemy/pal_slime_purple.png.import new file mode 100644 index 0000000..53250cf --- /dev/null +++ b/graphics/enemy/pal_slime_purple.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pal_slime_purple.png-d805a8245be98e61426c73599f2b2190.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/pal_slime_purple.png" +dest_files=[ "res://.import/pal_slime_purple.png-d805a8245be98e61426c73599f2b2190.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/particles/slime.png b/graphics/particles/slime.png new file mode 100644 index 0000000..5afc927 Binary files /dev/null and b/graphics/particles/slime.png differ diff --git a/graphics/enemy/slime_purple.png.import b/graphics/particles/slime.png.import similarity index 70% rename from graphics/enemy/slime_purple.png.import rename to graphics/particles/slime.png.import index 90475d6..f9130d9 100644 --- a/graphics/enemy/slime_purple.png.import +++ b/graphics/particles/slime.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/slime_purple.png-2e24557adf5bdd2777a17906d3867cf5.stex" +path="res://.import/slime.png-0c1cdefef5c663365373c826e991178b.stex" metadata={ "vram_texture": false } [deps] -source_file="res://graphics/enemy/slime_purple.png" -dest_files=[ "res://.import/slime_purple.png-2e24557adf5bdd2777a17906d3867cf5.stex" ] +source_file="res://graphics/particles/slime.png" +dest_files=[ "res://.import/slime.png-0c1cdefef5c663365373c826e991178b.stex" ] [params] diff --git a/objects/enemy/slime.gd b/objects/enemy/slime.gd new file mode 100644 index 0000000..2f9d7c4 --- /dev/null +++ b/objects/enemy/slime.gd @@ -0,0 +1,11 @@ +extends "res://objects/enemy/enemy.gd" + +const slime_particles = preload("res://objects/enemy/slime_particles.tscn") + +func die(): + .die() + var death_particles = slime_particles.instance() + death_particles.global_position = global_position + death_blood_offset + death_particles.emitting = true + get_parent().add_child(death_particles) + diff --git a/objects/enemy/slime.tscn b/objects/enemy/slime.tscn index e36f82d..925ef7d 100644 --- a/objects/enemy/slime.tscn +++ b/objects/enemy/slime.tscn @@ -2,8 +2,8 @@ [ext_resource path="res://graphics/enemy/slime.png" type="Texture" id=1] [ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=2] -[ext_resource path="res://graphics/enemy/slime_purple.png" type="Texture" id=3] -[ext_resource path="res://objects/enemy/enemy.gd" type="Script" id=4] +[ext_resource path="res://graphics/enemy/pal_slime_purple.png" type="Texture" id=3] +[ext_resource path="res://objects/enemy/slime.gd" type="Script" id=4] [sub_resource type="ShaderMaterial" id=1] shader = ExtResource( 2 ) @@ -32,7 +32,7 @@ extents = Vector2( 5.5, 4.5 ) [node name="Slime" type="Node2D" groups=["enemy"]] script = ExtResource( 4 ) -score_for_killing = 10 +blood = false [node name="AnimatedSprite" type="AnimatedSprite" parent="."] material = SubResource( 1 ) diff --git a/objects/enemy/slime_particles.tscn b/objects/enemy/slime_particles.tscn new file mode 100644 index 0000000..26b7042 --- /dev/null +++ b/objects/enemy/slime_particles.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://graphics/particles/slime.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 ] + +[node name="DeathSplatter" type="CPUParticles2D"] +emitting = false +lifetime = 0.4 +one_shot = true +explosiveness = 0.9 +local_coords = false +texture = ExtResource( 1 ) +emission_shape = 2 +emission_rect_extents = Vector2( 4, 4 ) +direction = Vector2( 0, -1 ) +spread = 180.0 +gravity = Vector2( 0, 50 ) +initial_velocity = 60.0 +initial_velocity_random = 0.9 +damping = 2.0 +angle = 720.0 +angle_random = 1.0 +scale_amount = 0.5 +scale_amount_random = 1.0 +scale_amount_curve = SubResource( 43 )