Files
Bubberstation/code/modules/mob/mob_update_icons.dm
SmArtKar 04bb468bd5 Mining MODsuit sprite changes + balance (#85353)
## About The Pull Request

Slightly slimmed down the helmet, changed belt into plates, recolored
brown parts to blue and added a few more glowy bits to the mining
MODsuit.

![image](https://github.com/user-attachments/assets/a6e3113f-205e-401d-881a-fc87925cec7f)

Here's what it looks like currently

![image](https://github.com/user-attachments/assets/887be8c1-fe0c-4d8f-b574-051cf6c78c0e)

Mining MODsuit now hides belts, has THICKMATERIAL while active and got
large capacity storage. Eating apparatus no longer has an on-person
sprite. Adjusted drill module active sprite to actually fit on your hand
instead of being slightly to the side.

## Why It's Good For The Game

Currently the MOD looks a bit goofy, I tried making it a bit more
streamlined without removing the bulk and look of a reinforced explorer
exosuit. Belts are hidden for the sake of visuals, as almost all miners
wear riggings which do not fit with the MOD spritework at all. While
inactive it has THICKMATERIAL but for some reason loses it when
activated, which doesn't make much sense. Its a thick, armored
spacesuit.

Eating apparatus isn't a module that people around you need to be
acutely aware of, nor did it look particularly good. I tried respriting
it but there's not much to be done with 12 pixels worth of space.

Large storage is a rather impactful change - currently only loader and
advanced (CE's personal) MODs have it, and more can be printed after
researching advanced engineering MODsuit designs (from my experience,
usually done by ~40 minute mark). Storage space is a very important
aspect, and mining MODs already have high competition with ash drake and
H.E.C.K. armors. Having less storage makes them a weird sidegrade,
arguably even a downgrade, to roundstart explorer gear that has been
upgraded with plates; its only real advantage is being able to pass
through lava and freeing a pocket previously occupied by your ore
satchel due to arcmining nerfing its main purpose (ore mining). While
this still is technically worse than roundstart backpacks, this should
allow them compete with with other equipment in terms of usability.

## Changelog
🆑
balance: Mining MODsuits are now considered thick clothing and gained
expanded storage.
image: Mining MODsuits got a slight glowup and hide belts now
/🆑
2024-07-31 10:59:57 -04:00

146 lines
4.3 KiB
Plaintext

//Most of these are defined at this level to reduce on checks elsewhere in the code.
//Having them here also makes for a nice reference list of the various overlay-updating procs available
///Redraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.
/mob/proc/regenerate_icons() //TODO: phase this out completely if possible
return
///Updates every item slot passed into it.
/mob/proc/update_clothing(slot_flags)
if(slot_flags & ITEM_SLOT_BACK)
update_worn_back()
if(slot_flags & ITEM_SLOT_MASK)
update_worn_mask()
if(slot_flags & ITEM_SLOT_NECK)
update_worn_neck()
if(slot_flags & ITEM_SLOT_HANDCUFFED)
update_worn_handcuffs()
if(slot_flags & ITEM_SLOT_LEGCUFFED)
update_worn_legcuffs()
if(slot_flags & ITEM_SLOT_BELT)
update_worn_belt()
if(slot_flags & ITEM_SLOT_ID)
update_worn_id()
if(slot_flags & ITEM_SLOT_EARS)
update_worn_ears()
if(slot_flags & ITEM_SLOT_EYES)
update_worn_glasses()
if(slot_flags & ITEM_SLOT_GLOVES)
update_worn_gloves()
if(slot_flags & ITEM_SLOT_HEAD)
update_worn_head()
if(slot_flags & ITEM_SLOT_FEET)
update_worn_shoes()
if(slot_flags & ITEM_SLOT_OCLOTHING)
update_worn_oversuit()
if(slot_flags & ITEM_SLOT_ICLOTHING)
update_worn_undersuit()
if(slot_flags & ITEM_SLOT_SUITSTORE)
update_suit_storage()
if(slot_flags & (ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET))
update_pockets()
if(slot_flags & ITEM_SLOT_HANDS)
update_held_items()
///Updates item slots obscured by this item (or using an override of flags to check)
/mob/proc/update_obscured_slots(obscured_flags)
if(obscured_flags & HIDEGLOVES)
update_worn_gloves(update_obscured = FALSE)
if(obscured_flags & HIDESUITSTORAGE)
update_suit_storage(update_obscured = FALSE)
if(obscured_flags & HIDEJUMPSUIT)
update_worn_undersuit(update_obscured = FALSE)
if(obscured_flags & HIDESHOES)
update_worn_shoes(update_obscured = FALSE)
if(obscured_flags & HIDEMASK)
update_worn_mask(update_obscured = FALSE)
if(obscured_flags & HIDEBELT)
update_worn_belt(update_obscured = FALSE)
if(obscured_flags & HIDEEARS)
update_worn_ears(update_obscured = FALSE)
if(obscured_flags & HIDEEYES)
update_worn_glasses(update_obscured = FALSE)
if(obscured_flags & HIDENECK)
update_worn_neck(update_obscured = FALSE)
if(obscured_flags & HIDEHEADGEAR)
update_worn_head(update_obscured = FALSE)
/mob/proc/update_icons()
return
///Updates the handcuff overlay & HUD element.
/mob/proc/update_worn_handcuffs(update_obscured = FALSE)
return
///Updates the legcuff overlay & HUD element.
/mob/proc/update_worn_legcuffs(update_obscured = FALSE)
return
///Updates the back overlay & HUD element.
/mob/proc/update_worn_back(update_obscured = FALSE)
return
///Updates the held items overlay(s) & HUD element.
/mob/proc/update_held_items()
SHOULD_CALL_PARENT(TRUE)
SEND_SIGNAL(src, COMSIG_MOB_UPDATE_HELD_ITEMS)
///Updates the mask overlay & HUD element.
/mob/proc/update_worn_mask(update_obscured = FALSE)
return
///Updates the neck overlay & HUD element.
/mob/proc/update_worn_neck(update_obscured = FALSE)
return
///Updates the oversuit overlay & HUD element.
/mob/proc/update_worn_oversuit(update_obscured = FALSE)
return
///Updates the undersuit/uniform overlay & HUD element.
/mob/proc/update_worn_undersuit(update_obscured = FALSE)
return
///Updates the belt overlay & HUD element.
/mob/proc/update_worn_belt(update_obscured = FALSE)
return
///Updates the on-head overlay & HUD element.
/mob/proc/update_worn_head(update_obscured = FALSE)
return
///Updates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.
/mob/proc/update_body()
return
/mob/proc/update_hair()
return
///Updates the glasses overlay & HUD element.
/mob/proc/update_worn_glasses(update_obscured = FALSE)
return
///Updates the id overlay & HUD element.
/mob/proc/update_worn_id(update_obscured = FALSE)
return
///Updates the shoes overlay & HUD element.
/mob/proc/update_worn_shoes(update_obscured = FALSE)
return
///Updates the glasses overlay & HUD element.
/mob/proc/update_worn_gloves(update_obscured = FALSE)
return
///Updates the suit storage overlay & HUD element.
/mob/proc/update_suit_storage(update_obscured = FALSE)
return
///Updates the pocket overlay & HUD element.
/mob/proc/update_pockets()
return
///Updates the headset overlay & HUD element.
/mob/proc/update_worn_ears(update_obscured = FALSE)
return