gelat door detail (Gelat Door)
Gelatinous Door / DoorExit Reference
This topic preserves the original Gelatinous concrete-door help.
These are physical:
typeclasses.doors.DoorExit
doors using:
world.access
This is separate from TBG property-door runtime.
Current TBG help remains available through:
help door
help @door
This donor reference intentionally does NOT take either of those names.
ORIGINAL GELAT DOOR VERBS
Door verbs (verticality §2.1) — all real player commands, and the
same verbs NPCs use (the level-playing-field mandate).
open <door>
Open it. A locked door needs your sleeve granted;
opening it when granted UNLOCKS it for real.
close <door>
Shut it.
lock <door>
Shut and seal it. Granted sleeves only.
unlock <door>
Release the lock. Granted sleeves only.
knock <door>
Heard on the far side, attributed by sound only.
OPEN
open <door>
A locked door reads your sleeve: granted, it unlocks and opens;
otherwise the reader blinks red.
With one Gelat door in the Room:
open door
is sufficient.
If the door is already open, nothing changes.
CLOSE
close <door>
Anyone may close an ordinary door.
If the door has:
db.door_autolock = True
closing it also re-engages the lock.
A broken Gelat door cannot be closed normally.
LOCK
lock <door>
Locks the door and closes it first if necessary.
The current donor implementation requires the current sleeve to appear
in that door's access-grant file.
UNLOCK
unlock <door>
Releases the lock but leaves the door closed.
The current donor implementation requires the current sleeve to appear
in the access-grant file.
KNOCK
knock <door>
A closed door produces sound on both sides.
The caller receives:
You knock on the door.
The far side hears a knock without magically learning the caller's
identity.
If the door is already open, the donor response is:
It's open — just walk through.
BUILDER GRANT FILE — ORIGINAL GELAT @DOOR
Builders manage the §2.2 grant file with:
@door <exit>
Hang a Gelat door on an existing Exit pair.
@door/grant <door> = <char>
Add <char>'s sleeve to the grant file.
@door/revoke <door> = <char>
Remove <char>'s sleeve from the grant file.
@door/list <door>
Read the grant file.
@door/lock <door>
Force-lock with no sleeve check.
@door/unlock <door>
Force-unlock with no sleeve check.
@door/open <door>
Force-open with no sleeve check.
@door/close <door>
Force-close with no sleeve check.
HANGING A DOOR
The donor builder workflow starts with an existing Exit pair.
Stand on one side and use:
@door <exit>
The command converts the matching Exit and, when found, its return Exit
into:
typeclasses.doors.DoorExit
The two leaves are linked through:
db.door_twin
A newly hung Gelat door starts:
closed
unlocked
The donor then expects staff to establish its grant file and lock state.
GRANT FILE
Inspect:
@door/list <door>
Grant:
@door/grant <door> = <character>
Revoke:
@door/revoke <door> = <character>
Access is physical-body-specific in the current donor implementation.
Current persisted terminology is:
sleeve
sleeve_uid
This wording is intentionally preserved here because that is what the
current mechanics still store.
The locked future terminology migration is:
sleeve -> clone
sleeve_uid -> clone_id
Do NOT manually rename access-grant Attributes ahead of that migration.
FORCED BUILDER STATE
Staff may bypass ordinary authorization when administering a fixture:
@door/lock <door>
@door/unlock <door>
@door/open <door>
@door/close <door>
These mutate both sides of a paired Gelat door through its mirrored
physical state.
RESIDENCE USE
Gelat residence Rooms use the same physical DoorExit system.
A rentable/assigned unit normally records its hall-side door as:
room.db.cube_door
Residence assignment through:
world.rental.assign_cube(...)
installs the appropriate access grant.
See:
help gelat residence builder
FACTION / ORGANIZATION USE
The concrete Gelat door itself is not inherently a residence.
The same physical door/grant mechanism may therefore be useful for
faction, organization, restricted-workspace, armory, clinic, barracks,
locker-room, or similar persistent spaces.
Any future faction/organization authorization integration should remain
outside the DoorExit command UI and use an audited access-service seam.
RELATED HELP
help door
help @door
help gelat residence builder
help gelat locker reference
General