Weapon Firing Permission
Commands
Captain
Weapons
Pilot
Comms / CommsIntel Interface
Recon
Engineering
Scientist
State / Interfaces
Notes

Phase Permission Request

Trigger Event: Host activation after weapon arming/request outside Red Alert without active permission

Duration: Up to Captain response timeout

Exit Trigger: MGC receives Captain permission response or ShipRepository:ship-alert-state == RED

Phase Granted Monitoring

Trigger Event: Permission Request phase exits after Captain approval

Duration: ShipRepository:weapons-permission-idle-timeout-ms

Exit Trigger: authorized shot, disarm, idle timeout, Red Alert, or host exit

Phase Armed Grace

Trigger Event: Granted Monitoring idle timeout while weapon remains armed

Duration: ShipRepository:weapons-permission-grace-timeout-ms

Exit Trigger: authorized shot, recognized weapon-handling activity, disarm, grace timeout, Red Alert, or host exit

Commands

  • CaptainStation::PermissionsDisplayUnit add-permission-request = <permission-request-name>
  • <weapon-display> notification = Awaiting Captain permission for <weapon-label>.

State / Interfaces

  • {"condition": "permission approved", "state": "<permission-state>", "value": "1"}
  • {"condition": "permission denied or timeout", "state": "<permission-state>", "value": "0"}
  • {"effects": [{"setShipState": {"state": "<permission-state>", "value": "1"}}, "Exit Phase"], "event": "permission-approved", "messageType": "permissions-display-event", "station": "CaptainStation", "unit": "PermissionsDisplayUnit", "value": "<permission-request-name>"}
  • {"effects": [{"setShipState": {"state": "<permission-state>", "value": "0"}}, {"command": "notification", "target": "<weapon-display>", "value": "Permission denied for <weapon-label>."}, "Exit Federated Model Behavior"], "event": "permission-denied", "messageType": "permissions-display-event", "station": "CaptainStation", "unit": "PermissionsDisplayUnit", "value": "<permission-request-name>"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

State / Interfaces

  • {"condition": "disarm before idle timeout, host scope exit, Red Alert, or disarmed idle timeout", "state": "<permission-state>", "value": "0"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

State / Interfaces

  • {"condition": "disarm, host scope exit, Red Alert, or grace timeout", "state": "<permission-state>", "value": "0"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

Phase Permission Request

Trigger Event: Host activation after weapon arming/request outside Red Alert without active permission

Duration: Up to Captain response timeout

Exit Trigger: MGC receives Captain permission response or ShipRepository:ship-alert-state == RED

Commands

  • CaptainStation::PermissionsDisplayUnit add-permission-request = <permission-request-name>
  • <weapon-display> notification = Awaiting Captain permission for <weapon-label>.

State / Interfaces

  • {"condition": "permission approved", "state": "<permission-state>", "value": "1"}
  • {"condition": "permission denied or timeout", "state": "<permission-state>", "value": "0"}
  • {"effects": [{"setShipState": {"state": "<permission-state>", "value": "1"}}, "Exit Phase"], "event": "permission-approved", "messageType": "permissions-display-event", "station": "CaptainStation", "unit": "PermissionsDisplayUnit", "value": "<permission-request-name>"}
  • {"effects": [{"setShipState": {"state": "<permission-state>", "value": "0"}}, {"command": "notification", "target": "<weapon-display>", "value": "Permission denied for <weapon-label>."}, "Exit Federated Model Behavior"], "event": "permission-denied", "messageType": "permissions-display-event", "station": "CaptainStation", "unit": "PermissionsDisplayUnit", "value": "<permission-request-name>"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

Phase Granted Monitoring

Trigger Event: Permission Request phase exits after Captain approval

Duration: ShipRepository:weapons-permission-idle-timeout-ms

Exit Trigger: authorized shot, disarm, idle timeout, Red Alert, or host exit

State / Interfaces

  • {"condition": "disarm before idle timeout, host scope exit, Red Alert, or disarmed idle timeout", "state": "<permission-state>", "value": "0"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

Phase Armed Grace

Trigger Event: Granted Monitoring idle timeout while weapon remains armed

Duration: ShipRepository:weapons-permission-grace-timeout-ms

Exit Trigger: authorized shot, recognized weapon-handling activity, disarm, grace timeout, Red Alert, or host exit

State / Interfaces

  • {"condition": "disarm, host scope exit, Red Alert, or grace timeout", "state": "<permission-state>", "value": "0"}
  • stations
  • units
  • displaySurfaces
  • repositories
  • events
  • actions
  • childReferences

Notes

  • Red Alert supplies global weapons-free authority and clears individual permission rather than setting it true.

fmb | ccsg/reusable/fmbs/weapon-firing-permission.ccsg.json | ../StoryConstruction/Narrative/FederatedModels/FMB-Weapon Firing Permission.md