diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index 4f8ba9bb37c..8ac7354e600 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -1,6 +1,7 @@ #define MODKIT_HELMET 1 #define MODKIT_SUIT 2 -#define MODKIT_FULL 3 +#define MODKIT_RIG 3 +#define MODKIT_FULL 6 /obj/item/device/modkit name = "voidsuit modification kit" @@ -11,7 +12,8 @@ var/list/permitted_types = list( /obj/item/clothing/head/helmet/space/void, - /obj/item/clothing/suit/space/void + /obj/item/clothing/suit/space/void, + /obj/item/rig_assembly ) /obj/item/device/modkit/afterattack(obj/O, mob/user as mob, proximity) @@ -60,6 +62,8 @@ parts &= ~MODKIT_HELMET if (istype(I, /obj/item/clothing/suit)) parts &= ~MODKIT_SUIT + if (istype(I, /obj/item/rig)) + parts &= ~MODKIT_RIG if(!parts) user.drop_from_inventory(src,O) @@ -67,10 +71,10 @@ /obj/item/device/modkit/examine(mob/user) ..(user) - to_chat(user, "It looks as though it modifies hardsuits to fit [target_species] users.") + to_chat(user, "It looks as though it modifies voidsuits to fit [target_species] users.") /obj/item/device/modkit/tajaran - name = "tajaran hardsuit modification kit" + name = "tajaran voidsuit modification kit" desc = "A kit containing all the needed tools and parts to modify a voidsuit for another user. This one looks like it's meant for tajara." target_species = BODYTYPE_TAJARA @@ -91,7 +95,10 @@ /obj/item/clothing/head/helmet/space/void/engineering = /obj/item/clothing/head/helmet/space/void/engineering/himeo, /obj/item/clothing/suit/space/void/atmos = /obj/item/clothing/suit/space/void/atmos/himeo, - /obj/item/clothing/head/helmet/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos/himeo + /obj/item/clothing/head/helmet/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos/himeo, + + /obj/item/rig_assembly/industrial = /obj/item/rig_assembly/industrial/himeo + ) var/parts = MODKIT_FULL @@ -130,6 +137,8 @@ parts &= ~MODKIT_HELMET if (istype(W, /obj/item/clothing/suit)) parts &= ~MODKIT_SUIT + if (istype(W, /obj/item/rig_assembly/industrial/himeo)) + parts &= ~MODKIT_RIG qdel(W) @@ -144,16 +153,16 @@ icon_state = "himeo_kit" item_state = "himeo_kit" desc = "A simple cardboard box containing the requisition forms, permits, and decal kits for a Himean voidsuit." - desc_extended = "As part of a cost-cutting and productivity-enhancing initiative, NanoTrasen has authorized a number of Himean Type-76 'Fish Fur'\ - for use by miners originating from the planet. Most of these suits are assembled in Cannington and painstakingly optimized on-site by their\ - individual operator leading to a large trail of red tape as NanoTrasen is forced to inspect these suits to ensure their safety." + desc_extended = "Despite the vast amounts of supplementary paperwork involved, the Stellar Corporate Conglomerate continues to import specialty industrialwear through an Orion Express subsidiary to \ + boost morale among Himean staff. With success in the previous Type-76 'Fish Fur' program, the Chainlink has also authorized a number of Type-86 'Cicada' industrial hardsuits for use \ + on a number of installations, such as the Horizon." + desc_info = "In order to convert a voidsuit, simply click on voidsuit or helmet with this item. The same process can be used to convert the voidsuit back into a regular voidsuit, or \ + to turn an industrial hardsuit assembly into a Himeo variant. Make sure not to have a helmet or tank in the suit, or else it will be deleted." + /obj/item/voidsuit_modkit/himeo/tajara name = "tajaran himeo voidsuit kit" desc = "A simple cardboard box containing the requisition forms, permits, and decal kits for a Himean voidsuit fitted for Tajara." - desc_extended = "As part of a cost-cutting and productivity-enhancing initiative, NanoTrasen has authorized a number of Himean Type-76 'Fish Fur'\ - for use by miners and engineers originating from the planet. Most of these suits are assembled in Cannington and painstakingly optimized on-site by their\ - individual operator leading to a large trail of red tape as NanoTrasen is forced to inspect these suits to ensure their safety." suit_options = list( /obj/item/clothing/suit/space/void/mining = /obj/item/clothing/suit/space/void/mining/himeo/tajara, /obj/item/clothing/head/helmet/space/void/mining = /obj/item/clothing/head/helmet/space/void/mining/himeo/tajara, @@ -162,14 +171,16 @@ /obj/item/clothing/head/helmet/space/void/engineering = /obj/item/clothing/head/helmet/space/void/engineering/himeo/tajara, /obj/item/clothing/suit/space/void/atmos = /obj/item/clothing/suit/space/void/atmos/himeo/tajara, - /obj/item/clothing/head/helmet/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos/himeo/tajara + /obj/item/clothing/head/helmet/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos/himeo/tajara, + + /obj/item/rig_assembly/industrial = /obj/item/rig_assembly/industrial/himeo ) /obj/item/voidsuit_modkit/srf name = "srf voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -192,8 +203,8 @@ /obj/item/voidsuit_modkit/fsf name = "fsf voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -204,8 +215,8 @@ /obj/item/voidsuit_modkit/ssmd name = "ssmd voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -216,8 +227,8 @@ /obj/item/voidsuit_modkit/spg name = "spg voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -228,8 +239,8 @@ /obj/item/voidsuit_modkit/mrsp name = "mrsp voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -240,20 +251,20 @@ /obj/item/voidsuit_modkit/sfa name = "sfa voidsuit kit" desc = "A highly complicated device that allows you to convert a Solarian voidsuit into a warlord variant. Wow!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( /obj/item/clothing/head/helmet/space/void/sol = /obj/item/clothing/head/helmet/space/void/sol/sfa, /obj/item/clothing/suit/space/void/sol = /obj/item/clothing/suit/space/void/sol/sfa ) - + /obj/item/voidsuit_modkit/dominianvoid name = "dominian voidsman's voidsuit kit" desc = "A highly complicated device that allows you to convert a Dominian prejoroub combat suit into its voidsman counterpart. Practical!" - desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item\ - The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\ + desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \ + The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \ or else it will be deleted." w_class = ITEMSIZE_SMALL suit_options = list( @@ -295,7 +306,7 @@ name = "sfa modkit box" desc = "Contains modkits to convert Solarian voidsuits into a warlord variant." starts_with = list(/obj/item/voidsuit_modkit/sfa = 4) - + /obj/item/storage/box/dominianvoid name = "dominian voidsman's modkit box" desc = "Contains modkits to convert Dominian voidsuits into a voidsman's variant." diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 96220b46be4..46eada1340d 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -102,8 +102,7 @@ var/list/species_restricted = list(BODYTYPE_HUMAN,BODYTYPE_TAJARA,BODYTYPE_UNATHI, BODYTYPE_SKRELL, BODYTYPE_IPC, BODYTYPE_IPC_BISHOP, BODYTYPE_IPC_ZENGHU) /obj/item/rig/examine() - to_chat(usr, "This is [icon2html(src, usr)][src.name].") - to_chat(usr, "[src.desc]") + . = ..() if(wearer) for(var/obj/item/piece in list(helmet,gloves,chest,boots)) if(!piece || piece.loc != wearer) @@ -589,10 +588,12 @@ //TODO: Fix Topic vulnerabilities for malfunction and AI override. /obj/item/rig/Topic(href,href_list) - if(ismob(href)) - do_rig_thing(href, href_list) - return - do_rig_thing(usr, href_list) + if(href_list["examine_fluff"]) + examine_fluff(usr) + if(ismob(href)) + do_rig_thing(href, href_list) + return + do_rig_thing(usr, href_list) /obj/item/rig/proc/do_rig_thing(mob/user, var/list/href_list) if(!check_suit_access(user)) diff --git a/code/modules/clothing/spacesuits/rig/rig_construction.dm b/code/modules/clothing/spacesuits/rig/rig_construction.dm index 01e72beebac..0e5cee63023 100644 --- a/code/modules/clothing/spacesuits/rig/rig_construction.dm +++ b/code/modules/clothing/spacesuits/rig/rig_construction.dm @@ -80,6 +80,14 @@ board_type = /obj/item/circuitboard/rig_assembly/civilian/industrial rig_type = /obj/item/rig/industrial +/obj/item/rig_assembly/industrial/himeo + name = "himean industrial suit control module assembly" + desc = "The assembly frame for a rugged hardsuit used by Himean miners, engineers, and naval sappers." + icon_base = "himeo" + icon_state = "himeo1" + board_type = /obj/item/circuitboard/rig_assembly/civilian/industrial + rig_type = /obj/item/rig/industrial/himeo + /obj/item/rig_assembly/hazmat name = "AMI control module assembly" desc = "The assembly frame for a Anomalous Material Interaction hardsuit that protects the wearer against the strangest energies the universe can throw at them." diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index 84a8fe21279..0507c7bd012 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -4,6 +4,12 @@ light_color = "#ffcf2f" brightness_on = 6 +/obj/item/clothing/head/helmet/space/rig/industrial/himeo + light_overlay = "helmet_light_himeo" + +/obj/item/clothing/suit/space/rig/industrial/himeo + flags_inv = HIDEEARS|BLOCKHEADHAIR|HIDETAIL + /obj/item/clothing/head/helmet/space/rig/ce camera = /obj/machinery/camera/network/engineering @@ -114,6 +120,20 @@ helm_type = /obj/item/clothing/head/helmet/space/rig +/obj/item/rig/industrial/himeo + name = "himean industrial suit control module" + suit_type = "himean industrial hardsuit" + desc = "A variant of the industrial suit used by the United Syndicates of Himeo." + desc_extended = "A little too clunky, a little too slow; the Type-86 \"Cicada\" industrial hardsuit was released about a decade too late to be competitive. \ + Still, it enjoys modest popularity among those dissatisfied with the limits of the Type-76 'Fish Fur', such as Guard sappers or asteroid miners." + icon_supported_species_tags = list("taj") + icon = 'icons/clothing/rig/himeo_industrial.dmi' + icon_state = "himeo_rig" + species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC, BODYTYPE_TAJARA) + + helm_type = /obj/item/clothing/head/helmet/space/rig/industrial/himeo + chest_type = /obj/item/clothing/suit/space/rig/industrial/himeo + /obj/item/rig/eva name = "EVA suit control module" suit_type = "EVA hardsuit" diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 6b42f26e124..a9aeeb8979b 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -110,6 +110,13 @@ This saves us from having to call add_fingerprint() any time something is put in if(!can_keep_s_store) drop_from_inventory(s_store) wear_suit = null + if(istype(W, /obj/item)) + var/obj/item/I = W + if(I.flags_inv & (HIDEMASK|BLOCKHAIR|BLOCKHEADHAIR)) + update_hair(0) // testing region + update_inv_l_ear(0) + update_inv_r_ear(0) + update_inv_wear_mask(0) update_inv_wear_suit() if (update_uniform) update_inv_w_uniform(0) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index c29f3199d0c..6f4b4d7f702 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -479,7 +479,7 @@ There are several things that need to be remembered: if(update_icons) update_icon() return - var/has_visible_hair = h_style && !(head && (head.flags_inv & BLOCKHEADHAIR)) && !(l_ear && (l_ear.flags_inv & BLOCKHEADHAIR)) && !(r_ear && (r_ear.flags_inv & BLOCKHEADHAIR)) + var/has_visible_hair = h_style && !(head && (head.flags_inv & BLOCKHEADHAIR)) && !(l_ear && (l_ear.flags_inv & BLOCKHEADHAIR)) && !(r_ear && (r_ear.flags_inv & BLOCKHEADHAIR)) && !(wear_suit && (wear_suit.flags_inv & BLOCKHEADHAIR)) var/icon/hair_icon = generate_hair_icon(has_visible_hair) diff --git a/html/changelogs/crunchypretzels-himeorig.yml b/html/changelogs/crunchypretzels-himeorig.yml new file mode 100644 index 00000000000..2ad28b111f5 --- /dev/null +++ b/html/changelogs/crunchypretzels-himeorig.yml @@ -0,0 +1,34 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +author: pretzel + +delete-after: True + +changes: + - rscadd: "Added a Himeo variant of the mining rig." diff --git a/icons/clothing/rig/himeo_industrial.dmi b/icons/clothing/rig/himeo_industrial.dmi new file mode 100644 index 00000000000..102f655de7f Binary files /dev/null and b/icons/clothing/rig/himeo_industrial.dmi differ diff --git a/icons/mob/light_overlays.dmi b/icons/mob/light_overlays.dmi index 9a8fd76d53b..25fe2c65bef 100644 Binary files a/icons/mob/light_overlays.dmi and b/icons/mob/light_overlays.dmi differ diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi index 8900521616a..3c541dc8ecc 100644 Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