robot

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. |
| 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. |
| 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 |
| 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. |
| 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 |
| equip_module_to_slot | What's the first free slot for the borg? Is passed an item and a module slot. Equips the item to that borg slot. |
| get_active_held_item | Returns the thing in our active hand (whatever is in our active module-slot, in this case) |
| get_selected_module | The number of module slots we're checking 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. |
| unequip_module_from_slot | Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE. |
| update_sight | the current percent health of the robot (-1 to 1) |
| updatename | Updates the borg name taking the client preferences into account. |
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.
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.
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
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.
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
equip_module_to_slot
What's the first free slot for the borg? Is passed an item and a module slot. Equips the item to that borg slot.
Arguments
- item_module - the item being equipped to a slot
- module_num - the slot number being equipped to.
get_active_held_item
Returns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_module
The number of module slots we're checking 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.
unequip_module_from_slot
Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE.
Arguments
- item_module - the item being unequipped
- module_num - the slot number being unequipped.
update_sight
the current percent health of the robot (-1 to 1)
updatename
Updates the borg name taking the client preferences into account.