From e3d04ca2478ad3d47d607a3eaf598f3268f47ea2 Mon Sep 17 00:00:00 2001 From: Lexi Quinn Date: Wed, 11 Feb 2026 08:18:46 +1100 Subject: [PATCH] added driftling --- Assets/TextureAtlases/bubble.tres | 2 +- Enemies/Driftling/ene_driftling.tres | 22 ++++ .../Driftling/icon_driftling.png | Bin .../Driftling/icon_driftling.png.import | 6 +- Enemies/Driftling/mat_driftling.tres | 12 ++ Enemies/Driftling/mdl_driftling.glb | Bin 0 -> 55408 bytes Enemies/Driftling/mdl_driftling.glb.import | 50 ++++++++ Enemies/Driftling/scn_driftling.tscn | 111 ++++++++++++++++++ Enemies/Driftling/tex_driftling.png | Bin 0 -> 3664 bytes Enemies/Driftling/tex_driftling.png.import | 41 +++++++ Enemies/ElderEyeDog/elder_eye_dog.tres | 2 +- Enemies/ElderEyeDog/elder_eyedog.glb | Bin 84032 -> 0 bytes ...ye_dog_mat.tres => mat_elder_eye_dog.tres} | 2 +- Enemies/ElderEyeDog/mdl_elder_eye_dog.glb | Bin 0 -> 83464 bytes ...lb.import => mdl_elder_eye_dog.glb.import} | 8 +- ...er_eye_dog.tscn => scn_elder_eye_dog.tscn} | 65 ++++------ ...er_eyedog_tex.png => tex_elder_eyedog.png} | Bin ...png.import => tex_elder_eyedog.png.import} | 6 +- Levels/Level2/wave2.tres | 18 +-- Levels/Level2/wave4.tres | 5 +- Levels/Level2/wave8.tres | 18 ++- PCs/hero.gd | 2 +- PCs/hero.tscn | 2 +- Resources/Enemies/airenemy.tres | 2 +- Scripts/Resources/save_data.gd | 4 + Scripts/driftling_drippler.gd | 55 +++++++++ Scripts/driftling_drippler.gd.uid | 1 + Scripts/enemy_goal.gd | 4 +- Zones/Moat/scn_moat.tscn | 3 +- test_level.tscn | 2 +- 30 files changed, 363 insertions(+), 80 deletions(-) create mode 100644 Enemies/Driftling/ene_driftling.tres rename Assets/Textures/bubble.png => Enemies/Driftling/icon_driftling.png (100%) rename Assets/Textures/bubble.png.import => Enemies/Driftling/icon_driftling.png.import (75%) create mode 100644 Enemies/Driftling/mat_driftling.tres create mode 100644 Enemies/Driftling/mdl_driftling.glb create mode 100644 Enemies/Driftling/mdl_driftling.glb.import create mode 100644 Enemies/Driftling/scn_driftling.tscn create mode 100644 Enemies/Driftling/tex_driftling.png create mode 100644 Enemies/Driftling/tex_driftling.png.import delete mode 100644 Enemies/ElderEyeDog/elder_eyedog.glb rename Enemies/ElderEyeDog/{elder_eye_dog_mat.tres => mat_elder_eye_dog.tres} (88%) create mode 100644 Enemies/ElderEyeDog/mdl_elder_eye_dog.glb rename Enemies/ElderEyeDog/{elder_eyedog.glb.import => mdl_elder_eye_dog.glb.import} (99%) rename Enemies/ElderEyeDog/{elder_eye_dog.tscn => scn_elder_eye_dog.tscn} (57%) rename Enemies/ElderEyeDog/{elder_eyedog_tex.png => tex_elder_eyedog.png} (100%) rename Enemies/ElderEyeDog/{elder_eyedog_tex.png.import => tex_elder_eyedog.png.import} (74%) create mode 100644 Scripts/driftling_drippler.gd create mode 100644 Scripts/driftling_drippler.gd.uid diff --git a/Assets/TextureAtlases/bubble.tres b/Assets/TextureAtlases/bubble.tres index 0343478..f2be6b8 100644 --- a/Assets/TextureAtlases/bubble.tres +++ b/Assets/TextureAtlases/bubble.tres @@ -1,6 +1,6 @@ [gd_resource type="AtlasTexture" format=3 uid="uid://d0vafwv4lhjji"] -[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="1_bkvds"] +[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Enemies/Driftling/icon_driftling.png" id="1_bkvds"] [resource] atlas = ExtResource("1_bkvds") diff --git a/Enemies/Driftling/ene_driftling.tres b/Enemies/Driftling/ene_driftling.tres new file mode 100644 index 0000000..3f78284 --- /dev/null +++ b/Enemies/Driftling/ene_driftling.tres @@ -0,0 +1,22 @@ +[gd_resource type="Resource" script_class="Enemy" format=3 uid="uid://dmmdh16m22yqm"] + +[ext_resource type="Texture2D" uid="uid://ta47gpiwloxm" path="res://Assets/Textures/dead_bubble.png" id="1_85py1"] +[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_wa2rs"] +[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Enemies/Driftling/icon_driftling.png" id="2_4yf64"] +[ext_resource type="PackedScene" uid="uid://ctoqd0fe65ofr" path="res://Enemies/Driftling/scn_driftling.tscn" id="3_pyef7"] + +[resource] +script = ExtResource("1_wa2rs") +title = "ENEMY_FLOATING_FRUIT" +description = "ENEMY_DESC_FLOATING_FRUIT" +target_type = 2 +icon = ExtResource("2_4yf64") +scene = ExtResource("3_pyef7") +death_sprite = ExtResource("1_85py1") +spawn_power = 3 +group_size = 8 +health = 25 +penalty = 4 +movement_speed = 1.3 +spawn_cooldown = 0.4 +metadata/_custom_type_script = "uid://cbwxa2a4hfcy4" diff --git a/Assets/Textures/bubble.png b/Enemies/Driftling/icon_driftling.png similarity index 100% rename from Assets/Textures/bubble.png rename to Enemies/Driftling/icon_driftling.png diff --git a/Assets/Textures/bubble.png.import b/Enemies/Driftling/icon_driftling.png.import similarity index 75% rename from Assets/Textures/bubble.png.import rename to Enemies/Driftling/icon_driftling.png.import index c49a34c..7bbffc1 100644 --- a/Assets/Textures/bubble.png.import +++ b/Enemies/Driftling/icon_driftling.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://chhmkmlfrobhu" -path="res://.godot/imported/bubble.png-c2f885e19b7eb3ae809aa20e6bf51aa3.ctex" +path="res://.godot/imported/icon_driftling.png-1789c848cd61e99bbb7fe7f67d3e59d7.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Assets/Textures/bubble.png" -dest_files=["res://.godot/imported/bubble.png-c2f885e19b7eb3ae809aa20e6bf51aa3.ctex"] +source_file="res://Enemies/Driftling/icon_driftling.png" +dest_files=["res://.godot/imported/icon_driftling.png-1789c848cd61e99bbb7fe7f67d3e59d7.ctex"] [params] diff --git a/Enemies/Driftling/mat_driftling.tres b/Enemies/Driftling/mat_driftling.tres new file mode 100644 index 0000000..66a320c --- /dev/null +++ b/Enemies/Driftling/mat_driftling.tres @@ -0,0 +1,12 @@ +[gd_resource type="ShaderMaterial" format=3 uid="uid://bqi3hc3r35bij"] + +[ext_resource type="Shader" uid="uid://dq04j2s5foo2f" path="res://Shaders/mightyduke_ps1.gdshader" id="1_nil66"] +[ext_resource type="Texture2D" uid="uid://cd0o0ltea1gc5" path="res://Enemies/Driftling/tex_driftling.png" id="2_hy4g3"] + +[resource] +render_priority = 0 +shader = ExtResource("1_nil66") +shader_parameter/albedo = ExtResource("2_hy4g3") +shader_parameter/jitter_z_coordinate = true +shader_parameter/jitter_depth_independent = true +shader_parameter/alpha_scissor = 1.0 diff --git a/Enemies/Driftling/mdl_driftling.glb b/Enemies/Driftling/mdl_driftling.glb new file mode 100644 index 0000000000000000000000000000000000000000..dba4bd6bcf60c190f887b132a1ba5c6760ae7298 GIT binary patch literal 55408 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 M<82jSyI^Sn06}wF&;S4c literal 0 HcmV?d00001 diff --git a/Enemies/Driftling/mdl_driftling.glb.import b/Enemies/Driftling/mdl_driftling.glb.import new file mode 100644 index 0000000..b8e7afa --- /dev/null +++ b/Enemies/Driftling/mdl_driftling.glb.import @@ -0,0 +1,50 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cwgv4x1lemw60" +path="res://.godot/imported/mdl_driftling.glb-9c27fb2767d02357a866b2fb92373c0c.scn" + +[deps] + +source_file="res://Enemies/Driftling/mdl_driftling.glb" +dest_files=["res://.godot/imported/mdl_driftling.glb-9c27fb2767d02357a866b2fb92373c0c.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=false +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"materials": { +"Material": { +"use_external/enabled": true, +"use_external/fallback_path": "res://Enemies/Driftling/mat_driftling.tres", +"use_external/path": "uid://bqi3hc3r35bij" +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/Enemies/Driftling/scn_driftling.tscn b/Enemies/Driftling/scn_driftling.tscn new file mode 100644 index 0000000..64e5b39 --- /dev/null +++ b/Enemies/Driftling/scn_driftling.tscn @@ -0,0 +1,111 @@ +[gd_scene format=3 uid="uid://ctoqd0fe65ofr"] + +[ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="1_8yn7v"] +[ext_resource type="PackedScene" uid="uid://cwgv4x1lemw60" path="res://Enemies/Driftling/mdl_driftling.glb" id="3_8yn7v"] +[ext_resource type="Script" uid="uid://cxu1voan64i5g" path="res://Scripts/driftling_drippler.gd" id="3_j6vnr"] +[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="3_w6hpp"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_jw1s4"] +viewport_path = NodePath("SubViewport") + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c5uwa"] +radius = 0.98339844 +height = 1.977041 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d7aub"] +radius = 0.133503 +height = 2.1241307 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_w6hpp"] +animation = &"Deflated" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lgos0"] +animation = &"Bloated" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_s1mj6"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_bw4p2"] +graph_offset = Vector2(-290, 122) +nodes/Blend2/node = SubResource("AnimationNodeBlend2_s1mj6") +nodes/Blend2/position = Vector2(138, 208) +nodes/Animation/node = SubResource("AnimationNodeAnimation_lgos0") +nodes/Animation/position = Vector2(-94, 177) +"nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_w6hpp") +"nodes/Animation 2/position" = Vector2(-66, 358) +node_connections = [&"output", 0, &"Blend2", &"Blend2", 0, &"Animation", &"Blend2", 1, &"Animation 2"] + +[node name="Driftling" unique_id=1355419805 instance=ExtResource("1_8yn7v")] + +[node name="Sprite3D" parent="." index="0" unique_id=2020998819] +texture = SubResource("ViewportTexture_jw1s4") + +[node name="MainHitbox" type="CollisionShape3D" parent="." index="6" unique_id=1521729609] +transform = Transform3D(0.025398083, 0, 0, 0, 0.025398083, 0, 0, 0, 0.025398083, 0, 0.23003143, 0) +visible = false +shape = SubResource("CapsuleShape3D_c5uwa") +script = ExtResource("3_w6hpp") +metadata/_custom_type_script = "uid://cummt2be3r1gq" + +[node name="MiniHitbox" type="CollisionShape3D" parent="." index="7" unique_id=1324997842] +transform = Transform3D(0.025398083, 0, 0, 0, 0.025398083, 0, 0, 0, 0.025398083, 0, 0.23003143, 0) +shape = SubResource("CapsuleShape3D_d7aub") +script = ExtResource("3_w6hpp") +critical_zone = true +metadata/_custom_type_script = "uid://cummt2be3r1gq" + +[node name="AnimationTree" type="AnimationTree" parent="." index="8" unique_id=1384808804] +root_node = NodePath("../Model/mdl_driftling") +tree_root = SubResource("AnimationNodeBlendTree_bw4p2") +anim_player = NodePath("../Model/mdl_driftling/AnimationPlayer") +parameters/Blend2/blend_amount = 1.0 + +[node name="DriftlingDrippler" type="Node" parent="." index="9" unique_id=1556854131 node_paths=PackedStringArray("driftling", "animator", "model", "bloat_hitbox", "croak_hitbox")] +script = ExtResource("3_j6vnr") +driftling = NodePath("..") +animator = NodePath("../AnimationTree") +model = NodePath("../Model") +bloat_hitbox = NodePath("../MainHitbox") +croak_hitbox = NodePath("../MiniHitbox") +metadata/_custom_type_script = "uid://cxu1voan64i5g" + +[node name="Model" type="Node3D" parent="." index="10" unique_id=1556851526] + +[node name="mdl_driftling" parent="Model" index="0" unique_id=2080841843 instance=ExtResource("3_8yn7v")] +transform = Transform3D(0.025398083, 0, 0, 0, 0.025398083, 0, 0, 0, 0.025398083, 0, 0.23003143, 0) + +[node name="Skeleton3D" parent="Model/mdl_driftling/Armature" parent_id_path=PackedInt32Array(2080841843, 1116308214) index="0" unique_id=754562592] +bones/0/position = Vector3(0, -7.9475665, 0) +bones/0/scale = Vector3(1.0113525, 1.0113525, 1.0113525) +bones/1/position = Vector3(0, 67.987755, 0) +bones/1/scale = Vector3(0.6716861, 0.6716861, 0.6716861) +bones/2/position = Vector3(-1.6946578e-06, 44.271133, -2.1119783e-06) +bones/2/scale = Vector3(0.40565705, 0.40565705, 0.40565705) +bones/3/position = Vector3(-3.765092e-07, 44.27113, 1.1673371e-06) +bones/3/scale = Vector3(0.4056571, 0.40565705, 0.40565717) +bones/4/position = Vector3(7.770317e-07, 44.27113, -1.5014622e-07) +bones/4/rotation = Quaternion(0.5317831, 0.7070258, 0.46605453, -0.010696763) +bones/4/scale = Vector3(0.4056571, 0.40565705, 0.40565705) +bones/5/position = Vector3(-1.4425112e-06, 44.271122, -1.8969426e-06) +bones/5/rotation = Quaternion(-0.537099, 0.70709294, 0.45991817, -0.0044176164) +bones/5/scale = Vector3(0.40565705, 0.4056571, 0.40565717) +bones/6/position = Vector3(4.4186196, 2.4544883, 0.70625716) +bones/6/rotation = Quaternion(-0.064180955, -0.75551605, -0.054375976, 0.6497073) +bones/7/rotation = Quaternion(-0.27142996, 0.5448384, 0.14401576, 0.78021556) +bones/8/rotation = Quaternion(0.14881423, -0.7253057, -0.009013298, 0.6720898) +bones/9/position = Vector3(-4.8646164, 3.1215818, -1.4573387) +bones/9/rotation = Quaternion(-0.22782737, 0.6727271, -0.011520631, 0.7038467) +bones/10/rotation = Quaternion(-0.10566461, -0.019764336, 0.2930021, 0.9500496) +bones/11/rotation = Quaternion(0.022023587, -0.23883471, -0.0027645533, 0.97080654) + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="Model/mdl_driftling" index="2" unique_id=2128131942] +remote_path = NodePath("../../../MainHitbox") + +[node name="RemoteTransform3D2" type="RemoteTransform3D" parent="Model/mdl_driftling" index="3" unique_id=1585476146] +remote_path = NodePath("../../../MiniHitbox") + +[connection signal="recieved_effect" from="MainHitbox" to="StatusEffector" method="add_effect"] +[connection signal="took_damage" from="MainHitbox" to="." method="take_damage"] +[connection signal="recieved_effect" from="MiniHitbox" to="StatusEffector" method="add_effect"] +[connection signal="took_damage" from="MiniHitbox" to="." method="take_damage"] + +[editable path="Model/mdl_driftling"] diff --git a/Enemies/Driftling/tex_driftling.png b/Enemies/Driftling/tex_driftling.png new file mode 100644 index 0000000000000000000000000000000000000000..6745d859037d826654a97e96556bcb5e26098bc9 GIT binary patch literal 3664 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 Z+WSs=IHx&g#ZFMC&ePS;Wt~$(698E{&IkYi literal 0 HcmV?d00001 diff --git a/Enemies/Driftling/tex_driftling.png.import b/Enemies/Driftling/tex_driftling.png.import new file mode 100644 index 0000000..d5e1537 --- /dev/null +++ b/Enemies/Driftling/tex_driftling.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cd0o0ltea1gc5" +path.s3tc="res://.godot/imported/tex_driftling.png-db4d273741c34886144ee624ee680b1a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Enemies/Driftling/tex_driftling.png" +dest_files=["res://.godot/imported/tex_driftling.png-db4d273741c34886144ee624ee680b1a.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Enemies/ElderEyeDog/elder_eye_dog.tres b/Enemies/ElderEyeDog/elder_eye_dog.tres index 881f8a8..3eafd77 100644 --- a/Enemies/ElderEyeDog/elder_eye_dog.tres +++ b/Enemies/ElderEyeDog/elder_eye_dog.tres @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_q48il"] [ext_resource type="Texture2D" uid="uid://e7lahg40lq8a" path="res://Assets/Textures/dead_eye_dog_heavy.png" id="1_qveaa"] [ext_resource type="Texture2D" uid="uid://c0543ucoalwmi" path="res://Assets/TextureAtlases/dog_fast_heavy.tres" id="2_7nc4x"] -[ext_resource type="PackedScene" uid="uid://dl3rwqwbgrq2m" path="res://Enemies/ElderEyeDog/elder_eye_dog.tscn" id="3_m808b"] +[ext_resource type="PackedScene" uid="uid://dl3rwqwbgrq2m" path="res://Enemies/ElderEyeDog/scn_elder_eye_dog.tscn" id="3_m808b"] [resource] script = ExtResource("1_q48il") diff --git a/Enemies/ElderEyeDog/elder_eyedog.glb b/Enemies/ElderEyeDog/elder_eyedog.glb deleted file mode 100644 index 82971e1032746558bdb6f1ffd7f5680e9dcd5245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84032 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%0D0Qf9OOS!1EW-3 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%0DD{g0SxyK{dk_txgk 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 void: hud.hot_wheel.update_cassettes(get_wheel_cards()) -func _on_hitbox_took_damage(amount: int, damage_type: int, pos: Vector3) -> void: +func _on_hitbox_took_damage(_amount: int, _damage_type: int, _pos: Vector3) -> void: pass # Replace with function body. diff --git a/PCs/hero.tscn b/PCs/hero.tscn index 1140837..df4442c 100644 --- a/PCs/hero.tscn +++ b/PCs/hero.tscn @@ -22,7 +22,7 @@ [ext_resource type="Environment" uid="uid://cpn2no3e8s361" path="res://cam_environment.tres" id="13_vkt85"] [ext_resource type="Script" uid="uid://dkhl8u8p6gmlu" path="res://PCs/spring.gd" id="15_0ehim"] [ext_resource type="Texture2D" uid="uid://c60fh34ttgcvh" path="res://Assets/Textures/minimap_player.png" id="15_nhlam"] -[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="15_q3yot"] +[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Enemies/Driftling/icon_driftling.png" id="15_q3yot"] [ext_resource type="Texture2D" uid="uid://cqnapc8cscl7i" path="res://Assets/Textures/border.png" id="16_x1xjr"] [ext_resource type="PackedScene" uid="uid://chnj376d3lcjd" path="res://UI/pickup_notification.tscn" id="17_oyeww"] [ext_resource type="Script" uid="uid://b5wle8f6rv3e7" path="res://PCs/player_movement.gd" id="20_cfhw8"] diff --git a/Resources/Enemies/airenemy.tres b/Resources/Enemies/airenemy.tres index daad7f1..91890d6 100644 --- a/Resources/Enemies/airenemy.tres +++ b/Resources/Enemies/airenemy.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="Enemy" format=3 uid="uid://dsgkwh3opyqtx"] -[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="1_57rr1"] +[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Enemies/Driftling/icon_driftling.png" id="1_57rr1"] [ext_resource type="Texture2D" uid="uid://ta47gpiwloxm" path="res://Assets/Textures/dead_bubble.png" id="1_ioqxi"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_wjbfx"] [ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="3_86skx"] diff --git a/Scripts/Resources/save_data.gd b/Scripts/Resources/save_data.gd index 13315ca..2283a12 100644 --- a/Scripts/Resources/save_data.gd +++ b/Scripts/Resources/save_data.gd @@ -28,6 +28,10 @@ var mage_unlocked: bool = 0 func check_high_score(level_title: String, wave_reached: int, endless: bool) -> void: + if !endless_high_scores.has(level_title): + endless_high_scores[level_title] = 0 + if !level_high_scores.has(level_title): + level_high_scores[level_title] = 0 if endless and endless_high_scores[level_title] < wave_reached: endless_high_scores[level_title] = wave_reached elif level_high_scores[level_title] < wave_reached: diff --git a/Scripts/driftling_drippler.gd b/Scripts/driftling_drippler.gd new file mode 100644 index 0000000..ae141f8 --- /dev/null +++ b/Scripts/driftling_drippler.gd @@ -0,0 +1,55 @@ +class_name DriftlingDrippler +extends Node + +enum DriftlingDrippleState { + BLOATING = 0, + FLOATING = 1, + CHOAKING = 2, + CROAKING = 3 +} + +@export var driftling: EnemyController +@export var animator: AnimationTree +@export var model: Node3D +@export var bloat_hitbox: Hitbox +@export var croak_hitbox: Hitbox + +var time_to_bloat: float = 1.5 +var time_to_float: float = 3.0 +var time_to_choak: float = 0.8 +var time_to_croak: float = 0.4 +var state: DriftlingDrippleState = DriftlingDrippleState.BLOATING + + +func _ready() -> void: + time_to_bloat += NoiseRandom.randf_in_range(name.to_int(), 0.0, 0.5) + time_to_float += NoiseRandom.randf_in_range(name.to_int(), 0.0, 2.0) + time_to_choak += NoiseRandom.randf_in_range(name.to_int(), 0.0, 0.4) + time_to_croak += NoiseRandom.randf_in_range(name.to_int(), 0.0, 0.2) + next_state(DriftlingDrippleState.BLOATING) + + +func set_dripple(amount: float) -> void: + animator.set("parameters/Blend2/blend_amount", amount) + + +func next_state(state: DriftlingDrippleState) -> void: + var tween: Tween = create_tween() + + match state: + DriftlingDrippleState.BLOATING: + tween.tween_method(set_dripple, 1.0, 0.0, time_to_bloat) + tween.tween_property(model, "position", Vector3.UP * 3.0, time_to_bloat) + tween.tween_callback(next_state.bind(DriftlingDrippleState.FLOATING)) + DriftlingDrippleState.FLOATING: + bloat_hitbox.disabled = false + tween.tween_interval(time_to_float) + tween.tween_callback(next_state.bind(DriftlingDrippleState.CHOAKING)) + DriftlingDrippleState.CHOAKING: + bloat_hitbox.disabled = true + tween.tween_method(set_dripple, 0.0, 1.0, time_to_croak) + tween.tween_property(model, "position", Vector3.DOWN * 3.0, time_to_croak) + tween.tween_callback(next_state.bind(DriftlingDrippleState.CROAKING)) + DriftlingDrippleState.CROAKING: + tween.tween_interval(time_to_float) + tween.tween_callback(next_state.bind(DriftlingDrippleState.BLOATING)) diff --git a/Scripts/driftling_drippler.gd.uid b/Scripts/driftling_drippler.gd.uid new file mode 100644 index 0000000..a004c48 --- /dev/null +++ b/Scripts/driftling_drippler.gd.uid @@ -0,0 +1 @@ +uid://cxu1voan64i5g diff --git a/Scripts/enemy_goal.gd b/Scripts/enemy_goal.gd index dcbb53a..30725ad 100644 --- a/Scripts/enemy_goal.gd +++ b/Scripts/enemy_goal.gd @@ -24,13 +24,13 @@ func enemy_entered_shield_range(body: Node3D) -> void: body.reached_goal.connect(enemy_reached_goal) -func enemy_died(enemy: Enemy) -> void: +func enemy_died(_enemy: Enemy) -> void: enemies_inside -= 1 if enemies_inside == 0: goal_cleared.emit() -func enemy_reached_goal(enemy: Enemy, penalty: int) -> void: +func enemy_reached_goal(_enemy: Enemy, _penalty: int) -> void: enemies_inside -= 1 if enemies_inside == 0: goal_cleared.emit() diff --git a/Zones/Moat/scn_moat.tscn b/Zones/Moat/scn_moat.tscn index 7aa40a4..a46d963 100644 --- a/Zones/Moat/scn_moat.tscn +++ b/Zones/Moat/scn_moat.tscn @@ -7,6 +7,7 @@ [ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Enemies/Crystalisk/crystalisk.tres" id="4_uh5sr"] [ext_resource type="Resource" uid="uid://cvehqh4tt28g7" path="res://Enemies/BabyEyeDog/baby_eye_dog.tres" id="5_g08yk"] [ext_resource type="Resource" uid="uid://dxi17xvdlhkvc" path="res://Enemies/ElderEyeDog/elder_eye_dog.tres" id="6_asmpj"] +[ext_resource type="Resource" uid="uid://dmmdh16m22yqm" path="res://Enemies/Driftling/ene_driftling.tres" id="7_1qlg4"] [ext_resource type="PackedScene" uid="uid://d1gauy86jxpnj" path="res://BrickPile/brick_pile.tscn" id="7_6tcu8"] [ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/CardPrinter/card_printer.tscn" id="9_r25gu"] [ext_resource type="Script" uid="uid://cxwtuxytavfu5" path="res://Scripts/enemy_goal.gd" id="9_s3rd7"] @@ -31,7 +32,7 @@ size = Vector3(260.6662, 2.4995117, 318.20755) [node name="Bridge" type="Node3D" unique_id=1906077552 node_paths=PackedStringArray("tower_path", "player_spawns", "enemy_spawns", "enemy_goals", "corpses", "printer", "shop")] script = ExtResource("1_ws6nn") -enemy_pool = Array[ExtResource("2_ks6qx")]([ExtResource("3_6tcu8"), ExtResource("6_asmpj"), ExtResource("5_g08yk"), ExtResource("4_uh5sr")]) +enemy_pool = Array[ExtResource("2_ks6qx")]([ExtResource("3_6tcu8"), ExtResource("6_asmpj"), ExtResource("5_g08yk"), ExtResource("4_uh5sr"), ExtResource("7_1qlg4")]) tower_path = NodePath("Towers") player_spawns = [NodePath("PlayerSpawnLocations/PlayerSpawn1"), NodePath("PlayerSpawnLocations/PlayerSpawn2"), NodePath("PlayerSpawnLocations/PlayerSpawn3"), NodePath("PlayerSpawnLocations/PlayerSpawn4")] enemy_spawns = [NodePath("GroundSpawn"), NodePath("GroundSpawn2"), NodePath("GroundSpawn3"), NodePath("GroundSpawn4"), NodePath("GroundSpawn5"), NodePath("AirSpawn")] diff --git a/test_level.tscn b/test_level.tscn index 4ad7229..024a5cc 100644 --- a/test_level.tscn +++ b/test_level.tscn @@ -2,7 +2,7 @@ [ext_resource type="PackedScene" uid="uid://bvq6tbkuv2mfp" path="res://Enemies/EyeDog/eye_dog.tscn" id="1_sb12i"] [ext_resource type="Texture2D" uid="uid://cdnhe2mi5c5ln" path="res://Assets/Textures/dead_eye_dog.png" id="2_6emce"] -[ext_resource type="PackedScene" uid="uid://dl3rwqwbgrq2m" path="res://Enemies/ElderEyeDog/elder_eye_dog.tscn" id="2_gbhdq"] +[ext_resource type="PackedScene" uid="uid://dl3rwqwbgrq2m" path="res://Enemies/ElderEyeDog/scn_elder_eye_dog.tscn" id="2_gbhdq"] [ext_resource type="Texture2D" uid="uid://g00wwrlxxdc5" path="res://Assets/Textures/icon_eye_dog.png" id="3_lowby"] [ext_resource type="PackedScene" uid="uid://cveiaa0y66gln" path="res://Enemies/Crystalisk/crystal_enemy.tscn" id="3_y646j"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="4_58smv"]