way too many changes to list, oops. big rewrite.

This commit is contained in:
2025-05-27 03:38:03 +10:00
parent 16951a9beb
commit 4a21701a35
663 changed files with 7389 additions and 3283 deletions

View File

@ -1,17 +1,17 @@
[gd_scene load_steps=13 format=3 uid="uid://bjo2q6vca5qlv"]
[ext_resource type="Script" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_m83kr"]
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_m83kr"]
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_aed6c"]
[ext_resource type="Script" path="res://Scripts/health.gd" id="3_wiose"]
[ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="3_wiose"]
[ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="4_mhq3m"]
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="5_433ie"]
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="6_ke2c8"]
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="9_4xla1"]
[ext_resource type="Script" path="res://Scripts/status_effector.gd" id="9_7hati"]
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="9_7hati"]
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_7yfyh"]
[ext_resource type="Script" path="res://Scripts/EnemyAI/beelining_controller.gd" id="9_cx8mv"]
[ext_resource type="Script" uid="uid://d147vuqksqhis" path="res://Scripts/EnemyAI/beelining_controller.gd" id="9_cx8mv"]
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="10_4ayno"]
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
[sub_resource type="SphereShape3D" id="SphereShape3D_yxqm6"]
[sub_resource type="ViewportTexture" id="ViewportTexture_ss5ir"]
viewport_path = NodePath("SubViewport")
@ -32,9 +32,9 @@ script = ExtResource("3_wiose")
damage_particle_scene = ExtResource("4_mhq3m")
[node name="Hitbox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00571543, 0)
shape = SubResource("SphereShape3D_21dgw")
script = ExtResource("5_433ie")
shape = SubResource("SphereShape3D_yxqm6")
script = ExtResource("10_4ayno")
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="DirectionSprite" type="Sprite3D" parent="."]
transform = Transform3D(1.56, 0, 0, 0, 1.56, 0, 0, 0, 1.56, 0, 0.0251125, 0)

View File

@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 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://ta47gpiwloxm" path="res://Assets/Textures/dead_bubble.png" id="1_ioqxi"]
[ext_resource type="Script" path="res://Scripts/Resources/enemy.gd" id="1_wjbfx"]
[ext_resource type="Texture2D" uid="uid://d0vafwv4lhjji" path="res://Assets/TextureAtlases/bubble.tres" id="3_homny"]
[resource]
script = ExtResource("1_wjbfx")
title = "bubble"
target_type = 2
icon = ExtResource("1_57rr1")
death_sprite = ExtResource("1_ioqxi")
sprite = ExtResource("3_homny")
spawn_power = 4
health = 30
penalty = 4
movement_speed = 1.5
spawn_cooldown = 0.5

View File

@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://bffhb5krs5elm"]
[ext_resource type="Texture2D" uid="uid://b1lwaxw62yp3p" path="res://Assets/Textures/dead_spike.png" id="1_1js8q"]
[ext_resource type="Texture2D" uid="uid://duywsy7jmh4u" path="res://Assets/Textures/spike.png" id="1_22o7e"]
[ext_resource type="Script" path="res://Scripts/Resources/enemy.gd" id="1_q5r05"]
[ext_resource type="Texture2D" uid="uid://sybn6bjbj5fh" path="res://Assets/TextureAtlases/spike.tres" id="3_tbb38"]
[resource]
script = ExtResource("1_q5r05")
title = "spike"
target_type = 2
icon = ExtResource("1_22o7e")
death_sprite = ExtResource("1_1js8q")
sprite = ExtResource("3_tbb38")
spawn_power = 6
health = 90
penalty = 7
movement_speed = 1.0
spawn_cooldown = 1.0

