Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

makes entombed modsuits not the worst modsuits in the entire game, lets them use skins from modular modsuits, including two new entombed exclusive skins #301

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Loading