Skip to content

Commit

Permalink
makes entombed modsuits not the worst modsuits in the entire game, le…
Browse files Browse the repository at this point in the history
…ts them use skins from modular modsuits, including two new entombed exclusive skins (#301)

* chyindano

* war without reason

* war with a really good reason this time

* im a mechanical man

* got a present for ya

* rahh

* im calm now

* big scene

* you cant just say perchance

* broken legs support

* Revert "you cant just say perchance"

This reverts commit de59679.

* Reapply "you cant just say perchance"

This reverts commit cd592c4.

* b

that's b

* Revert "b"

This reverts commit c71ce75.

* Revert "Reapply "you cant just say perchance""

This reverts commit 9b80175.

* i think that'll do her then?
  • Loading branch information
Paxilmaniac authored Jan 7, 2025
1 parent 9e8cbd5 commit 430ffd6
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 27 deletions.
2 changes: 1 addition & 1 deletion code/modules/mod/mod_control.dm
Original file line number Diff line number Diff line change
Expand Up @@ -777,4 +777,4 @@
SEND_SIGNAL(src, COMSIG_MOD_GET_VISOR_OVERLAY, standing, overrides)
if (length(overrides))
return overrides[1]
return mutable_appearance(worn_icon, "[skin]-helmet-visor", layer = standing.layer + 0.1)
return mutable_appearance(worn_icon, "[skin]-helmet-visor", layer = standing.layer + 6.1) // DOPPLER EDIT - return mutable_appearance(worn_icon, "[skin]-helmet-visor", layer = standing.layer + 0.1)
4 changes: 2 additions & 2 deletions code/modules/mod/modules/_module.dm
Original file line number Diff line number Diff line change
Expand Up @@ -349,9 +349,9 @@
return
var/mutable_appearance/module_icon
if(mask_worn_overlay)
module_icon = mutable_appearance(get_module_icon_cache(used_overlay), layer = standing.layer + 0.1)
module_icon = mutable_appearance(get_module_icon_cache(used_overlay), layer = standing.layer + 6.1) // DOPPLER EDIT - module_icon = mutable_appearance(get_module_icon_cache(used_overlay), layer = standing.layer + 0.1)
else
module_icon = mutable_appearance(overlay_icon_file, used_overlay, layer = standing.layer + 0.1)
module_icon = mutable_appearance(overlay_icon_file, used_overlay, layer = standing.layer + 6.1) // DOPPLER EDIT - module_icon = mutable_appearance(overlay_icon_file, used_overlay, layer = standing.layer + 0.1)
if(!use_mod_colors)
module_icon.appearance_flags |= RESET_COLOR

Expand Down
33 changes: 33 additions & 0 deletions modular_doppler/modular_quirks/entombed/code/entombed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,23 @@
var/life_support_timer
/// Are we taking damage?
var/life_support_failed = FALSE
/// Alternate icon files for each modular skin
var/list/modular_icon_files = list(
"colonist" = 'modular_doppler/kahraman_equipment/icons/modsuits/mod.dmi',
"moonlight" = 'modular_doppler/special_modsuits/icons/mod.dmi',
"orbiter" = 'modular_doppler/special_modsuits/icons/mod.dmi',
)
/// Alternate icon files for each modular worn skin
var/list/modular_worn_files = list(
"colonist" = 'modular_doppler/kahraman_equipment/icons/modsuits/mod_worn.dmi',
"moonlight" = 'modular_doppler/special_modsuits/icons/mod_worn.dmi',
"orbiter" = 'modular_doppler/special_modsuits/icons/mod_worn.dmi',
)
/// Alternative icon files for each modular skin with a digi variant
var/list/modular_worn_digi_files = list(
"moonlight" = 'modular_doppler/special_modsuits/icons/mod_worn_digi.dmi',
"orbiter" = 'modular_doppler/special_modsuits/icons/mod_worn_digi.dmi',
)

/datum/quirk/equipping/entombed/process(seconds_per_tick)
var/mob/living/carbon/human/human_holder = quirk_holder
Expand Down Expand Up @@ -103,6 +120,19 @@
for(var/obj/item/part as anything in modsuit.get_parts())
part.name = "[modsuit.theme.name] [initial(part.name)]"
part.desc = "[initial(part.desc)] [modsuit.theme.desc]"
for(var/potential_skin as anything in modular_icon_files)
if(modsuit.skin == potential_skin)
part.icon = modular_icon_files[modsuit.skin]
if(length(part.bodyshape_icon_files))
part.bodyshape_icon_files[BODYSHAPE_HUMANOID_T] = modular_worn_files[modsuit.skin]
if(modsuit.skin in modular_worn_digi_files)
if(istype(part, /obj/item/clothing/head/mod))
part.bodyshape_icon_files[BODYSHAPE_SNOUTED_T] = modular_worn_digi_files[modsuit.skin]
else
part.bodyshape_icon_files[BODYSHAPE_DIGITIGRADE_T] = modular_worn_digi_files[modsuit.skin]
part.worn_icon = modular_worn_files[modsuit.skin]
modsuit.icon = modular_icon_files[modsuit.skin]
modsuit.worn_icon = modular_worn_files[modsuit.skin]
install_racial_features()

//transfer as many items across from our dropped backslot as we can. do this last incase something breaks
Expand Down Expand Up @@ -177,6 +207,9 @@
"Prototype",
"Security",
"Elite",
"Colonist",
"Orbiter",
"Moonlight",
)

