Atmos analyser now fit on belt.

Emergency oxygentank's volume was reduced, initial pressure was increased, distribution pressure was set to 21.
Internals icon was fixed.
Also, now you can activate weared internals by clicking on icon.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@763 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
rastaf.zero@gmail.com
2011-01-04 00:35:40 +00:00
parent d2bb7d63ba
commit a233cf5f25
6 changed files with 62 additions and 22 deletions

View File

@@ -133,7 +133,7 @@
icon_state = "atmos"
item_state = "analyzer"
w_class = 2.0
flags = FPRINT | TABLEPASS| CONDUCT
flags = FPRINT | TABLEPASS| CONDUCT | ONBELT
throwforce = 5
throw_speed = 4
throw_range = 20
@@ -1039,6 +1039,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
throwforce = 10.0
throw_speed = 1
throw_range = 4
var/volume = 70
/obj/item/weapon/tank/anesthetic
name = "Gas Tank (Sleeping Agent)"
@@ -1051,10 +1052,13 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
w_class = 4.0
item_state = "jetpack"
var/datum/effects/system/ion_trail_follow/ion_trail
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
//volume = 140 //jetpack sould be larger, but then it will never deplete -rastaf0
/obj/item/weapon/tank/oxygen
name = "Gas Tank (Oxygen)"
icon_state = "oxygen"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
/obj/item/weapon/tank/air
name = "Gas Tank (Air Mix)"
@@ -1070,6 +1074,8 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
flags = FPRINT | TABLEPASS | ONBELT | CONDUCT
w_class = 2.5
force = 4.0
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
volume = 10 //yeah, SO tiny
/obj/item/weapon/teleportation_scroll
name = "Teleportation Scroll"

View File

