diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index 4c75849e0f9..477a9066cd7 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -241,6 +241,32 @@ /obj/item/rig_assembly/industrial = /obj/item/rig_assembly/industrial/himeo ) +/obj/item/voidsuit_modkit/newgibson + name = "new gibsonite EVA suit modkit" + contained_sprite = TRUE + icon = 'icons/obj/mining_contained.dmi' + icon_state = "newgibson_kit" + item_state = "newgibson_kit" + desc = "A simple cardboard box containing the requisition forms, permits, and decal kits for New Gibson EVA equipment." + + suit_options = list( + /obj/item/clothing/suit/space/void/mining = /obj/item/clothing/suit/space/void/mining/newgibson, + /obj/item/clothing/head/helmet/space/void/mining = /obj/item/clothing/head/helmet/space/void/mining/newgibson, + + /obj/item/clothing/suit/space/void/ops = /obj/item/clothing/suit/space/void/ops/newgibson, + /obj/item/clothing/head/helmet/space/void/ops = /obj/item/clothing/head/helmet/space/void/ops/newgibson, + + /obj/item/clothing/suit/space/void/engineering = /obj/item/clothing/suit/space/void/engineering/newgibson, + /obj/item/clothing/head/helmet/space/void/engineering = /obj/item/clothing/head/helmet/space/void/engineering/newgibson, + + /obj/item/clothing/suit/space/void/atmos = /obj/item/clothing/suit/space/void/atmos/newgibson, + /obj/item/clothing/head/helmet/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos/newgibson, + ) + +/obj/item/voidsuit_modkit/newgibson/mechanics_hints(mob/user, distance, is_adjacent) + . += ..() + . += "This modkit can be used to convert an industrial or engineering hardsuit into a New Gibsonite variant." + /obj/item/voidsuit_modkit/ceres_lance_unathi name = "\improper Ceres' Lance voidsuit kit" desc = "A highly complicated device that allows you to convert a Ceres' Lancer suit into its Unathi-fitted counterpart and vice versa. Practical!" diff --git a/code/modules/client/preference_setup/loadout/items/accessories.dm b/code/modules/client/preference_setup/loadout/items/accessories.dm index ebdd7fa5a0f..9839411d766 100644 --- a/code/modules/client/preference_setup/loadout/items/accessories.dm +++ b/code/modules/client/preference_setup/loadout/items/accessories.dm @@ -645,6 +645,12 @@ ABSTRACT_TYPE(/datum/gear/accessory) necklace_uncolored["large silver pendant"] = /obj/item/clothing/accessory/necklace/colorable/twopiece/pendant/silver/fat gear_tweaks += new /datum/gear_tweak/path(necklace_uncolored) +/datum/gear/accessory/newgibson_uraniumglass_necklace + display_name = "new gibsonite uranium glass necklace" + path = /obj/item/clothing/accessory/newgibson_uraniumglass_necklace + flags = GEAR_HAS_DESC_SELECTION + origin_restriction = list(/singleton/origin_item/origin/new_gibson, /singleton/origin_item/origin/skrell_biesel, /singleton/origin_item/origin/ipc_tau_ceti) + /datum/gear/accessory/visegradi_sweater display_name = "visegradi patterned sweater" path = /obj/item/clothing/accessory/sweater/visegradi diff --git a/code/modules/client/preference_setup/loadout/items/gloves.dm b/code/modules/client/preference_setup/loadout/items/gloves.dm index ad20261b920..259efc16394 100644 --- a/code/modules/client/preference_setup/loadout/items/gloves.dm +++ b/code/modules/client/preference_setup/loadout/items/gloves.dm @@ -68,6 +68,12 @@ ringtype["ring, plastic"] = /obj/item/clothing/ring/material/plastic gear_tweaks += new /datum/gear_tweak/path(ringtype) +/datum/gear/gloves/ring/newgibson_uraniumglass_ring + display_name = "new gibsonite uranium glass ring" + path = /obj/item/clothing/ring/newgibson_uraniumglass_ring + flags = GEAR_HAS_DESC_SELECTION + origin_restriction = list(/singleton/origin_item/origin/new_gibson, /singleton/origin_item/origin/skrell_biesel, /singleton/origin_item/origin/ipc_tau_ceti) + /datum/gear/gloves/circuitry display_name = "gloves, circuitry (empty)" path = /obj/item/clothing/gloves/circuitry diff --git a/code/modules/client/preference_setup/loadout/items/mask.dm b/code/modules/client/preference_setup/loadout/items/mask.dm index 0185ff12854..d67852bc78f 100644 --- a/code/modules/client/preference_setup/loadout/items/mask.dm +++ b/code/modules/client/preference_setup/loadout/items/mask.dm @@ -31,3 +31,9 @@ path = /obj/item/clothing/mask/breath/gadpathur flags = GEAR_HAS_DESC_SELECTION origin_restriction = list(/singleton/origin_item/origin/gadpathur) + +/datum/gear/mask/reade_breath_mask + display_name = "readic personalised oxygen mask" + path = /obj/item/clothing/mask/breath/reade + flags = GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION + origin_restriction = list(/singleton/origin_item/origin/reade) diff --git a/code/modules/client/preference_setup/loadout/items/suit.dm b/code/modules/client/preference_setup/loadout/items/suit.dm index a4f4063e05d..8b0c64e380a 100644 --- a/code/modules/client/preference_setup/loadout/items/suit.dm +++ b/code/modules/client/preference_setup/loadout/items/suit.dm @@ -660,3 +660,26 @@ ABSTRACT_TYPE(/datum/gear/suit/miscellaneous) description = "A heavy threaded tweed gray jacket. For a different sort of Gentleman." path = /obj/item/clothing/suit/storage/toggle/wizrobe/gentlecoat flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION + +/datum/gear/suit/leather/reade_racing_jacket + display_name = "reade extreme racing jackets selection" + description = "A selection of racing jackets often seen on those at once involved in the underground racing scenes of Reade." + path = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION + origin_restriction = list(/singleton/origin_item/origin/reade, /singleton/origin_item/origin/new_gibson, /singleton/origin_item/origin/skrell_biesel, /singleton/origin_item/origin/ipc_tau_ceti) + +/datum/gear/suit/leather/reade_racing_jacket/New() + ..() + var/list/jackets = list() + jackets["racing jacket, no decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing + jackets["racing jacket, black-and-white checkers decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/checker + jackets["racing jacket, eagle decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/eagle + jackets["racing jacket, eagle decal variant"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/eagle2 + jackets["racing jacket, skull decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/skull + jackets["racing jacket, flame decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/flames + jackets["racing jacket, knife decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/knife + jackets["racing jacket, crown decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/crown + jackets["racing jacket, zombie decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/zombie + jackets["racing jacket, cat decal"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/cat + + gear_tweaks += new /datum/gear_tweak/path(jackets) diff --git a/code/modules/client/preference_setup/loadout/items/utility.dm b/code/modules/client/preference_setup/loadout/items/utility.dm index 90315350fa7..6377b3d246f 100644 --- a/code/modules/client/preference_setup/loadout/items/utility.dm +++ b/code/modules/client/preference_setup/loadout/items/utility.dm @@ -116,6 +116,12 @@ allowed_roles = list("Shaft Miner", "Operations Manager", "Ship Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel", "Operations Personnel") origin_restriction = list(/singleton/origin_item/origin/himeo, /singleton/origin_item/origin/ipc_himeo, /singleton/origin_item/origin/free_council) +/datum/gear/utility/newgibson_voidsuit_kit + display_name = "new gibsonite voidsuit kit" + path = /obj/item/voidsuit_modkit/newgibson + allowed_roles = list("Shaft Miner", "Operations Manager", "Ship Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel", "Operations Personnel") + origin_restriction = list(/singleton/origin_item/origin/new_gibson, /singleton/origin_item/origin/skrell_biesel) //A New Gibsonite tajara origin will also need to be added here if/when one is made. + // See the IPC-exclusive tab for the human variant. /datum/gear/utility/assunzione_kit display_name = "assunzionii voidsuit kit" diff --git a/code/modules/client/preference_setup/loadout/items/wrists.dm b/code/modules/client/preference_setup/loadout/items/wrists.dm index d2febc234d7..b1ef86c0741 100644 --- a/code/modules/client/preference_setup/loadout/items/wrists.dm +++ b/code/modules/client/preference_setup/loadout/items/wrists.dm @@ -18,6 +18,12 @@ display_name = "slap bracelet" path = /obj/item/clothing/wrists/slap +/datum/gear/wrists/newgibson_uraniumglass_bracelet + display_name = "new gibsonite uranium glass bracelet" + path = /obj/item/clothing/wrists/newgibson_uraniumglass_bracelet + flags = GEAR_HAS_DESC_SELECTION + origin_restriction = list(/singleton/origin_item/origin/new_gibson, /singleton/origin_item/origin/skrell_biesel, /singleton/origin_item/origin/ipc_tau_ceti) + /datum/gear/wrists/watch display_name = "watch selection" description = "A selection of watches." diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 206d77251af..8ec65f0de4f 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -43,3 +43,15 @@ contained_sprite = TRUE species_restricted = list(BODYTYPE_SKRELL) adjustable = FALSE + +/obj/item/clothing/mask/breath/reade + name = "readic breath mask" + desc = "A personalised breath mask, with design features commonly seen from Reade. It is designed to be both practical and stylish." + icon = 'icons/obj/item/clothing/mask/breath/human/biesel/reade_breath_mask.dmi' + icon_state = "reademask" + item_state = "reademask" + worn_overlay = "airtube" + contained_sprite = TRUE + has_accents = TRUE + build_from_parts = TRUE + diff --git a/code/modules/clothing/rings/rings.dm b/code/modules/clothing/rings/rings.dm index 9f48bbd7bce..23591e5e29d 100644 --- a/code/modules/clothing/rings/rings.dm +++ b/code/modules/clothing/rings/rings.dm @@ -11,6 +11,15 @@ if(ishuman(A) && user != A) user.visible_message(SPAN_WARNING("\The [user] gets down on one knee, presenting \the [src] to [A]."), SPAN_WARNING("You get down on one knee, presenting \the [src] to [A].")) +/obj/item/clothing/ring/newgibson_uraniumglass_ring + name = "uranium glass ring" + desc = "A ring made out of a radiofluorescent, green, uranium glass. It is only marginally radioactive. Commonly seen worn by New Gibsonites." + icon = 'icons/obj/item/clothing/gloves/human/biesel/newgibson_uraniumglass_ring.dmi' + icon_state = "newgibson_ring" + item_state = "newgibson_ring" + plane = ABOVE_LIGHTING_PLANE + contained_sprite = TRUE + //Reagent Rings /obj/item/clothing/ring/reagent diff --git a/code/modules/clothing/spacesuits/void/misc.dm b/code/modules/clothing/spacesuits/void/misc.dm index f98cfd05dfb..7ec6b82a8da 100644 --- a/code/modules/clothing/spacesuits/void/misc.dm +++ b/code/modules/clothing/spacesuits/void/misc.dm @@ -1175,3 +1175,140 @@ light_range = 6 light_color = "#FFFFFF" siemens_coefficient = 0.35 + +// New Gibsonite Voidsuits +/obj/item/clothing/head/helmet/space/void/mining/newgibson + name = "new gibsonite mining voidsuit helmet" + desc = "A sleek and high-tech space helmet fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry.\ + Much of the advanced sensor equipment usually installed appears to have been stripped out. It has splotches of fluorescent uranium paint on it, \ + from a past or current owner. Commonly seen in use by the mining and EVA engineering teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + icon_state = "newgibson_helm" + item_state = "newgibson_helm" + item_state_slots = list( + slot_l_hand_str = "mining_helm", + slot_r_hand_str = "mining_helm" + ) + + light_overlay = "helmet_light_dual" + + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/suit/space/void/mining/newgibson + name = "new gibsonite mining voidsuit" + desc = "A sleek and high-tech space suit fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry. \ + It has splotches of fluorescent uranium paint on it, from a past or current owner. Commonly seen in use by the mining teams of New Gibson \ + or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson" + icon_state = "newgibson" + item_state_slots = list( + slot_l_hand_str = "mining", + slot_r_hand_str = "mining" + ) + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/head/helmet/space/void/engineering/newgibson + name = "new gibsonite engineering voidsuit helmet" + desc = "A sleek and high-tech space helmet fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry.\ + Much of the advanced sensor equipment usually installed appears to have been stripped out. It has splotches of fluorescent uranium paint on it, \ + from a past or current owner. Commonly seen in use by the mining and EVA engineering teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson_helm" + icon_state = "newgibson_helm" + light_overlay = "helmet_light_dual" + item_state_slots = list( + slot_l_hand_str = "engineering_helm", + slot_r_hand_str = "engineering_helm" + ) + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/suit/space/void/engineering/newgibson + name = "new gibsonite engineering voidsuit" + desc = "A sleek and high-tech space suit fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry. \ + It has splotches of fluorescent uranium paint on it, from a past or current owner. Commonly seen in use by the mining teams of New Gibson \ + or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson" + icon_state = "newgibson" + item_state_slots = list( + slot_l_hand_str = "engineering", + slot_r_hand_str = "engineering" + ) + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/head/helmet/space/void/atmos/newgibson + name = "new gibsonite atmospherics voidsuit helmet" + desc = "A sleek and high-tech space helmet fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry.\ + Much of the advanced sensor equipment usually installed appears to have been stripped out. It has splotches of fluorescent uranium paint on it, \ + from a past or current owner. Commonly seen in use by the mining and EVA engineering teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson_helm" + icon_state = "newgibson_helm" + item_state_slots = list( + slot_l_hand_str = "atmos_helm", + slot_r_hand_str = "atmos_helm" + ) + + light_overlay = "helmet_light_dual" + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/suit/space/void/atmos/newgibson + name = "new gibsonite atmospherics voidsuit" + desc = "A sleek and high-tech space suit fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry. \ + It has splotches of fluorescent uranium paint on it, from a past or current owner. Commonly seen in use by the EVA mining, engineering, and courier teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson" + icon_state = "newgibson" + item_state_slots = list( + slot_l_hand_str = "atmos", + slot_r_hand_str = "atmos" + ) + + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/head/helmet/space/void/ops/newgibson + name = "new gibsonite operations voidsuit helmet" + desc = "A sleek and high-tech space helmet fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry.\ + Much of the advanced sensor equipment usually installed appears to have been stripped out. It has splotches of fluorescent uranium paint on it, \ + from a past or current owner. Commonly seen in use by the EVA mining, engineering, and courier teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson_helm" + icon_state = "newgibson_helm" + item_state_slots = list( + slot_l_hand_str = "hangartech_helm", + slot_r_hand_str = "hangartech_helm" + ) + + light_overlay = "helmet_light_dual" + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) + +/obj/item/clothing/suit/space/void/ops/newgibson + name = "new gibsonite operations voidsuit" + desc = "A sleek and high-tech space suit fitted with advanced life support systems and reactive systems enhanced with phoronic circuitry. \ + It has splotches of fluorescent uranium paint on it, from a past or current owner. Commonly seen in use by the EVA mining, engineering, and courier teams of New Gibson or the small satellites of Reade." + icon = 'icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi' + item_state = "newgibson" + icon_state = "newgibson" + item_state_slots = list( + slot_l_hand_str = "hangartech", + slot_r_hand_str = "hangartech" + ) + + species_restricted = list(BODYTYPE_HUMAN) + icon_supported_species_tags = list("taj", "skr") + refittable_species = list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 5fdd6f660d1..ea9bce08c2d 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -263,6 +263,147 @@ icon_state = "mold_alt" item_state = "mold_alt" +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing + name = "reade extreme racing jacket" + desc = "A synthleather racing jacket. \ + The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. \ + It can be tightly strapped and zipped up tight to offer some void protection to the torso, and a thick layer of fire resistant material lines the inside of the \ + jacket — still not the safest to get into an accident in." + icon = 'icons/obj/item/clothing/suit/storage/toggle/human/biesel/reade_racing_jacket.dmi' + icon_state = "racing" + item_state = "racing" + has_accents = TRUE + build_from_parts = TRUE + contained_sprite = TRUE + + // This is a *space* extreme racing jacket so, it will have some moderate protection from some space environmental hazards, but nothing that replaces the need to source proper voidsuits. + // Legs/head/hands are not protected so, you will still be quickly disabled by void barotrauma if not wearing other PPE. + gas_transfer_coefficient = 0.85 + siemens_coefficient = 0.85 + heat_protection = UPPER_TORSO|LOWER_TORSO|ARMS + max_heat_protection_temperature = T0C + 40 + fire_resist = T0C + 40 + max_pressure_protection = 101.3 + + /// Determines if and what decal is applied to the back of the jacket. + var/decal + + /// Boolean. Has the jacket been fastened tight for some moderate void/heat protection? + var/voidproofed = FALSE + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/mechanics_hints(mob/user, distance, is_adjacent) + . += ..() + . += "This jacket can be fastened to provide temporary protection in near-void conditions and moderately heated environments." + . += "It is not a suitable replacement for a proper space suit as it does not offer total void protection, may come loose on its own, and does not cover the entire body." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/get_mob_overlay(var/mob/living/carbon/human/human, var/mob_icon, var/mob_state, var/slot) + var/image/I = ..() + if(equip_slot == slot_wear_suit) + if(decal) + var/image/decal_overlay = overlay_image(icon, decal, flags = RESET_COLOR) + I.AddOverlays(decal_overlay) + return I + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/verb/voidproof_toggle_verb() + set name = "Fasten/Unfasten Racing Jacket Straps" + set category = "Object" + set src in usr + + if(use_check_and_message(usr)) + return + if(!ismob(src.loc)) + to_chat(usr, SPAN_WARNING("You need to be wearing the jacket to fasten it tight")) + return + if(opened) + to_chat(usr, SPAN_WARNING("The jacket must be zipped up first!")) + return + + if(!do_after(usr, 2 SECONDS)) + return + + if(voidproofed) + usr.visible_message(SPAN_NOTICE("[usr] unfastens the straps of their racing jacket."), + SPAN_NOTICE("You unfasten the straps of your racing jacket. Much comfier and more mobile!")) + playsound(usr, 'sound/items/zip.ogg', 50, 1) + loosen_straps(usr) + else + usr.visible_message(SPAN_NOTICE("[usr] fastens the straps of their racing jacket tight."), + SPAN_NOTICE("You fasten the straps of your racing jacket tight, providing some moderate void/heat protection. This is going to slow you down a bit...")) + playsound(usr, 'sound/items/zip.ogg', 50, 1) + fasten_straps(usr) + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/proc/fasten_straps(mob/user) + // Buffed pressure/gas transfer/heat protection + min_pressure_protection = 5 // Protects against all but a hard void (and even then, your hands/feet/head aren't protected) + gas_transfer_coefficient = 0.20 + max_heat_protection_temperature = T0C + 200 + fire_resist = T0C + 200 + max_pressure_protection = SPACE_SUIT_MAX_PRESSURE*0.8 + slowdown = 0.2 // cause its more umcomfortable, i guess? slightly better than a softsuit + voidproofed = TRUE + + // After a while, the straps automatically loosen. + addtimer(CALLBACK(src, PROC_REF(straps_come_loose), user), rand(60, 120) SECONDS) + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/proc/loosen_straps(mob/user) + min_pressure_protection = initial(min_pressure_protection) + gas_transfer_coefficient = initial(gas_transfer_coefficient) + max_heat_protection_temperature = initial(max_heat_protection_temperature) + fire_resist = initial(fire_resist) + max_pressure_protection = initial(max_pressure_protection) + slowdown = initial(slowdown) + voidproofed = FALSE + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/proc/straps_come_loose(var/mob/user) + if(voidproofed) + to_chat(user, SPAN_WARNING("You feel a strap of the racing jacket come loose!")) + min_pressure_protection = initial(min_pressure_protection) + gas_transfer_coefficient = initial(gas_transfer_coefficient) + max_heat_protection_temperature = initial(max_heat_protection_temperature) + voidproofed = FALSE + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/checker + decal = "decal_checker" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a checkered pattern printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/eagle + decal = "decal_eagle" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has an eagle printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/eagle2 + decal = "decal_eagle2" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has an eagle printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/skull + decal = "decal_skull" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a skull printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/flames + decal = "decal_flames" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a flame decal printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/knife + decal = "decal_knife" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a bloodied knife printed on the back, much like the notorious The Killer displayed." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/crown + decal = "decal_crown" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a crown printed on the back, much like the legendary The Monarch displayed." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/zombie + decal = "decal_zombie" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a zombie head decal printed on the back, much like the infamous The Zombie displayed." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/cat + decal = "decal_cat" + desc = "A synthetic leather racing jacket with a thin layer of protective padding. The jacket has various patches and insignia of unsavoury, underground racing groups and sponsors based on and around Reade stitched or printed onto it. It has a cat head printed on the back." + +/obj/item/clothing/suit/storage/toggle/leather_jacket/reade_racing/random/Initialize() + . = ..() + decal = pick("decal_checker", "decal_eagle", "decal_eagle2", "decal_skull", "decal_flames", "decal_knife", "decal_crown", "decal_zombie", "decal_cat") + color = get_random_colour(lower = 150) + accent_color = get_random_colour(1) + //This one has buttons for some reason /obj/item/clothing/suit/storage/toggle/brown_jacket name = "leather jacket" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index acfa9f3a04f..fa63d2ea21e 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -1454,3 +1454,18 @@ I.plane = ABOVE_LIGHTING_PLANE I.appearance_flags |= KEEP_APART return I + +/obj/item/clothing/accessory/newgibson_uraniumglass_necklace + name = "uranium glass bead necklace" + desc = "A beaded necklace made out of a radiofluorescent, green, uranium glass. It is only marginally radioactive. Commonly seen worn by New Gibsonites." + icon = 'icons/obj/item/clothing/accessory/human/biesel/newgibson_uraniumglass_necklace.dmi' + icon_state = "newgibson_necklace" + item_state = "newgibson_necklace" + plane = ABOVE_LIGHTING_PLANE + contained_sprite = TRUE + +/obj/item/clothing/accessory/newgibson_uraniumglass_necklace/get_accessory_mob_overlay(var/mob/living/carbon/human/H, var/force = FALSE) + var/image/I = ..() + I.plane = ABOVE_LIGHTING_PLANE + I.appearance_flags |= KEEP_APART + return I diff --git a/code/modules/clothing/wrists/wrists.dm b/code/modules/clothing/wrists/wrists.dm index 0c715a050aa..ef76118a3ec 100644 --- a/code/modules/clothing/wrists/wrists.dm +++ b/code/modules/clothing/wrists/wrists.dm @@ -111,3 +111,18 @@ desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with ruby-red gems, and made of REAL faux gold." icon_state = "ruby_bracers" item_state = "ruby_bracers" + +/obj/item/clothing/wrists/newgibson_uraniumglass_bracelet + name = "uranium glass bracelet" + desc = "An enamelled, radiofluorescent uranium glass bracelet. Only marginally radioactive. Commonly seen worn on New Gibsonites." + icon = 'icons/obj/item/clothing/wrists/human/biesel/newgibson_uraniumglass_bracelet.dmi' + icon_state = "newgibson_bracelet" + item_state = "newgibson_bracelet" + plane = ABOVE_LIGHTING_PLANE + contained_sprite = TRUE + +/obj/item/clothing/wrists/newgibson_uraniumglass_bracelet/get_mob_overlay(var/mob/living/carbon/human/H) + var/image/I = ..() + I.plane = ABOVE_LIGHTING_PLANE + I.appearance_flags |= KEEP_APART + return I diff --git a/html/changelogs/kermit-reade-newgibson-origin-items.yml b/html/changelogs/kermit-reade-newgibson-origin-items.yml new file mode 100644 index 00000000000..a5094c8fced --- /dev/null +++ b/html/changelogs/kermit-reade-newgibson-origin-items.yml @@ -0,0 +1,9 @@ +author: wezzy/alsoandanswer (sprites), kermit (code) + +delete-after: True + +changes: + - rscadd: "Adds customisable Readic racing jackets." + - rscadd: "Adds New Gibsonite uranium accessories." + - rscadd: "Adds a New Gibson mining/engineering voidsuit with a modkit." + - rscadd: "Adds a personalised Readic breath mask." diff --git a/icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi b/icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi new file mode 100644 index 00000000000..c01362d86c4 Binary files /dev/null and b/icons/obj/clothing/voidsuit/newgibson_voidsuit.dmi differ diff --git a/icons/obj/item/clothing/accessory/human/biesel/newgibson_uraniumglass_necklace.dmi b/icons/obj/item/clothing/accessory/human/biesel/newgibson_uraniumglass_necklace.dmi new file mode 100644 index 00000000000..f14a9875677 Binary files /dev/null and b/icons/obj/item/clothing/accessory/human/biesel/newgibson_uraniumglass_necklace.dmi differ diff --git a/icons/obj/item/clothing/gloves/human/biesel/newgibson_uraniumglass_ring.dmi b/icons/obj/item/clothing/gloves/human/biesel/newgibson_uraniumglass_ring.dmi new file mode 100644 index 00000000000..4fef9844e44 Binary files /dev/null and b/icons/obj/item/clothing/gloves/human/biesel/newgibson_uraniumglass_ring.dmi differ diff --git a/icons/obj/item/clothing/mask/breath/human/biesel/reade_breath_mask.dmi b/icons/obj/item/clothing/mask/breath/human/biesel/reade_breath_mask.dmi new file mode 100644 index 00000000000..e658fac19a9 Binary files /dev/null and b/icons/obj/item/clothing/mask/breath/human/biesel/reade_breath_mask.dmi differ diff --git a/icons/obj/item/clothing/suit/storage/toggle/human/biesel/reade_racing_jacket.dmi b/icons/obj/item/clothing/suit/storage/toggle/human/biesel/reade_racing_jacket.dmi new file mode 100644 index 00000000000..b24e9d5b43e Binary files /dev/null and b/icons/obj/item/clothing/suit/storage/toggle/human/biesel/reade_racing_jacket.dmi differ diff --git a/icons/obj/item/clothing/wrists/human/biesel/newgibson_uraniumglass_bracelet.dmi b/icons/obj/item/clothing/wrists/human/biesel/newgibson_uraniumglass_bracelet.dmi new file mode 100644 index 00000000000..8b57ab26732 Binary files /dev/null and b/icons/obj/item/clothing/wrists/human/biesel/newgibson_uraniumglass_bracelet.dmi differ diff --git a/icons/obj/mining_contained.dmi b/icons/obj/mining_contained.dmi index 1332882783e..49993a3415b 100644 Binary files a/icons/obj/mining_contained.dmi and b/icons/obj/mining_contained.dmi differ