/datum/preference/choiced/entombed_skin/create_default_value()
Expand Down
60 changes: 36 additions & 24 deletions modular_doppler/modular_quirks/entombed/code/entombed_mod.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/obj/item/mod/control
alternate_worn_layer = BACK_LAYER

/datum/mod_theme/entombed
name = "fused"
desc = "Circumstances have rendered this protective suit into someone's second skin. Literally."
Expand All @@ -8,17 +11,33 @@
resistance_flags = FIRE_PROOF | ACID_PROOF // It is better to die for the Emperor than live for yourself.
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
siemens_coefficient = 0
complexity_max = DEFAULT_MAX_COMPLEXITY - 5
charge_drain = DEFAULT_CHARGE_DRAIN
complexity_max = DEFAULT_MAX_COMPLEXITY
charge_drain = DEFAULT_CHARGE_DRAIN * 0.6
slowdown_inactive = 2.5 // very slow because the quirk infers you rely on this to move/exist
slowdown_active = 0.95
slowdown_active = 0.5
inbuilt_modules = list(
/obj/item/mod/module/joint_torsion/entombed,
/obj/item/mod/module/storage,
/obj/item/mod/module/status_readout,
/obj/item/mod/module/emp_shield,
)
allowed_suit_storage = list(
/obj/item/tank/internals,
allowed_suit_storage = list( // If GLOB.colonist_suit_allowed has it this can have it (minus forge weapons 🖕)
/obj/item/ammo_box,
/obj/item/ammo_casing,
/obj/item/flashlight,
/obj/item/gun,
/obj/item/melee,
/obj/item/tank/internals,
/obj/item/storage/belt/holster,
/obj/item/construction,
/obj/item/fireaxe,
/obj/item/pipe_dispenser,
/obj/item/storage/bag,
/obj/item/pickaxe,
/obj/item/resonator,
/obj/item/t_scanner,
/obj/item/analyzer,
/obj/item/storage/medkit,
/obj/item/fireaxe/metal_h2_axe,
)

/datum/armor/mod_entombed
Expand All @@ -27,25 +46,28 @@
laser = ARMOR_LEVEL_WEAK
energy = ARMOR_LEVEL_WEAK
bomb = ARMOR_LEVEL_WEAK
bio = ARMOR_LEVEL_WEAK
bio = 100 // Everyone has bio protection it came free with your vacuum sealed space suit
fire = ARMOR_LEVEL_WEAK
acid = ARMOR_LEVEL_WEAK
wound = WOUND_ARMOR_WEAK

/obj/item/mod/module/joint_torsion/entombed
name = "internal joint torsion adaptation"
desc = "Your adaptation to life in this MODsuit shell allows you to ambulate in such a way that your movements recharge the suit's internal batteries slightly, but only while under the effect of gravity."
removable = FALSE
complexity = 0
power_per_step = DEFAULT_CHARGE_DRAIN * 0.4

/obj/item/mod/module/plasma_stabilizer/entombed
name = "colony-stabilized interior seal"
desc = "Your colony has fully integrated the internal segments of your suit's plate into your skeleton, forming a hermetic seal between you and the outside world from which none of your atmosphere can escape. This is enough to allow your head to view the world with your helmet retracted."
complexity = 0
idle_power_cost = 0
removable = FALSE

/obj/item/mod/module/anomaly_locked/antigrav/entombed
name = "assistive anti-gravity ambulator"
desc = "An obligatory addition from the NanoTrasen science division as part of the Space Disabilities Act, this augmentation allows your suit to project a limited anti-gravity field to aid in your ambulation around the station for both general use and emergencies. It is powered by a tiny sliver of a gravitational anomaly core, inextricably linked to the power systems that keep you alive. Warning: not rated for EMP protection."
complexity = 1
allow_flags = MODULE_ALLOW_INACTIVE // the suit is never off, so this just allows this to be used w/o being parts-deployed for cosmetic reasons
removable = FALSE
active_power_cost = 0
prebuilt = TRUE
core_removable = FALSE

// ENTOMBED MOD CLOTHING COMPONENT

/datum/component/entombed_mod_piece
Expand Down Expand Up @@ -76,16 +98,6 @@
if (!isnull(piece))
piece.doMove(host_suit)

/obj/item/mod/module/anomaly_locked/antigrav/entombed
name = "assistive anti-gravity ambulator"
desc = "An obligatory addition from the NanoTrasen science division as part of the Space Disabilities Act, this augmentation allows your suit to project a limited anti-gravity field to aid in your ambulation around the station for both general use and emergencies. It is powered by a tiny sliver of a gravitational anomaly core, inextricably linked to the power systems that keep you alive. Warning: not rated for EMP protection."
complexity = 1
allow_flags = MODULE_ALLOW_INACTIVE // the suit is never off, so this just allows this to be used w/o being parts-deployed for cosmetic reasons
removable = FALSE
active_power_cost = 0 // torsion does not generate power in antigrav, so this is effectively -0.4 * DEFAULT_CHARGE_DRAIN
prebuilt = TRUE
core_removable = FALSE

// MOD CONTROL UNIT

/obj/item/mod/control/pre_equipped/entombed
Expand Down
Binary file added modular_doppler/special_modsuits/icons/mod.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 comments on commit 430ffd6

Please sign in to comment.