class_name AccessArtifact extends Resource const Rules := preload("res://src/core/rules.gd") ## An item or piece of evidence used to verify entry (PLAN.md: Authorized Access). @export var kind: int = Rules.AccessKind.NONE @export var status: int = Rules.ArtifactStatus.MISSING ## Human-readable attributes the player can inspect, e.g. color, pattern, date, ## event marking, DOB, name, ticket section. Populated by scenario content. @export var attributes: Dictionary = {} func _init(p_kind: int = Rules.AccessKind.NONE, p_status: int = Rules.ArtifactStatus.MISSING, p_attributes: Dictionary = {}) -> void: kind = p_kind status = p_status attributes = p_attributes func summary() -> String: var kind_name: String = Rules.ACCESS_KIND_NAMES.get(kind, "None") var status_name: String = Rules.ARTIFACT_STATUS_NAMES.get(status, "Unknown") return "%s (%s)" % [kind_name, status_name]