ore_silo 
Vars | |
ID_required | By default, an ore silo requires you to be wearing an ID to pull materials from it. |
---|---|
banned_users | A list of names of bank account IDs that are banned from using this ore silo. |
holds | List of all connected components that are on hold from accessing materials. |
materials | Material Container |
ore_connected_machines | List of all components that are sharing ores with this silo. |
radio | The machine's internal radio, used to broadcast alerts. |
radio_channels | The channels we announce over |
Procs | |
attempt_ban_toggle | Called from the ore silo's UI, when someone attempts to (un)ban a user from using the ore silo. The person doing the banning should have at least QM access. Unless this is emagged. Not modifiable by silicons unless emagged. Anyone but the Captain attempting to ban someone with QM access from the ore silo gets what is essentially a glorified version of the permission denied result. |
attempt_toggle_restrict | Called from the ore silo tgui interface, for when someone attempts to restrict or unrestrict the ore silo from requiring an ID with an attached bank account (or, a chameleon ID, or, being a silicon) user - the person who tried to toggle the ore silo's access restriction. Needs to be someone with QM access, unless the silo is emagged. Shouldn't allow silicons to toggle this unless the silo is emagged. |
configure_default_announcements_policy | Set up the default announcement policy for actions radio_channels[channel_name_key] = policy_bitmask where channel_name_key is one of RADIO_CHANNEL_(COMMON|COMMAND|SECURITY|SUPPLY) and policy_bitmask is a bitmask of actions that will be announced on that channel by default |
connect_receptacle | The logic for disconnecting a remote receptacle (RCD, fabricator, etc.) is collected here for sanity's sake rather than being on specific types. Serves to agnosticize the remote_materials component somewhat rather than snowflaking code for silos into the component. |
disconnect_receptacle | The logic for disconnecting a remote receptacle (RCD, fabricator, etc.) is collected here for sanity's sake rather than being on specific types. Cleans up references to us and to the receptacle. |
silo_log | Creates a log entry for depositing/withdrawing from the silo both ingame and in text based log |
Var Details
ID_required 
By default, an ore silo requires you to be wearing an ID to pull materials from it.
banned_users 
A list of names of bank account IDs that are banned from using this ore silo.
holds 
List of all connected components that are on hold from accessing materials.
materials 
Material Container
ore_connected_machines 
List of all components that are sharing ores with this silo.
radio 
The machine's internal radio, used to broadcast alerts.
radio_channels 
The channels we announce over
Proc Details
attempt_ban_toggle
Called from the ore silo's UI, when someone attempts to (un)ban a user from using the ore silo. The person doing the banning should have at least QM access. Unless this is emagged. Not modifiable by silicons unless emagged. Anyone but the Captain attempting to ban someone with QM access from the ore silo gets what is essentially a glorified version of the permission denied result.
- user - The person who clicked the ban button in the UI.
- target_user_data - Data in the form rendered from ID_DATA(target), passed into the ore silo logs by whatever the target did such as removing/adding sheets, printing items, etc
attempt_toggle_restrict
Called from the ore silo tgui interface, for when someone attempts to restrict or unrestrict the ore silo from requiring an ID with an attached bank account (or, a chameleon ID, or, being a silicon) user - the person who tried to toggle the ore silo's access restriction. Needs to be someone with QM access, unless the silo is emagged. Shouldn't allow silicons to toggle this unless the silo is emagged.
configure_default_announcements_policy
Set up the default announcement policy for actions radio_channels[channel_name_key] = policy_bitmask where channel_name_key is one of RADIO_CHANNEL_(COMMON|COMMAND|SECURITY|SUPPLY) and policy_bitmask is a bitmask of actions that will be announced on that channel by default
connect_receptacle
The logic for disconnecting a remote receptacle (RCD, fabricator, etc.) is collected here for sanity's sake rather than being on specific types. Serves to agnosticize the remote_materials component somewhat rather than snowflaking code for silos into the component.
- receptacle - The datum/component/remote_materials component that is getting connected.
- physical_receptacle - the actual object in the game world that was connected to our material supply. Typed as atom/movable for future-proofing against anything that may conceivably one day have remote silo access, such as a cyborg, an implant, structures, vehicles, and so-on.
disconnect_receptacle
The logic for disconnecting a remote receptacle (RCD, fabricator, etc.) is collected here for sanity's sake rather than being on specific types. Cleans up references to us and to the receptacle.
- receptacle - The datum/component/remote_materials component that is getting destroyed.
- physical_receptacle - the actual object in the game world that was connected to our material supply. Typed as atom/movable for future-proofing against anything that may conceivably one day have remote silo access, such as a cyborg, an implant, structures, vehicles, and so-on.
silo_log
Creates a log entry for depositing/withdrawing from the silo both ingame and in text based log
Arguments:
- M: The machine performing the action.
- action: Text that visually describes the action (smelted/deposited/resupplied...)
- amount: The amount of sheets/objects deposited/withdrawn by this action. Positive for depositing, negative for withdrawing.
- noun: Name of the object the action was performed with (sheet, units, ore...)
- [mats][list]: Assoc list in format (material datum = amount of raw materials). Wants the actual amount of raw (iron, glass...) materials involved in this action. If you have 10 metal sheets each worth 100 iron you would pass a list with the iron material datum = 1000
- user_data - ID_DATA(user), includes details (not currently) rendered to the player, such as bank account #, see the proc on SSid_access