[gd_scene load_steps=34 format=3 uid="uid://dpsr6ug3pkb40"] [ext_resource type="Script" uid="uid://3dphlay25fih" path="res://scripts/player/player.gd" id="1_g2els"] [ext_resource type="Script" uid="uid://dalwlndejfdhm" path="res://scripts/player/crosshair.gd" id="3_dqkch"] [ext_resource type="Script" uid="uid://bjhbdh6xsjgnn" path="res://scripts/player/player_camera.gd" id="3_qhqgy"] [ext_resource type="PackedScene" uid="uid://bc21f85o0ovc1" path="res://models/characters/viewmodels/molikman_hands.glb" id="4_dqkch"] [ext_resource type="Script" uid="uid://bmecgup3kcua7" path="res://scripts/weapon_system/weapon_system.gd" id="4_qlg0r"] [ext_resource type="Script" uid="uid://dd5mp72dq43v6" path="res://scripts/multiplayer/own_visibility_toggle.gd" id="4_smehm"] [ext_resource type="Script" uid="uid://5gwpjiswnegn" path="res://scripts/player/collision_team_updater.gd" id="7_a8ls1"] [ext_resource type="Script" uid="uid://7gmgcaxfh8sb" path="res://scripts/debug/property_shower.gd" id="7_oprun"] [ext_resource type="Script" uid="uid://3777rkbebgjm" path="res://scripts/state_machine/machine.gd" id="8_f1ej7"] [ext_resource type="Script" uid="uid://bl8gfrrc512q2" path="res://scripts/player/dead_player_spectator.gd" id="8_rwwcc"] [ext_resource type="PackedScene" uid="uid://c2r8dbudbs7l3" path="res://models/characters/worldmodels/molikman_ingame.glb" id="8_smehm"] [ext_resource type="Script" uid="uid://bv8sgx78s8hwn" path="res://scripts/player/states/crouching.gd" id="9_oprun"] [ext_resource type="Script" uid="uid://dmy6ahci16los" path="res://scripts/debug/inventory_preview.gd" id="9_ownlk"] [ext_resource type="Script" uid="uid://u0e2b2mvij1k" path="res://scripts/player/states/standing.gd" id="10_a8ls1"] [ext_resource type="Script" uid="uid://vmhlmhd6gjx6" path="res://scripts/gui/hud/player_healthbar.gd" id="11_42l2h"] [ext_resource type="Script" uid="uid://cwasvwhm5yg0o" path="res://scripts/player/states/walk.gd" id="11_qfm1y"] [ext_resource type="Script" uid="uid://cq4i0afwesdm3" path="res://scripts/player/states/falling.gd" id="12_fulsm"] [ext_resource type="Script" uid="uid://gan0amqbhi4i" path="res://scripts/gui/hud/player_ammo_display.gd" id="12_iortg"] [ext_resource type="Script" uid="uid://bala54fa32e35" path="res://scripts/gui/hud/player_round_display.gd" id="13_x73hv"] [ext_resource type="Script" uid="uid://bos7nftlx8tv3" path="res://scripts/gui/hud/player_round_time.gd" id="13_xar7t"] [ext_resource type="Script" uid="uid://xsgfbuyje35p" path="res://scripts/player/player_pickup.gd" id="17_fjvrb"] [ext_resource type="Script" uid="uid://doevvmbvhlig8" path="res://scripts/weapon_system/starting_weapon_spawner.gd" id="17_ownlk"] [ext_resource type="Script" uid="uid://bs4y647h5rdfr" path="res://scripts/player/player_movement.gd" id="19_70eug"] [ext_resource type="Script" uid="uid://tb140f8fweug" path="res://scripts/player/states/death.gd" id="19_rwwcc"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_u8vuu"] resource_local_to_scene = true [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_g2els"] height = 1.2958984 [sub_resource type="LabelSettings" id="LabelSettings_x73hv"] font_size = 32 [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_qhqgy"] properties/0/path = NodePath(".:position") properties/0/spawn = true properties/0/replication_mode = 1 properties/1/path = NodePath(".:rotation") properties/1/spawn = true properties/1/replication_mode = 1 properties/2/path = NodePath("Camera3D:rotation") properties/2/spawn = true properties/2/replication_mode = 1 properties/3/path = NodePath(".:hp") properties/3/spawn = true properties/3/replication_mode = 1 properties/4/path = NodePath(".:team") properties/4/spawn = true properties/4/replication_mode = 2 [sub_resource type="Animation" id="Animation_a8ls1"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CollisionShape3D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector3(0, 1, 0)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CollisionShape3D:shape:height") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [2.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Camera3D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector3(0, 2, 0)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("molikman_ingame:position") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector3(0, 1.1793717, 0)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("molikman_ingame:rotation") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector3(0, 0, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("CollisionShape3D:disabled") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } [sub_resource type="Animation" id="Animation_oprun"] resource_name = "crouch" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CollisionShape3D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, 1.166, 0), Vector3(0, 0.874, 0)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CollisionShape3D:shape:height") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [2.331, 1.7479999999999998] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Camera3D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, 2, 0), Vector3(0, 1.5, 0)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("molikman_ingame:position") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, 1.1793717, 0), Vector3(0, 0.6695229, 0)] } [sub_resource type="Animation" id="Animation_rwwcc"] resource_name = "die" length = 0.25 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("molikman_ingame:rotation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.23333333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, 0, 0), Vector3(1.5707964, 0, 0)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("molikman_ingame:position") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.23333333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, 1.1793717, 0), Vector3(0, 0.019058675, 1.1753564)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("CollisionShape3D:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_a8ls1"] _data = { &"RESET": SubResource("Animation_a8ls1"), &"crouch": SubResource("Animation_oprun"), &"die": SubResource("Animation_rwwcc") } [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3xmak"] radius = 0.82177734 height = 3.7087402 [node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("weapon_models")] collision_layer = 2 collision_mask = 3 script = ExtResource("1_g2els") weapon_models = { &"bomb": NodePath("Camera3D/molikman_hands/Armature"), &"sp": NodePath("Camera3D/molikman_hands/GunArm") } [node name="molikman_ingame" parent="." instance=ExtResource("8_smehm")] transform = Transform3D(0.75, 0, 0, 0, 0.74999994, 0, 0, 0, 0.74999994, 0, 1.1793717, 0) [node name="VisibleEnabler" type="Node" parent="molikman_ingame"] script = ExtResource("4_smehm") visible_for_others = true [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) shape = SubResource("CapsuleShape3D_u8vuu") [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 2, 0) cull_mask = 1048573 fov = 90.0 script = ExtResource("3_qhqgy") compensation_time = 0.1 compensation_delay = 0.2 [node name="molikman_hands" parent="Camera3D" instance=ExtResource("4_dqkch")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, -1, 0) [node name="GunArm" parent="Camera3D/molikman_hands" index="1"] visible = false [node name="Armature" parent="Camera3D/molikman_hands" index="2"] visible = false [node name="VisibleDisabler" type="Node" parent="Camera3D/molikman_hands"] script = ExtResource("4_smehm") [node name="DeadSpectator" type="Camera3D" parent="Camera3D"] fov = 90.0 script = ExtResource("8_rwwcc") [node name="StandArea" type="Area3D" parent="."] collision_layer = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StandArea"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3520508, 0) shape = SubResource("CapsuleShape3D_g2els") debug_color = Color(0.9878064, 0, 0.31407458, 0.41960785) debug_fill = false [node name="HUD" type="Control" parent="."] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 [node name="PanelContainer" type="PanelContainer" parent="HUD"] layout_mode = 0 offset_right = 40.0 offset_bottom = 40.0 [node name="VBoxContainer2" type="VBoxContainer" parent="HUD/PanelContainer"] layout_mode = 2 [node name="Properties" type="VBoxContainer" parent="HUD/PanelContainer/VBoxContainer2"] layout_mode = 2 script = ExtResource("7_oprun") property_array = Dictionary[NodePath, StringName]({ NodePath("../../../../WeaponSystem"): &"current_state" }) [node name="InventoryPreview" type="Label" parent="HUD/PanelContainer/VBoxContainer2" node_paths=PackedStringArray("inventory")] layout_mode = 2 script = ExtResource("9_ownlk") inventory = NodePath("../../../../WeaponSystem") [node name="Crosshair" type="Control" parent="HUD"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -20.0 offset_top = -20.0 offset_right = 20.0 offset_bottom = 20.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("3_dqkch") crosses_width = 2.0 crosses_length = 6.0 crosses_offset = 3.0 [node name="VisibleDisabler" type="Node" parent="HUD"] script = ExtResource("4_smehm") [node name="Healthbar" type="ProgressBar" parent="HUD"] layout_mode = 1 anchors_preset = -1 anchor_top = 0.874 anchor_right = 0.069000006 anchor_bottom = 1.0 offset_top = -0.2800293 offset_right = -0.32000732 grow_vertical = 0 step = 1.0 value = 100.0 fill_mode = 3 script = ExtResource("11_42l2h") [node name="AmmoDisplay" type="Label" parent="HUD"] layout_mode = 1 anchors_preset = -1 anchor_left = 0.96900004 anchor_top = 0.96800005 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = -0.32006836 offset_top = 0.039978027 grow_horizontal = 0 grow_vertical = 0 label_settings = SubResource("LabelSettings_x73hv") script = ExtResource("12_iortg") [node name="RoundData" type="HBoxContainer" parent="HUD"] layout_mode = 1 anchors_preset = 5 anchor_left = 0.5 anchor_right = 0.5 offset_left = -20.0 offset_right = 20.0 offset_bottom = 40.0 grow_horizontal = 2 [node name="RoundDisplayOur" type="Label" parent="HUD/RoundData"] layout_mode = 2 script = ExtResource("13_x73hv") our_side = true [node name="RoundTime" type="Label" parent="HUD/RoundData"] layout_mode = 2 script = ExtResource("13_xar7t") [node name="RoundDisplayTheir" type="Label" parent="HUD/RoundData"] layout_mode = 2 script = ExtResource("13_x73hv") [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_qhqgy") [node name="BodyStateMachine" type="Node" parent="." node_paths=PackedStringArray("current_state")] script = ExtResource("8_f1ej7") current_state = NodePath("Stand") metadata/_custom_type_script = "uid://3777rkbebgjm" [node name="Crouch" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("stand_up_area", "player", "player_movement", "animation_player", "weapon_system")] script = ExtResource("9_oprun") max_speed = 3.0 acceleration = 50.0 deceleration = 50.0 stand_up_area = NodePath("../../StandArea") player = NodePath("../..") player_movement = NodePath("../../PlayerMovement") animation_player = NodePath("../../AnimationPlayer") weapon_system = NodePath("../../WeaponSystem") [node name="Stand" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("player", "player_movement", "weapon_system")] script = ExtResource("10_a8ls1") max_speed = 6.0 acceleration = 100.0 deceleration = 50.0 JUMP_VELOCITY = 6.0 player = NodePath("../..") player_movement = NodePath("../../PlayerMovement") weapon_system = NodePath("../../WeaponSystem") [node name="Walk" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("player", "player_movement", "weapon_system")] script = ExtResource("11_qfm1y") max_speed = 3.0 acceleration = 50.0 deceleration = 50.0 player = NodePath("../..") player_movement = NodePath("../../PlayerMovement") weapon_system = NodePath("../../WeaponSystem") [node name="Fall" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("player", "player_movement", "weapon_system")] script = ExtResource("12_fulsm") player = NodePath("../..") player_movement = NodePath("../../PlayerMovement") acceleration = 25.0 weapon_system = NodePath("../../WeaponSystem") [node name="Death" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("animation_player")] script = ExtResource("19_rwwcc") animation_player = NodePath("../../AnimationPlayer") [node name="PlayerMovement" type="Node" parent="." node_paths=PackedStringArray("player")] script = ExtResource("19_70eug") player = NodePath("..") [node name="WeaponSystem" type="Node" parent="." node_paths=PackedStringArray("animation_player", "camera", "player")] script = ExtResource("4_qlg0r") animation_player = NodePath("../Camera3D/molikman_hands/AnimationPlayer") camera = NodePath("../Camera3D") player = NodePath("..") [node name="WeaponSpawner" type="MultiplayerSpawner" parent="WeaponSystem"] spawn_path = NodePath("..") [node name="StartingWeaponSpawner" type="Node" parent="WeaponSystem" node_paths=PackedStringArray("weapon_spawner")] script = ExtResource("17_ownlk") starting_pistol = &"uid://djwjl8xll53vn" starting_knife = &"uid://djwjl8xll53vn" weapon_spawner = NodePath("../WeaponSpawner") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_a8ls1") } [node name="TeamUpdater" type="Node" parent="." node_paths=PackedStringArray("player")] script = ExtResource("7_a8ls1") player = NodePath("..") layer = true inverse = true [node name="PickupRange" type="Area3D" parent="." node_paths=PackedStringArray("weapon_spawner", "weapon_system")] collision_layer = 0 collision_mask = 8 script = ExtResource("17_fjvrb") weapon_spawner = NodePath("../WeaponSystem/WeaponSpawner") weapon_system = NodePath("../WeaponSystem") [node name="CollisionShape3D" type="CollisionShape3D" parent="PickupRange"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8543701, 0) shape = SubResource("CapsuleShape3D_3xmak") [connection signal="died" from="." to="molikman_ingame/VisibleEnabler" method="reverse"] [connection signal="died" from="." to="Camera3D/molikman_hands/VisibleDisabler" method="reverse"] [connection signal="died" from="." to="WeaponSystem" method="disable"] [connection signal="died" from="." to="Camera3D/DeadSpectator" method="set_active"] [connection signal="died" from="." to="BodyStateMachine/Death" method="on_death"] [connection signal="health_changed" from="." to="HUD/Healthbar" method="on_hp_changed"] [connection signal="spawned" from="." to="TeamUpdater" method="on_spawned"] [connection signal="ammo_updated" from="WeaponSystem" to="HUD/AmmoDisplay" method="on_ammo_updated"] [editable path="Camera3D/molikman_hands"]