From 03bc73e9ffede54a56b2971e57601795efb94861 Mon Sep 17 00:00:00 2001 From: Rendo Date: Sat, 29 Nov 2025 18:48:32 +0500 Subject: [PATCH] HUD and prototype textures --- TODO_LIST | 1 + levels/prototype_scene.tscn | 30 ++-- materials/Bluemat.tres | 8 +- materials/DarkBluemat.tres | 8 + materials/Graymat.tres | 8 + materials/Greenmat.tres | 8 + materials/OrangeMat.tres | 4 - materials/Orangemat.tres | 8 + materials/Pinkmat.tres | 8 + materials/Protomat.tres | 3 - materials/Purplemat.tres | 8 + materials/Redmat.tres | 8 +- materials/Yellowmat.tres | 7 + scenes/molikman.tscn | 37 ++++- scenes/weapons/droppable_sp.tscn | 6 + scripts/gui/hud/player_ammo_display.gd | 5 + scripts/gui/hud/player_ammo_display.gd.uid | 1 + scripts/gui/hud/player_healthbar.gd | 5 + scripts/gui/hud/player_healthbar.gd.uid | 1 + .../spawn_system/dyn_objects_spawner.gd | 1 + scripts/player/player.gd | 2 + scripts/weapon_system/bomb/active_bomb.gd | 1 - .../weapon_system/weapon_substate_machine.gd | 10 +- scripts/weapon_system/weapon_system.gd | 10 ++ textures/prototype_256x256.png | Bin 0 -> 4247 bytes textures/prototype_256x256.png.import | 41 +++++ textures/prototype_256x256.svg | 152 ++++++++++++++++++ textures/prototype_256x256.svg.import | 43 +++++ textures/prototype_blue_256x256.png | Bin 0 -> 4247 bytes textures/prototype_blue_256x256.png.import | 41 +++++ textures/prototype_gray_256x256.png | Bin 0 -> 4035 bytes textures/prototype_gray_256x256.png.import | 41 +++++ textures/prototype_green_256x256.png | Bin 0 -> 4483 bytes textures/prototype_green_256x256.png.import | 41 +++++ textures/prototype_orange_256x256.png | Bin 0 -> 3841 bytes textures/prototype_orange_256x256.png.import | 41 +++++ textures/prototype_pink_256x256.png | Bin 0 -> 4246 bytes textures/prototype_pink_256x256.png.import | 41 +++++ textures/prototype_purple_256x256.png | Bin 0 -> 4305 bytes textures/prototype_purple_256x256.png.import | 41 +++++ textures/prototype_red_256x256.png | Bin 0 -> 4372 bytes textures/prototype_red_256x256.png.import | 41 +++++ textures/prototype_yellow_256x256.png | Bin 0 -> 4075 bytes textures/prototype_yellow_256x256.png.import | 41 +++++ themes/main_theme.tres | 16 ++ 45 files changed, 742 insertions(+), 26 deletions(-) create mode 100644 materials/DarkBluemat.tres create mode 100644 materials/Graymat.tres create mode 100644 materials/Greenmat.tres delete mode 100644 materials/OrangeMat.tres create mode 100644 materials/Orangemat.tres create mode 100644 materials/Pinkmat.tres delete mode 100644 materials/Protomat.tres create mode 100644 materials/Purplemat.tres create mode 100644 materials/Yellowmat.tres create mode 100644 scripts/gui/hud/player_ammo_display.gd create mode 100644 scripts/gui/hud/player_ammo_display.gd.uid create mode 100644 scripts/gui/hud/player_healthbar.gd create mode 100644 scripts/gui/hud/player_healthbar.gd.uid create mode 100644 textures/prototype_256x256.png create mode 100644 textures/prototype_256x256.png.import create mode 100644 textures/prototype_256x256.svg create mode 100644 textures/prototype_256x256.svg.import create mode 100644 textures/prototype_blue_256x256.png create mode 100644 textures/prototype_blue_256x256.png.import create mode 100644 textures/prototype_gray_256x256.png create mode 100644 textures/prototype_gray_256x256.png.import create mode 100644 textures/prototype_green_256x256.png create mode 100644 textures/prototype_green_256x256.png.import create mode 100644 textures/prototype_orange_256x256.png create mode 100644 textures/prototype_orange_256x256.png.import create mode 100644 textures/prototype_pink_256x256.png create mode 100644 textures/prototype_pink_256x256.png.import create mode 100644 textures/prototype_purple_256x256.png create mode 100644 textures/prototype_purple_256x256.png.import create mode 100644 textures/prototype_red_256x256.png create mode 100644 textures/prototype_red_256x256.png.import create mode 100644 textures/prototype_yellow_256x256.png create mode 100644 textures/prototype_yellow_256x256.png.import create mode 100644 themes/main_theme.tres diff --git a/TODO_LIST b/TODO_LIST index 9d114c5..8b2af58 100644 --- a/TODO_LIST +++ b/TODO_LIST @@ -16,6 +16,7 @@ Current plans: ^ Explosion after time ^ Bomb site ^ Weapon system's drop + Gameplay HUD Molikman's abilities: Molik Flashbang diff --git a/levels/prototype_scene.tscn b/levels/prototype_scene.tscn index 54f663d..a2fcbeb 100644 --- a/levels/prototype_scene.tscn +++ b/levels/prototype_scene.tscn @@ -1,12 +1,16 @@ -[gd_scene load_steps=17 format=3 uid="uid://cqrh2cc7m2i7f"] +[gd_scene load_steps=21 format=3 uid="uid://cqrh2cc7m2i7f"] [ext_resource type="Environment" uid="uid://d0cfgtx2yxw13" path="res://environments/prototype_environment.tres" id="1_i6jab"] [ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://scripts/multiplayer/team_spawner.gd" id="4_pi0y7"] -[ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/OrangeMat.tres" id="4_y6i55"] -[ext_resource type="Material" uid="uid://mlha6r17v2en" path="res://materials/Bluemat.tres" id="5_bno23"] +[ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/Graymat.tres" id="4_y6i55"] +[ext_resource type="Material" uid="uid://dynpcduei1wfn" path="res://materials/Bluemat.tres" id="4_yx0ab"] +[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="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="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="Material" uid="uid://c6xa4phihtya2" path="res://materials/Redmat.tres" id="9_ysk2e"] @@ -86,9 +90,14 @@ size = Vector3(3.9233856, 7.2024536, 17.76538) material = ExtResource("5_bno23") [node name="CSGBox3D25" type="CSGBox3D" parent="CSGCombiner3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.14979744, 2.707026, -6.3106613) -size = Vector3(1.047142, 4.5787354, 14.125183) -material = ExtResource("5_bno23") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4624505, 2.707026, -10.422279) +size = Vector3(1.047142, 4.5787354, 5.901947) +material = ExtResource("4_yx0ab") + +[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D"] +transform = Transform3D(0.92477864, 0, 0.38050553, 0, 1, 0, -0.38050553, 0, 0.92477864, 2.3401544, 1.2806039, -9.494778) +size = Vector3(1.5958366, 1.7258911, 1.7827377) +material = ExtResource("5_foctg") [node name="CSGBox3D6" type="CSGBox3D" parent="CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.189109, 2.707026, 24.290133) @@ -127,6 +136,7 @@ material = ExtResource("5_bno23") [node name="CSGBox3D12" type="CSGBox3D" parent="CSGCombiner3D"] transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2.2212105, 11.069246, -43.06659) +material_override = ExtResource("9_ysk2e") size = Vector3(101.37683, 21.303177, 5.6578064) material = ExtResource("5_bno23") @@ -184,17 +194,17 @@ material = ExtResource("5_bno23") [node name="CSGBox3D4" type="CSGBox3D" parent="CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.0154533, 9.821699, -20.33673) size = Vector3(5.681938, 18.808083, 7.111515) -material = ExtResource("5_bno23") +material = ExtResource("6_foctg") [node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.4263325, 3.1404138, -35.9143) +transform = Transform3D(0.99998313, 0, -0.005811914, 0, 1, 0, 0.005811914, 0, 0.99998313, 5.4263325, 3.1404138, -35.9143) size = Vector3(17.193996, 5.445511, 2.406681) -material = ExtResource("5_bno23") +material = ExtResource("4_yx0ab") [node name="CSGBox3D24" type="CSGBox3D" parent="CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 0.93200153, -0.3624543, 0, 0.3624543, 0.93200153, 2.6995444, 6.9419756, -39.9535) size = Vector3(33.342323, 1.3384781, 10.485079) -material = ExtResource("5_bno23") +material = ExtResource("7_8bje3") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { diff --git a/materials/Bluemat.tres b/materials/Bluemat.tres index 3beab6d..d1c3754 100644 --- a/materials/Bluemat.tres +++ b/materials/Bluemat.tres @@ -1,4 +1,8 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://mlha6r17v2en"] +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://dynpcduei1wfn"] + +[ext_resource type="Texture2D" uid="uid://ccgwt03xv63a2" path="res://textures/prototype_blue_256x256.png" id="1_f7b7x"] [resource] -albedo_color = Color(0.24278381, 0.50552464, 0.98835534, 1) +albedo_texture = ExtResource("1_f7b7x") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/DarkBluemat.tres b/materials/DarkBluemat.tres new file mode 100644 index 0000000..d85f040 --- /dev/null +++ b/materials/DarkBluemat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://mlha6r17v2en"] + +[ext_resource type="Texture2D" uid="uid://del2a862e7etr" path="res://textures/prototype_256x256.png" id="1_wffu2"] + +[resource] +albedo_texture = ExtResource("1_wffu2") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Graymat.tres b/materials/Graymat.tres new file mode 100644 index 0000000..7c44b50 --- /dev/null +++ b/materials/Graymat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://bx3f5vx71ynh5"] + +[ext_resource type="Texture2D" uid="uid://87pitdljtw1e" path="res://textures/prototype_gray_256x256.png" id="1_d67pj"] + +[resource] +albedo_texture = ExtResource("1_d67pj") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Greenmat.tres b/materials/Greenmat.tres new file mode 100644 index 0000000..2193950 --- /dev/null +++ b/materials/Greenmat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://jdfticwelku4"] + +[ext_resource type="Texture2D" uid="uid://8ik50gqyn6u" path="res://textures/prototype_green_256x256.png" id="1_rcjgt"] + +[resource] +albedo_texture = ExtResource("1_rcjgt") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/OrangeMat.tres b/materials/OrangeMat.tres deleted file mode 100644 index 951ef22..0000000 --- a/materials/OrangeMat.tres +++ /dev/null @@ -1,4 +0,0 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://bx3f5vx71ynh5"] - -[resource] -albedo_color = Color(0.64, 0.64, 0.64, 1) diff --git a/materials/Orangemat.tres b/materials/Orangemat.tres new file mode 100644 index 0000000..6180020 --- /dev/null +++ b/materials/Orangemat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cyej4ph6hcnou"] + +[ext_resource type="Texture2D" uid="uid://b8aqstr5es5x4" path="res://textures/prototype_orange_256x256.png" id="1_ntui7"] + +[resource] +albedo_texture = ExtResource("1_ntui7") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Pinkmat.tres b/materials/Pinkmat.tres new file mode 100644 index 0000000..c7b3455 --- /dev/null +++ b/materials/Pinkmat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cgb6bsmykod1w"] + +[ext_resource type="Texture2D" uid="uid://bxjoam6tke5ws" path="res://textures/prototype_pink_256x256.png" id="1_iclcw"] + +[resource] +albedo_texture = ExtResource("1_iclcw") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Protomat.tres b/materials/Protomat.tres deleted file mode 100644 index 7b3cdae..0000000 --- a/materials/Protomat.tres +++ /dev/null @@ -1,3 +0,0 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://c1ak0qpnpvf04"] - -[resource] diff --git a/materials/Purplemat.tres b/materials/Purplemat.tres new file mode 100644 index 0000000..244a721 --- /dev/null +++ b/materials/Purplemat.tres @@ -0,0 +1,8 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cdeggf10dmama"] + +[ext_resource type="Texture2D" uid="uid://c7mpr2p4gqqwm" path="res://textures/prototype_purple_256x256.png" id="1_310wc"] + +[resource] +albedo_texture = ExtResource("1_310wc") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Redmat.tres b/materials/Redmat.tres index 9a41cf5..3e5c522 100644 --- a/materials/Redmat.tres +++ b/materials/Redmat.tres @@ -1,4 +1,8 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://c6xa4phihtya2"] +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://c6xa4phihtya2"] + +[ext_resource type="Texture2D" uid="uid://brpyk2n4lb72o" path="res://textures/prototype_red_256x256.png" id="1_kadb0"] [resource] -albedo_color = Color(0.9671871, 0, 0.44024095, 1) +albedo_texture = ExtResource("1_kadb0") +uv1_offset = Vector3(0.5, 0.5, 0.5) +uv1_triplanar = true diff --git a/materials/Yellowmat.tres b/materials/Yellowmat.tres new file mode 100644 index 0000000..27777a5 --- /dev/null +++ b/materials/Yellowmat.tres @@ -0,0 +1,7 @@ +[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://duvlktlyurohd"] + +[ext_resource type="Texture2D" uid="uid://bmnqvop2dy5pm" path="res://textures/prototype_yellow_256x256.png" id="1_anv2g"] + +[resource] +albedo_texture = ExtResource("1_anv2g") +uv1_offset = Vector3(0.5, 0.5, 0.5) diff --git a/scenes/molikman.tscn b/scenes/molikman.tscn index c9ac8fc..01f3c42 100644 --- a/scenes/molikman.tscn +++ b/scenes/molikman.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=26 format=3 uid="uid://dpsr6ug3pkb40"] +[gd_scene load_steps=29 format=3 uid="uid://dpsr6ug3pkb40"] [ext_resource type="Script" uid="uid://3dphlay25fih" path="res://scripts/player/player.gd" id="1_g2els"] [ext_resource type="Script" uid="uid://dalwlndejfdhm" path="res://scripts/player/crosshair.gd" id="3_dqkch"] @@ -14,8 +14,10 @@ [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://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"] @@ -25,6 +27,9 @@ resource_local_to_scene = true [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_g2els"] height = 1.2958984 +[sub_resource type="LabelSettings" id="LabelSettings_x73hv"] +font_size = 32 + [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_qhqgy"] properties/0/path = NodePath(".:position") properties/0/spawn = true @@ -260,6 +265,34 @@ crosses_offset = 3.0 [node name="VisibleDisabler" type="Node" parent="HUD"] script = ExtResource("4_smehm") +[node name="Healthbar" type="ProgressBar" parent="HUD"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 0.874 +anchor_right = 0.069000006 +anchor_bottom = 1.0 +offset_top = -0.2800293 +offset_right = -0.32000732 +grow_vertical = 0 +step = 1.0 +value = 100.0 +fill_mode = 3 +script = ExtResource("11_42l2h") + +[node name="AmmoDisplay" type="Label" parent="HUD"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.96900004 +anchor_top = 0.96800005 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -0.32006836 +offset_top = 0.039978027 +grow_horizontal = 0 +grow_vertical = 0 +label_settings = SubResource("LabelSettings_x73hv") +script = ExtResource("12_iortg") + [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_qhqgy") @@ -335,7 +368,9 @@ weapon_system = NodePath("../WeaponSystem") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8543701, 0) shape = SubResource("CapsuleShape3D_3xmak") +[connection signal="health_changed" from="." to="HUD/Healthbar" method="on_hp_changed"] [connection signal="spawned" from="." to="Camera3D/RayCast3D/TeamUpdater" method="on_spawned"] [connection signal="spawned" from="." to="TeamUpdater" method="on_spawned"] +[connection signal="ammo_updated" from="WeaponSystem" to="HUD/AmmoDisplay" method="on_ammo_updated"] [editable path="Camera3D/molikman_hands"] diff --git a/scenes/weapons/droppable_sp.tscn b/scenes/weapons/droppable_sp.tscn index 5aacc41..a4f1de2 100644 --- a/scenes/weapons/droppable_sp.tscn +++ b/scenes/weapons/droppable_sp.tscn @@ -14,6 +14,12 @@ properties/0/replication_mode = 1 properties/1/path = NodePath(".:rotation") properties/1/spawn = true properties/1/replication_mode = 1 +properties/2/path = NodePath("StartingPistol:ammo") +properties/2/spawn = true +properties/2/replication_mode = 1 +properties/3/path = NodePath("StartingPistol:remaining_ammo") +properties/3/spawn = true +properties/3/replication_mode = 1 [node name="DroppableStartingPistol" type="RigidBody3D" node_paths=PackedStringArray("weapon")] collision_layer = 8 diff --git a/scripts/gui/hud/player_ammo_display.gd b/scripts/gui/hud/player_ammo_display.gd new file mode 100644 index 0000000..20b6b1a --- /dev/null +++ b/scripts/gui/hud/player_ammo_display.gd @@ -0,0 +1,5 @@ +extends Label + + +func on_ammo_updated(ammo: int, remaining_ammo: int): + text = str(ammo)+"/"+str(remaining_ammo) diff --git a/scripts/gui/hud/player_ammo_display.gd.uid b/scripts/gui/hud/player_ammo_display.gd.uid new file mode 100644 index 0000000..18dbebd --- /dev/null +++ b/scripts/gui/hud/player_ammo_display.gd.uid @@ -0,0 +1 @@ +uid://gan0amqbhi4i diff --git a/scripts/gui/hud/player_healthbar.gd b/scripts/gui/hud/player_healthbar.gd new file mode 100644 index 0000000..1fc3de0 --- /dev/null +++ b/scripts/gui/hud/player_healthbar.gd @@ -0,0 +1,5 @@ +extends ProgressBar + + +func on_hp_changed(to: int): + value = to diff --git a/scripts/gui/hud/player_healthbar.gd.uid b/scripts/gui/hud/player_healthbar.gd.uid new file mode 100644 index 0000000..1382303 --- /dev/null +++ b/scripts/gui/hud/player_healthbar.gd.uid @@ -0,0 +1 @@ +uid://vmhlmhd6gjx6 diff --git a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd index c7fd947..fb8398f 100644 --- a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd +++ b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd @@ -9,6 +9,7 @@ func request_spawn(data: Variant) -> Node: return Node.new() var node = load(data.scene).instantiate() if data.has("impulse"): + print() if data.has_all(["ammo","remaining_ammo","slot"]): node.weapon.ammo = data.ammo node.weapon.remaining_ammo = data.remaining_ammo diff --git a/scripts/player/player.gd b/scripts/player/player.gd index 90b2789..28ec14c 100644 --- a/scripts/player/player.gd +++ b/scripts/player/player.gd @@ -6,6 +6,7 @@ class_name Player @export var weapon_models: Dictionary[StringName,Node3D] signal spawned +signal health_changed(to: int) const MAX_HP = 100 @@ -15,6 +16,7 @@ const MAX_HP = 100 hp = 0 else: hp = value + health_changed.emit(hp) if hp == 0: die() diff --git a/scripts/weapon_system/bomb/active_bomb.gd b/scripts/weapon_system/bomb/active_bomb.gd index cd030ae..12b8d7e 100644 --- a/scripts/weapon_system/bomb/active_bomb.gd +++ b/scripts/weapon_system/bomb/active_bomb.gd @@ -11,4 +11,3 @@ func on_timeout(): return Session.kill_site(plant) - print("boom") diff --git a/scripts/weapon_system/weapon_substate_machine.gd b/scripts/weapon_system/weapon_substate_machine.gd index 0bcdb6d..464b216 100644 --- a/scripts/weapon_system/weapon_substate_machine.gd +++ b/scripts/weapon_system/weapon_substate_machine.gd @@ -7,18 +7,19 @@ class_name WeaponSubStateMachine @export var visibility_target: StringName @export var max_ammo: int -@onready var ammo: int = max_ammo: +@export var ammo: int: set(value): if value < 0: ammo = 0 else: ammo = value + ammo_updated.emit() if ammo <= 0 and remaining_ammo <= 0: ammo_depleted.emit() get: return ammo @export var ammo_mags: int = 3 -@onready var remaining_ammo: int = max_ammo * ammo_mags: +@export var remaining_ammo: int: set(value): if value < 0: remaining_ammo = 0 @@ -32,14 +33,17 @@ class_name WeaponSubStateMachine @export var slot: StringName signal request_return +signal ammo_updated signal ammo_depleted var system: WeaponSystem var animation_player: AnimationPlayer var player_camera: PlayerCamera -var player: Player +var player: Player func _ready() -> void: + remaining_ammo = max_ammo * ammo_mags + ammo = max_ammo for child in get_children(): if child is WeaponState: states[child.name] = child diff --git a/scripts/weapon_system/weapon_system.gd b/scripts/weapon_system/weapon_system.gd index 99a5912..ba8774f 100644 --- a/scripts/weapon_system/weapon_system.gd +++ b/scripts/weapon_system/weapon_system.gd @@ -21,6 +21,8 @@ var slots: Dictionary[StringName,WeaponSubStateMachine] = { } signal switched_to(state: WeaponSubStateMachine) +signal slots_updated(slots: Dictionary[StringName,WeaponSubStateMachine]) +signal ammo_updated(ammo: int, remaining_ammo: int) func _ready() -> void: $WeaponSpawner.spawn_function = pick_up_weapon @@ -53,9 +55,12 @@ func add(state: WeaponSubStateMachine, slot: StringName,ignore_parent: bool = fa state.player = player state.request_return.connect(return_to_previous) state.ammo_depleted.connect(check_for_empty) + state.ammo_updated.connect(on_ammo_updated) + slots_updated.emit(slots) if current_state == null: current_state = state + ammo_updated.emit(current_state.ammo,current_state.remaining_ammo) state.enter.call_deferred() func switch(to: StringName, exit: bool = true): @@ -70,6 +75,7 @@ func switch(to: StringName, exit: bool = true): current_state = slots[to] current_state.enter() + ammo_updated.emit(current_state.ammo,current_state.remaining_ammo) switched_to.emit(current_state) update_remotes.rpc(to,exit) @@ -105,6 +111,7 @@ func drop(): $"../PickupRange".start_temp_ignore() slots[slots.find_key(current_state)] = null + slots_updated.emit(slots) current_state.queue_free() return_to_previous(false) @@ -141,6 +148,9 @@ func check_for_empty() -> void: if child is WeaponSubStateMachine and child.ammo == 0 and child.remaining_ammo == 0 and child.destroy_when_empty: child.queue_free() +func on_ammo_updated() -> void: + ammo_updated.emit(current_state.ammo,current_state.remaining_ammo) + func _process(delta: float) -> void: if current_state == null: return diff --git a/textures/prototype_256x256.png b/textures/prototype_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..ace5e9886e4d8261cb701132a077098fc1831afc GIT binary patch literal 4247 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 M>zSM_(Xo&I4|^WjRsaA1 literal 0 HcmV?d00001 diff --git a/textures/prototype_256x256.png.import b/textures/prototype_256x256.png.import new file mode 100644 index 0000000..5ac50d6 --- /dev/null +++ b/textures/prototype_256x256.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://del2a862e7etr" +path.s3tc="res://.godot/imported/prototype_256x256.png-cc043fec7aa6c7210b91a11aa3e5d757.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://textures/prototype_256x256.png" +dest_files=["res://.godot/imported/prototype_256x256.png-cc043fec7aa6c7210b91a11aa3e5d757.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/textures/prototype_256x256.svg b/textures/prototype_256x256.svg new file mode 100644 index 0000000..0e08cf3 --- /dev/null +++ b/textures/prototype_256x256.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256x256 + + + diff --git a/textures/prototype_256x256.svg.import b/textures/prototype_256x256.svg.import new file mode 100644 index 0000000..7aca3d9 --- /dev/null +++ b/textures/prototype_256x256.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb3c3pyec44ri" +path="res://.godot/imported/prototype_256x256.svg-4c863ffaf10ca9b134967aa9fd23e2ac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/prototype_256x256.svg" +dest_files=["res://.godot/imported/prototype_256x256.svg-4c863ffaf10ca9b134967aa9fd23e2ac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/textures/prototype_blue_256x256.png b/textures/prototype_blue_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..cd39efe0886016f15ee25741a655c9dfd45585d5 GIT binary patch literal 4247 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

Yr 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 literal 0 HcmV?d00001 diff --git a/textures/prototype_gray_256x256.png.import b/textures/prototype_gray_256x256.png.import new file mode 100644 index 0000000..87a20d9 --- /dev/null +++ b/textures/prototype_gray_256x256.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://87pitdljtw1e" +path.s3tc="res://.godot/imported/prototype_gray_256x256.png-c46d3281b0a68c407e0a12760268e64f.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://textures/prototype_gray_256x256.png" +dest_files=["res://.godot/imported/prototype_gray_256x256.png-c46d3281b0a68c407e0a12760268e64f.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/textures/prototype_green_256x256.png b/textures/prototype_green_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..6601bf08fa70746dcee9d91e75c10ba1129e39ff GIT binary patch literal 4483 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 literal 0 HcmV?d00001 diff --git a/textures/prototype_green_256x256.png.import b/textures/prototype_green_256x256.png.import new file mode 100644 index 0000000..38e5953 --- /dev/null +++ b/textures/prototype_green_256x256.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8ik50gqyn6u" +path.s3tc="res://.godot/imported/prototype_green_256x256.png-3a43d441fd67eef207f2b59271729940.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://textures/prototype_green_256x256.png" +dest_files=["res://.godot/imported/prototype_green_256x256.png-3a43d441fd67eef207f2b59271729940.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/textures/prototype_orange_256x256.png b/textures/prototype_orange_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..f6aefea60e129dfb3b6940877f5785a0c9cb5a41 GIT binary patch literal 3841 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 C$mJ&h literal 0 HcmV?d00001 diff --git a/textures/prototype_purple_256x256.png.import b/textures/prototype_purple_256x256.png.import new file mode 100644 index 0000000..20ee937 --- /dev/null +++ b/textures/prototype_purple_256x256.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7mpr2p4gqqwm" +path.s3tc="res://.godot/imported/prototype_purple_256x256.png-79477f3d2a2d94b170c3908c78290a72.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://textures/prototype_purple_256x256.png" +dest_files=["res://.godot/imported/prototype_purple_256x256.png-79477f3d2a2d94b170c3908c78290a72.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/textures/prototype_red_256x256.png b/textures/prototype_red_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..baacf31cb3a5b0f81c500a298de41627c99b09a8 GIT binary patch literal 4372 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 N9AsCoxe}FceUyva~eGHAx+8 zG!bdE+)K>9B-7GNwA?FAC6RGKasfVUnVK{6edqi4J7@lQ&wcNE-uv9=`8~hqcb|L7 z{0H`64S~&s$Ncjo^mZ~TREb$gjIV=l0>KXz7-#uJ-KzzcjQ_7Fpp$L~y zGyxY%_9prQWHK3gIuIY?;~nG+B@q2G$INvAKs_93b;v24De9qfP7S*A$D2c*F=v9w zV?EX6w4N0g-G7P}egETOl&fwnJ*Ue>t++*JHnwv!WGbz`-l=HM4?;TTh1M}0wd+Ul zZtck`S2R%g!>g99_K(^AW2>+0T9=pi;X}O{J9iG5%g3=py&=+P-PIREh|)P4#9;Dm zP?orfJbi7ld#Fi!=)QE3m!lI21U#_>fD5aDDDTC9mlg=nI-;Cn%DQU(ih|of{fg-L zO#N&^nfy zt{`~$8hf-7X+hX_fPA>;5x?&E^!zztnyl_Z(S5gk`k5dYcl`-j|CY5KecQ5){b$

L#w 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 literal 0 HcmV?d00001 diff --git a/textures/prototype_yellow_256x256.png.import b/textures/prototype_yellow_256x256.png.import new file mode 100644 index 0000000..000528f --- /dev/null +++ b/textures/prototype_yellow_256x256.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmnqvop2dy5pm" +path.s3tc="res://.godot/imported/prototype_yellow_256x256.png-c5e07039766aaf30f8ea366b5911ebaf.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://textures/prototype_yellow_256x256.png" +dest_files=["res://.godot/imported/prototype_yellow_256x256.png-c5e07039766aaf30f8ea366b5911ebaf.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/themes/main_theme.tres b/themes/main_theme.tres new file mode 100644 index 0000000..72874f3 --- /dev/null +++ b/themes/main_theme.tres @@ -0,0 +1,16 @@ +[gd_resource type="Theme" load_steps=2 format=3 uid="uid://dxnkvosdhpvwi"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vxwtt"] +bg_color = Color(0.009789981, 0.06134919, 0.10858328, 1) +border_width_left = 4 +border_width_top = 14 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.15491787, 0.2660408, 0.41645113, 1) + +[resource] +MarginContainer/constants/margin_bottom = 4 +MarginContainer/constants/margin_left = 4 +MarginContainer/constants/margin_right = 4 +MarginContainer/constants/margin_top = 14 +Panel/styles/panel = SubResource("StyleBoxFlat_vxwtt")