diff --git a/code/game/objects/tanks/jetpack.dm b/code/game/objects/tanks/jetpack.dm index 07034dcd94e..29470531879 100644 --- a/code/game/objects/tanks/jetpack.dm +++ b/code/game/objects/tanks/jetpack.dm @@ -1,8 +1,7 @@ - /obj/item/weapon/tank/jetpack - name = "Jetpack (Oxygen)" - desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution." - icon_state = "jetpack0" + name = "Jetpack (Empty)" + desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution." + icon_state = "jetpack" w_class = 4.0 item_state = "jetpack" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD @@ -16,7 +15,6 @@ ..() src.ion_trail = new /datum/effect/effect/system/ion_trail_follow() src.ion_trail.set_up(src) - src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return @@ -40,42 +38,29 @@ verb/toggle() set name = "Toggle Jetpack" set category = "Object" - src.on = !( src.on ) - if(src.type == /obj/item/weapon/tank/jetpack/void_jetpack) //Slight change added by me. i didn't make it an if-elseif because some of you might want to add other types of resprited packs :3 -Agouri - src.icon_state = text("voidjetpack[]", src.on) - else if(src.type == /obj/item/weapon/tank/jetpack/black_jetpack) - src.icon_state = text("black_jetpack[]", src.on) + on = !on + if(on) + icon_state = "[icon_state]-on" + ion_trail.start() else - src.icon_state = text("jetpack[]", src.on) - if(src.on) - src.ion_trail.start() - else - src.ion_trail.stop() + icon_state = initial(icon_state) + ion_trail.stop() return proc/allow_thrust(num, mob/living/user as mob) - if (!( src.on )) + if(!(src.on)) return 0 - if ((num < 0.005 || src.air_contents.total_moles() < num)) + if((num < 0.005 || src.air_contents.total_moles() < num)) src.ion_trail.stop() return 0 var/datum/gas_mixture/G = src.air_contents.remove(num) - if (G.oxygen >= 0.005) + var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins //fuck trace gases -Pete + if(allgases >= 0.005) return 1 - if (G.toxins > 0.001) - if (user) - var/d = G.toxins / 2 - d = min(abs(user.health + 100), d, 25) - user.take_organ_damage(0,d) - return (G.oxygen >= 0.0025 ? 0.5 : 0) - else - if (G.oxygen >= 0.0025) - return 0.5 - else - return 0 + del(G) return @@ -83,12 +68,31 @@ /obj/item/weapon/tank/jetpack/void_jetpack name = "Void Jetpack (Oxygen)" desc = "It works well in a void." - icon_state = "voidjetpack0" + icon_state = "voidjetpack" item_state = "jetpack-void" +/obj/item/weapon/tank/jetpack/blue_jetpack + name = "Jetpack (Oxygen)" + desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution." + icon_state = "jetpack" + item_state = "jetpack" + + New() + ..() + src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) + return + /obj/item/weapon/tank/jetpack/black_jetpack - name = "Black Jetpack (Oxygen)" - desc = "A black model of jetpacks." - icon_state = "black_jetpack0" + name = "Jetpack (Carbon Dioxide)" + desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals." + icon_state = "black_jetpack" item_state = "jetpack-black" + + New() + ..() + src.ion_trail = new /datum/effect/effect/system/ion_trail_follow() + src.ion_trail.set_up(src) + src.air_contents.oxygen = 0 + src.air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) + return \ No newline at end of file diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 1ea7a3781c5..36983c2da5c 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -329,7 +329,7 @@ proc/flush() flushing = 1 - flick("disposal-flush", src) + flick("[icon_state]-flush", src) var/wrapcheck = 0 var/obj/structure/disposalholder/H = new() // virtual holder object which actually @@ -490,6 +490,11 @@ update() return +//Red coloured disposals to indicate that they lead to space. +/obj/machinery/disposal/space + desc = "A pneumatic waste disposal unit, with the rim coloured red to indicate that it leads to space." + icon_state = "deathsposal" + // virtual disposal object // travels through pipes in lieu of actual items // contents will be items flushed by the disposal diff --git a/icons/obj/pipes/disposal.dmi b/icons/obj/pipes/disposal.dmi index 55debeebdf9..95ecaab8c26 100644 Binary files a/icons/obj/pipes/disposal.dmi and b/icons/obj/pipes/disposal.dmi differ diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi index cc0e0bbcdb8..f2ba9264e48 100644 Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 7a48c4b8c9a..963582832f4 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -4514,7 +4514,7 @@ "bIP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bIQ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bIR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bIS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) +"bIS" = (/obj/structure/disposalpipe/trunk,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/disposal/space,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bIT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/apmaint) "bIU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) "bIV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) @@ -5013,7 +5013,7 @@ "bSu" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "bSv" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/flu_virion,/obj/item/weapon/reagent_containers/glass/bottle/cold{pixel_x = 3; pixel_y = 3},/obj/item/device/radio/intercom{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bSw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bSx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bSx" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/space,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bSy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/medical/virology) "bSz" = (/obj/machinery/door/window{dir = 1; name = "Isolation A"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bSA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) @@ -5049,7 +5049,7 @@ "bTe" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) "bTf" = (/obj/structure/grille,/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "bTg" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"bTh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) +"bTh" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal/space,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "bTi" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/medical/virology) "bTj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/item/weapon/cleaner,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bTk" = (/obj/machinery/door/window{dir = 8; icon = 'windoor.dmi'; name = "Virology Holding Rooms"; req_access_txt = "39"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)