mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-27 17:41:50 +00:00
## About The Pull Request MODsuit modules now render on the part they're attached to, that being first part if required_slots is set, otherwise defaulting to the control module. Instead of using icon ops and a cache, module masking (used by armor boosters and insignias) will instead render the module on all parts, each overlay alpha filtered using the worn piece as the mask. To do this we also migrate modules to separate_worn_overlays, which fixes the issue where they'd always get painted the same color as the back piece, ignoring use_mod_colors's value (which is FALSE by default). So now modules that inherit MOD's color like armor booster will be painted accordingly to their piece. This also means that modules actually layer properly, and don't go ontop of items that they should be under. Additionally, whenever gloves or boots overslot an item, the overslotted item will still render underneath them if they're unsealed. Because it looks weird when your gloves disappear when you extend your MODsuit ones.  Look at that hip look, she'd have bare hands and ankles without this PR. Closes #90370 ## Why It's Good For The Game Fixes a bunch of visual jank that looks weird, and overslotting displaying overslotted item is just behavior you'd expect normally. ## Changelog 🆑 add: When a MODsuit piece overslots an item, it will now render beneath that piece as long as its unsealed. refactor: Refactored how MODsuit modules are rendered, report any bugs on GitHub! /🆑
62 lines
2.6 KiB
Plaintext
62 lines
2.6 KiB
Plaintext
/// Default value for the max_complexity var on MODsuits
|
|
#define DEFAULT_MAX_COMPLEXITY 15
|
|
|
|
/// The default cell drain of a modsuit. The standard modsuit active power usage drains this much energy per modsuit second.
|
|
#define DEFAULT_CHARGE_DRAIN (0.005 * STANDARD_CELL_CHARGE) // A standard cell lasts 200 seconds with this on active power usage, while a high power one lasts 2,000 seconds.
|
|
|
|
/// Default time for a part of the suit to seal.
|
|
#define MOD_ACTIVATION_STEP_TIME (1 SECONDS)
|
|
|
|
/// Passive module, just acts when put in naturally.
|
|
#define MODULE_PASSIVE 0
|
|
/// Usable module, does something when you press a button.
|
|
#define MODULE_USABLE 1
|
|
/// Toggle module, you turn it on/off and it does stuff.
|
|
#define MODULE_TOGGLE 2
|
|
/// Actively usable module, you may only have one selected at a time.
|
|
#define MODULE_ACTIVE 3
|
|
|
|
/// This module can be used during phaseout
|
|
#define MODULE_ALLOW_PHASEOUT (1<<0)
|
|
/// This module can be used while incapacitated
|
|
#define MODULE_ALLOW_INCAPACITATED (1<<1)
|
|
/// This module can be used while the suit is off
|
|
#define MODULE_ALLOW_INACTIVE (1<<2)
|
|
|
|
#define UNSEALED_LAYER "unsealed_layer"
|
|
#define SEALED_LAYER "sealed_layer"
|
|
#define UNSEALED_CLOTHING "unsealed_clothing"
|
|
#define SEALED_CLOTHING "sealed_clothing"
|
|
#define UNSEALED_INVISIBILITY "unsealed_invisibility"
|
|
#define SEALED_INVISIBILITY "sealed_invisibility"
|
|
#define UNSEALED_COVER "unsealed_cover"
|
|
#define SEALED_COVER "sealed_cover"
|
|
#define CAN_OVERSLOT "can_overslot"
|
|
#define UNSEALED_MESSAGE "unsealed_message"
|
|
#define SEALED_MESSAGE "sealed_message"
|
|
|
|
//Defines used to override MOD clothing's icon and worn icon files in the skin.
|
|
#define MOD_ICON_OVERRIDE "mod_icon_override"
|
|
#define MOD_WORN_ICON_OVERRIDE "mod_worn_icon_override"
|
|
|
|
//Defines for MODlink frequencies
|
|
#define MODLINK_FREQ_NANOTRASEN "NT"
|
|
#define MODLINK_FREQ_SYNDICATE "SYND"
|
|
#define MODLINK_FREQ_CHARLIE "CHRL"
|
|
#define MODLINK_FREQ_CENTCOM "CC"
|
|
|
|
//Default text for different messages for the user.
|
|
#define HELMET_UNSEAL_MESSAGE "hisses open"
|
|
#define HELMET_SEAL_MESSAGE "hisses closed"
|
|
#define CHESTPLATE_UNSEAL_MESSAGE "releases your chest"
|
|
#define CHESTPLATE_SEAL_MESSAGE "cinches tightly around your chest"
|
|
#define GAUNTLET_UNSEAL_MESSAGE "become loose around your fingers"
|
|
#define GAUNTLET_SEAL_MESSAGE "tighten around your fingers and wrists"
|
|
#define BOOT_UNSEAL_MESSAGE "relax their grip on your legs"
|
|
#define BOOT_SEAL_MESSAGE "seal around your feet"
|
|
|
|
/// Global list of all /datum/mod_theme
|
|
GLOBAL_LIST_INIT(mod_themes, setup_mod_themes())
|
|
/// Global list of all ids associated to a /datum/mod_link instance
|
|
GLOBAL_LIST_EMPTY(mod_link_ids)
|