Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/surgery_defines.dm

SURGERY_BLOODSPREAD_NONEDefines for surgery and other stuff. Don't splash any blood.
SURGERY_BLOODSPREAD_HANDSCover the surgeon's hands in blood.
SURGERY_BLOODSPREAD_FULLBODYCover the surgeon's body in blood.
SURGERY_INITIATOR_ORGANICAn initiator with this can start surgeries on organic organs. Make sure that anything that can be sharp gets this as well.
SURGERY_INITIATOR_ROBOTICAn initiator with this can start surgeries on robotic organs.
ORGAN_CLOSEDClosed up.
ORGAN_ORGANIC_OPENAn organic limb that's been opened, at least once.
ORGAN_ORGANIC_ENCASED_OPENAn organ that's encased, probably with bone, where that casing has been cut through.
ORGAN_SYNTHETIC_LOOSENEDSynthetic organ that's been unscrewed.
ORGAN_SYNTHETIC_OPENSynthetic organ that's had its panel opened.
SURGERY_BEGINSTEP_ABORTReturn this from begin_step() to abort the step and not try the surgery.
SURGERY_BEGINSTEP_SKIPReturn this from begin_step() to skip the current step entirely and proceed to the next one. Use this if you would end up leaving someone in an invalid state.
SURGERY_STEP_INCOMPLETEThe surgery step was not completed for some reason, and the next action will again be on this step.
SURGERY_STEP_CONTINUEThe surgery step was completed, and the surgery should continue to the next step.
SURGERY_STEP_RETRY_ALWAYSThis step will automatically be retried without question as long as this is returned. Be very cautious with this one! Make sure that any flow where this is used has an exit condition where something else will be returned. Otherwise, the user will be stuck in a loop!
SURGERY_STEP_RETRYThis surgery step will be conditionally retried, so long as the surgery step's can_repeat() proc returns TRUE. Otherwise, it'll behave just like SURGERY_STEP_INCOMPLETE.
SURGERY_INITIATE_CONTINUE_CHAINThe surgery initiation isn't even going to be started. If you're working with the attack chain, this is probably what you'll be using.
SURGERY_INITIATE_SUCCESSThe surgery initiaition was a success. We're advancing the current surgery.
SURGERY_INITIATE_FAILUREThe surgery initiation was interrupted, or for some reason never completed. We don't want to return FALSE to the attack chain, though.
SURGERY_INITIATE_INTERRUPTEDThe surgery never reached (or finished) the do_after. Go back to the state we were in before this even happened.

Define Details

ORGAN_CLOSED

Closed up.

ORGAN_ORGANIC_ENCASED_OPEN

An organ that's encased, probably with bone, where that casing has been cut through.

ORGAN_ORGANIC_OPEN

An organic limb that's been opened, at least once.

ORGAN_SYNTHETIC_LOOSENED

Synthetic organ that's been unscrewed.

ORGAN_SYNTHETIC_OPEN

Synthetic organ that's had its panel opened.

SURGERY_BEGINSTEP_ABORT

Return this from begin_step() to abort the step and not try the surgery.

SURGERY_BEGINSTEP_SKIP

Return this from begin_step() to skip the current step entirely and proceed to the next one. Use this if you would end up leaving someone in an invalid state.

SURGERY_BLOODSPREAD_FULLBODY

Cover the surgeon's body in blood.

SURGERY_BLOODSPREAD_HANDS

Cover the surgeon's hands in blood.

SURGERY_BLOODSPREAD_NONE

Defines for surgery and other stuff. Don't splash any blood.

SURGERY_INITIATE_CONTINUE_CHAIN

The surgery initiation isn't even going to be started. If you're working with the attack chain, this is probably what you'll be using.

SURGERY_INITIATE_FAILURE

The surgery initiation was interrupted, or for some reason never completed. We don't want to return FALSE to the attack chain, though.

SURGERY_INITIATE_INTERRUPTED

The surgery never reached (or finished) the do_after. Go back to the state we were in before this even happened.

SURGERY_INITIATE_SUCCESS

The surgery initiaition was a success. We're advancing the current surgery.

SURGERY_INITIATOR_ORGANIC

An initiator with this can start surgeries on organic organs. Make sure that anything that can be sharp gets this as well.

SURGERY_INITIATOR_ROBOTIC

An initiator with this can start surgeries on robotic organs.

SURGERY_STEP_CONTINUE

The surgery step was completed, and the surgery should continue to the next step.

SURGERY_STEP_INCOMPLETE

The surgery step was not completed for some reason, and the next action will again be on this step.

SURGERY_STEP_RETRY

This surgery step will be conditionally retried, so long as the surgery step's can_repeat() proc returns TRUE. Otherwise, it'll behave just like SURGERY_STEP_INCOMPLETE.

SURGERY_STEP_RETRY_ALWAYS

This step will automatically be retried without question as long as this is returned. Be very cautious with this one! Make sure that any flow where this is used has an exit condition where something else will be returned. Otherwise, the user will be stuck in a loop!