extends Fork class_name Shovel const SHOVEL_ZONE_RADIUS = 50 func get_item_name() -> String: return "Shovel" func get_description() -> String: return "Can dig up buried seeds and can be used to harvest mature plants." func get_icon() -> Texture2D: return preload("res://common/icons/shovel.svg") func get_usage_zone_radius() -> int: return SHOVEL_ZONE_RADIUS func get_usage_object_affected(i : InspectableEntity) -> bool: return i is Plant or i is UndergroundLoot func use_text() -> String: return "Dig" func can_use(_player : Player, zone : Player.ActionZone) -> bool: var areas = zone.get_affected_areas() for area in areas : if area is Plant or area is UndergroundLoot: return true return false func use(player : Player, zone : Player.ActionZone) -> bool: for area in zone.get_affected_areas(): if area and area is Plant: harvest(area, player) await player.get_tree().create_timer(USE_INTERVAL).timeout if area and area is UndergroundLoot: dig(area, player) await player.get_tree().create_timer(USE_INTERVAL).timeout return true func dig(u: UndergroundLoot, player: Player): player.play_sfx("dig") u.dig()