P14-02: Split warps into guest FRONT and staff BACK service warp (A08)
The FRONT Mana warp is guest-only: its connectors carry the "!staff" access, which path access checks treat as open to everyone except staff. A new 2x2 BACK service warp links only to other service warps for staff, with A07 values. Registry and palette now hold 25 definitions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
619b5e07ed
commit
8917c190cf
@@ -2099,7 +2099,11 @@ func _edge_meets_vertical_policy(from_cell: Vector3i, edge: Dictionary) -> bool:
|
||||
|
||||
func _edge_is_accessible(edge: Dictionary, allowed_access_ids: Array[StringName]) -> bool:
|
||||
var required_access: StringName = edge[&"access_id"]
|
||||
if not required_access.is_empty() and required_access not in allowed_access_ids:
|
||||
# "!id" is open to everyone except actors that carry id (guest-only warp).
|
||||
if String(required_access).begins_with("!"):
|
||||
if StringName(String(required_access).substr(1)) in allowed_access_ids:
|
||||
return false
|
||||
elif not required_access.is_empty() and required_access not in allowed_access_ids:
|
||||
return false
|
||||
var connector_id: StringName = edge[&"connector_id"]
|
||||
if connector_id.is_empty():
|
||||
|
||||
Reference in New Issue
Block a user