[gd_scene format=3 uid="uid://y1qa1g3ic8sp"] [ext_resource type="Script" uid="uid://cvejbo3srx8py" path="res://Scripts/level.gd" id="1_ws6nn"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="2_ks6qx"] [ext_resource type="PackedScene" uid="uid://d2yv447trxkwt" path="res://Scenes/enemy_spawner.tscn" id="3_5imwp"] [ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Enemies/EyeDog/eye_dog.tres" id="3_6tcu8"] [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="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"] [ext_resource type="Script" uid="uid://yk54owkf7pgj" path="res://Scripts/cinema_cam.gd" id="9_xuyhn"] [ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="11_l537x"] [ext_resource type="PackedScene" uid="uid://7g3jev3v6d3l" path="res://Scenes/ShopStand/shop_stand.tscn" id="19_h6brl"] [ext_resource type="PackedScene" uid="uid://42dsbdlkvbfq" path="res://Tree1/tree1.tscn" id="20_j6d65"] [ext_resource type="PackedScene" uid="uid://cmneu5o0m02l8" path="res://Worlds/GreenPlanet/Enemies/leaping_enemy.tscn" id="20_ttr7n"] [ext_resource type="PackedScene" uid="uid://c8ecof4oeng1f" path="res://BigTree1/big_tree.tscn" id="21_6tcu8"] [ext_resource type="PackedScene" uid="uid://c6isprnkaliqr" path="res://Scenes/MixingTable/remix_table.tscn" id="21_ks6qx"] [ext_resource type="Script" uid="uid://cy6oj2hr8q8br" path="res://Scripts/killbox.gd" id="26_tuncf"] [ext_resource type="PackedScene" uid="uid://c2avjln5vmr0y" path="res://Scenes/Shredder/shredder.tscn" id="27_gppb4"] [ext_resource type="Texture2D" uid="uid://dqrfgw65d0sq8" path="res://Assets/Textures/bridge_map.png" id="28_6od8s"] [ext_resource type="PackedScene" uid="uid://ca174636iktc6" path="res://Worlds/GreenPlanet/Levels/Bridge/bridge.glb" id="30_ttr7n"] [sub_resource type="Curve3D" id="Curve3D_3rdl2"] _data = { "points": PackedVector3Array(0, 0, 0, 0, 0, 0, 12.3765, 1.00006, -13.0874, 0, 0, 0, 0, 0, 0, -13.1528, 5.17887, -14.4739), "tilts": PackedFloat32Array(0, 0) } point_count = 2 [sub_resource type="Curve3D" id="Curve3D_2yu5t"] _data = { "points": PackedVector3Array(0, 0, 0, 0, 0, 0, 7.20375, 0.376301, -5.50257, 0, 0, 0, 0, 0, 0, 0, 0, 0), "tilts": PackedFloat32Array(0, 0) } point_count = 2 [sub_resource type="Curve3D" id="Curve3D_tuqlc"] _data = { "points": PackedVector3Array(0, 0, 0, 0, 0, 0, -19.16, 4.995, -7.5, 0, 0, 0, 0, 0, 0, 8.763, 5.707, -7.5), "tilts": PackedFloat32Array(0, 0) } point_count = 2 [sub_resource type="Shader" id="Shader_6od8s"] code = "shader_type sky; render_mode use_debanding; uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0); uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0); uniform float sky_curve : hint_range(0, 1) = 0.15; uniform float sky_energy = 1.0; // In Lux. uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black; uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0); uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0); uniform float ground_curve : hint_range(0, 1) = 0.02; uniform float ground_energy = 1.0; uniform float sun_angle_max = 30.0; uniform float sun_curve : hint_range(0, 1) = 0.15; uniform float exposure : hint_range(0, 128) = 1.0; // Wind offset direction (x and y only) uniform vec2 wind_offset_direction = vec2(0.5, 0.1); // Control direction of offset (x, y) uniform float wind_speed : hint_range(0.0, 25.0) = 1.0; // Speed of the noise movement over time // Cloud change settings uniform bool clouds_change = true; // Whether to change the cloud layer or not uniform float cloud_change_rate : hint_range(0.0, 5.0) = .40; // Rate at which the cloud effect changes // Pole blending parameters uniform float pole_blend_shape : hint_range(0.0, 2.0) = 0.05; // How much the noise affects the blend shape uniform float pole_blend_strength : hint_range(0, 1) = 0.05; // Control blending intensity at poles uniform float pole_blend_brightness : hint_range(0.0, 1.0) = .3; // Horizon blending parameters - similar to pole blending uniform float horizon_blend_shape : hint_range(0.0, 2.0) = 0.05; // How much the noise affects the horizon blend shape uniform float horizon_blend_strength : hint_range(0, 1) = 0.05; // Control blending intensity at horizon uniform float horizon_blend_brightness : hint_range(0.0, 1.0) = .3; uniform float horizon_blend_width : hint_range(0.0, 0.5) = 0.1; // Width of the horizon blend region void sky() { float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0)); float c = (1.0 - v_angle / (PI * 0.5)); vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0)); sky *= sky_energy; if (LIGHT0_ENABLED) { float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR)); if (sun_angle < LIGHT0_SIZE) { sky = LIGHT0_COLOR * LIGHT0_ENERGY; } else if (sun_angle < sun_angle_max) { float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE); sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0)); } } if (LIGHT1_ENABLED) { float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR)); if (sun_angle < LIGHT1_SIZE) { sky = LIGHT1_COLOR * LIGHT1_ENERGY; } else if (sun_angle < sun_angle_max) { float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE); sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0)); } } if (LIGHT2_ENABLED) { float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR)); if (sun_angle < LIGHT2_SIZE) { sky = LIGHT2_COLOR * LIGHT2_ENERGY; } else if (sun_angle < sun_angle_max) { float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE); sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0)); } } if (LIGHT3_ENABLED) { float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR)); if (sun_angle < LIGHT3_SIZE) { sky = LIGHT3_COLOR * LIGHT3_ENERGY; } else if (sun_angle < sun_angle_max) { float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE); sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0)); } } // Sample the sky cover texture with dynamic offset (only x and y direction) vec2 noise_coords = SKY_COORDS.xy + wind_offset_direction * wind_speed * TIME * 0.01; // Wrap UVs to keep tiling seamless noise_coords = mod(noise_coords, 1.0); // Sample the original noise texture vec4 sky_cover_texture = texture(sky_cover, noise_coords); // Sample flipped noise for Z-offset effect vec4 flipped_noise = texture(sky_cover, vec2(noise_coords.x, 1.0 - noise_coords.y)); // Z blending (cloud change) logic float cloud_blend_factor = 0.0; if (clouds_change) { // Use a sine wave to blend clouds smoothly over time based on the cloud_change_rate cloud_blend_factor = 0.5 + 0.5 * sin(TIME * cloud_change_rate); } // Blend between the original and flipped noise using cloud_blend_factor vec4 blended_noise_texture = mix(sky_cover_texture, flipped_noise, cloud_blend_factor); // Pole blending float base_pole_blend_factor = abs(EYEDIR.y); // Original blend factor (circular) float noise_pole_blend = blended_noise_texture.r * pole_blend_shape; float pole_blend_factor = smoothstep(1.0 - pole_blend_strength, 1.0, base_pole_blend_factor + noise_pole_blend); // Horizon blending - detect when we're near the horizon float horizon_distance = abs(EYEDIR.y); // This will be close to 0 near the horizon float horizon_factor = 1.0 - smoothstep(0.0, horizon_blend_width, horizon_distance); float noise_horizon_blend = blended_noise_texture.g * horizon_blend_shape; float horizon_blend_factor = smoothstep(1.0 - horizon_blend_strength, 1.0, horizon_factor + noise_horizon_blend); // Combine both blend factors (poles and horizon) float combined_blend_factor = max(pole_blend_factor, horizon_blend_factor); // Blend noise with brightness value based on the combined factor vec3 blended_noise = mix(blended_noise_texture.rgb, vec3(pole_blend_brightness), pole_blend_factor); blended_noise = mix(blended_noise, vec3(horizon_blend_brightness), horizon_blend_factor); sky += (blended_noise * sky_cover_modulate.rgb) * blended_noise_texture.a * sky_cover_modulate.a * sky_energy; // Ground blending c = (v_angle - (PI * 0.5)) / (PI * 0.5); vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0)); ground *= ground_energy; COLOR = mix(ground, sky, step(0.0, EYEDIR.y)) * exposure; }" [sub_resource type="Gradient" id="Gradient_dj4cy"] offsets = PackedFloat32Array(0.151786, 0.5625, 1) colors = PackedColorArray(0, 0, 0, 1, 0.565217, 0.565217, 0.565217, 1, 1, 1, 1, 1) [sub_resource type="FastNoiseLite" id="FastNoiseLite_ttr7n"] noise_type = 3 domain_warp_enabled = true [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_r4es0"] width = 1024 height = 1024 noise = SubResource("FastNoiseLite_ttr7n") color_ramp = SubResource("Gradient_dj4cy") seamless = true [sub_resource type="ShaderMaterial" id="ShaderMaterial_4gdda"] shader = SubResource("Shader_6od8s") shader_parameter/sky_top_color = Color(0.25262, 0.408375, 0.692798, 1) shader_parameter/sky_horizon_color = Color(0.48476, 0.638261, 0.884351, 1) shader_parameter/sky_curve = 0.0349887 shader_parameter/sky_energy = 1.0 shader_parameter/sky_cover = SubResource("NoiseTexture2D_r4es0") shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1) shader_parameter/ground_bottom_color = Color(0.121409, 0.203944, 0.437026, 1) shader_parameter/ground_horizon_color = Color(0.486275, 0.639216, 0.882353, 1) shader_parameter/ground_curve = 0.02 shader_parameter/ground_energy = 1.0 shader_parameter/sun_angle_max = 0.523599 shader_parameter/sun_curve = 0.15 shader_parameter/exposure = 1.0 shader_parameter/wind_offset_direction = Vector2(0.5, 0.1) shader_parameter/wind_speed = 0.0 shader_parameter/clouds_change = true shader_parameter/cloud_change_rate = 0.4 shader_parameter/pole_blend_shape = 0.05 shader_parameter/pole_blend_strength = 0.05 shader_parameter/pole_blend_brightness = 0.3 shader_parameter/horizon_blend_shape = 0.05 shader_parameter/horizon_blend_strength = 0.05 shader_parameter/horizon_blend_brightness = 0.3 shader_parameter/horizon_blend_width = 0.1 [sub_resource type="Sky" id="Sky_t42h5"] sky_material = SubResource("ShaderMaterial_4gdda") [sub_resource type="Environment" id="Environment_l41d0"] background_mode = 2 sky = SubResource("Sky_t42h5") tonemap_mode = 4 ssao_detail = 0.0 fog_enabled = true fog_mode = 1 fog_density = 1.0 fog_depth_begin = 50.0 fog_depth_end = 200.0 [sub_resource type="BoxShape3D" id="BoxShape3D_awjk1"] size = Vector3(3.6270146, 6.87512, 10) [sub_resource type="BoxShape3D" id="BoxShape3D_134um"] size = Vector3(70.0478, 1, 73.4615) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fi8e6"] transparency = 1 albedo_color = Color(0, 0, 0, 0.88400006) [sub_resource type="PlaneMesh" id="PlaneMesh_j6d65"] material = SubResource("StandardMaterial3D_fi8e6") size = Vector2(7.84, 3.69) [node name="Bridge" type="Node3D" unique_id=1906077552 node_paths=PackedStringArray("tower_path", "player_spawns", "enemy_spawns", "enemy_goals", "corpses", "cinematic_cam", "printer", "shop")] script = ExtResource("1_ws6nn") enemy_pool = Array[ExtResource("2_ks6qx")]([ExtResource("3_6tcu8"), ExtResource("6_asmpj"), ExtResource("5_g08yk"), ExtResource("4_uh5sr")]) 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")] enemy_goals = [NodePath("EnemyGoal")] corpses = NodePath("Corpses") cinematic_cam = NodePath("CinemaCam") printer = NodePath("CardPrinter") shop = NodePath("ShopStand") obstacles = Array[PackedScene]([ExtResource("7_6tcu8")]) metadata/_custom_type_script = "uid://cvejbo3srx8py" metadata/_editor_floor_ = Vector3(4, -10, 8) [node name="CinemaCam" type="Node3D" parent="." unique_id=1916778526 node_paths=PackedStringArray("path_follows", "cameras")] script = ExtResource("9_xuyhn") path_follows = [NodePath("Path3D/PathFollow3D"), NodePath("Path3D2/PathFollow3D2"), NodePath("Path3D3/PathFollow3D2")] cameras = [NodePath("Path3D/PathFollow3D/Camera3D"), NodePath("Path3D2/PathFollow3D2/Camera3D2"), NodePath("Path3D3/PathFollow3D2/Camera3D2")] pan_speed = 0.1 does_its_thing = false [node name="Path3D" type="Path3D" parent="CinemaCam" unique_id=869538998] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.63136, 4.35346, 7.28324) curve = SubResource("Curve3D_3rdl2") [node name="PathFollow3D" type="PathFollow3D" parent="CinemaCam/Path3D" unique_id=342701727] transform = Transform3D(0.054230012, 0.1610678, 0.98545, -7.4505473e-09, 0.98690206, -0.16130519, -0.998524, 0.008747612, 0.05351996, 12.3765, 1.00006, -13.0874) loop = false [node name="Camera3D" type="Camera3D" parent="CinemaCam/Path3D/PathFollow3D" unique_id=948474223] transform = Transform3D(0.377958, -0.631677, 0.676854, -0.157445, 0.676581, 0.71934, -0.912337, -0.378447, 0.156264, 0, 0, 0) cull_mask = 1 current = true [node name="Path3D2" type="Path3D" parent="CinemaCam" unique_id=548120520] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.63136, 4.35346, 7.28324) curve = SubResource("Curve3D_2yu5t") [node name="PathFollow3D2" type="PathFollow3D" parent="CinemaCam/Path3D2" unique_id=604465440] transform = Transform3D(-0.60701805, -0.03296049, 0.7939957, 0, 0.999137, 0.04147582, -0.79468393, 0.025176814, -0.6064923, 7.20375, 0.376301, -5.50257) loop = false [node name="Camera3D2" type="Camera3D" parent="CinemaCam/Path3D2/PathFollow3D2" unique_id=794825922] transform = Transform3D(-0.107807, 0.47109, -0.875476, -0.0383335, 0.877983, 0.47716, 0.993435, 0.0850012, -0.0765942, 0, 0, 0) cull_mask = 1 [node name="Path3D3" type="Path3D" parent="CinemaCam" unique_id=130837030] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.63136, 4.35346, 7.28324) curve = SubResource("Curve3D_tuqlc") [node name="PathFollow3D2" type="PathFollow3D" parent="CinemaCam/Path3D3" unique_id=371544590] transform = Transform3D(-4.3711214e-08, -0.02548992, -0.99965, 0, 0.999656, -0.025489768, 0.999996, -1.1141998e-09, -4.3696087e-08, 8.762999, 5.707, -7.5) progress = 27.9321 loop = false [node name="Camera3D2" type="Camera3D" parent="CinemaCam/Path3D3/PathFollow3D2" unique_id=896616690] transform = Transform3D(3.27007e-05, 0.999663, -0.0260566, -0.00250896, 0.0260566, 0.99966, 0.999999, 3.26858e-05, 0.00250896, 0, 0, 0) cull_mask = 1 [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1448536340] environment = SubResource("Environment_l41d0") [node name="EnemyGoal" type="Node3D" parent="." unique_id=1521533989 node_paths=PackedStringArray("audio_player")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.123978, 0.5, 0) script = ExtResource("9_s3rd7") audio_player = NodePath("AudioStreamPlayer3D") [node name="Area3D" type="Area3D" parent="EnemyGoal" unique_id=80277049] collision_mask = 4 [node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyGoal/Area3D" unique_id=1234164927] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.40402222, 3.43756, 0) shape = SubResource("BoxShape3D_awjk1") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="EnemyGoal" unique_id=1838624313] stream = ExtResource("11_l537x") [node name="GroundSpawn" parent="." unique_id=185953135 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -43.4011, 0.5, 0) leap_enemy_scene = ExtResource("20_ttr7n") type = 1 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="GroundSpawn2" parent="." unique_id=1956318080 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.9011, 0.5, -5) leap_enemy_scene = ExtResource("20_ttr7n") own_id = 1 type = 1 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="GroundSpawn3" parent="." unique_id=1447527413 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.9011, 0.5, 5) leap_enemy_scene = ExtResource("20_ttr7n") own_id = 2 type = 1 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="GroundSpawn4" parent="." unique_id=623589346 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38.4011, 0.5, 10) leap_enemy_scene = ExtResource("20_ttr7n") own_id = 3 type = 1 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="GroundSpawn5" parent="." unique_id=29660902 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38.4011, 0.5, -10) leap_enemy_scene = ExtResource("20_ttr7n") own_id = 4 type = 1 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="AirSpawn" parent="." unique_id=727755035 node_paths=PackedStringArray("dest", "enemy_path") instance=ExtResource("3_5imwp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.3737, 19.0055, 0) leap_enemy_scene = ExtResource("20_ttr7n") own_id = 5 type = 2 dest = NodePath("../EnemyGoal") enemy_path = NodePath("../Enemies") [node name="CardPrinter" parent="." unique_id=99304729 instance=ExtResource("9_r25gu")] transform = Transform3D(-0.999501, 0, 0.0315681, 0, 1, 0, -0.0315681, 0, -0.999501, 33.0068, 0.499996, 17.3317) [node name="PlayerSpawnLocations" type="Node3D" parent="." unique_id=1727305710] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27.9469, 0, 0) [node name="PlayerSpawn1" type="Node3D" parent="PlayerSpawnLocations" unique_id=459580946] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, -1) [node name="PlayerSpawn2" type="Node3D" parent="PlayerSpawnLocations" unique_id=1118849231] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, -1) [node name="PlayerSpawn3" type="Node3D" parent="PlayerSpawnLocations" unique_id=955469427] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1) [node name="PlayerSpawn4" type="Node3D" parent="PlayerSpawnLocations" unique_id=1147746758] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1) [node name="Towers" type="Node" parent="." unique_id=395246047] [node name="Enemies" type="Node" parent="." unique_id=1907693342] [node name="Corpses" type="Node" parent="." unique_id=395596684] [node name="ShopStand" parent="." unique_id=1199389479 instance=ExtResource("19_h6brl")] transform = Transform3D(0.997252, 0, -0.074091, 0, 1, 0, 0.074091, 0, 0.997252, 33.0364, 0.415816, -15.8576) [node name="Killbox" type="Area3D" parent="." unique_id=1282606330] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.77224, 0, 0) collision_mask = 2 script = ExtResource("26_tuncf") [node name="CollisionShape3D" type="CollisionShape3D" parent="Killbox" unique_id=1079628314] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0668106, -6.8471, 0.829394) shape = SubResource("BoxShape3D_134um") [node name="Shredder" parent="." unique_id=964733986 instance=ExtResource("27_gppb4")] transform = Transform3D(0.748886, 0, 0.662699, 0, 1, 0, -0.662699, 0, 0.748886, 34.8662, 0.5, 16.6183) [node name="bridge" parent="." unique_id=333162325 instance=ExtResource("30_ttr7n")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 2.5, 0) [node name="Sprite3D" type="Sprite3D" parent="." unique_id=1926664882] transform = Transform3D(-3.62805e-07, -8.3, -3.62805e-07, 0, -3.62805e-07, 8.3, -8.3, 3.62805e-07, 1.58587e-14, 2.93077, -74.4698, -10.0351) layers = 4 texture = ExtResource("28_6od8s") [node name="Node3D" parent="." unique_id=126006136 instance=ExtResource("21_ks6qx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.507853, 1.00142, 15.890633) [node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1062008196] transform = Transform3D(-1.8440034e-08, -0.4218588, 0.9066615, 1, -4.371139e-08, 0, 3.9631438e-08, 0.9066615, 0.4218588, 43.105564, 4.321371, 0.018272102) mesh = SubResource("PlaneMesh_j6d65") [node name="MeshInstance3D2" type="MeshInstance3D" parent="." unique_id=1822263082] transform = Transform3D(-1.8440034e-08, -0.4218588, 0.9066615, 1, -4.371139e-08, 0, 3.9631438e-08, 0.9066615, 0.4218588, 43.268147, 4.3213706, -0.3644483) mesh = SubResource("PlaneMesh_j6d65") [node name="MeshInstance3D3" type="MeshInstance3D" parent="." unique_id=700591494] transform = Transform3D(-1.8440034e-08, -0.4218588, 0.9066615, 1, -4.371139e-08, 0, 3.9631438e-08, 0.9066615, 0.4218588, 43.481457, 4.321371, -0.7146716) mesh = SubResource("PlaneMesh_j6d65") [node name="Node3D2" parent="." unique_id=1308989582 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.224361, 0.4761952, -18.135468) [node name="Node3D3" parent="." unique_id=1690645570 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.587107, 0.46557888, -27.875065) [node name="Node3D4" parent="." unique_id=1327637421 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36.907898, 0.44084343, -21.990316) [node name="Node3D5" parent="." unique_id=230347725 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.84733, 0.5889649, -31.607025) [node name="Node3D6" parent="." unique_id=1973047055 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.346336, 0.54343265, -36.820988) [node name="Node3D7" parent="." unique_id=1301725987 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.10933, 0.4997559, -44.815544) [node name="Node3D8" parent="." unique_id=741554650 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 46.75648, 0.5390221, -35.77816) [node name="Node3D9" parent="." unique_id=1620137906 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27.63861, 0.4997559, -45.163143) [node name="Node3D10" parent="." unique_id=1927933348 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.594902, 0.50024414, 20.536465) [node name="Node3D11" parent="." unique_id=1153656148 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.11367, 0.49975586, 31.080257) [node name="Node3D12" parent="." unique_id=388515575 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35.498802, 0.50024414, 23.78071) [node name="Node3D13" parent="." unique_id=946880915 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 44.304604, 0.49975586, 31.659586) [node name="Node3D14" parent="." unique_id=44861647 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35.151207, 0.49975586, 39.19087) [node name="Node3D15" parent="." unique_id=1963401289 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.418476, 0.5, 48.9236) [node name="Node3D16" parent="." unique_id=189765011 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.201256, 0.5, 48.112537) [node name="Node3D17" parent="." unique_id=822369781 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 37.46852, 0.50024414, 55.991417) [node name="Node3D18" parent="." unique_id=854045144 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.470535, 0.5, 68.440926) [node name="Node3D19" parent="." unique_id=682749810 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45.069633, 0.5, 69.94718) [node name="Node3D20" parent="." unique_id=71921146 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50.978783, 0.50024414, 59.51925) [node name="Node3D21" parent="." unique_id=1793888043 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 62.21778, 0.50024414, 56.043278) [node name="Node3D22" parent="." unique_id=1455192438 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.513584, 0.4999962, 47.89573) [node name="Node3D23" parent="." unique_id=935618276 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.30091, 0.5105507, -21.674778) [node name="Node3D24" parent="." unique_id=155852678 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.446053, 0.53638685, 21.657467) [node name="Node3D25" parent="." unique_id=816059691 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -43.118107, 0.5080446, 18.372576) [node name="Node3D26" parent="." unique_id=437001636 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.85219, 0.5229174, 0.18147068) [node name="Node3D27" parent="." unique_id=1892658881 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -43.76916, 0.49785048, -17.150803) [node name="Node3D28" parent="." unique_id=1156705160 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.41119, 0.4923253, -34.296783) [node name="Node3D29" parent="." unique_id=750373363 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.247744, 0.5000038, -42.16417) [node name="Node3D30" parent="." unique_id=708424631 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.97228, 0.47527015, 33.060688) [node name="Node3D31" parent="." unique_id=1263955525 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.53309, 0.5000076, 40.484997) [node name="Node3D32" parent="." unique_id=1585698362 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37.465153, 0.49999237, 29.276081) [node name="Node3D33" parent="." unique_id=1084838108 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22.386686, 0.5, 48.122066) [node name="Node3D34" parent="." unique_id=1947206628 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.095715, 0.44609505, -31.926006) [node name="Node3D35" parent="." unique_id=1870319773 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37.858974, 0.558814, -53.344746) [node name="Node3D36" parent="." unique_id=1380019723 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -59.767483, 3.1326103, 21.137033) [node name="Node3D37" parent="." unique_id=1210106385 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.233166, 0.4477323, 45.20006) [node name="Node3D38" parent="." unique_id=156247092 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -56.046036, 0.44310805, -15.098809) [node name="Node3D39" parent="." unique_id=840324985 instance=ExtResource("20_j6d65")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.702923, 0.5000076, -30.843634) [node name="Node3D51" parent="." unique_id=764243657 instance=ExtResource("20_j6d65")] transform = Transform3D(0.8188817, 0, 0.5739624, 0, 1, 0, -0.5739624, 0, 0.8188817, -35.15997, 0.5000076, -41.164284) [node name="Node3D52" parent="." unique_id=1439508441 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -49.691605, 0.5000076, -50.03118) [node name="Node3D53" parent="." unique_id=282779260 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -50.111214, 0.5000076, -38.795647) [node name="Node3D54" parent="." unique_id=665662464 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -43.064415, 0.5000076, -26.649086) [node name="Node3D55" parent="." unique_id=1505468139 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -54.03443, 0.5000076, -21.495655) [node name="Node3D56" parent="." unique_id=1991778696 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -54.10995, 0.5000038, 9.923689) [node name="Node3D57" parent="." unique_id=518331014 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -44.40436, 0.5000038, 10.869652) [node name="Node3D58" parent="." unique_id=254142817 instance=ExtResource("20_j6d65")] transform = Transform3D(0.95698595, 0, 0.29013434, 0, 1, 0, -0.29013434, 0, 0.95698595, -39.892178, 0.5000038, -9.111635) [node name="Node3D59" parent="." unique_id=1060332407 instance=ExtResource("20_j6d65")] transform = Transform3D(0.97183365, 0, -0.235668, 0, 1, 0, 0.235668, 0, 0.97183365, -52.973858, 0.5000038, 24.044119) [node name="Node3D60" parent="." unique_id=99980510 instance=ExtResource("20_j6d65")] transform = Transform3D(0.97183365, 0, -0.235668, 0, 1, 0, 0.235668, 0, 0.97183365, -59.165073, 0.5000038, 31.510038) [node name="Node3D61" parent="." unique_id=324643734 instance=ExtResource("20_j6d65")] transform = Transform3D(0.97183365, 0, -0.235668, 0, 1, 0, 0.235668, 0, 0.97183365, -45.115986, 0.5000038, 25.99969) [node name="Node3D62" parent="." unique_id=992902587 instance=ExtResource("20_j6d65")] transform = Transform3D(0.97183365, 0, -0.235668, 0, 1, 0, 0.235668, 0, 0.97183365, -28.229023, 0.5000038, 30.226183) [node name="Node3D63" parent="." unique_id=845806636 instance=ExtResource("20_j6d65")] transform = Transform3D(0.97183365, 0, -0.235668, 0, 1, 0, 0.235668, 0, 0.97183365, -41.31883, 0.5000038, 38.7666) [node name="Node3D40" parent="." unique_id=2029189640 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5407249, 0, 0.8411995, 0, 1, 0, -0.8411995, 0, 0.5407249, -56.844105, -1.9073486e-06, 0.5303469) [node name="Node3D64" parent="." unique_id=2118525412 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5407249, 0, 0.8411995, 0, 1, 0, -0.8411995, 0, 0.5407249, -74.354294, -1.9073486e-06, -22.119095) [node name="Node3D65" parent="." unique_id=1480954632 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.6952358, 0, 0.7187818, 0, 1, 0, -0.7187818, 0, -0.6952358, -71.38766, -3.8146973e-06, 46.537483) [node name="Node3D66" parent="." unique_id=581600124 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.6952358, 0, 0.7187818, 0, 1, 0, -0.7187818, 0, -0.6952358, -88.39658, -3.8146973e-06, 7.2917747) [node name="Node3D67" parent="." unique_id=906440781 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.6952358, 0, 0.7187818, 0, 1, 0, -0.7187818, 0, -0.6952358, -106.96719, -3.8146973e-06, -49.558266) [node name="Node3D41" parent="." unique_id=1161283244 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5370493, 0, 0.84355086, 0, 1, 0, -0.84355086, 0, 0.5370493, -71.38757, 0.422287, -47.143406) [node name="Node3D42" parent="." unique_id=2086508587 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5370493, 0, 0.84355086, 0, 1, 0, -0.84355086, 0, 0.5370493, -125.60689, 0.422287, -16.621292) [node name="Node3D43" parent="." unique_id=1227712291 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5370493, 0, 0.84355086, 0, 1, 0, -0.84355086, 0, 0.5370493, -119.47875, 0.422287, 57.55169) [node name="Node3D44" parent="." unique_id=2117406642 instance=ExtResource("21_6tcu8")] transform = Transform3D(0.5370493, 0, 0.84355086, 0, 1, 0, -0.84355086, 0, 0.5370493, -51.924072, 0.422287, 55.38028) [node name="Node3D45" parent="." unique_id=1386733750 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.35344225, 0, 0.9354564, 0, 1, 0, -0.9354564, 0, -0.35344225, -84.75231, 0.422287, 32.89707) [node name="Node3D46" parent="." unique_id=2093080959 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.8073416, 0, 0.59008443, 0, 1, 0, -0.59008443, 0, -0.8073416, -94.86392, 0.422287, -16.022987) [node name="Node3D47" parent="." unique_id=332555614 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.92229545, 0, 0.38648564, 0, 1, 0, -0.38648564, 0, -0.92229545, -120.543335, 0.422287, 14.401403) [node name="Node3D48" parent="." unique_id=1687059106 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.7581457, 0, 0.6520852, 0, 1, 0, -0.6520852, 0, -0.7581457, -84.35799, 0.422287, 78.99163) [node name="Node3D49" parent="." unique_id=2009632842 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.7581457, 0, 0.6520852, 0, 1, 0, -0.6520852, 0, -0.7581457, -38.159286, 0.422287, 98.463486) [node name="Node3D50" parent="." unique_id=293622677 instance=ExtResource("21_6tcu8")] transform = Transform3D(-0.7581457, 0, 0.6520852, 0, 1, 0, -0.6520852, 0, -0.7581457, -35.033936, 0.422287, -72.41817) [connection signal="body_entered" from="EnemyGoal/Area3D" to="EnemyGoal" method="_on_area_3d_body_entered"] [connection signal="body_entered" from="Killbox" to="Killbox" method="_on_body_entered"]