diff --git a/gui/buy_menu/buy_menu.tscn b/gui/buy_menu/buy_menu.tscn index bd77d80..e8e76a0 100644 --- a/gui/buy_menu/buy_menu.tscn +++ b/gui/buy_menu/buy_menu.tscn @@ -2,7 +2,7 @@ [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="Resource" uid="uid://b081hg7uxx1wu" path="res://weapons/mm_molik.tres" id="2_0gws3"] [ext_resource type="Script" uid="uid://dk4diwvruvkch" path="res://gui/buy_menu/player_money_label.gd" id="2_ll0n6"] [node name="BuyMenu" type="ColorRect"] @@ -41,5 +41,6 @@ columns = 5 layout_mode = 2 [node name="BuyButton" parent="CenterContainer/PanelContainer/AbilitiesContainer/HBoxContainer" instance=ExtResource("1_8guql")] +custom_minimum_size = Vector2(64, 96) layout_mode = 2 weapon = ExtResource("2_0gws3") diff --git a/gui/weapon_display/horizontal_indicator.tscn b/gui/weapon_display/horizontal_indicator.tscn new file mode 100644 index 0000000..12af3fd --- /dev/null +++ b/gui/weapon_display/horizontal_indicator.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=3 format=3 uid="uid://iw76qt0vo57b"] + +[ext_resource type="Script" uid="uid://bft3coi8fq4tr" path="res://gui/weapon_display/weapon_display_indicator.gd" id="1_amsli"] +[ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="2_qss44"] + +[node name="VerticalIndicator" type="HBoxContainer" groups=["weapon_indicator"]] +custom_minimum_size = Vector2(64, 64) +offset_right = 64.0 +offset_bottom = 64.0 +mouse_filter = 2 +script = ExtResource("1_amsli") + +[node name="Texture" type="TextureRect" parent="."] +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +mouse_filter = 2 +texture = ExtResource("2_qss44") +expand_mode = 4 +stretch_mode = 5 + +[node name="Mark" type="Label" parent="."] +layout_mode = 2 +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/gui/weapon_display/vertical_indicator.tscn b/gui/weapon_display/vertical_indicator.tscn new file mode 100644 index 0000000..1ded75e --- /dev/null +++ b/gui/weapon_display/vertical_indicator.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=3 format=3 uid="uid://opxpjjslpoc3"] + +[ext_resource type="Script" uid="uid://bft3coi8fq4tr" path="res://gui/weapon_display/weapon_display_indicator.gd" id="1_unomd"] +[ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="2_gnxu7"] + +[node name="VerticalIndicator" type="VBoxContainer" groups=["weapon_indicator"]] +custom_minimum_size = Vector2(64, 64) +offset_right = 64.0 +offset_bottom = 64.0 +mouse_filter = 2 +script = ExtResource("1_unomd") + +[node name="Texture" type="TextureRect" parent="."] +self_modulate = Color(0.76, 0.76, 0.76, 1) +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_vertical = 3 +mouse_filter = 2 +texture = ExtResource("2_gnxu7") +expand_mode = 2 +stretch_mode = 5 + +[node name="Mark" type="Label" parent="."] +layout_mode = 2 +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/gui/weapon_display/weapon_display.gd b/gui/weapon_display/weapon_display.gd new file mode 100644 index 0000000..8f8548d --- /dev/null +++ b/gui/weapon_display/weapon_display.gd @@ -0,0 +1,13 @@ +extends Control + + +func on_slots_changed(current_slot: StringName, slots_data: Dictionary[StringName,StringName]): + for indicator in get_tree().get_nodes_in_group("weapon_indicator"): + var slot_accessed_data = slots_data[indicator.lookup_slot] + if slot_accessed_data == "": + indicator.hide() + continue + indicator.show() + var weapon = Registry.weapons[slot_accessed_data] + indicator.set_weapon(weapon) + indicator.set_current(current_slot == indicator.lookup_slot) diff --git a/gui/weapon_display/weapon_display.gd.uid b/gui/weapon_display/weapon_display.gd.uid new file mode 100644 index 0000000..00c65cd --- /dev/null +++ b/gui/weapon_display/weapon_display.gd.uid @@ -0,0 +1 @@ +uid://bdjp20eo2uw0d diff --git a/gui/weapon_display/weapon_display.tscn b/gui/weapon_display/weapon_display.tscn new file mode 100644 index 0000000..55e8072 --- /dev/null +++ b/gui/weapon_display/weapon_display.tscn @@ -0,0 +1,80 @@ +[gd_scene load_steps=4 format=3 uid="uid://bqdcjq12tbh0s"] + +[ext_resource type="PackedScene" uid="uid://opxpjjslpoc3" path="res://gui/weapon_display/vertical_indicator.tscn" id="1_bwhua"] +[ext_resource type="Script" uid="uid://bdjp20eo2uw0d" path="res://gui/weapon_display/weapon_display.gd" id="1_nv6sv"] +[ext_resource type="PackedScene" uid="uid://iw76qt0vo57b" path="res://gui/weapon_display/horizontal_indicator.tscn" id="2_hf8mm"] + +[node name="WeaponDisplay" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_nv6sv") + +[node name="AbilityContainer" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.27265626 +anchor_top = 1.0 +anchor_right = 0.72734374 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 0 +alignment = 1 +metadata/_edit_use_anchors_ = true + +[node name="FirstAbility" parent="AbilityContainer" instance=ExtResource("1_bwhua")] +layout_mode = 2 +size_flags_horizontal = 3 +lookup_slot = &"ability_first" +lookup_action = &"plr_active_first" + +[node name="SecondAbility" parent="AbilityContainer" instance=ExtResource("1_bwhua")] +layout_mode = 2 +size_flags_horizontal = 3 +lookup_slot = &"ability_second" +lookup_action = &"plr_active_second" + +[node name="ThirdAbility" parent="AbilityContainer" instance=ExtResource("1_bwhua")] +layout_mode = 2 +size_flags_horizontal = 3 +lookup_slot = &"ability_third" +lookup_action = &"plr_active_third" + +[node name="WeaponContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.9359375 +anchor_top = 0.5138889 +anchor_right = 0.9898437 +anchor_bottom = 0.88611114 +grow_horizontal = 0 +grow_vertical = 2 +metadata/_edit_use_anchors_ = true + +[node name="Primary" parent="WeaponContainer" instance=ExtResource("2_hf8mm")] +layout_mode = 2 +size_flags_vertical = 3 +lookup_slot = &"primary" +lookup_action = &"plr_primary" + +[node name="Secondary" parent="WeaponContainer" instance=ExtResource("2_hf8mm")] +layout_mode = 2 +size_flags_vertical = 3 +lookup_slot = &"secondary" +lookup_action = &"plr_secondary" + +[node name="Knife" parent="WeaponContainer" instance=ExtResource("2_hf8mm")] +layout_mode = 2 +size_flags_vertical = 3 +lookup_slot = &"knife" +lookup_action = &"plr_knife" + +[node name="Bomb" parent="WeaponContainer" instance=ExtResource("2_hf8mm")] +layout_mode = 2 +size_flags_vertical = 3 +lookup_slot = &"bomb" +lookup_action = &"plr_bomb" diff --git a/gui/weapon_display/weapon_display_indicator.gd b/gui/weapon_display/weapon_display_indicator.gd new file mode 100644 index 0000000..adcf7bb --- /dev/null +++ b/gui/weapon_display/weapon_display_indicator.gd @@ -0,0 +1,18 @@ +extends Container + +const CURRENT_COLOR = Color("ffffff") +const NOT_CURRENT_COLOR = Color("d4d4d4") + +@onready var texture: TextureRect = $Texture +@onready var button_mark: Label = $Mark +@export var lookup_slot: StringName +@export var lookup_action: StringName + +func _ready(): + button_mark.text = InputMap.get_action_description(lookup_action).left(1) + +func set_weapon(resource: WeaponResource): + texture.texture = resource.preview + +func set_current(current): + texture.self_modulate = CURRENT_COLOR if current else NOT_CURRENT_COLOR diff --git a/gui/weapon_display/weapon_display_indicator.gd.uid b/gui/weapon_display/weapon_display_indicator.gd.uid new file mode 100644 index 0000000..abf2da3 --- /dev/null +++ b/gui/weapon_display/weapon_display_indicator.gd.uid @@ -0,0 +1 @@ +uid://bft3coi8fq4tr diff --git a/players/molikman.tscn b/players/molikman.tscn index 8c64cba..1e2b625 100644 --- a/players/molikman.tscn +++ b/players/molikman.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=84 format=4 uid="uid://dpsr6ug3pkb40"] +[gd_scene load_steps=83 format=4 uid="uid://dpsr6ug3pkb40"] [ext_resource type="Script" uid="uid://3dphlay25fih" path="res://players/player/player.gd" id="1_l07l8"] [ext_resource type="Material" uid="uid://cjb0h3of85nc2" path="res://materials/players/molikman/mat_Molikman.tres" id="2_330gv"] @@ -10,10 +10,9 @@ [ext_resource type="Texture2D" uid="uid://twxsiwqgu1dy" path="res://models/characters/viewmodels/molikman_hands_tex_bomb.png" id="8_vfta6"] [ext_resource type="Animation" uid="uid://bd7i1oux2k74q" path="res://animations/baked_bomb_plant.res" id="9_jkjl5"] [ext_resource type="Script" uid="uid://bl8gfrrc512q2" path="res://players/player/dead_player_spectator.gd" id="10_nar88"] -[ext_resource type="Script" uid="uid://7gmgcaxfh8sb" path="res://systems/debug/property_shower.gd" id="11_o7yy1"] -[ext_resource type="Script" uid="uid://dmy6ahci16los" path="res://systems/debug/inventory_preview.gd" id="12_lmgvl"] [ext_resource type="Script" uid="uid://dalwlndejfdhm" path="res://gui/crosshair.gd" id="13_a8vk2"] [ext_resource type="Script" uid="uid://vmhlmhd6gjx6" path="res://gui/hud/player_healthbar.gd" id="14_dy7an"] +[ext_resource type="PackedScene" uid="uid://bqdcjq12tbh0s" path="res://gui/weapon_display/weapon_display.tscn" id="14_tgg0h"] [ext_resource type="Script" uid="uid://gan0amqbhi4i" path="res://gui/hud/player_ammo_display.gd" id="15_8nx10"] [ext_resource type="AudioStream" uid="uid://bd4iofirvmiu6" path="res://audio/step_wood.ogg" id="16_0i367"] [ext_resource type="Script" uid="uid://da0xv360va3b3" path="res://audio/audio_system/multiplayer_audio_3d.gd" id="17_rgc8v"] @@ -8625,27 +8624,6 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 -[node name="PanelContainer" type="PanelContainer" parent="HUD"] -visible = false -layout_mode = 0 -offset_right = 40.0 -offset_bottom = 40.0 - -[node name="VBoxContainer2" type="VBoxContainer" parent="HUD/PanelContainer"] -layout_mode = 2 - -[node name="Properties" type="VBoxContainer" parent="HUD/PanelContainer/VBoxContainer2"] -layout_mode = 2 -script = ExtResource("11_o7yy1") -property_array = Dictionary[NodePath, StringName]({ -NodePath("../../../../WeaponSystem"): &"current_state" -}) - -[node name="InventoryPreview" type="Label" parent="HUD/PanelContainer/VBoxContainer2" node_paths=PackedStringArray("inventory")] -layout_mode = 2 -script = ExtResource("12_lmgvl") -inventory = NodePath("../../../../WeaponSystem") - [node name="Crosshair" type="Control" parent="HUD"] layout_mode = 1 anchors_preset = 8 @@ -8698,6 +8676,9 @@ grow_vertical = 0 label_settings = SubResource("LabelSettings_x73hv") script = ExtResource("15_8nx10") +[node name="WeaponDisplay" parent="HUD" instance=ExtResource("14_tgg0h")] +layout_mode = 1 + [node name="PlayerPropertiesSync" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_qhqgy") @@ -8870,5 +8851,6 @@ script = ExtResource("38_2cl6u") [connection signal="died" from="." to="PickupRange" method="disable"] [connection signal="health_changed" from="." to="HUD/Healthbar" method="on_hp_changed"] [connection signal="ammo_updated" from="WeaponSystem" to="HUD/AmmoDisplay" method="on_ammo_updated"] +[connection signal="slots_updated" from="WeaponSystem" to="HUD/WeaponDisplay" method="on_slots_changed"] [connection signal="interact_begin" from="PlayerInput" to="Interaction" method="on_player_start_interacting"] [connection signal="interact_end" from="PlayerInput" to="Interaction" method="on_player_end_interacting"] diff --git a/systems/weapon_system/weapon_system.gd b/systems/weapon_system/weapon_system.gd index 011e89e..77c2b6a 100644 --- a/systems/weapon_system/weapon_system.gd +++ b/systems/weapon_system/weapon_system.gd @@ -23,7 +23,7 @@ var slots: Dictionary[StringName,WeaponSubStateMachine] = { } signal switched_to(state: WeaponSubStateMachine) -signal slots_updated(slots: Dictionary[StringName,WeaponSubStateMachine]) +signal slots_updated(current_slot: StringName,slots: Dictionary[StringName,StringName]) signal ammo_updated(ammo: int, remaining_ammo: int) func _ready() -> void: @@ -33,6 +33,12 @@ func _ready() -> void: player_input.switch_weapon.connect(switch) player_input.alternate_state.connect(alternate_state) player_input.switch_firemode.connect(switch_mode) + + await get_tree().process_frame + await get_tree().process_frame + + notify_slots_updated() + on_ammo_updated() func get_speed_modifier() -> float: if current_state == null: @@ -51,7 +57,8 @@ func add(state: WeaponSubStateMachine, slot: StringName) -> void: add_child(state, true) slots[slot] = state - slots_updated.emit(slots) + + notify_slots_updated() if current_state == null: current_state = state @@ -60,17 +67,6 @@ func add(state: WeaponSubStateMachine, slot: StringName) -> void: await get_tree().process_frame await get_tree().process_frame state._enter() - - -func process_spawned_weapon(weapon_node: Node): - var weapon = weapon_node as WeaponSubStateMachine - - slots[weapon.slot] = weapon - slots_updated.emit(slots) - - if current_state == null: - current_state = weapon - ammo_updated.emit(current_state.ammo,current_state.remaining_ammo) func get_empty_ability_slot() -> StringName: if slots["ability_first"] == null: @@ -95,6 +91,7 @@ func switch(to: StringName, exit: bool = true): ammo_updated.emit(current_state.ammo,current_state.remaining_ammo) switched_to.emit(current_state) + notify_slots_updated() func return_to_previous(exit: bool = true): if last_slot != "": @@ -108,7 +105,7 @@ func drop_current(): func drop(weapon: WeaponSubStateMachine) -> void: if not is_multiplayer_authority(): return - if slots.find_key(weapon) == "knife": + if slots.find_key(weapon) in ["knife","ability_first","ability_second","ability_third"]: return var dropped_weapon: DroppableWeapon = Registry.weapons[weapon.registry_entry].dropped_scene.instantiate() @@ -122,7 +119,7 @@ func drop(weapon: WeaponSubStateMachine) -> void: $"../PickupRange".start_temp_ignore() slots[slots.find_key(weapon)] = null - slots_updated.emit(slots) + notify_slots_updated() weapon.queue_free() return_to_previous(false) @@ -152,6 +149,25 @@ func on_ammo_updated() -> void: func remote_ammo_update(ammo: int, remaining_ammo: int): ammo_updated.emit(ammo,remaining_ammo) +func notify_slots_updated(): + var display_slots: Dictionary[StringName,StringName] = {} + for key in slots.keys(): + if slots[key] == null: + display_slots[key] = "" + else: + display_slots[key] = slots[key].registry_entry + var current_slot: StringName = "" + var found = slots.find_key(current_state) + if found: + current_slot = found + + remote_update_slots.rpc(current_slot,display_slots) + slots_updated.emit(current_slot,display_slots) + +@rpc +func remote_update_slots(current_slot: StringName, update_slots: Dictionary[StringName,StringName]): + slots_updated.emit(current_slot, update_slots) + func disable() -> void: disabled = true diff --git a/textures/icons/icons.svg b/textures/icons/icons.svg new file mode 100644 index 0000000..b3607a1 --- /dev/null +++ b/textures/icons/icons.svg @@ -0,0 +1,105 @@ + + + + diff --git a/textures/icons/icons_bomb.png b/textures/icons/icons_bomb.png new file mode 100644 index 0000000..3b050a6 Binary files /dev/null and b/textures/icons/icons_bomb.png differ diff --git a/textures/icons/icons_bomb.png.import b/textures/icons/icons_bomb.png.import new file mode 100644 index 0000000..8217999 --- /dev/null +++ b/textures/icons/icons_bomb.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckdb8s2bj2wix" +path="res://.godot/imported/icons_bomb.png-43c075c74729da3fde6de9bb2c912d0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/icons/icons_bomb.png" +dest_files=["res://.godot/imported/icons_bomb.png-43c075c74729da3fde6de9bb2c912d0b.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 diff --git a/textures/icons/icons_knife.png b/textures/icons/icons_knife.png new file mode 100644 index 0000000..ee0e026 Binary files /dev/null and b/textures/icons/icons_knife.png differ diff --git a/textures/icons/icons_knife.png.import b/textures/icons/icons_knife.png.import new file mode 100644 index 0000000..e81d56b --- /dev/null +++ b/textures/icons/icons_knife.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dep78xhc8iq06" +path="res://.godot/imported/icons_knife.png-c086c973387a4a6fd222a41b12a18986.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/icons/icons_knife.png" +dest_files=["res://.godot/imported/icons_knife.png-c086c973387a4a6fd222a41b12a18986.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 diff --git a/textures/icons/icons_mm_molik.png b/textures/icons/icons_mm_molik.png new file mode 100644 index 0000000..44578bd Binary files /dev/null and b/textures/icons/icons_mm_molik.png differ diff --git a/textures/icons/icons_mm_molik.png.import b/textures/icons/icons_mm_molik.png.import new file mode 100644 index 0000000..2e750d9 --- /dev/null +++ b/textures/icons/icons_mm_molik.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d257ki2or3i3m" +path="res://.godot/imported/icons_mm_molik.png-7ea5452e2ab283754a1325798bcbc30e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/icons/icons_mm_molik.png" +dest_files=["res://.godot/imported/icons_mm_molik.png-7ea5452e2ab283754a1325798bcbc30e.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 diff --git a/textures/icons/icons_starting_pistol.png b/textures/icons/icons_starting_pistol.png new file mode 100644 index 0000000..53da05f Binary files /dev/null and b/textures/icons/icons_starting_pistol.png differ diff --git a/textures/icons/icons_starting_pistol.png.import b/textures/icons/icons_starting_pistol.png.import new file mode 100644 index 0000000..c31244a --- /dev/null +++ b/textures/icons/icons_starting_pistol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg7j6uxv3wtn0" +path="res://.godot/imported/icons_starting_pistol.png-ac8ec24b025a9285a247f27ff5396537.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/icons/icons_starting_pistol.png" +dest_files=["res://.godot/imported/icons_starting_pistol.png-ac8ec24b025a9285a247f27ff5396537.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 diff --git a/weapons/bomb.tres b/weapons/bomb.tres index a8f2d1b..a39d301 100644 --- a/weapons/bomb.tres +++ b/weapons/bomb.tres @@ -2,12 +2,12 @@ [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="Texture2D" uid="uid://ckdb8s2bj2wix" path="res://textures/icons/icons_bomb.png" id="2_sbnmj"] [ext_resource type="PackedScene" uid="uid://bxdatd1ilfgmc" path="res://weapons/bomb/bomb.tscn" id="4_shxvo"] [resource] script = ExtResource("1_w2ux2") -preview = ExtResource("2_vkfbs") +preview = ExtResource("2_sbnmj") dropped_scene = ExtResource("1_sbnmj") weapon_system_scene = ExtResource("4_shxvo") slot = &"bomb" diff --git a/weapons/bomb/droppable_bomb.tscn b/weapons/bomb/droppable_bomb.tscn index 796fc08..ef37ac0 100644 --- a/weapons/bomb/droppable_bomb.tscn +++ b/weapons/bomb/droppable_bomb.tscn @@ -18,6 +18,7 @@ properties/1/replication_mode = 1 [node name="DroppableBomb" type="RigidBody3D" node_paths=PackedStringArray("weapon")] collision_layer = 8 collision_mask = 9 +continuous_cd = true script = ExtResource("1_hsebh") slot = &"bomb" weapon = NodePath("BombWeapon") diff --git a/weapons/gun/sp/droppable_sp.tscn b/weapons/gun/sp/droppable_sp.tscn index 73ec5bb..9e2bdc3 100644 --- a/weapons/gun/sp/droppable_sp.tscn +++ b/weapons/gun/sp/droppable_sp.tscn @@ -18,6 +18,7 @@ properties/1/replication_mode = 1 [node name="DroppableStartingPistol" type="RigidBody3D" node_paths=PackedStringArray("weapon")] collision_layer = 8 collision_mask = 9 +continuous_cd = true script = ExtResource("1_jym52") slot = &"secondary" weapon = NodePath("StartingPistol") diff --git a/weapons/knife.tres b/weapons/knife.tres new file mode 100644 index 0000000..1130f02 --- /dev/null +++ b/weapons/knife.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="WeaponResource" load_steps=4 format=3 uid="uid://chfehphisjn2u"] + +[ext_resource type="Texture2D" uid="uid://dep78xhc8iq06" path="res://textures/icons/icons_knife.png" id="1_52p4f"] +[ext_resource type="Script" uid="uid://bvnn2eiwqbu7t" path="res://systems/weapon_system/weapon_resource.gd" id="2_ld5j5"] +[ext_resource type="PackedScene" uid="uid://ts4xccpkjd3g" path="res://weapons/knife/knife.tscn" id="3_ld5j5"] + +[resource] +script = ExtResource("2_ld5j5") +cost = 300 +preview = ExtResource("1_52p4f") +weapon_system_scene = ExtResource("3_ld5j5") +slot = &"knife" +metadata/_custom_type_script = "uid://bvnn2eiwqbu7t" diff --git a/weapons/knife/knife.tscn b/weapons/knife/knife.tscn index b587fc8..a6460c9 100644 --- a/weapons/knife/knife.tscn +++ b/weapons/knife/knife.tscn @@ -9,6 +9,7 @@ [node name="Knife" type="Node" node_paths=PackedStringArray("enter_state")] script = ExtResource("1_2xf1r") animation_prefix = &"baked_knife_" +registry_entry = &"knife" visibility_target = &"knife" ammo_mags = 0 slot = &"knife" diff --git a/weapons/molikman_molotov.tres b/weapons/mm_molik.tres similarity index 77% rename from weapons/molikman_molotov.tres rename to weapons/mm_molik.tres index 39a2590..5518973 100644 --- a/weapons/molikman_molotov.tres +++ b/weapons/mm_molik.tres @@ -1,13 +1,13 @@ [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="Texture2D" uid="uid://d257ki2or3i3m" path="res://textures/icons/icons_mm_molik.png" id="1_6mu31"] [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://weapons/molikman/molik/molikman_molik.tscn" id="3_6mu31"] [resource] script = ExtResource("1_ktfgd") cost = 300 -preview = ExtResource("1_hmyxe") +preview = ExtResource("1_6mu31") weapon_system_scene = ExtResource("3_6mu31") slot = &"ability" metadata/_custom_type_script = "uid://bvnn2eiwqbu7t" diff --git a/weapons/sp.tres b/weapons/sp.tres index ae78851..1d231ec 100644 --- a/weapons/sp.tres +++ b/weapons/sp.tres @@ -1,14 +1,14 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://2jxguk5jxlim"] [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="Texture2D" uid="uid://cg7j6uxv3wtn0" path="res://textures/icons/icons_starting_pistol.png" id="2_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") cost = 200 -preview = ExtResource("2_c0lu7") +preview = ExtResource("2_vpohq") dropped_scene = ExtResource("1_vpohq") weapon_system_scene = ExtResource("4_vpohq") slot = &"secondary"