Chelimbalo/weapons/molikman/molik/throw.gd
2025-12-17 00:03:57 +05:00

29 lines
929 B
GDScript

extends WeaponState
const molik: PackedScene = preload("uid://b6qahd6q60js7")
func _enter() -> void:
fire()
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):
if animation == machine.animation_prefix + "throw" or animation == machine.animation_prefix + "shoot":
transition.emit("Idle")
machine.ammo -= 1
if is_multiplayer_authority():
var molotov: CharacterBody3D = molik.instantiate()
Session.dynamic_objects_parent.add_child(molotov,true)
molotov.global_transform = machine.player_camera.global_transform
molotov.velocity = -molotov.global_basis.z * 25 + machine.player.velocity
func fire() -> void:
if machine.ammo == 0:
return
machine.animation_player.stop()
machine.animation_player.play(machine.animation_prefix + "throw")