extends Resource var player_owner: RigidBody = null var can_throw: bool = true var rockets_scene: Spatial = null var rockets_left: int = 5 const name: String = "HANDS" var trfrm = Transform ( Vector3(1.501,-0.142,-2.418), Vector3(-2.367,-0.693,-1.429),Vector3(-0.516,2.761,-0.483),Vector3(-0.206,0.639,-0.045)) func _init(): rockets_scene = preload("res://scenes/weapons/rockets.tscn").instance() rockets_scene.set_visible(false) func init(owner): player_owner = owner player_owner.add_weapon_vm(rockets_scene, trfrm) func select() -> void: player_owner.rpc("anim_event", {"VMANIMPLAY" : "rockets_idle_vm"}) if rockets_left > 0: rockets_scene.set_visible(true) func deselect() -> bool: if !can_throw and rockets_left > 0: return false rockets_scene.set_visible(false) return true func attack1(): if !can_throw: return can_throw = false player_owner.rpc("anim_event", {"VMANIMPLAY" : "rockets_launch_vm"}) rockets_scene.get_node("AnimationPlayer").play("throw_animation") yield(player_owner.get_tree().create_timer(1.43), "timeout") rockets_left -= 1 player_owner.rpc("add_rocket_to_scene", rockets_scene.global_transform.origin, player_owner.head.global_transform.basis, player_owner.get_network_master()) yield(player_owner.get_tree().create_timer(1.6), "timeout") if rockets_left > 0: can_throw = true else: rockets_scene.set_visible(false) func mouse_input(_m1: float, _m3: float, m2: float) -> void: pass