mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
[Nova Port] Updates and moves the Bodypart Overlay files (#5322)
## About The Pull Request Updates the files inside `./code/datums/bodypart_overlays`. I achieved this by moving the files to `modular_zubbers/code/datums/bodypart_overlays`, and updated the code to match https://github.com/NovaSector/NovaSector/commits/master/modular_nova/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm up to a15c82801f9771265669b3eff33062f4d863e730 except for their handling of mutant bodyparts. ## Why It's Good For The Game Better code. ## Proof Of Testing See below. <details> <summary>Screenshots/Videos</summary> <img width="243" height="308" alt="image" src="https://github.com/user-attachments/assets/d7b4fd92-ff59-414d-a5d3-7c947d2954ed" /> https://github.com/user-attachments/assets/7661df22-549b-4526-b970-1f21daaf2f7f </details> ## Changelog Not player facing.
This commit is contained in:
+13
-10
@@ -34,12 +34,13 @@
|
||||
/datum/bodypart_overlay/mutant/proc/set_appearance_from_dna(datum/dna/dna, accessory_name, feature_key)
|
||||
if(isnull(feature_key)) // if not explicitly set, just use the feature_key of the bodypart_overlay
|
||||
feature_key = src.feature_key
|
||||
if(!dna.mutant_bodyparts[feature_key])
|
||||
var/list/mutantparts_list = dna.mutant_bodyparts[feature_key] ? dna.mutant_bodyparts : dna.species.mutant_bodyparts
|
||||
if(!(feature_key in mutantparts_list) || !mutantparts_list[feature_key])
|
||||
return FALSE
|
||||
sprite_datum = fetch_sprite_datum_from_name(accessory_name ? accessory_name : dna.mutant_bodyparts[feature_key][MUTANT_INDEX_NAME])
|
||||
sprite_datum = fetch_sprite_datum_from_name(accessory_name ? accessory_name : mutantparts_list[feature_key][MUTANT_INDEX_NAME])
|
||||
modsuit_affected = sprite_datum.use_custom_mod_icon
|
||||
draw_color = dna.mutant_bodyparts[feature_key][MUTANT_INDEX_COLOR_LIST]
|
||||
build_emissive_eligibility(dna.mutant_bodyparts[feature_key][MUTANT_INDEX_EMISSIVE_LIST])
|
||||
draw_color = mutantparts_list[feature_key][MUTANT_INDEX_COLOR_LIST]
|
||||
build_emissive_eligibility(mutantparts_list[feature_key][MUTANT_INDEX_EMISSIVE_LIST])
|
||||
cache_key = jointext(generate_icon_cache(), "_")
|
||||
return TRUE
|
||||
|
||||
@@ -87,9 +88,9 @@
|
||||
|
||||
/datum/bodypart_overlay/mutant/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner)
|
||||
var/mob/living/carbon/human/human = bodypart_owner.owner
|
||||
if(!human)
|
||||
if(!istype(human))
|
||||
return TRUE
|
||||
return !sprite_datum.is_hidden(human)
|
||||
return !isnull(sprite_datum) && !sprite_datum.is_hidden(human)
|
||||
|
||||
|
||||
/// Get the images we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm.
|
||||
@@ -183,16 +184,18 @@
|
||||
switch(sprite_datum.color_src)
|
||||
if(USE_ONE_COLOR)
|
||||
overlay.color = islist(draw_color) ? draw_color[i] : draw_color
|
||||
overlay.alpha = alpha
|
||||
|
||||
if(USE_MATRIXED_COLORS)
|
||||
overlay.color = islist(draw_color) ? draw_color[i] : draw_color
|
||||
overlay.alpha = alpha
|
||||
if (i > length(draw_color))
|
||||
overlay.color = islist(draw_color) ? draw_color[length(draw_color)] : draw_color
|
||||
else
|
||||
overlay.color = islist(draw_color) ? draw_color[i] : draw_color
|
||||
i++
|
||||
|
||||
else
|
||||
overlay.color = limb?.color
|
||||
overlay.alpha = alpha
|
||||
|
||||
overlay.alpha = alpha
|
||||
|
||||
|
||||
/**
|
||||
+2
-2
@@ -7010,8 +7010,6 @@
|
||||
#include "modular_skyrat\master_files\code\datums\emotes.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\ert.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\outfit.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\bodypart_overlays\bodypart_overlay.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\bodypart_overlays\mutant_bodypart_overlay.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\components\crafting.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\components\damage_tracker.dm"
|
||||
#include "modular_skyrat\master_files\code\datums\components\fullauto.dm"
|
||||
@@ -8965,6 +8963,8 @@
|
||||
#include "modular_zubbers\code\datums\ai_laws\laws_antagonistic.dm"
|
||||
#include "modular_zubbers\code\datums\ai_laws\laws_neutral.dm"
|
||||
#include "modular_zubbers\code\datums\ai_laws\laws_station_sided.dm"
|
||||
#include "modular_zubbers\code\datums\bodypart_overlays\bodypart_overlay.dm"
|
||||
#include "modular_zubbers\code\datums\bodypart_overlays\mutant_bodypart_overlay.dm"
|
||||
#include "modular_zubbers\code\datums\brain_damage\magic.dm"
|
||||
#include "modular_zubbers\code\datums\components\nanites.dm"
|
||||
#include "modular_zubbers\code\datums\components\organ_emp.dm"
|
||||
|
||||
Reference in New Issue
Block a user