[gd_scene load_steps=16 format=3 uid="uid://bwdlmualj6xbw"] [ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_ep4yr"] [ext_resource type="Texture2D" uid="uid://xes6mt2dd5gu" path="res://sprites/robot_cutout.png" id="1_uh38l"] [ext_resource type="Script" path="res://scripts/components/health.gd" id="2_o170m"] [ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="4_4eajk"] [ext_resource type="Script" path="res://scripts/components/side_to_side_movement.gd" id="4_gbsq8"] [ext_resource type="Script" path="res://scripts/components/periodic_shooting.gd" id="5_m03v0"] [ext_resource type="Script" path="res://scripts/components/enemy_death.gd" id="6_6p3gr"] [ext_resource type="Script" path="res://scripts/components/flashing_component.gd" id="7_xsaiy"] [ext_resource type="Script" path="res://scripts/components/hit_component.gd" id="9_0qjr4"] [ext_resource type="Script" path="res://scripts/components/status_effect_component.gd" id="10_5i27q"] [ext_resource type="Script" path="res://scripts/components/fire_effect_component.gd" id="10_ej8vg"] [ext_resource type="Script" path="res://scripts/components/ice_effect_component.gd" id="11_pq0k7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_pwwji"] size = Vector2(18, 27) [sub_resource type="ShaderMaterial" id="ShaderMaterial_j18j0"] shader = ExtResource("1_ep4yr") shader_parameter/enabled = false shader_parameter/tint = Color(1, 1, 1, 1) [sub_resource type="RectangleShape2D" id="RectangleShape2D_ejbqt"] size = Vector2(18, 27) [node name="Enemy" type="CharacterBody2D"] collision_layer = 8 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 0.5) shape = SubResource("RectangleShape2D_pwwji") [node name="Sprite2D" type="Sprite2D" parent="."] material = SubResource("ShaderMaterial_j18j0") texture = ExtResource("1_uh38l") [node name="HealthComponent" type="Node" parent="."] script = ExtResource("2_o170m") [node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")] script = ExtResource("4_4eajk") area2d = NodePath("../Hitbox") [node name="SideToSideMovement" type="Node" parent="." node_paths=PackedStringArray("root", "sprite2d", "left_ray", "right_ray")] script = ExtResource("4_gbsq8") root = NodePath("..") sprite2d = NodePath("../Sprite2D") speed = 60.0 wait_time = 0.5 left_ray = NodePath("../Left Ray") right_ray = NodePath("../Right Ray") [node name="PeriodicShootingComponent" type="Node" parent="." node_paths=PackedStringArray("side_to_side_movement", "root")] process_mode = 3 script = ExtResource("5_m03v0") side_to_side_movement = NodePath("../SideToSideMovement") root = NodePath("..") [node name="EnemyDeathComponent" type="Node" parent="." node_paths=PackedStringArray("root", "collision_shape_2d", "health_component")] script = ExtResource("6_6p3gr") root = NodePath("..") tween_duration = 0.1 collision_shape_2d = NodePath("../Hitbox/CollisionShape2D") health_component = NodePath("../HealthComponent") [node name="Hitbox" type="Area2D" parent="."] collision_layer = 8 collision_mask = 20 [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] position = Vector2(0, 0.5) shape = SubResource("RectangleShape2D_ejbqt") debug_color = Color(0.913521, 0.265052, 0.323172, 0.42) [node name="Left Ray" type="RayCast2D" parent="."] position = Vector2(-16, 13) target_position = Vector2(0, 8) [node name="Right Ray" type="RayCast2D" parent="."] position = Vector2(16, 13) target_position = Vector2(0, 8) [node name="FlashingComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")] process_mode = 3 script = ExtResource("7_xsaiy") sprite = NodePath("../Sprite2D") health_component = NodePath("../HealthComponent") [node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")] script = ExtResource("9_0qjr4") sprite = NodePath("../Sprite2D") health_component = NodePath("../HealthComponent") [node name="StatusEffectComponent" type="Node" parent="."] script = ExtResource("10_5i27q") [node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("health_component", "status_effect_component", "root")] script = ExtResource("10_ej8vg") health_component = NodePath("../HealthComponent") status_effect_component = NodePath("../StatusEffectComponent") root = NodePath("..") [node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("status_effect_component")] script = ExtResource("11_pq0k7") components_to_disable = [NodePath("../SideToSideMovement"), NodePath("../PeriodicShootingComponent")] status_effect_component = NodePath("../StatusEffectComponent")