diff --git a/animations/baked_bomb_plant.res b/animations/baked_bomb_plant.res index 694a4eb..b744203 100644 Binary files a/animations/baked_bomb_plant.res and b/animations/baked_bomb_plant.res differ diff --git a/scripts/audio_system/multiplayer_audio_3d.gd b/audio/audio_system/multiplayer_audio_3d.gd similarity index 100% rename from scripts/audio_system/multiplayer_audio_3d.gd rename to audio/audio_system/multiplayer_audio_3d.gd diff --git a/scripts/audio_system/multiplayer_audio_3d.gd.uid b/audio/audio_system/multiplayer_audio_3d.gd.uid similarity index 100% rename from scripts/audio_system/multiplayer_audio_3d.gd.uid rename to audio/audio_system/multiplayer_audio_3d.gd.uid diff --git a/scenes/gui/buy_menu/buy_button/buy_button.gd b/gui/buy_menu/buy_button/buy_button.gd similarity index 100% rename from scenes/gui/buy_menu/buy_button/buy_button.gd rename to gui/buy_menu/buy_button/buy_button.gd diff --git a/scenes/gui/buy_menu/buy_button/buy_button.gd.uid b/gui/buy_menu/buy_button/buy_button.gd.uid similarity index 100% rename from scenes/gui/buy_menu/buy_button/buy_button.gd.uid rename to gui/buy_menu/buy_button/buy_button.gd.uid diff --git a/scenes/gui/buy_menu/buy_button/buy_button.tscn b/gui/buy_menu/buy_button/buy_button.tscn similarity index 89% rename from scenes/gui/buy_menu/buy_button/buy_button.tscn rename to gui/buy_menu/buy_button/buy_button.tscn index debf4ce..6a5f424 100644 --- a/scenes/gui/buy_menu/buy_button/buy_button.tscn +++ b/gui/buy_menu/buy_button/buy_button.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://b1ej6kmbjpm78"] [ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="1_apu4l"] -[ext_resource type="Script" uid="uid://bq32y7eee1f63" path="res://scenes/gui/buy_menu/buy_button/buy_button.gd" id="1_impj7"] +[ext_resource type="Script" uid="uid://bq32y7eee1f63" path="res://gui/buy_menu/buy_button/buy_button.gd" id="1_impj7"] [node name="BuyButton" type="Button"] anchors_preset = -1 diff --git a/scenes/gui/buy_menu/buy_menu.gd b/gui/buy_menu/buy_menu.gd similarity index 100% rename from scenes/gui/buy_menu/buy_menu.gd rename to gui/buy_menu/buy_menu.gd diff --git a/scenes/gui/buy_menu/buy_menu.gd.uid b/gui/buy_menu/buy_menu.gd.uid similarity index 100% rename from scenes/gui/buy_menu/buy_menu.gd.uid rename to gui/buy_menu/buy_menu.gd.uid diff --git a/scenes/gui/buy_menu/buy_menu.tscn b/gui/buy_menu/buy_menu.tscn similarity index 89% rename from scenes/gui/buy_menu/buy_menu.tscn rename to gui/buy_menu/buy_menu.tscn index b7a0c1a..bd77d80 100644 --- a/scenes/gui/buy_menu/buy_menu.tscn +++ b/gui/buy_menu/buy_menu.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://j5lgbg8c0pq"] -[ext_resource type="PackedScene" uid="uid://b1ej6kmbjpm78" path="res://scenes/gui/buy_menu/buy_button/buy_button.tscn" id="1_8guql"] -[ext_resource type="Script" uid="uid://dba17sgimp4j0" path="res://scenes/gui/buy_menu/buy_menu.gd" id="1_ko0fn"] +[ext_resource type="PackedScene" uid="uid://b1ej6kmbjpm78" path="res://gui/buy_menu/buy_button/buy_button.tscn" id="1_8guql"] +[ext_resource type="Script" uid="uid://dba17sgimp4j0" path="res://gui/buy_menu/buy_menu.gd" id="1_ko0fn"] [ext_resource type="Resource" uid="uid://b081hg7uxx1wu" path="res://weapons/molikman_molotov.tres" id="2_0gws3"] -[ext_resource type="Script" uid="uid://dk4diwvruvkch" path="res://scenes/gui/buy_menu/player_money_label.gd" id="2_ll0n6"] +[ext_resource type="Script" uid="uid://dk4diwvruvkch" path="res://gui/buy_menu/player_money_label.gd" id="2_ll0n6"] [node name="BuyMenu" type="ColorRect"] anchors_preset = 15 diff --git a/scenes/gui/buy_menu/player_money_label.gd b/gui/buy_menu/player_money_label.gd similarity index 100% rename from scenes/gui/buy_menu/player_money_label.gd rename to gui/buy_menu/player_money_label.gd diff --git a/scenes/gui/buy_menu/player_money_label.gd.uid b/gui/buy_menu/player_money_label.gd.uid similarity index 100% rename from scenes/gui/buy_menu/player_money_label.gd.uid rename to gui/buy_menu/player_money_label.gd.uid diff --git a/scripts/client_settings.gd b/gui/client_settings/client_settings.gd similarity index 100% rename from scripts/client_settings.gd rename to gui/client_settings/client_settings.gd diff --git a/scripts/client_settings.gd.uid b/gui/client_settings/client_settings.gd.uid similarity index 100% rename from scripts/client_settings.gd.uid rename to gui/client_settings/client_settings.gd.uid diff --git a/scenes/gui/client_settings.tscn b/gui/client_settings/client_settings.tscn similarity index 98% rename from scenes/gui/client_settings.tscn rename to gui/client_settings/client_settings.tscn index be3e36e..35c62f1 100644 --- a/scenes/gui/client_settings.tscn +++ b/gui/client_settings/client_settings.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://bv6ptrditssow"] -[ext_resource type="Script" uid="uid://ddi1alk8oyi1b" path="res://scripts/gui/client_settings_menu.gd" id="1_xqyus"] +[ext_resource type="Script" uid="uid://ddi1alk8oyi1b" path="res://gui/client_settings/client_settings_menu.gd" id="1_xqyus"] [node name="ClientSettingsMenu" type="CanvasLayer"] layer = 3 diff --git a/scripts/gui/client_settings_menu.gd b/gui/client_settings/client_settings_menu.gd similarity index 100% rename from scripts/gui/client_settings_menu.gd rename to gui/client_settings/client_settings_menu.gd diff --git a/scripts/gui/client_settings_menu.gd.uid b/gui/client_settings/client_settings_menu.gd.uid similarity index 100% rename from scripts/gui/client_settings_menu.gd.uid rename to gui/client_settings/client_settings_menu.gd.uid diff --git a/scripts/player/crosshair.gd b/gui/crosshair.gd similarity index 100% rename from scripts/player/crosshair.gd rename to gui/crosshair.gd diff --git a/scripts/player/crosshair.gd.uid b/gui/crosshair.gd.uid similarity index 100% rename from scripts/player/crosshair.gd.uid rename to gui/crosshair.gd.uid diff --git a/scripts/gui/hud/player_ammo_display.gd b/gui/hud/player_ammo_display.gd similarity index 100% rename from scripts/gui/hud/player_ammo_display.gd rename to gui/hud/player_ammo_display.gd diff --git a/scripts/gui/hud/player_ammo_display.gd.uid b/gui/hud/player_ammo_display.gd.uid similarity index 100% rename from scripts/gui/hud/player_ammo_display.gd.uid rename to gui/hud/player_ammo_display.gd.uid diff --git a/scripts/gui/hud/player_healthbar.gd b/gui/hud/player_healthbar.gd similarity index 100% rename from scripts/gui/hud/player_healthbar.gd rename to gui/hud/player_healthbar.gd diff --git a/scripts/gui/hud/player_healthbar.gd.uid b/gui/hud/player_healthbar.gd.uid similarity index 100% rename from scripts/gui/hud/player_healthbar.gd.uid rename to gui/hud/player_healthbar.gd.uid diff --git a/scripts/gui/hud/player_round_display.gd b/gui/hud/player_round_display.gd similarity index 100% rename from scripts/gui/hud/player_round_display.gd rename to gui/hud/player_round_display.gd diff --git a/scripts/gui/hud/player_round_display.gd.uid b/gui/hud/player_round_display.gd.uid similarity index 100% rename from scripts/gui/hud/player_round_display.gd.uid rename to gui/hud/player_round_display.gd.uid diff --git a/scripts/gui/hud/player_round_time.gd b/gui/hud/player_round_time.gd similarity index 100% rename from scripts/gui/hud/player_round_time.gd rename to gui/hud/player_round_time.gd diff --git a/scripts/gui/hud/player_round_time.gd.uid b/gui/hud/player_round_time.gd.uid similarity index 100% rename from scripts/gui/hud/player_round_time.gd.uid rename to gui/hud/player_round_time.gd.uid diff --git a/scripts/multiplayer/host_menu.gd b/gui/main_menu/host_menu.gd similarity index 100% rename from scripts/multiplayer/host_menu.gd rename to gui/main_menu/host_menu.gd diff --git a/scripts/multiplayer/host_menu.gd.uid b/gui/main_menu/host_menu.gd.uid similarity index 100% rename from scripts/multiplayer/host_menu.gd.uid rename to gui/main_menu/host_menu.gd.uid diff --git a/scenes/main_menu.tscn b/gui/main_menu/main_menu.tscn similarity index 98% rename from scenes/main_menu.tscn rename to gui/main_menu/main_menu.tscn index 4e135cb..3e1fccb 100644 --- a/scenes/main_menu.tscn +++ b/gui/main_menu/main_menu.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://cbtp4rvg66ba1"] -[ext_resource type="Script" uid="uid://bsyuos803g7qf" path="res://scripts/gui/main_menu_gui.gd" id="1_l6cm7"] -[ext_resource type="Script" uid="uid://dh64rv15w8ecl" path="res://scripts/multiplayer/host_menu.gd" id="2_ekxnf"] +[ext_resource type="Script" uid="uid://bsyuos803g7qf" path="res://gui/main_menu/main_menu_gui.gd" id="1_l6cm7"] +[ext_resource type="Script" uid="uid://dh64rv15w8ecl" path="res://gui/main_menu/host_menu.gd" id="2_ekxnf"] [node name="MainMenu" type="CenterContainer"] anchors_preset = 15 diff --git a/scripts/gui/main_menu_gui.gd b/gui/main_menu/main_menu_gui.gd similarity index 100% rename from scripts/gui/main_menu_gui.gd rename to gui/main_menu/main_menu_gui.gd diff --git a/scripts/gui/main_menu_gui.gd.uid b/gui/main_menu/main_menu_gui.gd.uid similarity index 100% rename from scripts/gui/main_menu_gui.gd.uid rename to gui/main_menu/main_menu_gui.gd.uid diff --git a/scripts/gui/team_choice_menu.gd b/gui/team_choice/team_choice_menu.gd similarity index 100% rename from scripts/gui/team_choice_menu.gd rename to gui/team_choice/team_choice_menu.gd diff --git a/scripts/gui/team_choice_menu.gd.uid b/gui/team_choice/team_choice_menu.gd.uid similarity index 100% rename from scripts/gui/team_choice_menu.gd.uid rename to gui/team_choice/team_choice_menu.gd.uid diff --git a/gui/team_choice/team_choice_menu.tscn b/gui/team_choice/team_choice_menu.tscn new file mode 100644 index 0000000..c01a791 --- /dev/null +++ b/gui/team_choice/team_choice_menu.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=2 format=3 uid="uid://cmon3g1lsm3q"] + +[ext_resource type="Script" uid="uid://m8qq2eynls6n" path="res://gui/team_choice/team_choice_menu.gd" id="1_kch1g"] + +[node name="TeamChoiceMenu" type="CenterContainer"] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_kch1g") + +[node name="Panel" type="PanelContainer" parent="."] +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Panel/VBoxContainer"] +layout_mode = 2 +text = "Choose your team" +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/VBoxContainer"] +layout_mode = 2 + +[node name="SpectatorButton" type="Button" parent="Panel/VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "Spectators" + +[node name="AttackButton" type="Button" parent="Panel/VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "Attackers" + +[node name="DefenceButton" type="Button" parent="Panel/VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "Defenders" + +[node name="CancelButton" type="Button" parent="Panel/VBoxContainer"] +layout_mode = 2 +text = "Cancel" + +[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/SpectatorButton" to="." method="_on_spectator_button_pressed"] +[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/AttackButton" to="." method="_on_attack_button_pressed"] +[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/DefenceButton" to="." method="_on_defence_button_pressed"] +[connection signal="pressed" from="Panel/VBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"] diff --git a/levels/prototype_scene.tscn b/levels/prototype_scene.tscn index 44cb972..a4e3dd2 100644 --- a/levels/prototype_scene.tscn +++ b/levels/prototype_scene.tscn @@ -6,20 +6,20 @@ [ext_resource type="Material" uid="uid://mlha6r17v2en" path="res://materials/DarkBluemat.tres" id="5_bno23"] [ext_resource type="Material" uid="uid://duvlktlyurohd" path="res://materials/Yellowmat.tres" id="5_foctg"] [ext_resource type="Material" uid="uid://jdfticwelku4" path="res://materials/Greenmat.tres" id="6_8bje3"] -[ext_resource type="Script" uid="uid://dncldab5y4yod" path="res://scripts/item_spawner.gd" id="6_61ure"] -[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://scenes/weapons/droppable_bomb.tscn" id="6_bno23"] +[ext_resource type="Script" uid="uid://dncldab5y4yod" path="res://systems/item_spawner.gd" id="6_61ure"] +[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://weapons/bomb/droppable_bomb.tscn" id="6_bno23"] [ext_resource type="Material" uid="uid://cyej4ph6hcnou" path="res://materials/Orangemat.tres" id="6_foctg"] -[ext_resource type="Script" uid="uid://bqjv6l7hh0lix" path="res://scripts/multiplayer/spawn_system/dyn_objects_spawner.gd" id="6_oujx2"] [ext_resource type="Material" uid="uid://cdeggf10dmama" path="res://materials/Purplemat.tres" id="7_8bje3"] -[ext_resource type="Script" uid="uid://dk1gjbuydemmb" path="res://scripts/multiplayer/plant_site/plant_site.gd" id="8_oujx2"] -[ext_resource type="Script" uid="uid://b4cpux52fmx5o" path="res://scripts/multiplayer/plant_site/plant_deadzone.gd" id="9_1wlgq"] +[ext_resource type="Script" uid="uid://dk1gjbuydemmb" path="res://multiplayer/plant_site/plant_site.gd" id="8_oujx2"] +[ext_resource type="Script" uid="uid://b4cpux52fmx5o" path="res://multiplayer/plant_site/plant_deadzone.gd" id="9_1wlgq"] [ext_resource type="Material" uid="uid://c6xa4phihtya2" path="res://materials/Redmat.tres" id="9_ysk2e"] -[ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://scripts/multiplayer/spawn_system/team_spawner.gd" id="10_02ic3"] -[ext_resource type="Script" uid="uid://3i00rp8urth7" path="res://scripts/object_container.gd" id="11_02ic3"] -[ext_resource type="Script" uid="uid://bala54fa32e35" path="res://scripts/gui/hud/player_round_display.gd" id="17_wsuwo"] -[ext_resource type="Script" uid="uid://bos7nftlx8tv3" path="res://scripts/gui/hud/player_round_time.gd" id="18_0hcup"] -[ext_resource type="Script" uid="uid://m8qq2eynls6n" path="res://scripts/gui/team_choice_menu.gd" id="19_0hcup"] -[ext_resource type="PackedScene" uid="uid://j5lgbg8c0pq" path="res://scenes/gui/buy_menu/buy_menu.tscn" id="20_gcyg7"] +[ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://team_spawner.gd" id="10_02ic3"] +[ext_resource type="Script" uid="uid://3i00rp8urth7" path="res://systems/object_container.gd" id="11_02ic3"] +[ext_resource type="Script" uid="uid://xwiw2g6uc21k" path="res://multiplayer/dynamic_objects_parent.gd" id="11_gcyg7"] +[ext_resource type="Script" uid="uid://bala54fa32e35" path="res://gui/hud/player_round_display.gd" id="17_wsuwo"] +[ext_resource type="Script" uid="uid://bos7nftlx8tv3" path="res://gui/hud/player_round_time.gd" id="18_0hcup"] +[ext_resource type="PackedScene" uid="uid://cmon3g1lsm3q" path="res://gui/team_choice/team_choice_menu.tscn" id="19_gcyg7"] +[ext_resource type="PackedScene" uid="uid://j5lgbg8c0pq" path="res://gui/buy_menu/buy_menu.tscn" id="20_gcyg7"] [sub_resource type="BoxShape3D" id="BoxShape3D_ysk2e"] size = Vector3(15.324341, 0.96273804, 21.381592) @@ -289,12 +289,14 @@ spawn_path = NodePath("..") [node name="DynamicObjectsContainer" type="Node3D" parent="." node_paths=PackedStringArray("exlusion_list")] script = ExtResource("11_02ic3") -exlusion_list = [NodePath("MultiplayerSpawner"), NodePath("Bomb")] +exlusion_list = [NodePath("MultiplayerSpawner"), NodePath("Bomb"), NodePath("Parenter")] [node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="DynamicObjectsContainer"] -_spawnable_scenes = PackedStringArray("uid://cxdgk74ln5xpn", "uid://dgfqppi21c2u0", "uid://l4t1mflutm3t") +_spawnable_scenes = PackedStringArray("uid://cxdgk74ln5xpn", "uid://l4t1mflutm3t", "uid://b6qahd6q60js7") spawn_path = NodePath("..") -script = ExtResource("6_oujx2") + +[node name="Parenter" type="Node" parent="DynamicObjectsContainer"] +script = ExtResource("11_gcyg7") [node name="Bomb" type="Node3D" parent="DynamicObjectsContainer"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.858309, 1.4657042, 12.873563) @@ -375,49 +377,7 @@ script = ExtResource("18_0hcup") layout_mode = 2 script = ExtResource("17_wsuwo") -[node name="CenterContainer" type="CenterContainer" parent="CanvasLayer"] -visible = false -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("19_0hcup") - -[node name="Panel" type="PanelContainer" parent="CanvasLayer/CenterContainer"] -layout_mode = 2 - -[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer/Panel"] -layout_mode = 2 - -[node name="Label" type="Label" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer"] -layout_mode = 2 -text = "Choose your team" -horizontal_alignment = 1 - -[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer"] -layout_mode = 2 - -[node name="SpectatorButton" type="Button" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer"] -layout_mode = 2 -text = "Spectators" - -[node name="AttackButton" type="Button" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer"] -layout_mode = 2 -text = "Attackers" - -[node name="DefenceButton" type="Button" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer"] -layout_mode = 2 -text = "Defenders" - -[node name="CancelButton" type="Button" parent="CanvasLayer/CenterContainer/Panel/VBoxContainer"] -layout_mode = 2 -text = "Cancel" +[node name="TeamChoiceMenu" parent="CanvasLayer" instance=ExtResource("19_gcyg7")] [node name="BuyMenu" parent="CanvasLayer" instance=ExtResource("20_gcyg7")] visible = false - -[connection signal="pressed" from="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer/SpectatorButton" to="CanvasLayer/CenterContainer" method="_on_spectator_button_pressed"] -[connection signal="pressed" from="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer/AttackButton" to="CanvasLayer/CenterContainer" method="_on_attack_button_pressed"] -[connection signal="pressed" from="CanvasLayer/CenterContainer/Panel/VBoxContainer/HBoxContainer/DefenceButton" to="CanvasLayer/CenterContainer" method="_on_defence_button_pressed"] -[connection signal="pressed" from="CanvasLayer/CenterContainer/Panel/VBoxContainer/CancelButton" to="CanvasLayer/CenterContainer" method="_on_cancel_button_pressed"] diff --git a/levels/split.tscn b/levels/split.tscn index 03b1c4f..dcb525a 100644 --- a/levels/split.tscn +++ b/levels/split.tscn @@ -2,11 +2,11 @@ [ext_resource type="Environment" uid="uid://ybeuqwdb504c" path="res://environments/split_environment.tres" id="1_muj2s"] [ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/Graymat.tres" id="4_mj4b4"] -[ext_resource type="Script" uid="uid://3i00rp8urth7" path="res://scripts/object_container.gd" id="9_klida"] -[ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://scripts/multiplayer/team_spawner.gd" id="10_n3y50"] -[ext_resource type="Script" uid="uid://bqjv6l7hh0lix" path="res://scripts/multiplayer/spawn_system/dyn_objects_spawner.gd" id="11_ydk8w"] -[ext_resource type="Script" uid="uid://dncldab5y4yod" path="res://scripts/item_spawner.gd" id="12_kry5j"] -[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://scenes/weapons/droppable_bomb.tscn" id="13_hy0sx"] +[ext_resource type="Script" uid="uid://3i00rp8urth7" path="res://systems/object_container.gd" id="9_klida"] +[ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://team_spawner.gd" id="10_n3y50"] +[ext_resource type="Script" path="res://multiplayer/spawn_system/dyn_objects_spawner.gd" id="11_ydk8w"] +[ext_resource type="Script" uid="uid://dncldab5y4yod" path="res://systems/item_spawner.gd" id="12_kry5j"] +[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://weapons/bomb/droppable_bomb.tscn" id="13_hy0sx"] [node name="PrototypeScene" type="Node3D"] diff --git a/multiplayer/dynamic_objects_parent.gd b/multiplayer/dynamic_objects_parent.gd new file mode 100644 index 0000000..78bc3a6 --- /dev/null +++ b/multiplayer/dynamic_objects_parent.gd @@ -0,0 +1,6 @@ +extends Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + Session.dynamic_objects_parent = get_parent() diff --git a/multiplayer/dynamic_objects_parent.gd.uid b/multiplayer/dynamic_objects_parent.gd.uid new file mode 100644 index 0000000..a968d43 --- /dev/null +++ b/multiplayer/dynamic_objects_parent.gd.uid @@ -0,0 +1 @@ +uid://xwiw2g6uc21k diff --git a/scripts/multiplayer/level_container.gd b/multiplayer/level_container.gd similarity index 100% rename from scripts/multiplayer/level_container.gd rename to multiplayer/level_container.gd diff --git a/scripts/multiplayer/level_container.gd.uid b/multiplayer/level_container.gd.uid similarity index 100% rename from scripts/multiplayer/level_container.gd.uid rename to multiplayer/level_container.gd.uid diff --git a/scripts/multiplayer/lobby.gd b/multiplayer/lobby.gd similarity index 100% rename from scripts/multiplayer/lobby.gd rename to multiplayer/lobby.gd diff --git a/scripts/multiplayer/lobby.gd.uid b/multiplayer/lobby.gd.uid similarity index 100% rename from scripts/multiplayer/lobby.gd.uid rename to multiplayer/lobby.gd.uid diff --git a/scripts/multiplayer/own_visibility_toggle.gd b/multiplayer/own_visibility_toggle.gd similarity index 100% rename from scripts/multiplayer/own_visibility_toggle.gd rename to multiplayer/own_visibility_toggle.gd diff --git a/scripts/multiplayer/own_visibility_toggle.gd.uid b/multiplayer/own_visibility_toggle.gd.uid similarity index 100% rename from scripts/multiplayer/own_visibility_toggle.gd.uid rename to multiplayer/own_visibility_toggle.gd.uid diff --git a/scripts/multiplayer/plant_site/plant_deadzone.gd b/multiplayer/plant_site/plant_deadzone.gd similarity index 100% rename from scripts/multiplayer/plant_site/plant_deadzone.gd rename to multiplayer/plant_site/plant_deadzone.gd diff --git a/scripts/multiplayer/plant_site/plant_deadzone.gd.uid b/multiplayer/plant_site/plant_deadzone.gd.uid similarity index 100% rename from scripts/multiplayer/plant_site/plant_deadzone.gd.uid rename to multiplayer/plant_site/plant_deadzone.gd.uid diff --git a/scripts/multiplayer/plant_site/plant_site.gd b/multiplayer/plant_site/plant_site.gd similarity index 100% rename from scripts/multiplayer/plant_site/plant_site.gd rename to multiplayer/plant_site/plant_site.gd diff --git a/scripts/multiplayer/plant_site/plant_site.gd.uid b/multiplayer/plant_site/plant_site.gd.uid similarity index 100% rename from scripts/multiplayer/plant_site/plant_site.gd.uid rename to multiplayer/plant_site/plant_site.gd.uid diff --git a/scripts/multiplayer/session.gd b/multiplayer/session.gd similarity index 92% rename from scripts/multiplayer/session.gd rename to multiplayer/session.gd index c4b575f..8aa096d 100644 --- a/scripts/multiplayer/session.gd +++ b/multiplayer/session.gd @@ -31,27 +31,25 @@ signal player_stopped_interacting(id: int) var player_nodes: Dictionary[int,Player] = {} var player_data: Dictionary[int,Dictionary] = {} -var object_containers: Array[ObjectContainer] -var dynamic_objects_spawner: MultiplayerSpawner +var dynamic_objects_parent: Node3D +var object_containers: Array[ObjectContainer] var plants: Array[PlantSite] var plant_deadzones: Dictionary[StringName, Area3D] +var session_started_flag: bool = false +var round_state: ROUND_STATES var current_round: int = 0 var attacker_score: int = 0 var defender_score: int = 0 var attackers_alive: int = 0 var defenders_alive: int = 0 +var reference_round_time: float var bomb_timer: Timer var round_timer: Timer var buy_timer: Timer -var round_state: ROUND_STATES -var session_started_flag: bool = false - -var reference_round_time: float - func _ready() -> void: if multiplayer.is_server() == false: return @@ -198,9 +196,10 @@ func end_session() -> void: session_started_flag = false - dynamic_objects_spawner = null plants = [] plant_deadzones = {} + + dynamic_objects_parent = null func quit_session() -> void: if multiplayer.is_server(): @@ -307,30 +306,6 @@ func add_dead(team: int): func is_server_request() -> bool: return multiplayer.is_server() or multiplayer.get_remote_sender_id() == 1 -## Spawns dynamic object at game scene [br] -## Dictionary keys: [br] -## (Required) scene - path/uuid to scene [br] -## (Optional) position - position to spawn [br] -## (Optional) impulse - impulse to apply [br] -## (Optional but required for each other) [br] -## ammo, remaining_ammo, slot - data for dropped weapon [br] -## for more, see dyn_objects_spawner.gd -func spawn(data: Dictionary) -> void: - if multiplayer.is_server() == false: - return - - var object = dynamic_objects_spawner.spawn(data) - - if data.has("position"): - object.global_position = data.position - -func despawn(path: NodePath) -> void: - if multiplayer.is_server() == false: - printerr(str(multiplayer.get_remote_sender_id())+" tried to despawn internally on "+str(multiplayer.get_unique_id())) - return - - get_node(path).queue_free() - func shoot(id:int , damage: int, distance: float) -> void: if multiplayer.is_server() == false: return diff --git a/scripts/multiplayer/session.gd.uid b/multiplayer/session.gd.uid similarity index 100% rename from scripts/multiplayer/session.gd.uid rename to multiplayer/session.gd.uid diff --git a/project.godot b/project.godot index 4f12e8c..d35f188 100644 --- a/project.godot +++ b/project.godot @@ -20,12 +20,12 @@ config/icon="res://icon.svg" [autoload] -PlayerGlobal="*res://scripts/player/player_global.gd" -Lobby="*res://scripts/multiplayer/lobby.gd" -Session="*res://scripts/multiplayer/session.gd" -ClientSettings="*res://scripts/client_settings.gd" -Registry="*res://scripts/registry.gd" -ClientSettingsMenu="res://scenes/gui/client_settings.tscn" +PlayerGlobal="*res://systems/player/player_global.gd" +Lobby="*res://multiplayer/lobby.gd" +Session="*res://multiplayer/session.gd" +ClientSettings="*res://gui/client_settings/client_settings.gd" +ClientSettingsMenu="res://gui/client_settings/client_settings.tscn" +Registry="*res://systems/registry.gd" [display] diff --git a/scenes/game.tscn b/scenes/game.tscn index 011867b..dd4c8ff 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://dstie24qkbc86"] -[ext_resource type="PackedScene" uid="uid://bv6ptrditssow" path="res://scenes/gui/client_settings.tscn" id="1_yqjtg"] -[ext_resource type="PackedScene" uid="uid://cbtp4rvg66ba1" path="res://scenes/main_menu.tscn" id="2_lnu2h"] -[ext_resource type="Script" uid="uid://dj4mlrime72hx" path="res://scripts/multiplayer/level_container.gd" id="3_lnu2h"] +[ext_resource type="PackedScene" uid="uid://bv6ptrditssow" path="res://gui/client_settings/client_settings.tscn" id="1_yqjtg"] +[ext_resource type="PackedScene" uid="uid://cbtp4rvg66ba1" path="res://gui/main_menu/main_menu.tscn" id="2_lnu2h"] +[ext_resource type="Script" uid="uid://dj4mlrime72hx" path="res://multiplayer/level_container.gd" id="3_lnu2h"] [node name="Game" type="Node"] diff --git a/scenes/molikman.tscn b/scenes/molikman.tscn index 1e96fae..d034709 100644 --- a/scenes/molikman.tscn +++ b/scenes/molikman.tscn @@ -1,41 +1,41 @@ [gd_scene load_steps=82 format=4 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="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://3dphlay25fih" path="res://systems/player/player.gd" id="1_g2els"] +[ext_resource type="Script" uid="uid://dalwlndejfdhm" path="res://gui/crosshair.gd" id="3_dqkch"] +[ext_resource type="Script" uid="uid://bjhbdh6xsjgnn" path="res://systems/player/player_camera.gd" id="3_qhqgy"] +[ext_resource type="Script" uid="uid://bmecgup3kcua7" path="res://systems/weapon_system/weapon_system.gd" id="4_qlg0r"] +[ext_resource type="Script" uid="uid://dd5mp72dq43v6" path="res://multiplayer/own_visibility_toggle.gd" id="4_smehm"] [ext_resource type="Texture2D" uid="uid://pdepam77xqnq" path="res://models/characters/viewmodels/molikman_hands_tex_knife.png" id="5_4whvg"] [ext_resource type="Texture2D" uid="uid://mjmyeeb7m7yy" path="res://models/characters/viewmodels/molikman_hands_tex_sp_albedo.png" id="5_j3w78"] [ext_resource type="Texture2D" uid="uid://cmpn3gco5t5p2" path="res://models/characters/viewmodels/molikman_hands_tex_sp_roughness.png" id="6_gifnh"] -[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://5gwpjiswnegn" path="res://systems/player/collision_team_updater.gd" id="7_a8ls1"] +[ext_resource type="Script" uid="uid://7gmgcaxfh8sb" path="res://systems/debug/property_shower.gd" id="7_oprun"] [ext_resource type="Texture2D" uid="uid://twxsiwqgu1dy" path="res://models/characters/viewmodels/molikman_hands_tex_bomb.png" id="7_pa2rf"] -[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="Script" uid="uid://3777rkbebgjm" path="res://systems/state_machine/machine.gd" id="8_f1ej7"] +[ext_resource type="Script" uid="uid://bl8gfrrc512q2" path="res://systems/player/dead_player_spectator.gd" id="8_rwwcc"] [ext_resource type="Animation" uid="uid://bd7i1oux2k74q" path="res://animations/baked_bomb_plant.res" id="9_b2eak"] -[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://bv8sgx78s8hwn" path="res://systems/player/states/crouching.gd" id="9_oprun"] +[ext_resource type="Script" uid="uid://dmy6ahci16los" path="res://systems/debug/inventory_preview.gd" id="9_ownlk"] +[ext_resource type="Script" uid="uid://u0e2b2mvij1k" path="res://systems/player/states/standing.gd" id="10_a8ls1"] +[ext_resource type="Script" uid="uid://vmhlmhd6gjx6" path="res://gui/hud/player_healthbar.gd" id="11_42l2h"] +[ext_resource type="Script" uid="uid://cwasvwhm5yg0o" path="res://systems/player/states/walk.gd" id="11_qfm1y"] +[ext_resource type="Script" uid="uid://cq4i0afwesdm3" path="res://systems/player/states/falling.gd" id="12_fulsm"] +[ext_resource type="Script" uid="uid://gan0amqbhi4i" path="res://gui/hud/player_ammo_display.gd" id="12_iortg"] [ext_resource type="AudioStream" uid="uid://bd4iofirvmiu6" path="res://audio/step_wood.ogg" id="16_fbysy"] -[ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://scripts/audio_system/multiplayer_audio_3d.gd" id="17_0cqlf"] -[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://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="17_0cqlf"] +[ext_resource type="Script" uid="uid://xsgfbuyje35p" path="res://systems/player/player_pickup.gd" id="17_fjvrb"] +[ext_resource type="Script" uid="uid://doevvmbvhlig8" path="res://systems/weapon_system/starting_weapon_spawner.gd" id="17_ownlk"] [ext_resource type="AudioStream" uid="uid://cdf76gyi58rrd" path="res://audio/land_wood.ogg" id="18_0cqlf"] -[ext_resource type="Script" uid="uid://bs4y647h5rdfr" path="res://scripts/player/player_movement.gd" id="19_70eug"] +[ext_resource type="Script" uid="uid://bs4y647h5rdfr" path="res://systems/player/player_movement.gd" id="19_70eug"] [ext_resource type="AudioStream" uid="uid://cc2mp4y3bkpgp" path="res://audio/plant.ogg" id="19_nquoi"] -[ext_resource type="Script" uid="uid://tb140f8fweug" path="res://scripts/player/states/death.gd" id="19_rwwcc"] +[ext_resource type="Script" uid="uid://tb140f8fweug" path="res://systems/player/states/death.gd" id="19_rwwcc"] [ext_resource type="AudioStream" uid="uid://c2y8wd427mmdw" path="res://audio/shoot.ogg" id="20_moxwy"] [ext_resource type="AudioStream" uid="uid://bixhakxpo8epv" path="res://audio/test_damaged.ogg" id="23_b2eak"] -[ext_resource type="Script" uid="uid://b2djbdh05pbcn" path="res://scripts/player/team_color_switcher.gd" id="25_1mtds"] +[ext_resource type="Script" uid="uid://b2djbdh05pbcn" path="res://systems/player/team_color_switcher.gd" id="25_1mtds"] [ext_resource type="Material" uid="uid://cjb0h3of85nc2" path="res://materials/players/molikman/mat_Molikman.tres" id="26_r2jxp"] [ext_resource type="Texture2D" uid="uid://15mf4452fse0" path="res://textures/players/molikman/molikman_ingame_Molikman_blue.png" id="27_j3w78"] -[ext_resource type="Script" uid="uid://dsp1sq46c5i3y" path="res://scripts/player/player_interaction.gd" id="37_5amik"] -[ext_resource type="Script" uid="uid://dfvnx8f1v6m5g" path="res://scripts/multiplayer/player_input.gd" id="37_b2eak"] +[ext_resource type="Script" uid="uid://dsp1sq46c5i3y" path="res://systems/player/player_interaction.gd" id="37_5amik"] +[ext_resource type="Script" uid="uid://dfvnx8f1v6m5g" path="res://systems/player/player_input.gd" id="37_b2eak"] [sub_resource type="ArrayMesh" id="ArrayMesh_lot4n"] _surfaces = [{ @@ -8141,167 +8141,167 @@ bones/1/parent = 0 bones/1/rest = Transform3D(-0.967654, 0.25016752, 0.0325744, -0.25158498, -0.96648616, -0.05108291, 0.018703416, -0.057625845, 0.998163, 0.26421797, 0.773799, 4.559311e-08) bones/1/enabled = true bones/1/position = Vector3(0.264218, 0.773799, 7.5726156e-08) -bones/1/rotation = Quaternion(0.25656375, -0.04702925, 0.90831447, -0.32699883) +bones/1/rotation = Quaternion(-0.11607456, -0.007566696, 0.95669395, -0.26684496) bones/1/scale = Vector3(0.9999995, 1, 0.99999994) bones/2/name = "Forearm.L" bones/2/parent = 1 bones/2/rest = Transform3D(0.9995757, 0.013401157, 0.025863314, -0.011816048, 0.9980985, -0.060496498, -0.026624857, 0.060165223, 0.9978333, -1.3533281e-08, 0.4103367, 9.313226e-10) bones/2/enabled = true bones/2/position = Vector3(-1.3533281e-08, 0.4103367, 9.313226e-10) -bones/2/rotation = Quaternion(0.7044763, 0.00911981, -0.14722896, 0.6942288) +bones/2/rotation = Quaternion(0.35293797, 0.012252082, -0.073760726, 0.9326543) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Wrist.L" bones/3/parent = 2 bones/3/rest = Transform3D(-0.9710889, 0.23862918, 0.0065318705, 0.2375265, 0.96860886, -0.07333562, -0.023826849, -0.069663905, -0.9972859, 1.2121745e-08, 0.40612826, -7.421477e-10) bones/3/enabled = true bones/3/position = Vector3(1.2121745e-08, 0.40612826, -7.421477e-10) -bones/3/rotation = Quaternion(0.15562417, 0.961473, 0.016216002, 0.22602618) +bones/3/rotation = Quaternion(0.1121526, 0.9382349, -0.23010647, 0.23278317) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "ThumbU.L" bones/4/parent = 3 bones/4/rest = Transform3D(0.9771098, -0.21273556, 7.7299774e-08, 0.2122333, 0.97480285, 0.068675034, -0.014609697, -0.06710303, 0.99763906, -0.0045400136, 0.06477452, -0.046769787) bones/4/enabled = true bones/4/position = Vector3(-0.0045400136, 0.06477452, -0.046769787) -bones/4/rotation = Quaternion(-0.034160614, 0.0036756974, 0.10691859, 0.993674) +bones/4/rotation = Quaternion(-0.18413022, 0.109042466, -0.01852451, 0.97665894) bones/4/scale = Vector3(1, 0.99999994, 1) bones/5/name = "ThumbM.L" bones/5/parent = 4 bones/5/rest = Transform3D(0.96273476, -0.2702871, -0.009302501, 0.270358, 0.96273106, 0.0074529527, 0.0069413693, -0.009690224, 0.9999289, -9.109499e-09, 0.050440647, -1.0863523e-09) bones/5/enabled = true bones/5/position = Vector3(-9.109499e-09, 0.050440647, -1.0863523e-09) -bones/5/rotation = Quaternion(-0.0043263314, -0.0040993784, 0.13643973, 0.9906305) +bones/5/rotation = Quaternion(-0.003382863, -0.0049069775, -0.07181848, 0.9973999) bones/5/scale = Vector3(0.9999999, 1, 0.99999994) bones/6/name = "ThumbD.L" bones/6/parent = 5 bones/6/rest = Transform3D(0.9935268, -0.11359587, 0.00059893046, 0.11359593, 0.99347246, -0.01041187, 0.0005877246, 0.010412509, 0.9999456, -7.9744495e-09, 0.031673077, -2.8667273e-09) bones/6/enabled = true bones/6/position = Vector3(-7.9744495e-09, 0.031673077, -2.8667273e-09) -bones/6/rotation = Quaternion(0.005214611, 2.8070995e-06, 0.05689102, 0.9983668) +bones/6/rotation = Quaternion(0.004960197, 0.0016089659, -0.25340638, 0.96734595) bones/6/scale = Vector3(0.99999994, 1, 0.99999994) bones/7/name = "IndexU.L" bones/7/parent = 3 bones/7/rest = Transform3D(0.9800801, -0.19626929, -0.030354138, 0.19836761, 0.95998544, 0.19768214, -0.009659407, -0.19976562, 0.97979605, 0.04529645, 0.07181831, -0.03615555) bones/7/enabled = true bones/7/position = Vector3(0.04529645, 0.07181831, -0.03615555) -bones/7/rotation = Quaternion(-0.1003725, -0.005226302, 0.09966263, 0.98993206) +bones/7/rotation = Quaternion(-0.100372516, -0.0052263015, 0.09966263, 0.98993206) bones/7/scale = Vector3(1, 1, 0.99999994) bones/8/name = "IndexM.L" bones/8/parent = 7 bones/8/rest = Transform3D(0.9323135, -0.3615566, -0.008257606, 0.36068276, 0.9312451, -0.05187074, 0.026444064, 0.045381427, 0.99861956, 2.4359906e-08, 0.078790486, 4.656613e-10) bones/8/enabled = true bones/8/position = Vector3(2.4359906e-08, 0.078790486, 4.656613e-10) -bones/8/rotation = Quaternion(0.024743048, -0.008828851, 0.18375325, 0.98262125) +bones/8/rotation = Quaternion(0.02378056, -0.011164779, 0.27729166, 0.96042657) bones/8/scale = Vector3(0.9999999, 1, 0.9999999) bones/9/name = "IndexD.L" bones/9/parent = 8 bones/9/rest = Transform3D(0.99988145, 0.015218651, -0.0023559656, -0.015326478, 0.99832255, -0.055830937, 0.001502342, 0.055860423, 0.99843746, -1.967419e-08, 0.060257126, -9.313226e-10) bones/9/enabled = true bones/9/position = Vector3(-1.967419e-08, 0.060257126, -9.313226e-10) -bones/9/rotation = Quaternion(0.027934574, -0.0009649883, -0.0076394607, 0.9995801) +bones/9/rotation = Quaternion(0.024683425, -0.013114907, 0.43138972, 0.9017327) bones/9/scale = Vector3(1, 0.99999994, 1) bones/10/name = "MiddleU.L" bones/10/parent = 3 bones/10/rest = Transform3D(0.995789, -0.058257025, -0.070783034, 0.065396525, 0.9925152, 0.10313419, 0.064244956, -0.10732886, 0.99214566, 0.0423781, 0.07765784, -0.01126304) bones/10/enabled = true bones/10/position = Vector3(0.0423781, 0.07765784, -0.01126304) -bones/10/rotation = Quaternion(-0.05274483, -0.0338398, 0.030989205, 0.9975533) +bones/10/rotation = Quaternion(-0.052744843, -0.033839792, 0.030989215, 0.9975533) bones/10/scale = Vector3(0.99999994, 0.9999999, 0.99999994) bones/11/name = "MiddleM.L" bones/11/parent = 10 bones/11/rest = Transform3D(0.86401427, -0.5034334, 0.005847616, 0.50168175, 0.85991454, -0.09414042, 0.042364985, 0.0842723, 0.99554175, -6.426126e-08, 0.07325909, 8.731149e-10) bones/11/enabled = true bones/11/position = Vector3(-6.426126e-08, 0.07325909, 8.731149e-10) -bones/11/rotation = Quaternion(0.046254627, -0.009467352, 0.26058254, 0.96429646) +bones/11/rotation = Quaternion(0.045131322, -0.013866683, 0.35200542, 0.9348064) bones/11/scale = Vector3(1, 1, 0.99999994) bones/12/name = "MiddleD.L" bones/12/parent = 11 bones/12/rest = Transform3D(0.9998987, -0.014212552, -0.00084086665, 0.014225133, 0.99974453, 0.017563164, 0.0005910344, -0.017573344, 0.99984545, -3.655441e-08, 0.064242914, -3.259629e-09) bones/12/enabled = true bones/12/position = Vector3(-3.655441e-08, 0.064242914, -3.259629e-09) -bones/12/rotation = Quaternion(-0.00878469, -0.00035800118, 0.0071099484, 0.9999361) +bones/12/rotation = Quaternion(-0.008052284, 0.0035297836, 0.44480184, 0.89558583) bones/12/scale = Vector3(1, 0.99999994, 1) bones/13/name = "RingU.L" bones/13/parent = 3 bones/13/rest = Transform3D(0.9704054, 0.03888444, -0.23833017, -0.02366867, 0.9975139, 0.06637663, 0.2403187, -0.05877129, 0.9689131, 0.033461113, 0.07149333, 0.017992377) bones/13/enabled = true bones/13/position = Vector3(0.033461113, 0.07149333, 0.017992377) -bones/13/rotation = Quaternion(-0.03153699, -0.12061845, -0.015763242, 0.9920727) +bones/13/rotation = Quaternion(-0.03153701, -0.12061846, -0.015763242, 0.9920727) bones/13/scale = Vector3(0.99999994, 1, 0.9999998) bones/14/name = "RingM.L" bones/14/parent = 13 bones/14/rest = Transform3D(0.8251062, -0.5639382, -0.034260202, 0.5524452, 0.81802005, -0.16014954, 0.11833996, 0.11321349, 0.9864982, 1.6880222e-08, 0.07553467, 6.165976e-09) bones/14/enabled = true bones/14/position = Vector3(1.6880222e-08, 0.07553467, 6.165976e-09) -bones/14/rotation = Quaternion(0.07174287, -0.040049206, 0.29298976, 0.9525786) +bones/14/rotation = Quaternion(0.067564145, -0.04675546, 0.38313726, 0.9200298) bones/14/scale = Vector3(1.0000001, 1.0000001, 1.0000001) bones/15/name = "RingD.L" bones/15/parent = 14 bones/15/rest = Transform3D(0.99991727, -0.012864361, 0.00015441107, 0.012864626, 0.999672, -0.022144126, 0.00013050961, 0.022144279, 0.9997547, 1.8626451e-08, 0.064691424, -4.656613e-09) bones/15/enabled = true bones/15/position = Vector3(1.8626451e-08, 0.064691424, -4.656613e-09) -bones/15/rotation = Quaternion(0.011073017, 5.9979952e-06, 0.0064327978, 0.9999181) +bones/15/rotation = Quaternion(0.009954605, -0.0048495512, 0.44418532, 0.89586663) bones/15/scale = Vector3(1, 0.99999994, 0.99999994) bones/16/name = "LittleU.L" bones/16/parent = 3 bones/16/rest = Transform3D(0.9178412, -0.18039086, -0.35359105, 0.15868124, 0.98324484, -0.089720085, 0.3638513, 0.026240522, 0.93108726, 0.03628368, 0.082845636, 0.04032454) bones/16/enabled = true bones/16/position = Vector3(0.03628368, 0.082845636, 0.04032454) -bones/16/rotation = Quaternion(0.02961815, -0.183246, 0.08660432, 0.9787969) +bones/16/rotation = Quaternion(0.029618153, -0.18324603, 0.0866043, 0.9787969) bones/16/scale = Vector3(0.99999994, 0.9999999, 0.9999999) bones/17/name = "LittleM.L" bones/17/parent = 16 bones/17/rest = Transform3D(0.92672586, -0.36745474, -0.07846127, 0.35205162, 0.9221317, -0.16041435, 0.13129665, 0.12103772, 0.9839263, -2.0954758e-09, 0.061574344, -4.1909516e-09) bones/17/enabled = true bones/17/position = Vector3(-2.0954758e-09, 0.061574344, -4.1909516e-09) -bones/17/rotation = Quaternion(0.07188154, -0.05357118, 0.18375853, 0.97887486) +bones/17/rotation = Quaternion(0.066403255, -0.06022823, 0.27693692, 0.95669705) bones/17/scale = Vector3(1, 1, 0.99999994) bones/18/name = "LittleD.L" bones/18/parent = 17 bones/18/rest = Transform3D(0.9951905, -0.09795637, -0.0007189751, 0.09795622, 0.99507964, 0.014866696, -0.00074085005, -0.014865619, 0.9998894, 1.4901161e-08, 0.035935525, -1.7695129e-08) bones/18/enabled = true bones/18/position = Vector3(1.4901161e-08, 0.035935525, -1.7695129e-08) -bones/18/rotation = Quaternion(-0.0074422434, 5.438985e-06, 0.049038637, 0.99876916) +bones/18/rotation = Quaternion(-0.0073038945, 0.0014285325, 0.2391246, 0.9709604) bones/18/scale = Vector3(1, 0.99999994, 1.0000001) bones/19/name = "ThumbCtrl.L" bones/19/parent = 3 bones/19/rest = Transform3D(0.9771098, -0.21273556, 9.247858e-08, 0.2122333, 0.97480285, 0.06867504, -0.014609714, -0.06710303, 0.99763906, -0.0045400136, 0.06477452, -0.046769787) bones/19/enabled = true bones/19/position = Vector3(-0.0045400136, 0.06477452, -0.046769787) -bones/19/rotation = Quaternion(-0.034160614, 0.0036757048, 0.106918596, 0.993674) +bones/19/rotation = Quaternion(-0.18413022, 0.10904248, -0.018524526, 0.97665894) bones/19/scale = Vector3(1, 0.99999994, 1) bones/20/name = "IndexCtrl.L" bones/20/parent = 3 bones/20/rest = Transform3D(0.9800801, -0.19626929, -0.030354116, 0.19836757, 0.9599856, 0.19768208, -0.009659403, -0.19976556, 0.9797962, 0.04529645, 0.07181834, -0.036155563) bones/20/enabled = true bones/20/position = Vector3(0.04529645, 0.07181834, -0.036155563) -bones/20/rotation = Quaternion(-0.10037246, -0.0052262964, 0.099662624, 0.98993206) +bones/20/rotation = Quaternion(-0.10037247, -0.0052262973, 0.09966262, 0.98993206) bones/20/scale = Vector3(1, 1.0000001, 1) bones/21/name = "MiddleCtrl.L" bones/21/parent = 3 bones/21/rest = Transform3D(0.995789, -0.058257017, -0.07078303, 0.06539652, 0.9925152, 0.1031342, 0.06424495, -0.10732886, 0.99214566, 0.0423781, 0.07765784, -0.011263036) bones/21/enabled = true bones/21/position = Vector3(0.0423781, 0.07765784, -0.011263036) -bones/21/rotation = Quaternion(-0.05274483, -0.03383979, 0.030989202, 0.9975533) +bones/21/rotation = Quaternion(-0.052744843, -0.033839785, 0.030989211, 0.9975533) bones/21/scale = Vector3(0.99999994, 0.9999999, 0.99999994) bones/22/name = "RingCtrl.L" bones/22/parent = 3 bones/22/rest = Transform3D(0.9704054, 0.03888438, -0.23833017, -0.023668619, 0.9975138, 0.0663766, 0.2403187, -0.05877127, 0.9689131, 0.033461053, 0.07149334, 0.017992355) bones/22/enabled = true bones/22/position = Vector3(0.033461053, 0.07149334, 0.017992355) -bones/22/rotation = Quaternion(-0.03153698, -0.12061845, -0.015763218, 0.9920727) +bones/22/rotation = Quaternion(-0.031537004, -0.12061846, -0.015763216, 0.9920727) bones/22/scale = Vector3(0.99999994, 0.9999999, 0.9999998) bones/23/name = "LittleCtrl.L" bones/23/parent = 3 bones/23/rest = Transform3D(0.91784114, -0.18039091, -0.35359108, 0.15868126, 0.9832449, -0.08972012, 0.3638513, 0.026240537, 0.9310873, 0.03628368, 0.08284565, 0.04032453) bones/23/enabled = true bones/23/position = Vector3(0.03628368, 0.08284565, 0.04032453) -bones/23/rotation = Quaternion(0.02961816, -0.183246, 0.08660434, 0.9787969) +bones/23/rotation = Quaternion(0.029618153, -0.18324603, 0.08660434, 0.9787969) bones/23/scale = Vector3(0.99999994, 0.99999994, 0.99999994) bones/24/name = "ArmPole.L" bones/24/parent = 0 bones/24/rest = Transform3D(-1, 0, 1.509958e-07, 0, 1, 0, -1.509958e-07, 0, -1, 0.35926056, 0.3746208, -0.29998538) bones/24/enabled = true -bones/24/position = Vector3(0.3592606, 0.3746208, -0.29998538) +bones/24/position = Vector3(0.6056142, 0.20785579, -0.19235319) bones/24/rotation = Quaternion(0, 1, 0, 7.54979e-08) bones/24/scale = Vector3(1, 1, 1) bones/25/name = "ArmCtrl.L" @@ -8315,190 +8315,190 @@ bones/26/name = "WristCtrl.L" bones/26/parent = 0 bones/26/rest = Transform3D(0.99986863, 1.6880067e-09, -0.016210483, 0.0011133, -0.9976389, 0.06866942, -0.016172118, -0.06867806, -0.9975134, 0.4638072, -0.017174125, -0.022513157) bones/26/enabled = true -bones/26/position = Vector3(0.62878627, 0.4425465, 0.28039673) -bones/26/rotation = Quaternion(0.73096085, 0.005924971, -0.005531113, 0.68237126) +bones/26/position = Vector3(0.5209434, 0.11365941, 0.27973163) +bones/26/rotation = Quaternion(0.99525756, 0.0013011391, -0.008000332, 0.096937135) bones/26/scale = Vector3(1, 1, 1.0000056) bones/27/name = "Arm.R" bones/27/parent = 0 bones/27/rest = Transform3D(-0.9676544, -0.25016746, -0.032574747, 0.25158504, -0.96648616, -0.051082943, -0.018703751, -0.057625957, 0.99816304, -0.26421797, 0.773799, -8.039582e-08) bones/27/enabled = true -bones/27/position = Vector3(-0.25017977, 0.56099474, -0.06066542) -bones/27/rotation = Quaternion(-0.08453745, 0.20055908, 0.85529864, 0.47020617) +bones/27/position = Vector3(-0.2642181, 0.773799, -7.244679e-08) +bones/27/rotation = Quaternion(-0.004606466, 0.043080933, 0.98210853, 0.18326412) bones/27/scale = Vector3(0.99999994, 1, 1) bones/28/name = "Forearm.R" bones/28/parent = 27 bones/28/rest = Transform3D(0.99957556, -0.013401167, -0.025863245, 0.011816061, 0.9980984, -0.060496498, 0.026624788, 0.060165223, 0.99783325, 1.17579475e-08, 0.4103366, 3.7252903e-09) bones/28/enabled = true bones/28/position = Vector3(1.17579475e-08, 0.4103366, 3.7252903e-09) -bones/28/rotation = Quaternion(0.46447125, -0.011562698, 0.097070254, 0.8801762) +bones/28/rotation = Quaternion(0.24371684, -0.012721976, 0.050934598, 0.96842444) bones/28/scale = Vector3(0.9999999, 0.9999999, 0.99999994) bones/29/name = "Wrist.R" bones/29/parent = 28 bones/29/rest = Transform3D(-0.9710889, -0.23862909, -0.0065321154, -0.23752637, 0.968609, -0.073335625, 0.02382708, -0.06966387, -0.9972859, -2.158049e-08, 0.4061282, -2.1100277e-09) bones/29/enabled = true bones/29/position = Vector3(-2.158049e-08, 0.4061282, -2.1100277e-09) -bones/29/rotation = Quaternion(-0.59555614, 0.5829333, 0.006156997, -0.5526879) +bones/29/rotation = Quaternion(-0.105007105, 0.9899002, -0.015528794, -0.09396898) bones/29/scale = Vector3(1, 1.0000001, 1) bones/30/name = "ThumbU.R" bones/30/parent = 29 bones/30/rest = Transform3D(0.97710997, 0.21273556, -2.9711325e-07, -0.21223329, 0.9748031, 0.06867511, 0.014609926, -0.067103066, 0.9976392, 0.0045400467, 0.06477455, -0.046769787) bones/30/enabled = true bones/30/position = Vector3(0.0045400467, 0.06477455, -0.046769787) -bones/30/rotation = Quaternion(-0.032949667, -0.0097353915, -0.28318176, 0.95845073) +bones/30/rotation = Quaternion(-0.03416064, -0.0036758184, -0.10691859, 0.993674) bones/30/scale = Vector3(1.0000001, 1.0000001, 1.0000001) bones/31/name = "ThumbM.R" bones/31/parent = 30 bones/31/rest = Transform3D(0.9627348, 0.270287, 0.009302534, -0.27035788, 0.9627312, 0.0074529545, -0.006941402, -0.009690234, 0.99992895, 1.0739313e-08, 0.05044063, 6.8161654e-10) bones/31/enabled = true bones/31/position = Vector3(1.0739313e-08, 0.05044063, 6.8161654e-10) -bones/31/rotation = Quaternion(-0.0019134879, 0.0056446115, 0.3415998, 0.9398266) +bones/31/rotation = Quaternion(-0.0043263347, 0.0040993956, -0.13643965, 0.9906305) bones/31/scale = Vector3(0.99999994, 1.0000001, 1) bones/32/name = "ThumbD.R" bones/32/parent = 31 bones/32/rest = Transform3D(0.99352676, 0.113595836, -0.0005989222, -0.113595866, 0.99347264, -0.010411862, -0.00058773125, 0.010412501, 0.99994564, 1.717126e-08, 0.031673037, 2.6193447e-09) bones/32/enabled = true bones/32/position = Vector3(1.717126e-08, 0.031673037, 2.6193447e-09) -bones/32/rotation = Quaternion(0.004624635, -0.0024093962, 0.41035476, 0.9119111) +bones/32/rotation = Quaternion(0.0052146167, -2.8286527e-06, -0.056890868, 0.99836683) bones/32/scale = Vector3(0.9999999, 1.0000001, 1) bones/33/name = "IndexU.R" bones/33/parent = 29 bones/33/rest = Transform3D(0.9800801, 0.19626924, 0.030353922, -0.1983675, 0.95998544, 0.19768226, 0.00965963, -0.19976568, 0.97979605, -0.04529639, 0.07181834, -0.03615556) bones/33/enabled = true bones/33/position = Vector3(-0.04529639, 0.07181834, -0.03615556) -bones/33/rotation = Quaternion(-0.10037253, 0.005226144, -0.09966263, 0.98993206) +bones/33/rotation = Quaternion(-0.100372545, 0.005226185, -0.0996626, 0.98993206) bones/33/scale = Vector3(1, 0.99999994, 0.99999994) bones/34/name = "IndexM.R" bones/34/parent = 33 bones/34/rest = Transform3D(0.9323134, 0.3615565, 0.008257622, -0.3606826, 0.9312451, -0.051870808, -0.026444094, 0.04538148, 0.9986197, 1.2980308e-08, 0.07879048, -2.3283064e-09) bones/34/enabled = true bones/34/position = Vector3(1.2980308e-08, 0.07879048, -2.3283064e-09) -bones/34/rotation = Quaternion(0.0193374, 0.017782895, -0.5525706, 0.833052) +bones/34/rotation = Quaternion(0.024743041, 0.008828865, -0.18375322, 0.9826214) bones/34/scale = Vector3(0.9999997, 1, 1) bones/35/name = "IndexD.R" bones/35/parent = 34 bones/35/rest = Transform3D(0.99988145, -0.015218617, 0.0023559635, 0.015326444, 0.99832255, -0.05583094, -0.0015023419, 0.05586043, 0.9984374, -9.895302e-09, 0.060257077, 1.3969839e-09) bones/35/enabled = true bones/35/position = Vector3(-9.895302e-09, 0.060257077, 1.3969839e-09) -bones/35/rotation = Quaternion(0.010231995, 0.026011147, -0.91397166, 0.40481445) +bones/35/rotation = Quaternion(0.023770574, 0.014704669, -0.48956946, 0.8715162) bones/35/scale = Vector3(1, 0.99999994, 0.99999994) bones/36/name = "MiddleU.R" bones/36/parent = 29 bones/36/rest = Transform3D(0.9957891, 0.05825713, 0.07078279, -0.06539661, 0.9925152, 0.103134215, -0.064244695, -0.10732887, 0.9921457, -0.04237805, 0.07765788, -0.011263045) bones/36/enabled = true bones/36/position = Vector3(-0.04237805, 0.07765788, -0.011263045) -bones/36/rotation = Quaternion(-0.05274484, 0.033839658, -0.030989284, 0.9975533) +bones/36/rotation = Quaternion(-0.05274485, 0.03383966, -0.03098926, 0.9975533) bones/36/scale = Vector3(1, 0.9999999, 1) bones/37/name = "MiddleM.R" bones/37/parent = 36 bones/37/rest = Transform3D(0.8640145, 0.50343317, -0.0058475533, -0.5016816, 0.8599146, -0.09414036, -0.04236499, 0.08427222, 0.99554175, 3.4226105e-08, 0.073259085, -2.910383e-10) bones/37/enabled = true bones/37/position = Vector3(3.4226105e-08, 0.073259085, -2.910383e-10) -bones/37/rotation = Quaternion(0.038894925, 0.026763793, -0.61616135, 0.7862036) +bones/37/rotation = Quaternion(0.044503566, 0.015765553, -0.39127773, 0.9190607) bones/37/scale = Vector3(1.0000001, 0.99999994, 0.99999994) bones/38/name = "MiddleD.R" bones/38/parent = 37 bones/38/rest = Transform3D(0.9998987, 0.01421252, 0.00084087194, -0.014225099, 0.9997446, 0.017563174, -0.0005910403, -0.017573357, 0.9998453, 6.9849193e-09, 0.06424289, 3.259629e-09) bones/38/enabled = true bones/38/position = Vector3(6.9849193e-09, 0.06424289, 3.259629e-09) -bones/38/rotation = Quaternion(-0.0038245036, -0.0079165865, -0.9201681, 0.39142483) +bones/38/rotation = Quaternion(-0.0068607684, -0.0054980787, -0.661929, 0.749515) bones/38/scale = Vector3(1, 1, 0.9999999) bones/39/name = "RingU.R" bones/39/parent = 29 bones/39/rest = Transform3D(0.97040546, -0.03888434, 0.23833002, 0.023668591, 0.9975139, 0.0663766, -0.24031854, -0.05877128, 0.9689132, -0.033461094, 0.07149336, 0.017992368) bones/39/enabled = true bones/39/position = Vector3(-0.033461094, 0.07149336, 0.017992368) -bones/39/rotation = Quaternion(-0.031536963, 0.12061838, 0.01576319, 0.99207276) +bones/39/rotation = Quaternion(-0.031536996, 0.12061837, 0.015763192, 0.99207276) bones/39/scale = Vector3(1, 1, 0.9999999) bones/40/name = "RingM.R" bones/40/parent = 39 bones/40/rest = Transform3D(0.8251063, 0.56393784, 0.034260213, -0.55244493, 0.81802005, -0.16014935, -0.11833983, 0.11321335, 0.98649806, -1.9383151e-08, 0.07553466, 5.743118e-09) bones/40/enabled = true bones/40/position = Vector3(-1.9383151e-08, 0.07553466, 5.743118e-09) -bones/40/rotation = Quaternion(0.05043134, 0.064866394, -0.6414283, 0.7627704) +bones/40/rotation = Quaternion(0.055570774, 0.06052161, -0.5768524, 0.81270564) bones/40/scale = Vector3(1, 0.99999994, 1) bones/41/name = "RingD.R" bones/41/parent = 40 bones/41/rest = Transform3D(0.99991727, 0.012864309, -0.00015439918, -0.012864574, 0.999672, -0.022144107, -0.00013052007, 0.02214426, 0.9997548, 6.519258e-09, 0.06469142, 1.8626451e-08) bones/41/enabled = true bones/41/position = Vector3(6.519258e-09, 0.06469142, 1.8626451e-08) -bones/41/rotation = Quaternion(0.004412254, 0.010155983, -0.9198821, 0.3920389) +bones/41/rotation = Quaternion(0.008899972, 0.0065879845, -0.6005104, 0.7995404) bones/41/scale = Vector3(1, 0.99999994, 1) bones/42/name = "LittleU.R" bones/42/parent = 29 bones/42/rest = Transform3D(0.91784126, 0.18039082, 0.35359094, -0.15868118, 0.9832451, -0.08972006, -0.36385116, 0.026240546, 0.93108743, -0.036283698, 0.08284566, 0.04032454) bones/42/enabled = true bones/42/position = Vector3(-0.036283698, 0.08284566, 0.04032454) -bones/42/rotation = Quaternion(0.029618183, 0.1832459, -0.08660429, 0.978797) +bones/42/rotation = Quaternion(0.029618138, 0.18324591, -0.08660426, 0.978797) bones/42/scale = Vector3(1, 1.0000001, 1) bones/43/name = "LittleM.R" bones/43/parent = 42 bones/43/rest = Transform3D(0.9267258, 0.3674547, 0.078461215, -0.35205156, 0.9221319, -0.16041426, -0.13129655, 0.12103769, 0.9839263, 4.5401976e-09, 0.061574332, 1.4901161e-08) bones/43/enabled = true bones/43/position = Vector3(4.5401976e-09, 0.061574332, 1.4901161e-08) -bones/43/rotation = Quaternion(0.045283318, 0.07737079, -0.5511137, 0.8296004) +bones/43/rotation = Quaternion(0.04652544, 0.07663028, -0.5376598, 0.83838236) bones/43/scale = Vector3(0.9999999, 1.0000001, 0.99999994) bones/44/name = "LittleD.R" bones/44/parent = 43 bones/44/rest = Transform3D(0.99519044, 0.09795644, 0.00071900914, -0.097956285, 0.99507964, 0.014866768, 0.0007408244, -0.014865696, 0.99988925, -2.6077032e-08, 0.035935488, 2.0489097e-08) bones/44/enabled = true bones/44/position = Vector3(-2.6077032e-08, 0.035935488, 2.0489097e-08) -bones/44/rotation = Quaternion(-0.0051725525, -0.005350945, -0.75170314, 0.65945977) +bones/44/rotation = Quaternion(-0.005342348, -0.00518124, -0.7300394, 0.68336457) bones/44/scale = Vector3(1, 0.99999994, 1) bones/45/name = "ThumbCtrl.R" bones/45/parent = 29 bones/45/rest = Transform3D(0.97710997, 0.21273556, -3.141077e-07, -0.21223329, 0.9748031, 0.06867511, 0.014609943, -0.06710306, 0.9976392, 0.0045400467, 0.06477455, -0.046769787) bones/45/enabled = true bones/45/position = Vector3(0.0045400467, 0.06477455, -0.046769787) -bones/45/rotation = Quaternion(-0.032949682, -0.009735426, -0.28318176, 0.95845073) +bones/45/rotation = Quaternion(-0.03416064, -0.0036758187, -0.10691858, 0.993674) bones/45/scale = Vector3(1.0000001, 1.0000001, 1.0000001) bones/46/name = "IndexCtrl.R" bones/46/parent = 29 bones/46/rest = Transform3D(0.9800801, 0.1962692, 0.030353911, -0.19836746, 0.9599855, 0.1976822, 0.009659619, -0.19976562, 0.9797961, -0.04529639, 0.07181837, -0.036155567) bones/46/enabled = true bones/46/position = Vector3(-0.04529639, 0.07181837, -0.036155567) -bones/46/rotation = Quaternion(-0.100372516, 0.005226184, -0.09966261, 0.98993206) +bones/46/rotation = Quaternion(-0.100372516, 0.0052261977, -0.09966259, 0.98993206) bones/46/scale = Vector3(1, 1, 1) bones/47/name = "MiddleCtrl.R" bones/47/parent = 29 bones/47/rest = Transform3D(0.9957891, 0.05825713, 0.07078278, -0.06539661, 0.9925152, 0.103134215, -0.06424469, -0.10732887, 0.9921457, -0.04237805, 0.07765788, -0.011263043) bones/47/enabled = true bones/47/position = Vector3(-0.04237805, 0.07765788, -0.011263043) -bones/47/rotation = Quaternion(-0.052744824, 0.03383967, -0.030989263, 0.9975533) +bones/47/rotation = Quaternion(-0.052744865, 0.033839665, -0.030989254, 0.9975533) bones/47/scale = Vector3(1, 0.9999999, 1) bones/48/name = "RingCtrl.R" bones/48/parent = 29 bones/48/rest = Transform3D(0.97040546, -0.038884338, 0.23833002, 0.023668593, 0.9975139, 0.06637658, -0.24031854, -0.058771256, 0.9689132, -0.033461034, 0.07149337, 0.017992346) bones/48/enabled = true bones/48/position = Vector3(-0.033461034, 0.07149337, 0.017992346) -bones/48/rotation = Quaternion(-0.03153697, 0.120618366, 0.0157632, 0.99207276) +bones/48/rotation = Quaternion(-0.031536963, 0.120618366, 0.015763193, 0.99207276) bones/48/scale = Vector3(1, 1, 0.9999999) bones/49/name = "LittleCtrl.R" bones/49/parent = 29 bones/49/rest = Transform3D(0.91784126, 0.18039085, 0.353591, -0.15868121, 0.9832451, -0.08972009, -0.36385122, 0.026240563, 0.93108743, -0.036283698, 0.08284567, 0.04032453) bones/49/enabled = true bones/49/position = Vector3(-0.036283698, 0.08284567, 0.04032453) -bones/49/rotation = Quaternion(0.029618176, 0.1832459, -0.08660432, 0.9787969) +bones/49/rotation = Quaternion(0.029618144, 0.1832459, -0.0866043, 0.9787969) bones/49/scale = Vector3(1, 1.0000001, 1) bones/50/name = "ArmPole.R" bones/50/parent = 0 bones/50/rest = Transform3D(-1, 0, 3.8941437e-07, 0, 1, 0, -3.8941437e-07, 0, -1, -0.35926044, 0.3746208, -0.29998556) bones/50/enabled = true -bones/50/position = Vector3(-0.35926044, 0.3746208, -0.29998556) +bones/50/position = Vector3(-0.50106835, 0.038118243, -0.18320106) bones/50/rotation = Quaternion(0, 1, 0, 1.9470718e-07) bones/50/scale = Vector3(1, 1, 1) bones/51/name = "ArmCtrl.R" bones/51/parent = 0 bones/51/rest = Transform3D(0.94635737, -0.23162138, -0.2253216, -0.22532392, -0.9728065, 0.05364829, -0.23162167, -1.0385237e-07, -0.9728063, -0.26421803, 0.77379894, -6.9123985e-08) bones/51/enabled = true -bones/51/position = Vector3(-0.25017977, 0.5609948, -0.0606654) +bones/51/position = Vector3(-0.26421806, 0.77379906, -5.8168844e-08) bones/51/rotation = Quaternion(0.9864031, -0.11581065, -0.115810156, -0.013596978) bones/51/scale = Vector3(1.0000058, 1.0000005, 1) bones/52/name = "WristCtrl.R" bones/52/parent = 0 bones/52/rest = Transform3D(0.9998686, -1.920822e-09, 0.016210958, -0.0011133328, -0.9976389, 0.068669416, 0.016172592, -0.06867806, -0.9975133, -0.4638072, -0.017174125, -0.022513377) bones/52/enabled = true -bones/52/position = Vector3(-0.72660184, 0.34166104, 0.43067294) -bones/52/rotation = Quaternion(0.72577125, 0.52325475, -0.056364454, 0.4430391) +bones/52/position = Vector3(-0.4992833, 0.063198194, 0.25505123) +bones/52/rotation = Quaternion(0.9634464, -0.0027018473, 0.0076421746, 0.26777864) bones/52/scale = Vector3(0.99999994, 1, 1.0000055) bones/53/name = "neutral_bone" bones/53/parent = -1 @@ -8518,7 +8518,7 @@ mesh = SubResource("ArrayMesh_k2oqm") skin = SubResource("Skin_7i6yw") [node name="Knife" type="MeshInstance3D" parent="Camera3D/molikman_hands"] -transform = Transform3D(0.44349924, -0.24581784, -0.24349186, 1.6763806e-08, 0.3958524, -0.3996338, 0.34599808, 0.3150885, 0.3121071, -0.5997052, 0.41665718, 0.45029944) +transform = Transform3D(0.39448777, -0.03612302, -0.39935043, -0.32588214, 0.2975342, -0.3488273, 0.23363753, 0.4759987, 0.18773648, 0.028825827, 0.36956742, -0.17253295) mesh = SubResource("ArrayMesh_3xmvl") skeleton = NodePath("") @@ -8559,29 +8559,29 @@ bones/0/name = "DownCasing" bones/0/parent = -1 bones/0/rest = Transform3D(1, -3.1337524e-16, -6.436688e-14, -6.436689e-14, -0.009737134, -0.99995255, -3.1338864e-16, 0.99995255, -0.009737134, -1.376031e-17, -0.061970927, -0.35584867) bones/0/enabled = true -bones/0/position = Vector3(-1.376031e-17, -0.061970927, -0.35584867) -bones/0/rotation = Quaternion(0.710541, -2.2757397e-14, -2.2757402e-14, 0.7036558) +bones/0/position = Vector3(-1.1928003e-07, 0.12658781, 1.0104566) +bones/0/rotation = Quaternion(4.2351576e-08, 0.71054107, -0.7036557, 4.1941128e-08) bones/0/scale = Vector3(1, 0.99999994, 0.99999994) bones/1/name = "UpCasing" bones/1/parent = 0 bones/1/rest = Transform3D(1, 3.0177497e-16, 2.1433547e-14, -2.0314211e-16, 0.99998933, -0.0046016485, -2.143471e-14, 0.0046016485, 0.99998933, -4.4210334e-15, -0.0037285234, -0.06914721) bones/1/enabled = true bones/1/position = Vector3(-4.4210334e-15, -0.0037285234, -0.06914721) -bones/1/rotation = Quaternion(0.0023008306, 1.0717094e-14, -1.262296e-16, 0.9999974) +bones/1/rotation = Quaternion(0.0023008303, 1.0703215e-14, -1.261531e-16, 0.9999974) bones/1/scale = Vector3(1, 0.9999999, 0.9999999) bones/2/name = "Lock.L" bones/2/parent = 1 bones/2/rest = Transform3D(1, -2.2826183e-13, 4.7683716e-06, 4.768358e-06, -0.0023846624, -0.99999714, 1.1371185e-08, 0.99999714, -0.0023846624, 0.40466008, 0.74391246, -0.04321898) bones/2/enabled = true bones/2/position = Vector3(0.40466008, 0.74391246, -0.04321898) -bones/2/rotation = Quaternion(0.7079494, 1.6838627e-06, 1.6878829e-06, 0.7062632) +bones/2/rotation = Quaternion(0.7079494, 1.6838625e-06, 1.6878829e-06, 0.7062632) bones/2/scale = Vector3(1, 0.99999994, 0.99999994) bones/3/name = "Lock.R" bones/3/parent = 1 bones/3/rest = Transform3D(1, -2.2826183e-13, 4.7683716e-06, 4.768358e-06, -0.0023846624, -0.99999714, 1.1371185e-08, 0.99999714, -0.0023846624, -0.4074956, 0.74391246, -0.04321898) bones/3/enabled = true bones/3/position = Vector3(-0.4074956, 0.74391246, -0.04321898) -bones/3/rotation = Quaternion(0.7079494, 1.6838627e-06, 1.6878829e-06, 0.7062632) +bones/3/rotation = Quaternion(0.7079494, 1.6838625e-06, 1.6878829e-06, 0.7062632) bones/3/scale = Vector3(1, 0.99999994, 0.99999994) [node name="Case" type="MeshInstance3D" parent="Camera3D/molikman_hands/Armature/Skeleton3D"] diff --git a/scenes/smoke.tscn b/scenes/smoke.tscn deleted file mode 100644 index 31b1b8f..0000000 --- a/scenes/smoke.tscn +++ /dev/null @@ -1,49 +0,0 @@ -[gd_scene load_steps=8 format=3 uid="uid://cheu6vds21er7"] - -[ext_resource type="Script" uid="uid://t5jjqwnkxgvo" path="res://scripts/smoke_grenade.gd" id="1_acmqr"] - -[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_acmqr"] -bounce = 0.5 - -[sub_resource type="CapsuleMesh" id="CapsuleMesh_vb5ru"] -radius = 0.1 -height = 0.5 - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_acmqr"] -frequency = 0.1141 - -[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_rx0m8"] -width = 128 -height = 128 -depth = 128 -noise = SubResource("FastNoiseLite_acmqr") - -[sub_resource type="FogMaterial" id="FogMaterial_rx0m8"] -resource_local_to_scene = true -density = 8.0 -density_texture = SubResource("NoiseTexture3D_rx0m8") - -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_acmqr"] -radius = 0.1 -height = 0.5 - -[node name="Smoke" type="RigidBody3D" node_paths=PackedStringArray("fog")] -physics_material_override = SubResource("PhysicsMaterial_acmqr") -contact_monitor = true -max_contacts_reported = 1 -script = ExtResource("1_acmqr") -radius = 10.0 -fog = NodePath("FogVolume") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] -mesh = SubResource("CapsuleMesh_vb5ru") - -[node name="FogVolume" type="FogVolume" parent="."] -size = Vector3(0, 0, 0) -shape = 0 -material = SubResource("FogMaterial_rx0m8") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="."] -shape = SubResource("CapsuleShape3D_acmqr") - -[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scenes/spectator.tscn b/scenes/spectator.tscn index afc26b5..c7df0b8 100644 --- a/scenes/spectator.tscn +++ b/scenes/spectator.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://ckjabjcvgki6n"] -[ext_resource type="Script" uid="uid://cikw7fcykkpd5" path="res://scripts/player/spectator.gd" id="1_jjbhc"] +[ext_resource type="Script" uid="uid://cikw7fcykkpd5" path="res://systems/player/spectator.gd" id="1_jjbhc"] [node name="Spectator" type="Camera3D"] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0) diff --git a/scenes/weapons/molik.tscn b/scenes/weapons/molik.tscn index bd941f3..f7c89cf 100644 --- a/scenes/weapons/molik.tscn +++ b/scenes/weapons/molik.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://b6qahd6q60js7"] -[ext_resource type="Script" uid="uid://y1s64ppporww" path="res://scripts/weapon_system/molikman/molik/molik.gd" id="1_aqokr"] +[ext_resource type="Script" uid="uid://y1s64ppporww" path="res://weapons/molikman/molik/molik.gd" id="1_aqokr"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_aqokr"] bounce = 0.53 diff --git a/scenes/weapons/molikman_molik.tscn b/scenes/weapons/molikman_molik.tscn index a02e5b5..e57e5cb 100644 --- a/scenes/weapons/molikman_molik.tscn +++ b/scenes/weapons/molikman_molik.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://c5q7e5dj86187"] -[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://scripts/weapon_system/weapon_substate_machine.gd" id="1_e53aq"] -[ext_resource type="Script" uid="uid://js2rkse5mka0" path="res://scripts/weapon_system/molikman/molik/intro_state.gd" id="2_8q75j"] -[ext_resource type="Script" uid="uid://cnre3f01a2n88" path="res://scripts/weapon_system/molikman/molik/idle_state.gd" id="3_p1i4u"] -[ext_resource type="Script" uid="uid://b6eio68csxw7v" path="res://scripts/weapon_system/molikman/molik/throw.gd" id="4_1la3w"] +[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://systems/weapon_system/weapon_substate_machine.gd" id="1_e53aq"] +[ext_resource type="Script" uid="uid://js2rkse5mka0" path="res://weapons/molikman/molik/intro_state.gd" id="2_8q75j"] +[ext_resource type="Script" uid="uid://cnre3f01a2n88" path="res://weapons/molikman/molik/idle_state.gd" id="3_p1i4u"] +[ext_resource type="Script" uid="uid://b6eio68csxw7v" path="res://weapons/molikman/molik/throw.gd" id="4_1la3w"] [node name="MolikmanMolik" type="Node" node_paths=PackedStringArray("enter_state")] script = ExtResource("1_e53aq") diff --git a/scripts/abilities/Ability.gd b/scripts/abilities/Ability.gd deleted file mode 100644 index e3304c1..0000000 --- a/scripts/abilities/Ability.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends Resource - -@export var internal_id: StringName -@export var immediate: bool -@export var max_uses: int -@export var cost: int diff --git a/scripts/abilities/Ability.gd.uid b/scripts/abilities/Ability.gd.uid deleted file mode 100644 index fa59ec2..0000000 --- a/scripts/abilities/Ability.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cwn6swbl3bcqw diff --git a/scripts/gui/lobby/lobby_buttons.gd b/scripts/gui/lobby/lobby_buttons.gd deleted file mode 100644 index 57fc58a..0000000 --- a/scripts/gui/lobby/lobby_buttons.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Node - -func _ready() -> void: - Lobby.lobby_joined.connect(on_lobby_joined) - -func on_lobby_joined() -> void: - $StartButton.hide() diff --git a/scripts/gui/lobby/lobby_buttons.gd.uid b/scripts/gui/lobby/lobby_buttons.gd.uid deleted file mode 100644 index 6157091..0000000 --- a/scripts/gui/lobby/lobby_buttons.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://2uyxkfmbbims diff --git a/scripts/multiplayer/loaded_notifier.gd b/scripts/multiplayer/loaded_notifier.gd deleted file mode 100644 index 7bccb84..0000000 --- a/scripts/multiplayer/loaded_notifier.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Node - - -func _ready() -> void: - if not multiplayer.is_server(): - return - Lobby.add_loaded_player(multiplayer.get_unique_id()) diff --git a/scripts/multiplayer/loaded_notifier.gd.uid b/scripts/multiplayer/loaded_notifier.gd.uid deleted file mode 100644 index 5d0fbec..0000000 --- a/scripts/multiplayer/loaded_notifier.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bdxy621fthtrv diff --git a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd deleted file mode 100644 index 1db85a4..0000000 --- a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd +++ /dev/null @@ -1,44 +0,0 @@ -extends MultiplayerSpawner - -func _ready() -> void: - spawn_function = request_spawn - Session.dynamic_objects_spawner = self - -func request_spawn(data: Variant) -> Node: - if data.has("type") == false or data.has("spawn_name") == false: - return Node.new() - match data.type: - "weapon": - var weapon: DroppableWeapon = Registry.weapons[data.spawn_name].dropped_scene.instantiate() - weapon.apply_central_impulse(data.impulse) - weapon.weapon.ammo = data.ammo - weapon.weapon.remaining_ammo = data.remaining_ammo - weapon.slot = Registry.weapons[data.spawn_name].slot - - for key in data.keys(): - if key == "impulse" or key == "ammo" or key == "remaining_ammo": - continue - weapon.set(key,data[key]) - - return weapon - "projectile": - var projectile: RigidBody3D = Registry.spawnable_objects[data.spawn_name].instantiate() - projectile.apply_central_impulse(data.impulse) - - for key in data.keys(): - if key == "impulse": - continue - projectile.set(key,data[key]) - - return projectile - "object": - var object: Node3D = Registry.spawnable_objects[data.spawn_name].instantiate() - - - for key in data.keys(): - object.set(key,data[key]) - - return object - _: - return Node.new() - diff --git a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd.uid b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd.uid deleted file mode 100644 index 515c347..0000000 --- a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bqjv6l7hh0lix diff --git a/scripts/player/input_system.gd b/scripts/player/input_system.gd deleted file mode 100644 index fae2c76..0000000 --- a/scripts/player/input_system.gd +++ /dev/null @@ -1,11 +0,0 @@ -extends Node - - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - pass diff --git a/scripts/player/input_system.gd.uid b/scripts/player/input_system.gd.uid deleted file mode 100644 index 2810c17..0000000 --- a/scripts/player/input_system.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cg0v1nmwuuoej diff --git a/scripts/registry.gd b/scripts/registry.gd deleted file mode 100644 index cacce20..0000000 --- a/scripts/registry.gd +++ /dev/null @@ -1,11 +0,0 @@ -extends Node - -var spawnable_objects: Dictionary[StringName,PackedScene] -var weapons: Dictionary[StringName,WeaponResource] - -func _ready() -> void: - for file in ResourceLoader.list_directory("res://weapons/"): - weapons[file.trim_suffix(".tres")] = load("res://weapons/"+ file) - - for file in ResourceLoader.list_directory("res://spawnables/"): - spawnable_objects[file.trim_suffix(".tscn")] = load("res://spawnables/" + file) diff --git a/scripts/registry.gd.uid b/scripts/registry.gd.uid deleted file mode 100644 index 5bfda02..0000000 --- a/scripts/registry.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c7p8avavia4fp diff --git a/shaders/team_color.gdshader b/shaders/team_color.gdshader deleted file mode 100644 index d96ec45..0000000 --- a/shaders/team_color.gdshader +++ /dev/null @@ -1,14 +0,0 @@ -shader_type spatial; - -void vertex() { - // Called for every vertex the material is visible on. -} - -void fragment() { - // Called for every pixel the material is visible on. -} - -//void light() { -// // Called for every pixel for every light affecting the material. -// // Uncomment to replace the default light processing function with this one. -//} diff --git a/shaders/team_color.gdshader.uid b/shaders/team_color.gdshader.uid deleted file mode 100644 index 9313504..0000000 --- a/shaders/team_color.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bv2xmvpe4rjhq diff --git a/scripts/debug/inventory_preview.gd b/systems/debug/inventory_preview.gd similarity index 100% rename from scripts/debug/inventory_preview.gd rename to systems/debug/inventory_preview.gd diff --git a/scripts/debug/inventory_preview.gd.uid b/systems/debug/inventory_preview.gd.uid similarity index 100% rename from scripts/debug/inventory_preview.gd.uid rename to systems/debug/inventory_preview.gd.uid diff --git a/scripts/debug/property_shower.gd b/systems/debug/property_shower.gd similarity index 100% rename from scripts/debug/property_shower.gd rename to systems/debug/property_shower.gd diff --git a/scripts/debug/property_shower.gd.uid b/systems/debug/property_shower.gd.uid similarity index 100% rename from scripts/debug/property_shower.gd.uid rename to systems/debug/property_shower.gd.uid diff --git a/scripts/interaction_system/interactible.gd b/systems/interaction_system/interactible.gd similarity index 100% rename from scripts/interaction_system/interactible.gd rename to systems/interaction_system/interactible.gd diff --git a/scripts/interaction_system/interactible.gd.uid b/systems/interaction_system/interactible.gd.uid similarity index 100% rename from scripts/interaction_system/interactible.gd.uid rename to systems/interaction_system/interactible.gd.uid diff --git a/scripts/item_spawner.gd b/systems/item_spawner.gd similarity index 100% rename from scripts/item_spawner.gd rename to systems/item_spawner.gd diff --git a/scripts/item_spawner.gd.uid b/systems/item_spawner.gd.uid similarity index 100% rename from scripts/item_spawner.gd.uid rename to systems/item_spawner.gd.uid diff --git a/scripts/object_container.gd b/systems/object_container.gd similarity index 100% rename from scripts/object_container.gd rename to systems/object_container.gd diff --git a/scripts/object_container.gd.uid b/systems/object_container.gd.uid similarity index 100% rename from scripts/object_container.gd.uid rename to systems/object_container.gd.uid diff --git a/scripts/player/collision_team_updater.gd b/systems/player/collision_team_updater.gd similarity index 100% rename from scripts/player/collision_team_updater.gd rename to systems/player/collision_team_updater.gd diff --git a/scripts/player/collision_team_updater.gd.uid b/systems/player/collision_team_updater.gd.uid similarity index 100% rename from scripts/player/collision_team_updater.gd.uid rename to systems/player/collision_team_updater.gd.uid diff --git a/scripts/player/dead_player_spectator.gd b/systems/player/dead_player_spectator.gd similarity index 100% rename from scripts/player/dead_player_spectator.gd rename to systems/player/dead_player_spectator.gd diff --git a/scripts/player/dead_player_spectator.gd.uid b/systems/player/dead_player_spectator.gd.uid similarity index 100% rename from scripts/player/dead_player_spectator.gd.uid rename to systems/player/dead_player_spectator.gd.uid diff --git a/scripts/player/player.gd b/systems/player/player.gd similarity index 100% rename from scripts/player/player.gd rename to systems/player/player.gd diff --git a/scripts/player/player.gd.uid b/systems/player/player.gd.uid similarity index 100% rename from scripts/player/player.gd.uid rename to systems/player/player.gd.uid diff --git a/scripts/player/player_camera.gd b/systems/player/player_camera.gd similarity index 100% rename from scripts/player/player_camera.gd rename to systems/player/player_camera.gd diff --git a/scripts/player/player_camera.gd.uid b/systems/player/player_camera.gd.uid similarity index 100% rename from scripts/player/player_camera.gd.uid rename to systems/player/player_camera.gd.uid diff --git a/scripts/player/player_global.gd b/systems/player/player_global.gd similarity index 100% rename from scripts/player/player_global.gd rename to systems/player/player_global.gd diff --git a/scripts/player/player_global.gd.uid b/systems/player/player_global.gd.uid similarity index 100% rename from scripts/player/player_global.gd.uid rename to systems/player/player_global.gd.uid diff --git a/scripts/multiplayer/player_input.gd b/systems/player/player_input.gd similarity index 100% rename from scripts/multiplayer/player_input.gd rename to systems/player/player_input.gd diff --git a/scripts/multiplayer/player_input.gd.uid b/systems/player/player_input.gd.uid similarity index 100% rename from scripts/multiplayer/player_input.gd.uid rename to systems/player/player_input.gd.uid diff --git a/scripts/player/player_interaction.gd b/systems/player/player_interaction.gd similarity index 100% rename from scripts/player/player_interaction.gd rename to systems/player/player_interaction.gd diff --git a/scripts/player/player_interaction.gd.uid b/systems/player/player_interaction.gd.uid similarity index 100% rename from scripts/player/player_interaction.gd.uid rename to systems/player/player_interaction.gd.uid diff --git a/scripts/player/player_movement.gd b/systems/player/player_movement.gd similarity index 100% rename from scripts/player/player_movement.gd rename to systems/player/player_movement.gd diff --git a/scripts/player/player_movement.gd.uid b/systems/player/player_movement.gd.uid similarity index 100% rename from scripts/player/player_movement.gd.uid rename to systems/player/player_movement.gd.uid diff --git a/scripts/player/player_pickup.gd b/systems/player/player_pickup.gd similarity index 96% rename from scripts/player/player_pickup.gd rename to systems/player/player_pickup.gd index bd9df52..df61ce7 100644 --- a/scripts/player/player_pickup.gd +++ b/systems/player/player_pickup.gd @@ -25,7 +25,7 @@ func on_body_entered(body: Node3D): "slot": body.slot }) - Session.despawn(body.get_path()) + body.queue_free() func start_temp_ignore(): if disabled: diff --git a/scripts/player/player_pickup.gd.uid b/systems/player/player_pickup.gd.uid similarity index 100% rename from scripts/player/player_pickup.gd.uid rename to systems/player/player_pickup.gd.uid diff --git a/scripts/player/player_raycast.gd b/systems/player/player_raycast.gd similarity index 100% rename from scripts/player/player_raycast.gd rename to systems/player/player_raycast.gd diff --git a/scripts/player/player_raycast.gd.uid b/systems/player/player_raycast.gd.uid similarity index 100% rename from scripts/player/player_raycast.gd.uid rename to systems/player/player_raycast.gd.uid diff --git a/scripts/player/spectator.gd b/systems/player/spectator.gd similarity index 100% rename from scripts/player/spectator.gd rename to systems/player/spectator.gd diff --git a/scripts/player/spectator.gd.uid b/systems/player/spectator.gd.uid similarity index 100% rename from scripts/player/spectator.gd.uid rename to systems/player/spectator.gd.uid diff --git a/scripts/player/states/crouching.gd b/systems/player/states/crouching.gd similarity index 100% rename from scripts/player/states/crouching.gd rename to systems/player/states/crouching.gd diff --git a/scripts/player/states/crouching.gd.uid b/systems/player/states/crouching.gd.uid similarity index 100% rename from scripts/player/states/crouching.gd.uid rename to systems/player/states/crouching.gd.uid diff --git a/scripts/player/states/death.gd b/systems/player/states/death.gd similarity index 100% rename from scripts/player/states/death.gd rename to systems/player/states/death.gd diff --git a/scripts/player/states/death.gd.uid b/systems/player/states/death.gd.uid similarity index 100% rename from scripts/player/states/death.gd.uid rename to systems/player/states/death.gd.uid diff --git a/scripts/player/states/falling.gd b/systems/player/states/falling.gd similarity index 100% rename from scripts/player/states/falling.gd rename to systems/player/states/falling.gd diff --git a/scripts/player/states/falling.gd.uid b/systems/player/states/falling.gd.uid similarity index 100% rename from scripts/player/states/falling.gd.uid rename to systems/player/states/falling.gd.uid diff --git a/scripts/player/states/standing.gd b/systems/player/states/standing.gd similarity index 100% rename from scripts/player/states/standing.gd rename to systems/player/states/standing.gd diff --git a/scripts/player/states/standing.gd.uid b/systems/player/states/standing.gd.uid similarity index 100% rename from scripts/player/states/standing.gd.uid rename to systems/player/states/standing.gd.uid diff --git a/scripts/player/states/walk.gd b/systems/player/states/walk.gd similarity index 100% rename from scripts/player/states/walk.gd rename to systems/player/states/walk.gd diff --git a/scripts/player/states/walk.gd.uid b/systems/player/states/walk.gd.uid similarity index 100% rename from scripts/player/states/walk.gd.uid rename to systems/player/states/walk.gd.uid diff --git a/scripts/player/team_color_switcher.gd b/systems/player/team_color_switcher.gd similarity index 100% rename from scripts/player/team_color_switcher.gd rename to systems/player/team_color_switcher.gd diff --git a/scripts/player/team_color_switcher.gd.uid b/systems/player/team_color_switcher.gd.uid similarity index 100% rename from scripts/player/team_color_switcher.gd.uid rename to systems/player/team_color_switcher.gd.uid diff --git a/systems/registry.gd b/systems/registry.gd new file mode 100644 index 0000000..f58a725 --- /dev/null +++ b/systems/registry.gd @@ -0,0 +1,8 @@ +extends Node + +var weapons: Dictionary[StringName,WeaponResource] + +func _ready() -> void: + for file in ResourceLoader.list_directory("res://weapons/"): + if file.ends_with(".tres"): + weapons[file.trim_suffix(".tres")] = load("res://weapons/"+ file) diff --git a/systems/registry.gd.uid b/systems/registry.gd.uid new file mode 100644 index 0000000..bc399bd --- /dev/null +++ b/systems/registry.gd.uid @@ -0,0 +1 @@ +uid://csoswr6rx8fx6 diff --git a/scripts/state_machine/machine.gd b/systems/state_machine/machine.gd similarity index 100% rename from scripts/state_machine/machine.gd rename to systems/state_machine/machine.gd diff --git a/scripts/state_machine/machine.gd.uid b/systems/state_machine/machine.gd.uid similarity index 100% rename from scripts/state_machine/machine.gd.uid rename to systems/state_machine/machine.gd.uid diff --git a/scripts/state_machine/state.gd b/systems/state_machine/state.gd similarity index 100% rename from scripts/state_machine/state.gd rename to systems/state_machine/state.gd diff --git a/scripts/state_machine/state.gd.uid b/systems/state_machine/state.gd.uid similarity index 100% rename from scripts/state_machine/state.gd.uid rename to systems/state_machine/state.gd.uid diff --git a/scripts/state_machine/substate_machine.gd b/systems/state_machine/substate_machine.gd similarity index 100% rename from scripts/state_machine/substate_machine.gd rename to systems/state_machine/substate_machine.gd diff --git a/scripts/state_machine/substate_machine.gd.uid b/systems/state_machine/substate_machine.gd.uid similarity index 100% rename from scripts/state_machine/substate_machine.gd.uid rename to systems/state_machine/substate_machine.gd.uid diff --git a/scripts/weapon_system/dropped_weapon.gd b/systems/weapon_system/dropped_weapon.gd similarity index 100% rename from scripts/weapon_system/dropped_weapon.gd rename to systems/weapon_system/dropped_weapon.gd diff --git a/scripts/weapon_system/dropped_weapon.gd.uid b/systems/weapon_system/dropped_weapon.gd.uid similarity index 100% rename from scripts/weapon_system/dropped_weapon.gd.uid rename to systems/weapon_system/dropped_weapon.gd.uid diff --git a/scripts/weapon_system/starting_weapon_spawner.gd b/systems/weapon_system/starting_weapon_spawner.gd similarity index 100% rename from scripts/weapon_system/starting_weapon_spawner.gd rename to systems/weapon_system/starting_weapon_spawner.gd diff --git a/scripts/weapon_system/starting_weapon_spawner.gd.uid b/systems/weapon_system/starting_weapon_spawner.gd.uid similarity index 100% rename from scripts/weapon_system/starting_weapon_spawner.gd.uid rename to systems/weapon_system/starting_weapon_spawner.gd.uid diff --git a/scripts/resources/weapon_resource.gd b/systems/weapon_system/weapon_resource.gd similarity index 100% rename from scripts/resources/weapon_resource.gd rename to systems/weapon_system/weapon_resource.gd diff --git a/scripts/resources/weapon_resource.gd.uid b/systems/weapon_system/weapon_resource.gd.uid similarity index 100% rename from scripts/resources/weapon_resource.gd.uid rename to systems/weapon_system/weapon_resource.gd.uid diff --git a/scripts/weapon_system/weapon_state.gd b/systems/weapon_system/weapon_state.gd similarity index 100% rename from scripts/weapon_system/weapon_state.gd rename to systems/weapon_system/weapon_state.gd diff --git a/scripts/weapon_system/weapon_state.gd.uid b/systems/weapon_system/weapon_state.gd.uid similarity index 100% rename from scripts/weapon_system/weapon_state.gd.uid rename to systems/weapon_system/weapon_state.gd.uid diff --git a/scripts/weapon_system/weapon_substate_machine.gd b/systems/weapon_system/weapon_substate_machine.gd similarity index 97% rename from scripts/weapon_system/weapon_substate_machine.gd rename to systems/weapon_system/weapon_substate_machine.gd index 3e6df35..f6725e4 100644 --- a/scripts/weapon_system/weapon_substate_machine.gd +++ b/systems/weapon_system/weapon_substate_machine.gd @@ -3,7 +3,7 @@ extends SubStateMachine class_name WeaponSubStateMachine @export var animation_prefix: StringName -@export var index: StringName +@export var registry_entry: StringName @export var visibility_target: StringName @export var max_ammo: int diff --git a/scripts/weapon_system/weapon_substate_machine.gd.uid b/systems/weapon_system/weapon_substate_machine.gd.uid similarity index 100% rename from scripts/weapon_system/weapon_substate_machine.gd.uid rename to systems/weapon_system/weapon_substate_machine.gd.uid diff --git a/scripts/weapon_system/weapon_system.gd b/systems/weapon_system/weapon_system.gd similarity index 91% rename from scripts/weapon_system/weapon_system.gd rename to systems/weapon_system/weapon_system.gd index f30d7f5..259b16d 100644 --- a/scripts/weapon_system/weapon_system.gd +++ b/systems/weapon_system/weapon_system.gd @@ -103,16 +103,14 @@ func drop(weapon: WeaponSubStateMachine) -> void: return if slots.find_key(weapon) == "knife": return - var drop_data: Dictionary = {} - drop_data.type = "weapon" - drop_data.spawn_name = weapon.index - drop_data.ammo = weapon.ammo - drop_data.remaining_ammo = weapon.remaining_ammo - drop_data.slot = weapon.slot - drop_data.position = camera.global_position - drop_data.impulse = -camera.global_basis.z * 10 + player.velocity - Session.spawn(drop_data) + var dropped_weapon: DroppableWeapon = Registry.weapons[weapon.registry_entry].dropped_scene.instantiate() + dropped_weapon.weapon.ammo = weapon.ammo + dropped_weapon.weapon.remaining_ammo = weapon.remaining_ammo + dropped_weapon.weapon.slot = weapon.slot + Session.dynamic_objects_parent.add_child(dropped_weapon) + dropped_weapon.global_position = camera.global_position + dropped_weapon.apply_central_impulse(-camera.global_basis.z * 10 + player.velocity) $"../PickupRange".start_temp_ignore() diff --git a/scripts/weapon_system/weapon_system.gd.uid b/systems/weapon_system/weapon_system.gd.uid similarity index 100% rename from scripts/weapon_system/weapon_system.gd.uid rename to systems/weapon_system/weapon_system.gd.uid diff --git a/scripts/multiplayer/spawn_system/team_spawner.gd b/team_spawner.gd similarity index 100% rename from scripts/multiplayer/spawn_system/team_spawner.gd rename to team_spawner.gd diff --git a/scripts/multiplayer/spawn_system/team_spawner.gd.uid b/team_spawner.gd.uid similarity index 100% rename from scripts/multiplayer/spawn_system/team_spawner.gd.uid rename to team_spawner.gd.uid diff --git a/weapons/bomb.tres b/weapons/bomb.tres index 21e0293..a8f2d1b 100644 --- a/weapons/bomb.tres +++ b/weapons/bomb.tres @@ -1,9 +1,9 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://b1obqb8w0o3ma"] -[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://scenes/weapons/droppable_bomb.tscn" id="1_sbnmj"] -[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://scripts/resources/weapon_resource.gd" id="1_w2ux2"] +[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://weapons/bomb/droppable_bomb.tscn" id="1_sbnmj"] +[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://systems/weapon_system/weapon_resource.gd" id="1_w2ux2"] [ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="2_vkfbs"] -[ext_resource type="PackedScene" uid="uid://bxdatd1ilfgmc" path="res://scenes/weapons/bomb.tscn" id="4_shxvo"] +[ext_resource type="PackedScene" uid="uid://bxdatd1ilfgmc" path="res://weapons/bomb/bomb.tscn" id="4_shxvo"] [resource] script = ExtResource("1_w2ux2") diff --git a/scripts/weapon_system/bomb/active_bomb.gd b/weapons/bomb/active_bomb.gd similarity index 98% rename from scripts/weapon_system/bomb/active_bomb.gd rename to weapons/bomb/active_bomb.gd index dcc2419..0b308d1 100644 --- a/scripts/weapon_system/bomb/active_bomb.gd +++ b/weapons/bomb/active_bomb.gd @@ -1,5 +1,7 @@ extends Interactible +class_name ActiveBomb + var plant: StringName @onready var defuse_timer: Timer = $DefuseTimer @export var bomb_audio: MultiplayerAudio3D diff --git a/scripts/weapon_system/bomb/active_bomb.gd.uid b/weapons/bomb/active_bomb.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/active_bomb.gd.uid rename to weapons/bomb/active_bomb.gd.uid diff --git a/spawnables/active_bomb.tscn b/weapons/bomb/active_bomb.tscn similarity index 95% rename from spawnables/active_bomb.tscn rename to weapons/bomb/active_bomb.tscn index 34dd3fd..519448c 100644 --- a/spawnables/active_bomb.tscn +++ b/weapons/bomb/active_bomb.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=10 format=3 uid="uid://dtbpyfdawb02b"] -[ext_resource type="Script" uid="uid://boftqgpgqf56g" path="res://scripts/weapon_system/bomb/active_bomb.gd" id="1_avh0g"] +[ext_resource type="Script" uid="uid://boftqgpgqf56g" path="res://weapons/bomb/active_bomb.gd" id="1_avh0g"] [ext_resource type="PackedScene" uid="uid://dftij0fdq3lbr" path="res://models/weapons/Bomb.glb" id="1_yh58y"] [ext_resource type="AudioStream" uid="uid://blqgr0uweyg38" path="res://audio/bomb_beep.ogg" id="3_0eiu1"] -[ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://scripts/audio_system/multiplayer_audio_3d.gd" id="4_rcpur"] +[ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="4_rcpur"] [ext_resource type="AudioStream" uid="uid://dlvwyj5erlhss" path="res://audio/defuse.ogg" id="5_rcpur"] [ext_resource type="AudioStream" uid="uid://lmmqcovqat1u" path="res://audio/explosion.ogg" id="6_uibus"] diff --git a/scenes/weapons/bomb.tscn b/weapons/bomb/bomb.tscn similarity index 75% rename from scenes/weapons/bomb.tscn rename to weapons/bomb/bomb.tscn index 852ca71..266dd84 100644 --- a/scenes/weapons/bomb.tscn +++ b/weapons/bomb/bomb.tscn @@ -1,15 +1,15 @@ [gd_scene load_steps=6 format=3 uid="uid://bxdatd1ilfgmc"] -[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://scripts/weapon_system/weapon_substate_machine.gd" id="1_krsgt"] -[ext_resource type="Script" uid="uid://rx78vdadldm7" path="res://scripts/weapon_system/bomb/bomb_main_state.gd" id="2_870cc"] -[ext_resource type="Script" uid="uid://cx7j3kr1laq3s" path="res://scripts/weapon_system/bomb/bomb_idle_state.gd" id="3_1x0so"] -[ext_resource type="Script" uid="uid://dmyir46aricwi" path="res://scripts/weapon_system/bomb/bomb_intro_state.gd" id="4_fv3ha"] -[ext_resource type="Script" uid="uid://b5eapvgoni1pj" path="res://scripts/weapon_system/bomb/bomb_dropper.gd" id="5_fv3ha"] +[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://systems/weapon_system/weapon_substate_machine.gd" id="1_krsgt"] +[ext_resource type="Script" uid="uid://rx78vdadldm7" path="res://weapons/bomb/bomb_main_state.gd" id="2_870cc"] +[ext_resource type="Script" uid="uid://cx7j3kr1laq3s" path="res://weapons/bomb/bomb_idle_state.gd" id="3_1x0so"] +[ext_resource type="Script" uid="uid://dmyir46aricwi" path="res://weapons/bomb/bomb_intro_state.gd" id="4_fv3ha"] +[ext_resource type="Script" uid="uid://b5eapvgoni1pj" path="res://weapons/bomb/bomb_dropper.gd" id="5_fv3ha"] [node name="Bomb" type="Node" node_paths=PackedStringArray("enter_state")] script = ExtResource("1_krsgt") animation_prefix = &"baked_bomb_" -index = &"bomb" +registry_entry = &"bomb" visibility_target = &"bomb" max_ammo = 1 ammo_mags = 0 diff --git a/scripts/weapon_system/bomb/bomb_dropper.gd b/weapons/bomb/bomb_dropper.gd similarity index 100% rename from scripts/weapon_system/bomb/bomb_dropper.gd rename to weapons/bomb/bomb_dropper.gd diff --git a/scripts/weapon_system/bomb/bomb_dropper.gd.uid b/weapons/bomb/bomb_dropper.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/bomb_dropper.gd.uid rename to weapons/bomb/bomb_dropper.gd.uid diff --git a/scripts/weapon_system/bomb/bomb_idle_state.gd b/weapons/bomb/bomb_idle_state.gd similarity index 100% rename from scripts/weapon_system/bomb/bomb_idle_state.gd rename to weapons/bomb/bomb_idle_state.gd diff --git a/scripts/weapon_system/bomb/bomb_idle_state.gd.uid b/weapons/bomb/bomb_idle_state.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/bomb_idle_state.gd.uid rename to weapons/bomb/bomb_idle_state.gd.uid diff --git a/scripts/weapon_system/bomb/bomb_intro_state.gd b/weapons/bomb/bomb_intro_state.gd similarity index 100% rename from scripts/weapon_system/bomb/bomb_intro_state.gd rename to weapons/bomb/bomb_intro_state.gd diff --git a/scripts/weapon_system/bomb/bomb_intro_state.gd.uid b/weapons/bomb/bomb_intro_state.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/bomb_intro_state.gd.uid rename to weapons/bomb/bomb_intro_state.gd.uid diff --git a/scripts/weapon_system/bomb/bomb_main_state.gd b/weapons/bomb/bomb_main_state.gd similarity index 75% rename from scripts/weapon_system/bomb/bomb_main_state.gd rename to weapons/bomb/bomb_main_state.gd index 88e86d0..f851dd8 100644 --- a/scripts/weapon_system/bomb/bomb_main_state.gd +++ b/weapons/bomb/bomb_main_state.gd @@ -1,5 +1,7 @@ extends WeaponState +@export var bomb_scene: PackedScene + func enter(): machine.animation_player.play(machine.animation_prefix+"plant") machine.animation_player.animation_finished.connect(on_animation_finished) @@ -15,7 +17,11 @@ func on_animation_finished(animation: StringName): if is_multiplayer_authority() == false: return if animation == machine.animation_prefix + "plant": - Session.spawn({"type": "object","spawn_name": "active_bomb", "position": machine.player_camera.get_parent().global_position,"plant": Session.get_site(machine.player.player_id).name}) + var bomb: ActiveBomb = bomb_scene.instantiate() + Session.dynamic_objects_parent.add_child(bomb) + + bomb.global_position = machine.player.global_position + bomb.plant = Session.get_site(machine.player.player_id).name machine.ammo -= 1 return_to_previous.emit() diff --git a/scripts/weapon_system/bomb/bomb_main_state.gd.uid b/weapons/bomb/bomb_main_state.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/bomb_main_state.gd.uid rename to weapons/bomb/bomb_main_state.gd.uid diff --git a/scenes/weapons/droppable_bomb.tscn b/weapons/bomb/droppable_bomb.tscn similarity index 93% rename from scenes/weapons/droppable_bomb.tscn rename to weapons/bomb/droppable_bomb.tscn index 728bbda..796fc08 100644 --- a/scenes/weapons/droppable_bomb.tscn +++ b/weapons/bomb/droppable_bomb.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=6 format=3 uid="uid://cxdgk74ln5xpn"] -[ext_resource type="Script" uid="uid://cskgqgkr7pmb0" path="res://scripts/weapon_system/dropped_weapon.gd" id="1_hsebh"] +[ext_resource type="Script" uid="uid://cskgqgkr7pmb0" path="res://systems/weapon_system/dropped_weapon.gd" id="1_hsebh"] [ext_resource type="PackedScene" uid="uid://dftij0fdq3lbr" path="res://models/weapons/Bomb.glb" id="1_pcfvq"] -[ext_resource type="PackedScene" uid="uid://bxdatd1ilfgmc" path="res://scenes/weapons/bomb.tscn" id="2_ucc3u"] +[ext_resource type="PackedScene" uid="uid://bxdatd1ilfgmc" path="res://weapons/bomb/bomb.tscn" id="2_ucc3u"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsebh"] size = Vector3(1, 0.25274658, 0.7492676) diff --git a/scripts/weapon_system/gun/idle_state.gd b/weapons/gun/idle_state.gd similarity index 100% rename from scripts/weapon_system/gun/idle_state.gd rename to weapons/gun/idle_state.gd diff --git a/scripts/weapon_system/gun/idle_state.gd.uid b/weapons/gun/idle_state.gd.uid similarity index 100% rename from scripts/weapon_system/gun/idle_state.gd.uid rename to weapons/gun/idle_state.gd.uid diff --git a/scripts/weapon_system/gun/intro_state.gd b/weapons/gun/intro_state.gd similarity index 100% rename from scripts/weapon_system/gun/intro_state.gd rename to weapons/gun/intro_state.gd diff --git a/scripts/weapon_system/gun/intro_state.gd.uid b/weapons/gun/intro_state.gd.uid similarity index 100% rename from scripts/weapon_system/gun/intro_state.gd.uid rename to weapons/gun/intro_state.gd.uid diff --git a/scripts/weapon_system/gun/reload_state.gd b/weapons/gun/reload_state.gd similarity index 100% rename from scripts/weapon_system/gun/reload_state.gd rename to weapons/gun/reload_state.gd diff --git a/scripts/weapon_system/gun/reload_state.gd.uid b/weapons/gun/reload_state.gd.uid similarity index 100% rename from scripts/weapon_system/gun/reload_state.gd.uid rename to weapons/gun/reload_state.gd.uid diff --git a/scripts/weapon_system/gun/semi_auto_shoot_state.gd b/weapons/gun/semi_auto_shoot_state.gd similarity index 100% rename from scripts/weapon_system/gun/semi_auto_shoot_state.gd rename to weapons/gun/semi_auto_shoot_state.gd diff --git a/scripts/weapon_system/gun/semi_auto_shoot_state.gd.uid b/weapons/gun/semi_auto_shoot_state.gd.uid similarity index 100% rename from scripts/weapon_system/gun/semi_auto_shoot_state.gd.uid rename to weapons/gun/semi_auto_shoot_state.gd.uid diff --git a/scenes/weapons/droppable_sp.tscn b/weapons/gun/sp/droppable_sp.tscn similarity index 92% rename from scenes/weapons/droppable_sp.tscn rename to weapons/gun/sp/droppable_sp.tscn index 5aacc41..73ec5bb 100644 --- a/scenes/weapons/droppable_sp.tscn +++ b/weapons/gun/sp/droppable_sp.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=6 format=3 uid="uid://dgfqppi21c2u0"] -[ext_resource type="Script" uid="uid://cskgqgkr7pmb0" path="res://scripts/weapon_system/dropped_weapon.gd" id="1_jym52"] -[ext_resource type="PackedScene" uid="uid://djwjl8xll53vn" path="res://scenes/weapons/starting_pistol.tscn" id="2_jym52"] +[ext_resource type="Script" uid="uid://cskgqgkr7pmb0" path="res://systems/weapon_system/dropped_weapon.gd" id="1_jym52"] +[ext_resource type="PackedScene" uid="uid://djwjl8xll53vn" path="res://weapons/gun/sp/starting_pistol.tscn" id="2_jym52"] [ext_resource type="PackedScene" uid="uid://d3sjs6efbshpk" path="res://models/weapons/starting_pistol.glb" id="3_jym52"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsebh"] diff --git a/scenes/weapons/starting_pistol.tscn b/weapons/gun/sp/starting_pistol.tscn similarity index 85% rename from scenes/weapons/starting_pistol.tscn rename to weapons/gun/sp/starting_pistol.tscn index b8b522c..bc9310e 100644 --- a/scenes/weapons/starting_pistol.tscn +++ b/weapons/gun/sp/starting_pistol.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=8 format=3 uid="uid://djwjl8xll53vn"] -[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://scripts/weapon_system/weapon_substate_machine.gd" id="1_g7s1i"] -[ext_resource type="Script" uid="uid://ofv4e3dsfe8" path="res://scripts/weapon_system/gun/idle_state.gd" id="2_cmn6f"] -[ext_resource type="Script" uid="uid://vj13r83l3xyq" path="res://scripts/weapon_system/gun/semi_auto_shoot_state.gd" id="3_016ti"] -[ext_resource type="Script" uid="uid://hmekwp8444ao" path="res://scripts/weapon_system/gun/reload_state.gd" id="4_hoqxt"] -[ext_resource type="Script" uid="uid://bmj0bwy2tlian" path="res://scripts/weapon_system/gun/intro_state.gd" id="5_ud1dr"] +[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://systems/weapon_system/weapon_substate_machine.gd" id="1_g7s1i"] +[ext_resource type="Script" uid="uid://ofv4e3dsfe8" path="res://weapons/gun/idle_state.gd" id="2_cmn6f"] +[ext_resource type="Script" uid="uid://vj13r83l3xyq" path="res://weapons/gun/semi_auto_shoot_state.gd" id="3_016ti"] +[ext_resource type="Script" uid="uid://hmekwp8444ao" path="res://weapons/gun/reload_state.gd" id="4_hoqxt"] +[ext_resource type="Script" uid="uid://bmj0bwy2tlian" path="res://weapons/gun/intro_state.gd" id="5_ud1dr"] [sub_resource type="Curve" id="Curve_cmn6f"] _limits = [0.0, 0.1, 0.0, 20.0] @@ -21,7 +21,7 @@ point_count = 5 [node name="StartingPistol" type="Node" node_paths=PackedStringArray("enter_state")] script = ExtResource("1_g7s1i") animation_prefix = &"baked_sp_" -index = &"sp" +registry_entry = &"sp" visibility_target = &"sp" max_ammo = 20 speed_modifier = 0.9 diff --git a/scenes/weapons/knife.tscn b/weapons/knife/knife.tscn similarity index 76% rename from scenes/weapons/knife.tscn rename to weapons/knife/knife.tscn index 4310408..b587fc8 100644 --- a/scenes/weapons/knife.tscn +++ b/weapons/knife/knife.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=6 format=3 uid="uid://ts4xccpkjd3g"] -[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://scripts/weapon_system/weapon_substate_machine.gd" id="1_2xf1r"] -[ext_resource type="Script" uid="uid://dhmgd83rhjtyq" path="res://scripts/weapon_system/knife/knife_intro.gd" id="2_6fi8m"] -[ext_resource type="Script" uid="uid://cn6wyj4v5xeej" path="res://scripts/weapon_system/knife/knife_idle.gd" id="3_7hrnw"] -[ext_resource type="Script" uid="uid://d0r2fu21ei4hy" path="res://scripts/weapon_system/knife/knife_attack.gd" id="4_7hrnw"] -[ext_resource type="Script" uid="uid://ctx2rjjs48nrc" path="res://scripts/weapon_system/knife/knife_attack_heavy.gd" id="5_c20fe"] +[ext_resource type="Script" uid="uid://e6lqknfl4ngt" path="res://systems/weapon_system/weapon_substate_machine.gd" id="1_2xf1r"] +[ext_resource type="Script" uid="uid://dhmgd83rhjtyq" path="res://weapons/knife/knife_intro.gd" id="2_6fi8m"] +[ext_resource type="Script" uid="uid://cn6wyj4v5xeej" path="res://weapons/knife/knife_idle.gd" id="3_7hrnw"] +[ext_resource type="Script" uid="uid://d0r2fu21ei4hy" path="res://weapons/knife/knife_attack.gd" id="4_7hrnw"] +[ext_resource type="Script" uid="uid://ctx2rjjs48nrc" path="res://weapons/knife/knife_attack_heavy.gd" id="5_c20fe"] [node name="Knife" type="Node" node_paths=PackedStringArray("enter_state")] script = ExtResource("1_2xf1r") diff --git a/scripts/weapon_system/knife/knife_attack.gd b/weapons/knife/knife_attack.gd similarity index 100% rename from scripts/weapon_system/knife/knife_attack.gd rename to weapons/knife/knife_attack.gd diff --git a/scripts/weapon_system/knife/knife_attack.gd.uid b/weapons/knife/knife_attack.gd.uid similarity index 100% rename from scripts/weapon_system/knife/knife_attack.gd.uid rename to weapons/knife/knife_attack.gd.uid diff --git a/scripts/weapon_system/knife/knife_attack_heavy.gd b/weapons/knife/knife_attack_heavy.gd similarity index 100% rename from scripts/weapon_system/knife/knife_attack_heavy.gd rename to weapons/knife/knife_attack_heavy.gd diff --git a/scripts/weapon_system/knife/knife_attack_heavy.gd.uid b/weapons/knife/knife_attack_heavy.gd.uid similarity index 100% rename from scripts/weapon_system/knife/knife_attack_heavy.gd.uid rename to weapons/knife/knife_attack_heavy.gd.uid diff --git a/scripts/weapon_system/knife/knife_idle.gd b/weapons/knife/knife_idle.gd similarity index 100% rename from scripts/weapon_system/knife/knife_idle.gd rename to weapons/knife/knife_idle.gd diff --git a/scripts/weapon_system/knife/knife_idle.gd.uid b/weapons/knife/knife_idle.gd.uid similarity index 100% rename from scripts/weapon_system/knife/knife_idle.gd.uid rename to weapons/knife/knife_idle.gd.uid diff --git a/scripts/weapon_system/knife/knife_intro.gd b/weapons/knife/knife_intro.gd similarity index 100% rename from scripts/weapon_system/knife/knife_intro.gd rename to weapons/knife/knife_intro.gd diff --git a/scripts/weapon_system/knife/knife_intro.gd.uid b/weapons/knife/knife_intro.gd.uid similarity index 100% rename from scripts/weapon_system/knife/knife_intro.gd.uid rename to weapons/knife/knife_intro.gd.uid diff --git a/scripts/weapon_system/molikman/molik/idle_state.gd b/weapons/molikman/molik/idle_state.gd similarity index 100% rename from scripts/weapon_system/molikman/molik/idle_state.gd rename to weapons/molikman/molik/idle_state.gd diff --git a/scripts/weapon_system/molikman/molik/idle_state.gd.uid b/weapons/molikman/molik/idle_state.gd.uid similarity index 100% rename from scripts/weapon_system/molikman/molik/idle_state.gd.uid rename to weapons/molikman/molik/idle_state.gd.uid diff --git a/scripts/weapon_system/molikman/molik/intro_state.gd b/weapons/molikman/molik/intro_state.gd similarity index 100% rename from scripts/weapon_system/molikman/molik/intro_state.gd rename to weapons/molikman/molik/intro_state.gd diff --git a/scripts/weapon_system/molikman/molik/intro_state.gd.uid b/weapons/molikman/molik/intro_state.gd.uid similarity index 100% rename from scripts/weapon_system/molikman/molik/intro_state.gd.uid rename to weapons/molikman/molik/intro_state.gd.uid diff --git a/scripts/weapon_system/molikman/molik/molik.gd b/weapons/molikman/molik/molik.gd similarity index 68% rename from scripts/weapon_system/molikman/molik/molik.gd rename to weapons/molikman/molik/molik.gd index 2ebac1c..3129f40 100644 --- a/scripts/weapon_system/molikman/molik/molik.gd +++ b/weapons/molikman/molik/molik.gd @@ -3,10 +3,10 @@ extends RigidBody3D var contacts: int = 0 -func _on_body_entered(body: Node) -> void: +func _on_body_entered(_body: Node) -> void: contacts += 1 if contacts > 2: var grenade = load("res://scenes/projectiles/molikman/molikman_molotov_fire.tscn").instantiate() - Session.dynamic_objects_spawner.get_parent().add_child(grenade) + Session.dynamic_objects_parent.add_child(grenade,true) grenade.global_position = global_position queue_free() diff --git a/scripts/weapon_system/molikman/molik/molik.gd.uid b/weapons/molikman/molik/molik.gd.uid similarity index 100% rename from scripts/weapon_system/molikman/molik/molik.gd.uid rename to weapons/molikman/molik/molik.gd.uid diff --git a/scripts/weapon_system/molikman/molik/throw.gd b/weapons/molikman/molik/throw.gd similarity index 92% rename from scripts/weapon_system/molikman/molik/throw.gd rename to weapons/molikman/molik/throw.gd index 67319da..66b6e0d 100644 --- a/scripts/weapon_system/molikman/molik/throw.gd +++ b/weapons/molikman/molik/throw.gd @@ -23,6 +23,6 @@ func fire() -> void: if is_multiplayer_authority(): var molotov: RigidBody3D = molik.instantiate() - Session.dynamic_objects_spawner.get_parent().add_child(molotov) + Session.dynamic_objects_parent.add_child(molotov,true) molotov.global_transform = machine.player_camera.global_transform molotov.apply_impulse(-molotov.global_basis.z * 10) diff --git a/scripts/weapon_system/molikman/molik/throw.gd.uid b/weapons/molikman/molik/throw.gd.uid similarity index 100% rename from scripts/weapon_system/molikman/molik/throw.gd.uid rename to weapons/molikman/molik/throw.gd.uid diff --git a/weapons/molikman_molotov.tres b/weapons/molikman_molotov.tres index c943c7d..65b897b 100644 --- a/weapons/molikman_molotov.tres +++ b/weapons/molikman_molotov.tres @@ -1,7 +1,7 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=4 format=3 uid="uid://b081hg7uxx1wu"] [ext_resource type="Texture2D" uid="uid://bmnqvop2dy5pm" path="res://textures/prototype_yellow_256x256.png" id="1_hmyxe"] -[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://scripts/resources/weapon_resource.gd" id="1_ktfgd"] +[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://systems/weapon_system/weapon_resource.gd" id="1_ktfgd"] [ext_resource type="PackedScene" uid="uid://c5q7e5dj86187" path="res://scenes/weapons/molikman_molik.tscn" id="3_6mu31"] [resource] diff --git a/weapons/sp.tres b/weapons/sp.tres index b44c072..ae78851 100644 --- a/weapons/sp.tres +++ b/weapons/sp.tres @@ -1,9 +1,9 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://2jxguk5jxlim"] -[ext_resource type="PackedScene" uid="uid://dgfqppi21c2u0" path="res://scenes/weapons/droppable_sp.tscn" id="1_vpohq"] +[ext_resource type="PackedScene" uid="uid://dgfqppi21c2u0" path="res://weapons/gun/sp/droppable_sp.tscn" id="1_vpohq"] [ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="2_c0lu7"] -[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://scripts/resources/weapon_resource.gd" id="3_eyl1o"] -[ext_resource type="PackedScene" uid="uid://djwjl8xll53vn" path="res://scenes/weapons/starting_pistol.tscn" id="4_vpohq"] +[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://systems/weapon_system/weapon_resource.gd" id="3_eyl1o"] +[ext_resource type="PackedScene" uid="uid://djwjl8xll53vn" path="res://weapons/gun/sp/starting_pistol.tscn" id="4_vpohq"] [resource] script = ExtResource("3_eyl1o")