diff --git a/code/game/objects/items/storage/boxes/job_boxes.dm b/code/game/objects/items/storage/boxes/job_boxes.dm index a8ced4fdad48e..6ff9643702cb3 100644 --- a/code/game/objects/items/storage/boxes/job_boxes.dm +++ b/code/game/objects/items/storage/boxes/job_boxes.dm @@ -17,7 +17,7 @@ /obj/item/storage/box/survival/Initialize(mapload) . = ..() - if(crafted || !HAS_TRAIT(SSstation, STATION_TRAIT_PREMIUM_INTERNALS)) + if(crafted) //DOPPLER EDIT CHANGE - ORIGINAL: if(crafted || !HAS_TRAIT(SSstation, STATION_TRAIT_PREMIUM_INTERNALS)) return atom_storage.max_slots += 2 atom_storage.max_total_storage += 4 @@ -46,6 +46,11 @@ if(length(SSmapping.levels_by_trait(ZTRAIT_STATION)) > 1) new /obj/item/climbing_hook/emergency(src) + //DOPPLER EDIT ADDITION + new /obj/item/oxygen_candle(src) + new /obj/item/grenade/chem_grenade/budget_smart_metal(src) + //DOPPLER EDIT END + /obj/item/storage/box/survival/radio/PopulateContents() ..() // we want the survival stuff too. new /obj/item/radio/off(src) diff --git a/modular_doppler/modular_items/emergency_breach_equipment.dm b/modular_doppler/modular_items/emergency_breach_equipment.dm new file mode 100644 index 0000000000000..d718728949ccf --- /dev/null +++ b/modular_doppler/modular_items/emergency_breach_equipment.dm @@ -0,0 +1,61 @@ +#define OXY_CANDLE_RELEASE_TEMP (T20C + 10) // 30 celsius, it's hot. Will be even hotter with hotspot expose + +/obj/item/oxygen_candle + name = "oxygen candle" + desc = "A steel tube with the words 'OXYGEN - PULL CORD TO IGNITE' stamped on the side.\nA small label reads 'WARNING: NOT FOR LIGHTING USE. WILL IGNITE FLAMMABLE GASSES'" + icon = 'modular_doppler/modular_items/icons/oxygen_candle.dmi' + icon_state = "oxycandle" + w_class = WEIGHT_CLASS_SMALL + light_color = LIGHT_COLOR_LAVA // Very warm chemical burn + var/pulled = FALSE + var/processing = FALSE + var/processes_left = 40 + +/obj/item/oxygen_candle/attack_self(mob/user) + if(!pulled) + playsound(src, 'sound/effects/fuse.ogg', 75, 1) + balloon_alert(user, "cord pulled") + icon_state = "oxycandle_burning" + pulled = TRUE + processing = TRUE + START_PROCESSING(SSobj, src) + set_light(2) + +/obj/item/oxygen_candle/process() + var/turf/pos = get_turf(src) + if(!pos) + return + pos.hotspot_expose(500, 100) + pos.atmos_spawn_air("o2=5;TEMP=[OXY_CANDLE_RELEASE_TEMP]") + processes_left-- + if(processes_left <= 0) + set_light(0) + STOP_PROCESSING(SSobj, src) + processing = FALSE + name = "burnt oxygen candle" + icon_state = "oxycandle_burnt" + desc += "\nThis tube has exhausted its chemicals." + +/obj/item/oxygen_candle/Destroy() + if(processing) + STOP_PROCESSING(SSobj, src) + return ..() + +#undef OXY_CANDLE_RELEASE_TEMP + +/obj/item/grenade/chem_grenade/budget_smart_metal + name = "budget smart metal foam grenade" + desc = "Used for emergency sealing of hull breaches, while keeping areas accessible. This one came in a bulk pack a few years ago, and some of the ingredients have gone flat." + stage = GRENADE_READY + +/obj/item/grenade/chem_grenade/budget_smart_metal/Initialize(mapload) + . = ..() + var/obj/item/reagent_containers/cup/beaker/large/beaker_one = new(src) + var/obj/item/reagent_containers/cup/beaker/beaker_two = new(src) + + beaker_one.reagents.add_reagent(/datum/reagent/aluminium, 50) + beaker_two.reagents.add_reagent(/datum/reagent/smart_foaming_agent, 15) + beaker_two.reagents.add_reagent(/datum/reagent/toxin/acid/fluacid, 15) + + beakers += beaker_one + beakers += beaker_two diff --git a/modular_doppler/modular_items/icons/oxygen_candle.dmi b/modular_doppler/modular_items/icons/oxygen_candle.dmi new file mode 100644 index 0000000000000..5654fbd9d2f49 Binary files /dev/null and b/modular_doppler/modular_items/icons/oxygen_candle.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 006591ec4f5cd..4d047136317d3 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6981,6 +6981,7 @@ #include "modular_doppler\modular_items\aac_device.dm" #include "modular_doppler\modular_items\bettermed_overrides.dm" #include "modular_doppler\modular_items\conversion_kits.dm" +#include "modular_doppler\modular_items\emergency_breach_equipment.dm" #include "modular_doppler\modular_items\invisible_gear.dm" #include "modular_doppler\modular_items\shipchem_overrides.dm" #include "modular_doppler\modular_items\hairbrush\code\hairbrush.dm"