[gd_scene load_steps=21 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://cb66pspr16scy" path="res://Assets/Textures/leapfrog_2.png" id="6_joiuq"]
[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_joiuq")
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")

[sub_resource type="ViewportTexture" id="ViewportTexture_5u3uw"]
viewport_path = NodePath("SubViewport6")

[node name="LeapingEnemy" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "d_n") groups=["Enemies"]]
collision_layer = 4
collision_mask = 3
script = ExtResource("1_joiuq")
status_manager = NodePath("StatusEffector")
movement_controller = NodePath("LeapingController")
health = NodePath("Health")
d_n = NodePath("Node3D")
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="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", "tol", "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")
tol = NodePath("../SubViewport6/North")
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="SubViewport6" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(277, 52)

[node name="North" type="Label" parent="SubViewport6"]
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="north2" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.215, 0)
visible = false
billboard = 1
texture = SubResource("ViewportTexture_5u3uw")

[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)

[node name="StatusEffector" type="Node" parent="." node_paths=PackedStringArray("sprite_container")]
script = ExtResource("9_47ywr")
sprite_container = NodePath("../SubViewport/HBoxContainer")
metadata/_custom_type_script = "uid://cojjgevmbhwal"

[node name="Node3D" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.440026, 0)

[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"]
