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 | |
colour | Stored drone color, restored when unhacked |
---|---|
default_hatmask | Default /mob/living/simple_animal/drone/var/head item |
default_storage | Default /mob/living/simple_animal/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/simple_animal/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/simple_animal/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/simple_animal/drone/proc/alert_drones as a Drone Chat |
drone_ping | Creates an alert to drones in the same network |
liberate | |
pickVisualAppearance | Prompt for usr to pick /mob/living/simple_animal/drone/var/visualAppearance |
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 |
Var Details
colour

Stored drone color, restored when unhacked
default_hatmask

Default /mob/living/simple_animal/drone/var/head item
default_storage

Default /mob/living/simple_animal/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/simple_animal/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/simple_animal/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_mob -
src
- dead_can_hear -
TRUE
check_laws
Echoes drone laws to the user
See /mob/living/simple_animal/drone/var/laws
check_menu
check_menu: Checks if we are allowed to interact with a radial menu
drone_chat
Wraps /mob/living/simple_animal/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
liberate
pickVisualAppearance
Prompt for usr to pick /mob/living/simple_animal/drone/var/visualAppearance
Does nothing if there is no usr
Called on /mob/proc/Login
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