class_name DoorState extends RefCounted ## Door lock/secure mechanic (PLAN.md: Level 3 — lock or secure the door). ## Pure logic: GameManager and WorldBuilder only mirror state visually. var locked := false func _init(p_start_locked: bool = false) -> void: locked = p_start_locked func toggle() -> bool: locked = not locked return locked func set_locked(value: bool) -> void: locked = value ## A force-entry attempt. Returns { succeeded: bool, outcome: String }. ## Locked doors thwart attempts; unlocked doors admit the forced entry. func attempt_force() -> Dictionary: if locked: return {"succeeded": false, "outcome": "thwarted"} return {"succeeded": true, "outcome": "entered"}