@abstract extends Resource class_name Artefact const ARTEFACT_ICON = preload("res://common/icons/cube-3d-sphere.svg") const DESC_ICON = preload("res://common/icons/align-right.svg") @abstract func get_artefact_name() -> String @abstract func get_3d_scene() -> PackedScene func get_artefact_desc() -> String: return "" func modify_player_max_energy(v : int) -> int: return v func modify_player_inventory_size(v : int) -> int: return v func modify_seed_rarity_pool(seed_rarity_pool : Array[int]) -> Array[int]: return seed_rarity_pool func modify_plant_growing_time(plant_growing_time : int) -> int: return plant_growing_time func modify_plant_lifetime(plant_lifetime : int) -> int: return plant_lifetime func modify_plant_seed_number(plant_seed_number : int) -> int: return plant_seed_number func modify_plant_base_score(plant_base_score : int) -> int: return plant_base_score func modify_plant_seed_random_loose(plant_seed_random_loose : int) -> int: return plant_seed_random_loose func modify_plant_influence_radius(plant_influence_radius : float) -> float: return plant_influence_radius func modify_mutation_probability(plant_mutation_probability) -> float: return plant_mutation_probability func modify_mutation_max_number(plant_mutation_max_number) -> int: return plant_mutation_max_number func card_info() -> CardInfo: var info = CardInfo.new( get_artefact_name(), tr("ARTEFACT") ) info.important_stat_icon = ARTEFACT_ICON var desc_section := CardSectionInfo.new( tr("DESCRIPTION"), get_artefact_desc(), ) desc_section.title_icon = DESC_ICON info.sections.append(desc_section) return info