/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 it's bodypart_owner?
external_bodytypesDoes this organ have any bodytypes to pass to it's bodypart_owner?
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 it's icon with

Procs

Initializemob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite I'm sorry
attempt_feature_restyleRestyles the external organ from a list of valid options
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

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 it's bodypart_owner?

external_bodytypes

Does this organ have any bodytypes to pass to it's bodypart_owner?

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 it's icon with

Proc Details

Initialize

mob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite I'm sorry

attempt_feature_restyle

Restyles the external organ from a list of valid options

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