View File

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://8eba45hql7bo"]
[ext_resource type="Script" path="res://Scripts/Resources/enemy.gd" id="1_2lqbg"]
[ext_resource type="Texture2D" uid="uid://g00wwrlxxdc5" path="res://Assets/Textures/icon_eye_dog.png" id="1_es0ht"]
[ext_resource type="Texture2D" uid="uid://cdnhe2mi5c5ln" path="res://Assets/Textures/dead_eye_dog.png" id="1_w6c0l"]
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="2_vgx18"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n6kdu"]
resource_local_to_scene = true
atlas = ExtResource("2_vgx18")
region = Rect2(0, 0, 32, 32)
[resource]
resource_local_to_scene = true
script = ExtResource("1_2lqbg")
title = "dog"
target_type = 1
icon = ExtResource("1_es0ht")
death_sprite = ExtResource("1_w6c0l")
sprite = SubResource("AtlasTexture_n6kdu")
spawn_power = 10
health = 180
penalty = 10
movement_speed = 1.2
spawn_cooldown = 1.2

View File

@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://boik1gnpl4v0a"]
[ext_resource type="Texture2D" uid="uid://cde0voyrwnqkl" path="res://Assets/Textures/icon_eye_dog_boss.png" id="1_2o720"]
[ext_resource type="Texture2D" uid="uid://bp3njt3h0qfbg" path="res://Assets/Textures/dead_eye_dog_boss.png" id="1_5xm32"]
[ext_resource type="Script" path="res://Scripts/Resources/enemy.gd" id="1_euaab"]
[ext_resource type="Texture2D" uid="uid://ff3cys53p37j" path="res://Assets/TextureAtlases/dog_fast_boss.tres" id="2_1m62w"]
[resource]
script = ExtResource("1_euaab")
title = "boss dog"
target_type = 1
icon = ExtResource("1_2o720")
death_sprite = ExtResource("1_5xm32")
sprite = ExtResource("2_1m62w")
spawn_power = 100
health = 1000
penalty = 40
movement_speed = 1.0
spawn_cooldown = 1.0

View File

@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://cvehqh4tt28g7"]
[ext_resource type="Script" path="res://Scripts/Resources/enemy.gd" id="1_k5sd1"]
[ext_resource type="Texture2D" uid="uid://cv5p03aw78vwd" path="res://Assets/Textures/icon_eye_dog_fast.png" id="1_xgen5"]
[ext_resource type="Texture2D" uid="uid://dgdofekr7ow73" path="res://Assets/Textures/dead_eye_dog_fast.png" id="1_yj87d"]
[ext_resource type="Texture2D" uid="uid://dd212gh03wloa" path="res://Assets/TextureAtlases/dog_fast.tres" id="2_mkbm6"]
[resource]
script = ExtResource("1_k5sd1")
title = "fast dog"
target_type = 1
icon = ExtResource("1_xgen5")
death_sprite = ExtResource("1_yj87d")
sprite = ExtResource("2_mkbm6")
spawn_power = 16
health = 100
penalty = 4
movement_speed = 3.5
spawn_cooldown = 0.7

View File

