/tg/ Station 13 - Modules - TypesVar Details - Proc Details

external

System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not Works in tandem with the /datum/sprite_accessory datum to generate sprites Unlike normal organs, we're actually inside a persons limbs at all times

Vars

bodypart_overlayThe overlay datum that actually draws stuff on the limb
dna_blockWith what DNA block do we mutate in mutate_feature() ? For genetics
external_bodyshapesDoes this organ have any bodyshapes to pass to its bodypart_owner?
external_bodytypesDoes this organ have any bodytypes to pass to its bodypart_owner?
mutantpart_keyThis is for associating an organ with a mutant bodypart. Look at tails for examples
preferenceThe savefile_key of the preference this relates to. Used for the preferences UI.
restyle_flagsWhich flags does a 'modification tool' need to have to restyle us, if it all possible (located in code/_DEFINES/mobs)
sprite_accessory_overrideIf not null, overrides the appearance with this sprite accessory datum
use_mob_sprite_as_obj_spriteSet to EXTERNAL_BEHIND, EXTERNAL_FRONT or EXTERNAL_ADJACENT if you want to draw one of those layers as the object sprite. FALSE to use your own This will not work if it doesn't have a limb to generate its icon with

Procs

attempt_feature_restyleRestyles the external organ from a list of valid options
copy_to_mutant_bodypartsCopies the organ's mutantpart_info to the owner's mutant_bodyparts
get_valid_restylesHelper proc to fetch a list of styles a player might want to restyle their features into during the round : returns list("Cabbage" = /datum/sprite_accessory/cabbage)
mutate_featureUpdate our features after something changed our appearance
on_attempt_feature_restyleInvoke async so we dont break signals
simple_change_spriteIf you need to change an external_organ for simple one-offs, use this. Pass the accessory type : /datum/accessory/something
transfer_mutantpart_infoCopies the mob's mutant_bodyparts data to an organ's mutantpart_info for consistency e.g. on organ removal

Var Details

bodypart_overlay

The overlay datum that actually draws stuff on the limb

dna_block

With what DNA block do we mutate in mutate_feature() ? For genetics

external_bodyshapes

Does this organ have any bodyshapes to pass to its bodypart_owner?

external_bodytypes

Does this organ have any bodytypes to pass to its bodypart_owner?

mutantpart_key

This is for associating an organ with a mutant bodypart. Look at tails for examples

preference

The savefile_key of the preference this relates to. Used for the preferences UI.

restyle_flags

Which flags does a 'modification tool' need to have to restyle us, if it all possible (located in code/_DEFINES/mobs)

sprite_accessory_override

If not null, overrides the appearance with this sprite accessory datum

use_mob_sprite_as_obj_sprite

Set to EXTERNAL_BEHIND, EXTERNAL_FRONT or EXTERNAL_ADJACENT if you want to draw one of those layers as the object sprite. FALSE to use your own This will not work if it doesn't have a limb to generate its icon with

Proc Details

attempt_feature_restyle

Restyles the external organ from a list of valid options

copy_to_mutant_bodyparts

Copies the organ's mutantpart_info to the owner's mutant_bodyparts

get_valid_restyles

Helper proc to fetch a list of styles a player might want to restyle their features into during the round : returns list("Cabbage" = /datum/sprite_accessory/cabbage)

mutate_feature

Update our features after something changed our appearance

on_attempt_feature_restyle

Invoke async so we dont break signals

simple_change_sprite

If you need to change an external_organ for simple one-offs, use this. Pass the accessory type : /datum/accessory/something

transfer_mutantpart_info

Copies the mob's mutant_bodyparts data to an organ's mutantpart_info for consistency e.g. on organ removal