Paradise Station 13 - Modules - TypesVar Details - Proc Details

surgery

Datum Surgery Helpers

Vars

abstractWhether or not this should be a selectable surgery at all
can_cancelWhether this surgery can be stopped after the first step with a cautery
descDescription of the surgery
ignore_clothesWhether you need to remove clothes to perform the surgery
locationLocation of the surgery
lying_requiredDoes the victim (patient) need to be lying down?
nameName of the surgery
organ_to_manipulateBody part the surgery is currently being performed on. Useful for checking to see if the organ desired is still in the body after the surgery has begun.
possible_locsBody locations this surgery can be performed on
replaced_byDon't show this surgery if this type exists. Set to /datum/surgery if you want to hide a "base" surgery.
requires_bodypartSurgery is only available if the target bodypart is present (or if it's missing)
requires_organic_bodypartWhether we can perform the surgery on a robotic limb
requires_real_bodypartSome surgeries might work on limbs that don't really exist (like chainsaw arms or flashlight eyes)
self_operableCan the surgery be performed on yourself?
speed_modifierSurgery step speed modifier
step_in_progressIf we're currently performing a step
step_numberHow far along we are in a surgery being performed.
stepsSurgical steps that go into performing this procedure
targetTarget of the surgery
target_mobtypesMobs on which this can be performed

Procs

can_startWhether or not we can start this surgery. If this returns FALSE, this surgery won't show up in the list.
get_surgery_next_stepGet the next step in the current surgery, or null if we're on the last one.
get_surgery_stepGet the current surgery step we're on
is_organ_compatibleGet whether the target organ is compatible with the current surgery.
next_stepTry to perform the next step in the current operation. This gets called in the attack chain, and as such returning FALSE in here means that the target will be hit with whatever's in your hand.

Var Details

abstract

Whether or not this should be a selectable surgery at all

can_cancel

Whether this surgery can be stopped after the first step with a cautery

desc

Description of the surgery

ignore_clothes

Whether you need to remove clothes to perform the surgery

location

Location of the surgery

lying_required

Does the victim (patient) need to be lying down?

name

Name of the surgery

organ_to_manipulate

Body part the surgery is currently being performed on. Useful for checking to see if the organ desired is still in the body after the surgery has begun.

possible_locs

Body locations this surgery can be performed on

replaced_by

Don't show this surgery if this type exists. Set to /datum/surgery if you want to hide a "base" surgery.

requires_bodypart

Surgery is only available if the target bodypart is present (or if it's missing)

requires_organic_bodypart

Whether we can perform the surgery on a robotic limb

requires_real_bodypart

Some surgeries might work on limbs that don't really exist (like chainsaw arms or flashlight eyes)

self_operable

Can the surgery be performed on yourself?

speed_modifier

Surgery step speed modifier

step_in_progress

If we're currently performing a step

step_number

How far along we are in a surgery being performed.

steps

Surgical steps that go into performing this procedure

target

Target of the surgery

target_mobtypes

Mobs on which this can be performed

Proc Details

can_start

Whether or not we can start this surgery. If this returns FALSE, this surgery won't show up in the list.

get_surgery_next_step

Get the next step in the current surgery, or null if we're on the last one.

get_surgery_step

Get the current surgery step we're on

is_organ_compatible

Get whether the target organ is compatible with the current surgery.

next_step

Try to perform the next step in the current operation. This gets called in the attack chain, and as such returning FALSE in here means that the target will be hit with whatever's in your hand.

The return is passed to the attack chain, so return TRUE to stop any sort of afterattack.