@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://dxi17xvdlhkvc"]
[ext_resource type="Texture2D" uid="uid://08n5jvq5tptf" path="res://Assets/Textures/icon_eye_dog_heavy.png" id="1_lck53"]
[ext_resource type="Script" 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"]
[resource]
script = ExtResource("1_q48il")
title = "heavy dog"
target_type = 1
icon = ExtResource("1_lck53")
death_sprite = ExtResource("1_qveaa")
sprite = ExtResource("2_7nc4x")
spawn_power = 14
health = 350
penalty = 15
movement_speed = 0.8
spawn_cooldown = 2.0

View File

@ -24,8 +24,10 @@ func _ready() -> void:
movement_speed = stats.movement_speed
func damage(amount: float) -> void:
$Hitbox.damage(amount)
func apply_effect(effect: Effect) -> void:
health.take_damage(effect.damage)
for status: StatusEffect in effect.status_effects:
status_manager.add_effect(status)
func goal_entered() -> void:

View File

@ -0,0 +1 @@
uid://ejqql2660u6h

View File

@ -1,25 +1,25 @@
[gd_scene load_steps=16 format=3 uid="uid://b0nady5xm88bo"]
[ext_resource type="Script" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_fwsjt"]
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="2_j8yin"]
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_fwsjt"]
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="2_o7jmg"]
[ext_resource type="Script" path="res://Scripts/health.gd" id="2_swu53"]
[ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="2_swu53"]
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_y7h25"]
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="3_naknq"]
[ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="4_tn1tu"]
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="7_5eo4w"]
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_f8btv"]
[ext_resource type="Script" path="res://Scripts/EnemyAI/pathing_controller.gd" id="10_gljle"]
[ext_resource type="Script" uid="uid://b62xnsbki8axa" path="res://Scripts/EnemyAI/pathing_controller.gd" id="10_gljle"]
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="10_or8n6"]
[ext_resource type="Script" path="res://Scripts/status_effector.gd" id="10_txouh"]
[ext_resource type="Script" path="res://Scripts/sprite_bobber.gd" id="12_2nmk0"]
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="10_txouh"]
[ext_resource type="Script" uid="uid://cp77etg1m1hc2" path="res://Scripts/sprite_bobber.gd" id="12_2nmk0"]
[sub_resource type="AtlasTexture" id="AtlasTexture_o3ikr"]
resource_local_to_scene = true
atlas = ExtResource("3_naknq")
region = Rect2(0, 0, 32, 32)
[sub_resource type="SphereShape3D" id="SphereShape3D_132sr"]
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
viewport_path = NodePath("SubViewport")
@ -37,16 +37,17 @@ corpse_scene = ExtResource("2_y7h25")
script = ExtResource("2_swu53")
damage_particle_scene = ExtResource("4_tn1tu")
[node name="Hitbox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.527022, 0)
shape = SubResource("SphereShape3D_21dgw")
script = ExtResource("2_j8yin")
[node name="DirectionSprite" parent="." instance=ExtResource("2_o7jmg")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.585, 0)
pixel_size = 0.04
texture = SubResource("AtlasTexture_o3ikr")
[node name="Hitbox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.441355, 0)
shape = SubResource("SphereShape3D_132sr")
script = ExtResource("7_5eo4w")
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="HealthBar" type="Sprite3D" parent="."]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
sorting_offset = 1.0

View File

@ -0,0 +1,206 @@
[gd_scene load_steps=20 format=3 uid="uid://cmneu5o0m02l8"]
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_joiuq"]
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_ssgps"]
[ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="3_dhcpw"]
[ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="4_yref6"]
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="5_5u3uw"]
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="6_h3ov4"]
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="7_72t32"]
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="8_egpbw"]
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="9_47ywr"]
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="10_lce6w"]
[ext_resource type="Script" uid="uid://cp77etg1m1hc2" path="res://Scripts/sprite_bobber.gd" id="12_g2knp"]
[ext_resource type="Script" uid="uid://dqluvn05min37" path="res://Scripts/EnemyAI/leaping_controller.gd" id="12_joiuq"]
[sub_resource type="AtlasTexture" id="AtlasTexture_o3ikr"]
resource_local_to_scene = true
atlas = ExtResource("6_h3ov4")
region = Rect2(0, 0, 32, 32)
[sub_resource type="SphereShape3D" id="SphereShape3D_132sr"]
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
viewport_path = NodePath("SubViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_joiuq"]
viewport_path = NodePath("SubViewport2")
[sub_resource type="ViewportTexture" id="ViewportTexture_ssgps"]
viewport_path = NodePath("SubViewport3")
[sub_resource type="ViewportTexture" id="ViewportTexture_dhcpw"]
viewport_path = NodePath("SubViewport4")
[sub_resource type="ViewportTexture" id="ViewportTexture_yref6"]
viewport_path = NodePath("SubViewport5")
[node name="LeapingEnemy" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "sprite") groups=["Enemies"]]
collision_layer = 4
collision_mask = 3
script = ExtResource("1_joiuq")
status_manager = NodePath("StatusEffector")
movement_controller = NodePath("LeapingController")
health = NodePath("Health")
sprite = NodePath("DirectionSprite")
corpse_scene = ExtResource("2_ssgps")
[node name="Health" type="Node" parent="."]
script = ExtResource("3_dhcpw")
damage_particle_scene = ExtResource("4_yref6")
[node name="DirectionSprite" parent="." instance=ExtResource("5_5u3uw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.585, 0)
pixel_size = 0.04
texture = SubResource("AtlasTexture_o3ikr")
[node name="Hitbox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.441355, 0)
shape = SubResource("SphereShape3D_132sr")
script = ExtResource("7_72t32")
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="HealthBar" type="Sprite3D" parent="."]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
sorting_offset = 1.0
pixel_size = 0.02
billboard = 1
texture_filter = 0
texture = SubResource("ViewportTexture_4tj6k")
[node name="MinimapIcon" type="Sprite3D" parent="."]
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
layers = 4
texture_filter = 0
texture = ExtResource("8_egpbw")
[node name="StatusEffector" type="Node3D" parent="." node_paths=PackedStringArray("hbox", "enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.18114, 0)
script = ExtResource("9_47ywr")
hbox = NodePath("../SubViewport/HBoxContainer")
enemy = NodePath("..")
[node name="SubViewport" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(200, 55)
render_target_update_mode = 4
[node name="HBoxContainer" type="HBoxContainer" parent="SubViewport"]
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 32.0
grow_horizontal = 2
alignment = 1
[node name="HealthBar" parent="SubViewport" instance=ExtResource("10_lce6w")]
visible = false
offset_top = 36.0
offset_bottom = 236.0
[node name="SpriteBobber" type="Node" parent="." node_paths=PackedStringArray("character", "sprite")]
script = ExtResource("12_g2knp")
character = NodePath("..")
sprite = NodePath("../DirectionSprite")
[node name="LeapingController" type="Node" parent="." node_paths=PackedStringArray("eastl", "westl", "northl", "southl", "easts", "wests", "norths", "souths", "box", "character")]
script = ExtResource("12_joiuq")
eastl = NodePath("../SubViewport2/East")
westl = NodePath("../SubViewport3/West")
northl = NodePath("../SubViewport5/North")
southl = NodePath("../SubViewport4/South")
easts = NodePath("../east")
wests = NodePath("../west")
norths = NodePath("../north")
souths = NodePath("../south")
box = NodePath("../CSGBox3D")
character = NodePath("..")
metadata/_custom_type_script = "uid://dqluvn05min37"
[node name="SubViewport2" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(277, 52)
[node name="East" type="Label" parent="SubViewport2"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "east"
horizontal_alignment = 1
vertical_alignment = 1
[node name="SubViewport3" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(277, 52)
[node name="West" type="Label" parent="SubViewport3"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "west"
horizontal_alignment = 1
vertical_alignment = 1
[node name="SubViewport4" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(277, 52)
[node name="South" type="Label" parent="SubViewport4"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "south"
horizontal_alignment = 1
vertical_alignment = 1
[node name="SubViewport5" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(277, 52)
[node name="North" type="Label" parent="SubViewport5"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "north"
horizontal_alignment = 1
vertical_alignment = 1
[node name="east" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.955188, 0.919993, 0)
visible = false
billboard = 1
texture = SubResource("ViewportTexture_joiuq")
[node name="west" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.366, 0.919993, 0)
visible = false
billboard = 1
texture = SubResource("ViewportTexture_ssgps")
[node name="south" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.919993, 1.05626)
visible = false
billboard = 1
texture = SubResource("ViewportTexture_dhcpw")
[node name="north" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.919993, -1.24258)
visible = false
billboard = 1
texture = SubResource("ViewportTexture_yref6")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.141846, 0)
visible = false
size = Vector3(0.5, 0.783691, 0.5)
[connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"]
[connection signal="health_depleted" from="Health" to="." method="die"]
[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"]