extends Item class_name Pickaxe const DIG_PARTICLES := preload("res://entities/player/inventory/scripts/items/utils/dig_particles.tscn") func get_item_name() -> String: return tr("PICKAXE") func get_description() -> String: return tr("PICKAXE_DESC_TEXT") func get_icon() -> Texture2D: return preload("res://common/icons/pick.svg") func get_energy_used() -> int: return 1 func get_usage_zone_radius() -> int: return 50 func use_text() -> String: return tr("DIG") func can_use(_player : Player, zone : Player.ActionZone) -> bool: if zone and zone.area: var bodies = zone.area.get_overlapping_bodies() for body in bodies : if body is RockLayer: return true return false func use(player : Player, zone : Player.ActionZone) -> bool: var bodies = zone.area.get_overlapping_bodies() var rock_layers = bodies.filter(func (b) : return b is RockLayer) if len(rock_layers): player.region.dig_rocks(zone.get_tiles()) var particles := (DIG_PARTICLES.instantiate() as DigParticleEmmitter) player.region.add_child(particles) particles.global_position = zone.get_global_position() particles.emit() AudioManager.play_sfx("Mining") return true