drone ![code/modules/mob/living/basic/drone/_drone.dm 16](git.png)
Maintenance Drone
Small player controlled fixer-upper
The maintenace drone is a ghost role with the objective to repair and maintain the station.
Featuring two dexterous hands, and a built in toolbox stocked with tools.
They have laws to prevent them from doing anything else.
Vars | |
can_unhack | Whether this drone can be un-hacked. Used for subtypes that cannot be meaningfully "fixed". |
---|---|
colour | Stored drone color, restored when unhacked |
default_headwear | Default /mob/living/basic/drone/var/head item |
default_storage | Default /mob/living/basic/drone/var/internal_storage item |
drone_area_blacklist_flat | blacklisted drone areas, direct |
drone_area_blacklist_recursive | blacklisted drone areas, recursive/includes descendants |
drone_item_whitelist_flat | whitelisted drone items, direct |
drone_item_whitelist_recursive | whitelisted drone items, recursive/includes descendants |
drone_machinery_blacklist_compiled | blacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts |
drone_machinery_blacklist_flat | blacklisted drone machines, direct |
drone_machinery_blacklist_recursive | blacklisted drone machines, recursive/includes descendants |
drone_machinery_whitelist_flat | cancels out blacklisted machines, direct |
drone_machinery_whitelist_recursive | cancels out blacklisted machines, recursive/includes descendants |
flavortext | Flavor text announced to drones on /mob/proc/Login |
hacked | Hacked state, see /mob/living/basic/drone/proc/update_drone_hack |
head | Headwear slot |
heavy_emp_damage | Amount of damage sustained if hit by a heavy EMP pulse |
internal_storage | Internal storage slot. Fits any item |
laws | Drone laws announced on spawn |
listener | Alarm listener datum, handes caring about alarm events and such |
picked | TRUE if we have picked our visual appearance, FALSE otherwise (default) |
shy | If we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/basic/drone/proc/set_shy] to set) |
shy_machine_whitelist | machines whitelisted from being shy with |
visualAppearance | icon_state of drone from icons/mobs/drone.dmi |
Procs | |
alert_drones | Wraps /proc/_alert_drones with defaults |
check_laws | Echoes drone laws to the user |
check_menu | check_menu: Checks if we are allowed to interact with a radial menu |
drone_chat | Wraps /mob/living/basic/drone/proc/alert_drones as a Drone Chat |
drone_ping | Creates an alert to drones in the same network |
get_armor_effectiveness | Returns a multiplier for any head armor you wear as a drone. |
liberate | Makes the drone into a Free Drone, who have no real laws and can do whatever they like. Only currently used for players wabbajacked into drones. |
pickVisualAppearance | Prompt for user to pick /mob/living/basic/drone/var/visualAppearance |
screwdriver_act | Screwdrivering repairs the drone to full hp, if it isn't dead. |
try_reactivate | Called when a drone attempts to reactivate a dead drone |
update_drone_hack | Hack or unhack a drone |
update_drone_icon_hacked | Changes the icon state to a hacked version |
wrench_act | Wrenching un-hacks hacked drones. |
Var Details
can_unhack ![code/modules/mob/living/basic/drone/_drone.dm 87](git.png)
Whether this drone can be un-hacked. Used for subtypes that cannot be meaningfully "fixed".
colour ![code/modules/mob/living/basic/drone/_drone.dm 54](git.png)
Stored drone color, restored when unhacked
default_headwear ![code/modules/mob/living/basic/drone/_drone.dm 72](git.png)
Default /mob/living/basic/drone/var/head item
default_storage ![code/modules/mob/living/basic/drone/_drone.dm 70](git.png)
Default /mob/living/basic/drone/var/internal_storage item
drone_area_blacklist_flat ![code/modules/mob/living/basic/drone/_drone.dm 102](git.png)
blacklisted drone areas, direct
drone_area_blacklist_recursive ![code/modules/mob/living/basic/drone/_drone.dm 104](git.png)
blacklisted drone areas, recursive/includes descendants
drone_item_whitelist_flat ![code/modules/mob/living/basic/drone/_drone.dm 126](git.png)
whitelisted drone items, direct
drone_item_whitelist_recursive ![code/modules/mob/living/basic/drone/_drone.dm 140](git.png)
whitelisted drone items, recursive/includes descendants
drone_machinery_blacklist_compiled ![code/modules/mob/living/basic/drone/_drone.dm 124](git.png)
blacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts
drone_machinery_blacklist_flat ![code/modules/mob/living/basic/drone/_drone.dm 106](git.png)
blacklisted drone machines, direct
drone_machinery_blacklist_recursive ![code/modules/mob/living/basic/drone/_drone.dm 108](git.png)
blacklisted drone machines, recursive/includes descendants
drone_machinery_whitelist_flat ![code/modules/mob/living/basic/drone/_drone.dm 114](git.png)
cancels out blacklisted machines, direct
drone_machinery_whitelist_recursive ![code/modules/mob/living/basic/drone/_drone.dm 116](git.png)
cancels out blacklisted machines, recursive/includes descendants
flavortext ![code/modules/mob/living/basic/drone/_drone.dm 91](git.png)
Flavor text announced to drones on /mob/proc/Login
hacked ![code/modules/mob/living/basic/drone/_drone.dm 85](git.png)
Hacked state, see /mob/living/basic/drone/proc/update_drone_hack
head ![code/modules/mob/living/basic/drone/_drone.dm 68](git.png)
Headwear slot
heavy_emp_damage ![code/modules/mob/living/basic/drone/_drone.dm 62](git.png)
Amount of damage sustained if hit by a heavy EMP pulse
internal_storage ![code/modules/mob/living/basic/drone/_drone.dm 66](git.png)
Internal storage slot. Fits any item
laws ![code/modules/mob/living/basic/drone/_drone.dm 57](git.png)
Drone laws announced on spawn
listener ![code/modules/mob/living/basic/drone/_drone.dm 64](git.png)
Alarm listener datum, handes caring about alarm events and such
picked ![code/modules/mob/living/basic/drone/_drone.dm 52](git.png)
TRUE
if we have picked our visual appearance, FALSE
otherwise (default)
shy ![code/modules/mob/living/basic/drone/_drone.dm 89](git.png)
If we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/basic/drone/proc/set_shy] to set)
shy_machine_whitelist ![code/modules/mob/living/basic/drone/_drone.dm 170](git.png)
machines whitelisted from being shy with
visualAppearance ![code/modules/mob/living/basic/drone/_drone.dm 83](git.png)
icon_state of drone from icons/mobs/drone.dmi
Possible states are:
Proc Details
alert_drones
Wraps /proc/_alert_drones with defaults
- source -
src
- faction_check_atom -
src
- dead_can_hear -
TRUE
check_laws
Echoes drone laws to the user
See /mob/living/basic/drone/var/laws
check_menu
check_menu: Checks if we are allowed to interact with a radial menu
drone_chat
Wraps /mob/living/basic/drone/proc/alert_drones as a Drone Chat
Shares the same radio code with binary
drone_ping
Creates an alert to drones in the same network
Prompts user for alert level of:
- Low
- Medium
- High
- Critical
Attaches area name to message
get_armor_effectiveness
Returns a multiplier for any head armor you wear as a drone.
liberate
Makes the drone into a Free Drone, who have no real laws and can do whatever they like. Only currently used for players wabbajacked into drones.
pickVisualAppearance
Prompt for user to pick /mob/living/basic/drone/var/visualAppearance
Does nothing if there is no user
Called on /mob/proc/Login
screwdriver_act
Screwdrivering repairs the drone to full hp, if it isn't dead.
try_reactivate
Called when a drone attempts to reactivate a dead drone
If the owner is still ghosted, will notify them. If the owner cannot be found, fails with an error message.
Arguments:
- user - The /mob/living attempting to reactivate the drone
update_drone_hack
Hack or unhack a drone
This changes the drone's laws to destroy the station or resets them to normal.
Some debuffs are applied like slowing the drone down and disabling vent crawling
Arguments
- hack - Boolean if the drone is being hacked or unhacked
update_drone_icon_hacked
Changes the icon state to a hacked version
See also
wrench_act
Wrenching un-hacks hacked drones.