custom_outfit 
Stores and edits a custom outfit for a human mob.
This datum manages outfit slots, equipment contents, augmentations, ID card data and serialized custom outfit files.
Vars | |
| mod_active_modules | Module type paths that should be turned on when the suit is applied. |
|---|---|
| mod_configured_for | Suit path the current module configuration was built for, so switching suits restores the new suit's own defaults instead of carrying modules over. |
| mod_defaults_cache | Cache of engine-built MOD suit defaults, keyed by MOD control unit path. |
| mod_deployed_parts | Part type paths that should be deployed when the suit is applied. |
| mod_editor | Editor window used to configure the MODsuit. |
| mod_module_paths | Installed MOD module type paths. |
| mod_part_path_cache | Cache of MOD suit part type paths, keyed by MOD control unit path. |
| mod_suit_active | If the suit should be powered on when the outfit is applied. |
| preset_mod_cache | Cache of MOD control unit bag preset contents (path = count). |
Procs | |
| apply_mod_save_data | Restores the MODsuit configuration from saved data, discarding invalid entries. |
| apply_nested_contents | Fills an in-world storage item with the edited contents configured for it, replacing any preset (populate_contents) items. Does nothing if the box has no explicitly configured contents, so untouched boxes keep their presets. Arguments: |
| capture_dental | Reads the current dental implant contents off the given human. |
| capture_mod_suit | Reads the current MOD configuration off the given human. |
| capture_nested_contents | Captures the contents of a storage item already worn (inside backpack/belt) into the nested storage map so it can be edited in the UI. Arguments: |
| cleanup_orphan_mod_parts | Removes MOD suit parts left on the wearer when their suit is gone. Parts are matched by type, since the engine never fills in the part's control ref, and the owning suit is found through its part datums. Arguments: |
| decrement_list_entry | Removes the given amount of items of a path from a path = count list. Returns FALSE when the item is not stored or the amount is not positive. Arguments: |
| ensure_check_dummy | Ensures a clean dummy human of the given human's species exists for can_equip-based checks. |
| ensure_mod_configuration | Restores the suit defaults when the configured suit differs from the one the current module setup was built for. Safe to call on every apply. |
| ensure_nested_presets | Initializes the nested contents of a storage item added to a container from its own preset (populate_contents) items, so the box's contents can be viewed and edited right away. Only seeds the entry once per box path. Arguments: |
| forget_nested_contents | Removes the nested contents entry for a storage item that was just removed from a container. Arguments: |
| get_installed_module | Returns the installed module of the given type on the suit, if any. |
| get_mod_module_options | Returns the list of all installable MOD module type paths keyed by a display label. |
| get_mod_part_paths | Returns the type paths of the parts the given MOD control unit type is built from. Reads the theme directly so no suit has to be spawned. |
| get_mod_suit_defaults | Returns the module type paths the given MOD suit type is built with. The engine installs them in Initialize, so a temporary suit is spawned and read instead of inspecting the type, and the result is cached per suit type. Arguments: |
| get_mod_suit_path | Returns the MOD control unit type path currently configured in the back slot. |
| get_preset_mod_back_contents | Adds the preset bag contents of a MOD control unit type to the outfit backpack list (path = count). |
| get_preset_storage_contents | Returns the preset contents of a storage item type - populate_contents() as a list(path = count). Arguments: |
| has_mod_suit | Returns TRUE if the back slot holds a MOD control unit. |
| is_mod_part | Returns TRUE if the item is one of the parts of the MOD suit the given human is wearing. Parts carry no control ref of their own, so the suit's own get_part_datums() is the source of truth. Arguments: |
| is_mod_part_type | Returns TRUE if the type is one of the parts a MOD suit is built from. Arguments: |
| is_mod_part_type_path | Returns TRUE if the type path is one of the parts a MOD suit is built from. Arguments: |
| is_path_configured | / Returns TRUE if the given type path is present in a list of type paths. Arguments: |
| item_fits_species | Returns TRUE if the item can be equipped (can_equip). |
| mark_container_dirty | Marks the given container's contents as changed so the next Apply resyncs them (used after editing nested storage contents). Arguments: |
| merge_backpack_presets | Adds the preset contents of a storage item type to the outfit backpack |
| merge_belt_presets | Adds the preset contents of a storage item type to the belt list Arguments: |
| merge_mod_backpack_presets | Adds the preset bag contents of a MOD control unit type to the outfit backpack |
| open_mod_editor | Opens the MODsuit editor window for the given user. |
| organ_fits_species | Returns TRUE if an internal organ can be implanted into the given human (i.e. the parent body zone exists and can hold it). |
| remove_arm_cyberimp | Drops an arm implant and its stored side from the outfit. Arguments: |
| remove_nested_storage_item | Removes one item from the contents of a nested storage. Arguments: |
| serialize_container | Builds the UI item list for a storage container, embedding each nested storage item's own contents (one level deep). Arguments: |
| serialize_mod_configuration | Serializes the MODsuit configuration into a list of type path strings. |
| serialize_nested | Serializes the contents of a single nested storage item as a UI item list. Arguments: |
Var Details
mod_active_modules 
Module type paths that should be turned on when the suit is applied.
mod_configured_for 
Suit path the current module configuration was built for, so switching suits restores the new suit's own defaults instead of carrying modules over.
mod_defaults_cache 
Cache of engine-built MOD suit defaults, keyed by MOD control unit path.
mod_deployed_parts 
Part type paths that should be deployed when the suit is applied.
mod_editor 
Editor window used to configure the MODsuit.
mod_module_paths 
Installed MOD module type paths.
mod_part_path_cache 
Cache of MOD suit part type paths, keyed by MOD control unit path.
mod_suit_active 
If the suit should be powered on when the outfit is applied.
preset_mod_cache 
Cache of MOD control unit bag preset contents (path = count).
Proc Details
apply_mod_save_data
Restores the MODsuit configuration from saved data, discarding invalid entries.
apply_nested_contents
Fills an in-world storage item with the edited contents configured for it, replacing any preset (populate_contents) items. Does nothing if the box has no explicitly configured contents, so untouched boxes keep their presets. Arguments:
- parent_storage - the storage item instance just spawned.
- container_key - "backpack" or "belt".
- parent_path - the storage item's type path in string form.
capture_dental
Reads the current dental implant contents off the given human.
capture_mod_suit
Reads the current MOD configuration off the given human.
capture_nested_contents
Captures the contents of a storage item already worn (inside backpack/belt) into the nested storage map so it can be edited in the UI. Arguments:
- parent_storage - the storage item inside the container.
- container_key - "backpack" or "belt".
cleanup_orphan_mod_parts
Removes MOD suit parts left on the wearer when their suit is gone. Parts are matched by type, since the engine never fills in the part's control ref, and the owning suit is found through its part datums. Arguments:
- human_target - the wearer to check.
decrement_list_entry
Removes the given amount of items of a path from a path = count list. Returns FALSE when the item is not stored or the amount is not positive. Arguments:
- storage_list - list(path = count) to remove from.
- item_path - type path of the item to remove.
- amount - how many to remove.
ensure_check_dummy
Ensures a clean dummy human of the given human's species exists for can_equip-based checks.
ensure_mod_configuration
Restores the suit defaults when the configured suit differs from the one the current module setup was built for. Safe to call on every apply.
ensure_nested_presets
Initializes the nested contents of a storage item added to a container from its own preset (populate_contents) items, so the box's contents can be viewed and edited right away. Only seeds the entry once per box path. Arguments:
- container_key - "backpack" or "belt".
- storage_path - the storage item's type path.
forget_nested_contents
Removes the nested contents entry for a storage item that was just removed from a container. Arguments:
- container_key - "backpack" or "belt".
- parent_path - the removed storage item's type path in string form.
get_installed_module
Returns the installed module of the given type on the suit, if any.
get_mod_module_options
Returns the list of all installable MOD module type paths keyed by a display label.
get_mod_part_paths
Returns the type paths of the parts the given MOD control unit type is built from. Reads the theme directly so no suit has to be spawned.
get_mod_suit_defaults
Returns the module type paths the given MOD suit type is built with. The engine installs them in Initialize, so a temporary suit is spawned and read instead of inspecting the type, and the result is cached per suit type. Arguments:
- suit_path - type path of the MOD control unit.
get_mod_suit_path
Returns the MOD control unit type path currently configured in the back slot.
get_preset_mod_back_contents
Adds the preset bag contents of a MOD control unit type to the outfit backpack list (path = count).
get_preset_storage_contents
Returns the preset contents of a storage item type - populate_contents() as a list(path = count). Arguments:
- storage_path - type path of the storage item to inspect.
has_mod_suit
Returns TRUE if the back slot holds a MOD control unit.
is_mod_part
Returns TRUE if the item is one of the parts of the MOD suit the given human is wearing. Parts carry no control ref of their own, so the suit's own get_part_datums() is the source of truth. Arguments:
- item - the item to check.
- human_target - the wearer whose suit is checked.
is_mod_part_type
Returns TRUE if the type is one of the parts a MOD suit is built from. Arguments:
- item - the item to check.
is_mod_part_type_path
Returns TRUE if the type path is one of the parts a MOD suit is built from. Arguments:
- path - the type path to check.
is_path_configured
/ Returns TRUE if the given type path is present in a list of type paths. Arguments:
- path - type path to look for.
- paths - list of type paths to search.
item_fits_species
Returns TRUE if the item can be equipped (can_equip).
mark_container_dirty
Marks the given container's contents as changed so the next Apply resyncs them (used after editing nested storage contents). Arguments:
- container_key - "backpack" or "belt".
merge_backpack_presets
Adds the preset contents of a storage item type to the outfit backpack
merge_belt_presets
Adds the preset contents of a storage item type to the belt list Arguments:
- storage_path - type path of the storage item
merge_mod_backpack_presets
Adds the preset bag contents of a MOD control unit type to the outfit backpack
open_mod_editor
Opens the MODsuit editor window for the given user.
organ_fits_species
Returns TRUE if an internal organ can be implanted into the given human (i.e. the parent body zone exists and can hold it).
remove_arm_cyberimp
Drops an arm implant and its stored side from the outfit. Arguments:
- implant_path - type path of the arm implant.
remove_nested_storage_item
Removes one item from the contents of a nested storage. Arguments:
- container_key - "backpack" or "belt".
- parent_path - the parent storage item's type path in string form.
- item_path - the item type path to remove.
serialize_container
Builds the UI item list for a storage container, embedding each nested storage item's own contents (one level deep). Arguments:
- container_key - "backpack" or "belt".
- contents - the container's flat list(path = count).
serialize_mod_configuration
Serializes the MODsuit configuration into a list of type path strings.
serialize_nested
Serializes the contents of a single nested storage item as a UI item list. Arguments:
- container_key - "backpack" or "belt".
- parent_path - the parent storage item's type path in string form.