@@ -10,7 +10,7 @@
var/release_pressure = ONE_ATMOSPHERE
var/color = "yellow"
var/labeled = 0
var/is_labeled = 0
var/filled = 0.5
pressure_resistance = 7*ONE_ATMOSPHERE
var/temperature_resistance = 1000 + T0C
@@ -20,32 +20,32 @@
name = "Canister: \[N2O\]"
icon_state = "redws"
color = "redws"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/nitrogen
name = "Canister: \[N2\]"
icon_state = "red"
color = "red"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/oxygen
name = "Canister: \[O2\]"
icon_state = "blue"
color = "blue"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/toxins
name = "Canister \[Toxin (Bio)\]"
icon_state = "orange"
color = "orange"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
name = "Canister \[CO2\]"
icon_state = "black"
color = "black"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/air
name = "Canister \[Air\]"
icon_state = "grey"
color = "grey"
labeled = 1
is_labeled = 1
/obj/machinery/portable_atmospherics/canister/update_icon()
src.overlays = 0
@@ -167,7 +167,7 @@
holding_text = {"<BR><B>Tank Pressure</B>: [holding.air_contents.return_pressure()] KPa<BR>
<A href='?src=\ref[src];remove_tank=1'>Remove Tank</A><BR>
"}
var/output_text = {"<TT><B>[name]</B>[!labeled?" <A href='?src=\ref[src];relabel=1'><small>relabel</small></a>":""]<BR>
var/output_text = {"<TT><B>[name]</B>[!is_labeled?" <A href='?src=\ref[src];relabel=1'><small>relabel</small></a>":""]<BR>
Pressure: [air_contents.return_pressure()] KPa<BR>
Port Status: [(connected_port)?("Connected"):("Disconnected")]
[holding_text]
@@ -205,7 +205,7 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
release_pressure = max(ONE_ATMOSPHERE/10, release_pressure+diff)
if (href_list["relabel"])
if (!labeled)
if (!is_labeled)
var/list/colors = list(\
"\[N2O\]" = "redws", \
"\[N2\]" = "red", \
@@ -220,7 +220,7 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
src.color = colors[label]
src.icon_state = colors[label]
src.name = "Canister: [label]"
labeled = 1
is_labeled = 1
src.updateUsrDialog()
src.add_fingerprint(usr)
update_icon()

View File

@@ -46,10 +46,14 @@
var/mob/living/carbon/location = loc
if(location.internal == src)
usr << "\blue You close the tank release valve."
if (location.internals)
location.internals.icon_state = "internal0"
else
if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
location.internal = src
usr << "\blue You open the tank valve."
if (location.internals)
location.internals.icon_state = "internal1"
else
usr << "\blue The valve immediately closes."
@@ -201,7 +205,7 @@
..()
src.air_contents = new /datum/gas_mixture()
src.air_contents.volume = 70 //liters
src.air_contents.volume = volume //liters
src.air_contents.temperature = T20C
processing_items.Add(src)
@@ -247,27 +251,27 @@
/obj/item/weapon/tank/air/New()
..()
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
src.air_contents.nitrogen = (6*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
src.air_contents.nitrogen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD
return
/obj/item/weapon/tank/oxygen/New()
..()
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/emergency_oxygen/New()
..()
src.air_contents.oxygen = (1*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/jetpack/New()
..()
src.ion_trail = new /datum/effects/system/ion_trail_follow()
src.ion_trail.set_up(src)
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/jetpack/verb/toggle()

View File

@@ -2448,17 +2448,24 @@
if (src.target.internal)
src.target.internal.add_fingerprint(src.source)
src.target.internal = null
if (src.target.internals)
src.target.internals.icon_state = "internal0"
else
if (src.target.internal)
src.target.internal = null
if (!( istype(src.target.wear_mask, /obj/item/clothing/mask) ))
return
else
if (istype(src.target.back, /obj/item/weapon/tank))
src.target.internal = src.target.back
else if (istype(src.target.s_store, /obj/item/weapon/tank))
src.target.internal = src.target.s_store
else if (istype(src.target.belt, /obj/item/weapon/tank))
src.target.internal = src.target.belt
if (src.target.internal)
for(var/mob/M in viewers(src.target, 1))
M.show_message(text("[] is now running on internals.", src.target), 1)
src.target.internal.add_fingerprint(src.source)
if (src.target.internals)
src.target.internals.icon_state = "internal1"
else
if(src.source)
src.source.update_clothing()

View File

@@ -250,8 +250,8 @@
if (!wear_mask || !(wear_mask.flags & MASKINTERNALS) )
internal = null
if(internal)
if (src.internals)
src.internals.icon_state = "internal1"
//if (src.internals) //should be unnecessary, uncomment if it isn't. -raftaf0
// src.internals.icon_state = "internal1"
return internal.remove_air_volume(volume_needed)
else
if (src.internals)

View File

@@ -803,7 +803,30 @@
usr.machine = null
if("internal")
if ((!( usr.stat ) && usr.canmove && !( usr.restrained() )))
usr.internal = null
if (usr.internal)
usr.internal = null
if (usr.internals)
usr.internals.icon_state = "internal0"
else
if (!( istype(usr.wear_mask, /obj/item/clothing/mask) ))
return
else
if (istype(usr.back, /obj/item/weapon/tank))
usr.internal = usr.back
else if (ishuman(usr) && istype(usr:s_store, /obj/item/weapon/tank))
usr.internal = usr:s_store
else if (ishuman(usr) && istype(usr:belt, /obj/item/weapon/tank))
usr.internal = usr:belt
else if (istype(usr.l_hand, /obj/item/weapon/tank))
usr.internal = usr.l_hand
else if (istype(usr.r_hand, /obj/item/weapon/tank))
usr.internal = usr.r_hand
if (usr.internal)
//for(var/mob/M in viewers(usr, 1))
// M.show_message(text("[] is now running on internals.", usr), 1)
usr << "You are now running on internals."
if (usr.internals)
usr.internals.icon_state = "internal1"
if("pull")
usr.pulling = null
if("sleep")