robot  
The Shrinkening
| Vars | |
| ai_lockdown | Boolean of whether the borg was locked by its AI or nothing | 
|---|---|
| alert_control | Station alert datum for showing alerts UI | 
| can_ride_typecache | What types of mobs are allowed to ride/buckle to this mob | 
| cell | If this is a path, this gets created as an object in Initialize. | 
| disabled_modules | For checking which modules are disabled or not. | 
| eye_flash_timer | Holds a reference to the timer taking care of blinking lights on dead cyborgs | 
| ident | Random serial number generated for each cyborg upon its initialization | 
| interfaceButton | The reference to the built-in tablet that borgs carry. | 
| ion_trail | Ionpulse effect. | 
| ionpulse | Jetpack-like effect. | 
| ionpulse_on | Jetpack-like effect. | 
| lampButton | Lamp button reference | 
| lamp_color | Set lamp color | 
| lamp_doom | Set to true if a doomsday event is locking our lamp to on and RED | 
| lamp_enabled | If the lamp is turned on | 
| lamp_functional | If the lamp isn't broken. | 
| lamp_intensity | Lamp brightness. Starts at 3, but can be 1 - 5. | 
| lamp_power_consumption | Power consumption of the light per lamp_intensity. | 
| lawupdate | Cyborgs will sync their laws with their AI by default | 
| lockcharge | Boolean of whether the borg is locked down or not | 
| lockdown_timer | Timer that allows the borg to self-unlock after a set amount of time | 
| low_power_mode | Whether the robot has no charge left. | 
| model | Represents the cyborg's model (engineering, medical, etc.) | 
| previous_health | the last health before updating - to check net change in health | 
| robot_suit | Used for deconstruction to remember what the borg was constructed out of. | 
| scrambledcodes | Used to determine if a borg shows up on the robotics console. Setting to TRUE hides them. | 
| shown_robot_modules | Used to determine whether they have the module menu shown or not | 
| smoke_particles | Smoke particle holder for brute damage | 
| spark_particles | Spark particle holder for burn damage | 
| spark_system | So they can initialize sparks whenever/N | 
| Procs | |
| Exited | Checking Exited() to detect if a hat gets up and walks off. Drones and pAIs might do this, after all. | 
| activate_module | Finds the first available slot and attemps to put item item_module in it. | 
| activated | Checks if the item is currently in a slot. | 
| add_to_upgrades | Moves the upgrade inside the robot and registers relevant signals. | 
| after_righted | For any special cases for robots after being righted. | 
| apply_upgrade | Called when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied | 
| borg_emag_end | A async proc called from [emag_act] that gives the borg a lot of flavortext, and applies the syndicate lawset after a delay. | 
| break_all_cyborg_slots | Breaks all of a cyborg's slots. | 
| break_cyborg_slot | Breaks the slot number, changing the icon. | 
| can_rest | Safe check of the cyborg's model_features list. | 
| cycle_modules | Cycles through the list of enabled modules, deselecting the current one and selecting the next one. | 
| deploy_init | deploy_init: Deploys AI unit into AI shell | 
| deselect_module | Deselects the module in the slot module_num. Arguments | 
| draw_power | Draw power from the robot | 
| dump_into_mmi | Dumps the current occupant of the cyborg into an MMI at the passed location Returns the borg's MMI on success | 
| get_active_held_item | Returns the thing in our active hand (whatever is in our active module-slot, in this case) | 
| get_selected_module | Returns the slot number of the selected module, or zero if no modules are selected. | 
| is_invalid_module_number | Checks if the provided module number is a valid number. | 
| lockdown_override | Allows the borg to unlock themselves after a lenghty period of time. | 
| make_shell | make_shell: Makes an AI shell out of a cyborg unit | 
| observer_screen_update | Updates the observers's screens with cyborg itemss. Arguments | 
| on_light_eater | Special handling for getting hit with a light eater | 
| on_saboteur | special handling for getting shot with a light disruptor/saboteur e.g. the fisher | 
| on_upgrade_deleted | Called when an applied upgrade is deleted. | 
| remove_from_upgrades | Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc. | 
| repair_all_cyborg_slots | Repairs all slots. Unbroken slots are unaffected. | 
| repair_cyborg_slot | Repairs the slot number, updating the icon. | 
| revert_shell | revert_shell: Reverts AI shell back into a normal cyborg unit | 
| select_module | Selects the module in the slot module_num. Arguments | 
| set_lockcharge | Reports the event of the change in value of the lockcharge variable. | 
| set_modularInterface_theme | Sets the tablet theme and icon | 
| setup_default_name | Used to setup the a basic and (somewhat) unique name for the robot. | 
| smash_headlamp | Handles headlamp smashing | 
| toggle_headlamp | Handles headlamp toggling, disabling, and color setting. | 
| toggle_module | Toggles selection of the module in the slot module_num. Arguments | 
| uneq_active | Unequips the active held item, if there is one. | 
Var Details
ai_lockdown  
Boolean of whether the borg was locked by its AI or nothing
alert_control  
Station alert datum for showing alerts UI
can_ride_typecache  
What types of mobs are allowed to ride/buckle to this mob
cell  
If this is a path, this gets created as an object in Initialize.
disabled_modules  
For checking which modules are disabled or not.
eye_flash_timer  
Holds a reference to the timer taking care of blinking lights on dead cyborgs
ident  
Random serial number generated for each cyborg upon its initialization
interfaceButton  
The reference to the built-in tablet that borgs carry.
ion_trail  
Ionpulse effect.
ionpulse  
Jetpack-like effect.
ionpulse_on  
Jetpack-like effect.
lampButton  
Lamp button reference
lamp_color  
Set lamp color
lamp_doom  
Set to true if a doomsday event is locking our lamp to on and RED
lamp_enabled  
If the lamp is turned on
lamp_functional  
If the lamp isn't broken.
lamp_intensity  
Lamp brightness. Starts at 3, but can be 1 - 5.
lamp_power_consumption  
Power consumption of the light per lamp_intensity.
lawupdate  
Cyborgs will sync their laws with their AI by default
lockcharge  
Boolean of whether the borg is locked down or not
lockdown_timer  
Timer that allows the borg to self-unlock after a set amount of time
low_power_mode  
Whether the robot has no charge left.
model  
Represents the cyborg's model (engineering, medical, etc.)
previous_health  
the last health before updating - to check net change in health
robot_suit  
Used for deconstruction to remember what the borg was constructed out of.
scrambledcodes  
Used to determine if a borg shows up on the robotics console. Setting to TRUE hides them.
shown_robot_modules  
Used to determine whether they have the module menu shown or not
smoke_particles  
Smoke particle holder for brute damage
spark_particles  
Spark particle holder for burn damage
spark_system  
So they can initialize sparks whenever/N
Proc Details
Exited
Checking Exited() to detect if a hat gets up and walks off. Drones and pAIs might do this, after all.
activate_module
Finds the first available slot and attemps to put item item_module in it.
Arguments
- item_module - the item being equipped to a slot.
activated
Checks if the item is currently in a slot.
If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE Arguments
- item_module - the item being checked
add_to_upgrades
Moves the upgrade inside the robot and registers relevant signals.
after_righted
For any special cases for robots after being righted.
apply_upgrade
Called when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied
borg_emag_end
A async proc called from [emag_act] that gives the borg a lot of flavortext, and applies the syndicate lawset after a delay.
break_all_cyborg_slots
Breaks all of a cyborg's slots.
break_cyborg_slot
Breaks the slot number, changing the icon.
Arguments
- module_num - the slot number being repaired.
can_rest
Safe check of the cyborg's model_features list.
model_features is defined in modular_skyrat\modules\altborgs\code\modules\mob\living\silicon\robot\robot_model.dm.
cycle_modules
Cycles through the list of enabled modules, deselecting the current one and selecting the next one.
deploy_init
deploy_init: Deploys AI unit into AI shell
Arguments:
- AI - AI unit that initiated the deployment into the AI shell
deselect_module
Deselects the module in the slot module_num. Arguments
- module_num - the slot number being de-selected
draw_power
Draw power from the robot
dump_into_mmi
Dumps the current occupant of the cyborg into an MMI at the passed location Returns the borg's MMI on success
get_active_held_item
Returns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_module
Returns the slot number of the selected module, or zero if no modules are selected.
is_invalid_module_number
Checks if the provided module number is a valid number.
If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. Arguments
- module_num - the passed module num that is checked for validity.
- check_all_slots - TRUE = the proc checks all slots | FALSE = the proc only checks un-disabled slots
lockdown_override
Allows the borg to unlock themselves after a lenghty period of time.
make_shell
make_shell: Makes an AI shell out of a cyborg unit
Arguments:
- board - B.O.R.I.S. module board used for transforming the cyborg into AI shell
observer_screen_update
Updates the observers's screens with cyborg itemss. Arguments
- item_module - the item being added or removed from the screen
- add - whether or not the item is being added, or removed.
on_light_eater
Special handling for getting hit with a light eater
on_saboteur
special handling for getting shot with a light disruptor/saboteur e.g. the fisher
on_upgrade_deleted
Called when an applied upgrade is deleted.
remove_from_upgrades
Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.
repair_all_cyborg_slots
Repairs all slots. Unbroken slots are unaffected.
repair_cyborg_slot
Repairs the slot number, updating the icon.
Arguments
- module_num - the module number being repaired.
revert_shell
revert_shell: Reverts AI shell back into a normal cyborg unit
select_module
Selects the module in the slot module_num. Arguments
- module_num - the slot number being selected
set_lockcharge
Reports the event of the change in value of the lockcharge variable.
set_modularInterface_theme
Sets the tablet theme and icon
These variables are based on if the borg is a syndicate type or is emagged. This gets used in model change code and also borg emag code.
setup_default_name
Used to setup the a basic and (somewhat) unique name for the robot.
smash_headlamp
Handles headlamp smashing
When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg.
toggle_headlamp
Handles headlamp toggling, disabling, and color setting.
The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only ever true when this proc is called from the borg tablet, when the color selection feature is used.
Arguments:
- arg1 - turn_off, if enabled will force the lamp into an off state (rather than toggling it if possible)
- arg2 - update_color, if enabled, will adjust the behavior of the proc to change the color of the light if it is already on.
toggle_module
Toggles selection of the module in the slot module_num. Arguments
- module_num - the slot number being toggled
uneq_active
Unequips the active held item, if there is one.