Merge pull request #11106 from Kelenius/jetpackFixes

Fixes for jetpacks and gas tanks
This commit is contained in:
GinjaNinja32
2015-09-15 15:06:58 +01:00
2 changed files with 25 additions and 43 deletions

View File

@@ -18,12 +18,14 @@
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow() src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail.set_up(src) src.ion_trail.set_up(src)
/obj/item/weapon/tank/jetpack/examine(mob/user) /obj/item/weapon/tank/jetpack/Destroy()
if(!..(user, 0)) qdel(ion_trail)
return ..()
if(air_contents.gas["oxygen"] < 10) /obj/item/weapon/tank/jetpack/examine(mob/user)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>") . = ..()
if(air_contents.total_moles < 5)
user << "<span class='danger'>The meter on \the [src] indicates you are almost out of gas!</span>"
playsound(user, 'sound/effects/alert.ogg', 50, 1) playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/weapon/tank/jetpack/verb/toggle_rockets() /obj/item/weapon/tank/jetpack/verb/toggle_rockets()
@@ -101,21 +103,9 @@
/obj/item/weapon/tank/jetpack/carbondioxide/New() /obj/item/weapon/tank/jetpack/carbondioxide/New()
..() ..()
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail.set_up(src)
//src.air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
air_contents.adjust_gas("carbon_dioxide", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) air_contents.adjust_gas("carbon_dioxide", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return return
/obj/item/weapon/tank/jetpack/carbondioxide/examine(mob/user)
if(!..(0))
return
if(air_contents.gas["carbon_dioxide"] < 10)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of carbon dioxide!</B>")
playsound(user, 'sound/effects/alert.ogg', 50, 1)
return
/obj/item/weapon/tank/jetpack/rig /obj/item/weapon/tank/jetpack/rig
name = "jetpack" name = "jetpack"
var/obj/item/weapon/rig/holder var/obj/item/weapon/rig/holder

View File

@@ -40,32 +40,24 @@
..() ..()
/obj/item/weapon/tank/examine(mob/user) /obj/item/weapon/tank/examine(mob/user)
var/obj/icon = src . = ..(user, 0)
if (istype(src.loc, /obj/item/assembly)) if(.)
icon = src.loc var/celsius_temperature = air_contents.temperature - T0C
if (!in_range(src, user)) var/descriptive
if (icon == src) user << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer." switch(celsius_temperature)
return if(300 to INFINITY)
descriptive = "furiously hot"
var/celsius_temperature = src.air_contents.temperature-T0C if(100 to 300)
var/descriptive descriptive = "hot"
if(80 to 100)
if (celsius_temperature < 20) descriptive = "warm"
descriptive = "cold" if(40 to 80)
else if (celsius_temperature < 40) descriptive = "lukewarm"
descriptive = "room temperature" if(20 to 40)
else if (celsius_temperature < 80) descriptive = "room temperature"
descriptive = "lukewarm" else
else if (celsius_temperature < 100) descriptive = "cold"
descriptive = "warm" user << "<span class='notice'>\The [src] feels [descriptive].</span>"
else if (celsius_temperature < 300)
descriptive = "hot"
else
descriptive = "furiously hot"
user << "\blue \The \icon[icon][src] feels [descriptive]"
return
/obj/item/weapon/tank/blob_act() /obj/item/weapon/tank/blob_act()
if(prob(50)) if(prob(50))