[gd_scene load_steps=21 format=3 uid="uid://dumrr7a54i2oa"] [ext_resource type="PackedScene" uid="uid://b578veviuyolk" path="res://player/policerobot.gltf" id="1_ixwro"] [ext_resource type="Script" path="res://player/player.gd" id="2_j1o06"] [ext_resource type="PackedScene" uid="uid://b65pxthbmyf36" path="res://player/weapon_slot.tscn" id="3_hxu8r"] [ext_resource type="Script" path="res://player/player_camera_3d.gd" id="3_igkrx"] [ext_resource type="Resource" uid="uid://cju6axrqorits" path="res://player/weapons/minigun/minigun.tres" id="4_dhwjp"] [ext_resource type="Resource" uid="uid://c0u1d6xstrjm1" path="res://player/weapons/missile/missile_launcher.tres" id="5_4yvmh"] [ext_resource type="Script" path="res://player/enemy_detector.gd" id="6_mhau2"] [ext_resource type="PackedScene" uid="uid://d2p86lb72dp61" path="res://components/healthcomponent.tscn" id="8_vkusc"] [ext_resource type="Script" path="res://components/hit_box.gd" id="9_mjhry"] [ext_resource type="PackedScene" uid="uid://5q0aw58r81vp" path="res://effects/explosion.tscn" id="10_t7674"] [ext_resource type="AudioStream" uid="uid://dk8hjcoex7mf7" path="res://player/weapons/missile/rocket_explosion.ogg" id="11_u8876"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_e04f4"] radius = 0.599865 height = 1.68 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mxqph"] animation = &"idle" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_seikj"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyb5s"] animation = &"walk" [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_l04rj"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_mn5ki"] nodes/idle/node = SubResource("AnimationNodeAnimation_mxqph") nodes/idle/position = Vector2(400, 80) nodes/idle_walk_blend/node = SubResource("AnimationNodeBlend2_seikj") nodes/idle_walk_blend/position = Vector2(900, 80) nodes/output/position = Vector2(1140, 80) nodes/walk/node = SubResource("AnimationNodeAnimation_pyb5s") nodes/walk/position = Vector2(391, 333) nodes/walk_timescale/node = SubResource("AnimationNodeTimeScale_l04rj") nodes/walk_timescale/position = Vector2(700, 320) node_connections = [&"idle_walk_blend", 0, &"idle", &"idle_walk_blend", 1, &"walk_timescale", &"output", 0, &"idle_walk_blend", &"walk_timescale", 0, &"walk"] [sub_resource type="SphereShape3D" id="SphereShape3D_i41v0"] radius = 1.0 [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_degdo"] points = PackedVector3Array(0, 0, 0, -7, -7, -15, 7, -7, -15, 7, 7, -15, -7, 7, -15) [sub_resource type="SphereShape3D" id="SphereShape3D_5tjuj"] [node name="policerobot" instance=ExtResource("1_ixwro")] collision_layer = 2 collision_mask = 5 script = ExtResource("2_j1o06") [node name="PlayerCamera3D" type="Camera3D" parent="." index="2"] transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, 0, 10, 1.75) current = true fov = 70.0 script = ExtResource("3_igkrx") [node name="CollisionShape3D" type="CollisionShape3D" parent="." index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.833356, 0) shape = SubResource("CapsuleShape3D_e04f4") [node name="AnimationTree" type="AnimationTree" parent="." index="4"] tree_root = SubResource("AnimationNodeBlendTree_mn5ki") advance_expression_base_node = NodePath("../AnimationPlayer") anim_player = NodePath("../AnimationPlayer") parameters/idle_walk_blend/blend_amount = 0.0 parameters/walk_timescale/scale = 1.0 [node name="WeaponSlot" parent="." index="5" instance=ExtResource("3_hxu8r")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.3, -0.3) weapon = ExtResource("4_dhwjp") max_ammo = 300 [node name="CollisionShape3D" type="CollisionShape3D" parent="WeaponSlot" index="1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -0.5, 0) shape = SubResource("SphereShape3D_i41v0") [node name="WeaponSlot2" parent="." index="6" instance=ExtResource("3_hxu8r")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1.3, -0.3) weapon = ExtResource("5_4yvmh") weapon_key = "shoot2" weapon_signal_name = "missile" max_ammo = 40 [node name="CollisionShape3D" type="CollisionShape3D" parent="WeaponSlot2" index="1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -0.5, 0) shape = SubResource("SphereShape3D_i41v0") [node name="EnemyDetector" type="Area3D" parent="." index="7"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.14599, 0.673118) collision_layer = 0 collision_mask = 4 script = ExtResource("6_mhau2") [node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyDetector" index="0"] shape = SubResource("ConvexPolygonShape3D_degdo") [node name="Healthcomponent" parent="." index="8" instance=ExtResource("8_vkusc")] collision_mask = 128 max_health = 1000.0 signal_name = "armor" [node name="CollisionShape3D" type="CollisionShape3D" parent="Healthcomponent" index="0"] shape = SubResource("SphereShape3D_5tjuj") [node name="PlayerHitBox" type="Area3D" parent="." index="9" node_paths=PackedStringArray("health_component")] collision_layer = 8 collision_mask = 64 script = ExtResource("9_mjhry") health_component = NodePath("../Healthcomponent") [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerHitBox" index="0"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.833356, 0) shape = SubResource("CapsuleShape3D_e04f4") [node name="Explosion" parent="." index="10" instance=ExtResource("10_t7674")] transform = Transform3D(4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0) [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." index="11"] stream = ExtResource("11_u8876") bus = &"SFX" [node name="CanvasLayer" type="CanvasLayer" parent="." index="12"] layer = 2 [node name="ColorRect" type="ColorRect" parent="CanvasLayer" index="0"] z_index = 10 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 color = Color(0, 0, 0, 0) [connection signal="new_target" from="EnemyDetector" to="WeaponSlot" method="set_target"] [connection signal="new_target" from="EnemyDetector" to="WeaponSlot2" method="set_target"] [connection signal="area_entered" from="Healthcomponent" to="Healthcomponent" method="_on_area_entered"] [connection signal="start_dying" from="Healthcomponent" to="." method="handle_dying"] [connection signal="area_entered" from="PlayerHitBox" to="PlayerHitBox" method="_on_area_entered"] [connection signal="body_entered" from="PlayerHitBox" to="PlayerHitBox" method="_on_body_entered"]