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 | |
| built_in_camera | The camera built into the drone which allows it to be seen through cameras. |
|---|---|
| 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 |
| 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 |
| l_store | Left pocket item reference |
| listener | Alarm listener datum, handes caring about alarm events and such |
| picked | TRUE if we have picked our visual appearance, FALSE otherwise (default) |
| r_store | Right pocket item reference |
| visualAppearance | icon_state of drone from icons/mobs/drone.dmi |
Procs | |
| alert_drones | Wraps /proc/_alert_drones with defaults |
| can_user_interact_with | Returns TRUE if the user is the same player as the target, an admin ghost, or otherwise authorized to act for them. |
| 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. |
| handle_alt_click | Handles Alt+Click interactions with drone restrictions. |
| handle_click | Handles general click interactions, including pocket access and drone restrictions. |
| 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
built_in_camera 
The camera built into the drone which allows it to be seen through cameras.
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
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
l_store 
Left pocket item reference
listener 
Alarm listener datum, handes caring about alarm events and such
picked 
TRUE if we have picked our visual appearance, FALSE otherwise (default)
r_store 
Right pocket item reference
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
can_user_interact_with
Returns TRUE if the user is the same player as the target, an admin ghost, or otherwise authorized to act for them.
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.
handle_alt_click
Handles Alt+Click interactions with drone restrictions.
handle_click
Handles general click interactions, including pocket access and drone restrictions.
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.