drone
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
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
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.