So I recently did my very first playtest of my game and scythe, A very crucial part of my game, doesn’t work. I believe that the line of code to make it visible doesn’t work but I can’t tell for sure. I’ve tested the export on a windows 10 custom pc, a windows 11 Samsung laptop, but it doesn’t work on a windows 11 Lenovo legion.
I think I’ve narrowed it down to UI stuff being dumb. The code for hiding and unhiding it runs from adding logging and the scythe isn’t invisible because you can still attack and the damage detects if it’s not hidden. This is it’s code incase that might be useful:
extends Item
var is_coolingdown : bool = false
var has_attacked : bool = false
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var swap_timer: Timer = $swapTimer
func _process(_delta: float) -> void:
var slot_manager : SlotManager = gamemanager.player.slot_manager
if Input.is_action_just_pressed("attack") && animation_player.current_animation != "switch" && slot_manager.sloton == slot_manager.slots.SCYTHE:
animation_player.play("slice")
has_attacked = true
if animation_player.current_animation == "switch":
is_coolingdown = true
else:
is_coolingdown = false
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == "slice":
animation_player.play("switch")
func _on_blockbench_export_visibility_changed() -> void:
if visible:
swap_timer.start()
else:
has_attacked = false
func _on_swap_timer_timeout() -> void:
if !has_attacked:
animation_player.play("switch")
I made a few changes and eventually it worked but I don’t know what did it.