From 900502ec8aa5774d00cecf9fb448138edadb218c Mon Sep 17 00:00:00 2001 From: Rendo Date: Sat, 29 Nov 2025 00:55:07 +0500 Subject: [PATCH] depleted ammo destruction --- .../characters/viewmodels/molikman_hands.glb | Bin 1327768 -> 1440204 bytes .../viewmodels/molikman_hands.glb.import | 2060 +---------------- scenes/molikman.tscn | 2 +- scenes/weapons/bomb.tscn | 16 +- scripts/weapon_system/bomb/bomb_idle_state.gd | 12 + .../weapon_system/bomb/bomb_idle_state.gd.uid | 1 + .../weapon_system/bomb/bomb_intro_state.gd | 12 + .../bomb/bomb_intro_state.gd.uid | 1 + .../{bomb_state.gd => bomb_main_state.gd} | 3 +- ...mb_state.gd.uid => bomb_main_state.gd.uid} | 0 .../weapon_system/weapon_substate_machine.gd | 21 +- scripts/weapon_system/weapon_system.gd | 8 + 12 files changed, 68 insertions(+), 2068 deletions(-) create mode 100644 scripts/weapon_system/bomb/bomb_idle_state.gd create mode 100644 scripts/weapon_system/bomb/bomb_idle_state.gd.uid create mode 100644 scripts/weapon_system/bomb/bomb_intro_state.gd create mode 100644 scripts/weapon_system/bomb/bomb_intro_state.gd.uid rename scripts/weapon_system/bomb/{bomb_state.gd => bomb_main_state.gd} (95%) rename scripts/weapon_system/bomb/{bomb_state.gd.uid => bomb_main_state.gd.uid} (100%) diff --git a/models/characters/viewmodels/molikman_hands.glb b/models/characters/viewmodels/molikman_hands.glb index 5542a0ca4a33592e9ccf4b4889ef5c110302d21e..cece95a4ce3aad206ea41310ce907b30d2b4a4e8 100644 GIT binary patch delta 56703 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�ir3~xH-j5|MXq#tOP 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�|OOJiltwYetfeyS=ZP3clik20!s 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 flonE2N->nuN{W#bV=1krw2@+x(|1eTp2z void: + machine.animation_player.play(machine.animation_prefix+"idle") + +func exit() -> void: + pass + +func state_input(event: InputEvent) -> void: + if event.is_action("plr_bomb"): + transition.emit("Plant") diff --git a/scripts/weapon_system/bomb/bomb_idle_state.gd.uid b/scripts/weapon_system/bomb/bomb_idle_state.gd.uid new file mode 100644 index 0000000..b1d5a63 --- /dev/null +++ b/scripts/weapon_system/bomb/bomb_idle_state.gd.uid @@ -0,0 +1 @@ +uid://cx7j3kr1laq3s diff --git a/scripts/weapon_system/bomb/bomb_intro_state.gd b/scripts/weapon_system/bomb/bomb_intro_state.gd new file mode 100644 index 0000000..4e48af7 --- /dev/null +++ b/scripts/weapon_system/bomb/bomb_intro_state.gd @@ -0,0 +1,12 @@ +extends WeaponState + +func enter() -> void: + machine.animation_player.play(machine.animation_prefix+"intro") + machine.animation_player.animation_finished.connect(on_animation_finished) + +func exit() -> void: + machine.animation_player.animation_finished.disconnect(on_animation_finished) + +func on_animation_finished(animation: StringName): + if animation == machine.animation_prefix + "intro": + transition.emit("Idle") diff --git a/scripts/weapon_system/bomb/bomb_intro_state.gd.uid b/scripts/weapon_system/bomb/bomb_intro_state.gd.uid new file mode 100644 index 0000000..4a7d77c --- /dev/null +++ b/scripts/weapon_system/bomb/bomb_intro_state.gd.uid @@ -0,0 +1 @@ +uid://dmyir46aricwi diff --git a/scripts/weapon_system/bomb/bomb_state.gd b/scripts/weapon_system/bomb/bomb_main_state.gd similarity index 95% rename from scripts/weapon_system/bomb/bomb_state.gd rename to scripts/weapon_system/bomb/bomb_main_state.gd index 11ef0ad..786a185 100644 --- a/scripts/weapon_system/bomb/bomb_state.gd +++ b/scripts/weapon_system/bomb/bomb_main_state.gd @@ -21,5 +21,4 @@ func on_animation_finished(animation: StringName): func state_input(event: InputEvent) -> void: if event.is_action_released("plr_bomb"): - - return_to_previous.emit() + transition.emit("Idle") diff --git a/scripts/weapon_system/bomb/bomb_state.gd.uid b/scripts/weapon_system/bomb/bomb_main_state.gd.uid similarity index 100% rename from scripts/weapon_system/bomb/bomb_state.gd.uid rename to scripts/weapon_system/bomb/bomb_main_state.gd.uid diff --git a/scripts/weapon_system/weapon_substate_machine.gd b/scripts/weapon_system/weapon_substate_machine.gd index 1cc4aa0..0bcdb6d 100644 --- a/scripts/weapon_system/weapon_substate_machine.gd +++ b/scripts/weapon_system/weapon_substate_machine.gd @@ -7,17 +7,32 @@ class_name WeaponSubStateMachine @export var visibility_target: StringName @export var max_ammo: int -@onready var ammo: int = max_ammo -@onready var remaining_ammo: int = max_ammo * 3 +@onready var ammo: int = max_ammo: + set(value): + if value < 0: + ammo = 0 + else: + ammo = value + 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: + set(value): + if value < 0: + remaining_ammo = 0 + else: + remaining_ammo = value @export var speed_modifier: float = 1.0 - @export var can_be_previous: bool = true @export var destroy_when_empty: bool = false @export var slot: StringName signal request_return +signal ammo_depleted var system: WeaponSystem var animation_player: AnimationPlayer diff --git a/scripts/weapon_system/weapon_system.gd b/scripts/weapon_system/weapon_system.gd index 92c2eba..6e57772 100644 --- a/scripts/weapon_system/weapon_system.gd +++ b/scripts/weapon_system/weapon_system.gd @@ -52,6 +52,7 @@ func add(state: WeaponSubStateMachine, slot: StringName,ignore_parent: bool = fa state.player_camera = camera state.player = player state.request_return.connect(return_to_previous) + state.ammo_depleted.connect(check_for_empty) if current_state == null: current_state = state @@ -133,6 +134,13 @@ func pick_up_weapon(data: Variant) -> Node: return scene +func check_for_empty() -> void: + if is_multiplayer_authority() == false: + return + for child in get_children(): + if child is WeaponSubStateMachine and child.ammo == 0 and child.remaining_ammo == 0 and child.destroy_when_empty: + child.queue_free() + func _process(delta: float) -> void: if current_state == null: return