diff --git a/src/scripts/characters/rig.gd b/src/scripts/characters/rig.gd index 811b51d..405a577 100644 --- a/src/scripts/characters/rig.gd +++ b/src/scripts/characters/rig.gd @@ -7,6 +7,7 @@ signal heavy_attack() @onready var animation_tree: AnimationTree = $AnimationTree @onready var playback: AnimationNodeStateMachinePlayback = animation_tree["parameters/playback"] @onready var skeleton_3d: Skeleton3D = $CharacterRig/GameRig/Skeleton3D +@onready var weapon_slot: Node3D = %WeaponSlot @onready var off_hand_slot: Node3D = %OffHandSlot @onready var villager_meshes: Array[MeshInstance3D] = [ $CharacterRig/GameRig/Skeleton3D/Villager_01, @@ -47,6 +48,12 @@ func set_active_mesh(active_mesh: MeshInstance3D) -> void: child.visible = false active_mesh.visible = true +func equip_weapon(equipment_scene: PackedScene) -> void: + for child in weapon_slot.get_children(): + child.queue_free() + var new_equipment: Node3D = equipment_scene.instantiate() + weapon_slot.add_child(new_equipment) + func equip_offhand(equipment_scene: PackedScene) -> void: for child in off_hand_slot.get_children(): child.queue_free()