[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="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="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="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="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"] [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="ViewportTexture" id="ViewportTexture_4tj6k"] viewport_path = NodePath("SubViewport") [node name="WalkingEnemy" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "sprite") groups=["Enemies"]] collision_layer = 4 collision_mask = 3 script = ExtResource("1_fwsjt") status_manager = NodePath("StatusEffector") movement_controller = NodePath("PathingController") health = NodePath("Health") sprite = NodePath("DirectionSprite") corpse_scene = ExtResource("2_y7h25") [node name="Health" type="Node" parent="."] 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="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("9_f8btv") [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("10_txouh") 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_or8n6")] visible = false offset_top = 36.0 offset_bottom = 236.0 [node name="PathingController" type="Node" parent="." node_paths=PackedStringArray("character")] script = ExtResource("10_gljle") character = NodePath("..") [node name="SpriteBobber" type="Node" parent="." node_paths=PackedStringArray("character", "sprite")] script = ExtResource("12_2nmk0") character = NodePath("..") sprite = NodePath("../DirectionSprite") [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"]