mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-01-14 02:52:42 +00:00
- Tweaked cryo healing speed
- Added crawl-trough-vent travel time - Tweaked placement of utility belt contents window & fixed one related small bug - Added metabolization for several reagents - Other small tweaks git-svn-id: http://tgstation13.googlecode.com/svn/trunk@273 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
|
||||
level = 1
|
||||
|
||||
var/id_tag
|
||||
var/id_tag = null
|
||||
var/frequency = 1439
|
||||
var/datum/radio_frequency/radio_connection
|
||||
|
||||
@@ -104,7 +104,10 @@
|
||||
|
||||
process()
|
||||
..()
|
||||
broadcast_status()
|
||||
if(!(stat & (NOPOWER|BROKEN)))
|
||||
broadcast_status()
|
||||
else
|
||||
return 0
|
||||
|
||||
if(!on)
|
||||
return 0
|
||||
@@ -184,7 +187,7 @@
|
||||
if(panic)
|
||||
on = 1
|
||||
scrubbing = 0
|
||||
volume_rate = 500
|
||||
volume_rate = 2000
|
||||
else
|
||||
scrubbing = 1
|
||||
volume_rate = 120
|
||||
|
||||
@@ -638,6 +638,8 @@ datum
|
||||
on_mob_life(var/mob/M)
|
||||
M:drowsyness = max(0,M:drowsyness-5)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
plasma
|
||||
name = "Plasma"
|
||||
@@ -850,7 +852,7 @@ datum
|
||||
if(M:bruteloss) M:bruteloss = max(0, M:bruteloss-3)
|
||||
if(M:fireloss) M:fireloss = max(0, M:fireloss-3)
|
||||
if(M:toxloss) M:toxloss = max(0, M:toxloss-3)
|
||||
|
||||
..()
|
||||
return
|
||||
|
||||
spaceacillin
|
||||
@@ -1168,6 +1170,8 @@ datum
|
||||
M:sleeping = 0
|
||||
M.bodytemperature = min(310, M.bodytemperature+5) //Copy-paste from Coffee, derp
|
||||
M.make_jittery(5)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
cognac
|
||||
@@ -1505,6 +1509,8 @@ datum
|
||||
if(data >= 50 && prob(33))
|
||||
if (!M.confused) M:confused = 1
|
||||
M.confused += 2
|
||||
..()
|
||||
return
|
||||
|
||||
manly_dorf
|
||||
name = "The Manly Dorf"
|
||||
@@ -1521,4 +1527,6 @@ datum
|
||||
M.stuttering += 4
|
||||
if(data >= 50 && prob(33))
|
||||
if (!M.confused) M:confused = 1
|
||||
M.confused += 3
|
||||
M.confused += 3
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -42,13 +42,13 @@ obj/machinery/air_sensor
|
||||
if(output>4)
|
||||
var/total_moles = air_sample.total_moles()
|
||||
if(output&4)
|
||||
signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles)
|
||||
signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles,0.1)
|
||||
if(output&8)
|
||||
signal.data["toxins"] = round(100*air_sample.toxins/total_moles)
|
||||
signal.data["toxins"] = round(100*air_sample.toxins/total_moles,0.1)
|
||||
if(output&16)
|
||||
signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles)
|
||||
signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles,0.1)
|
||||
if(output&32)
|
||||
signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles)
|
||||
signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles,0.1)
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
|
||||
|
||||
@@ -73,9 +73,9 @@
|
||||
if(src.occupant.health <= -100)
|
||||
health_text = "<FONT color=red>Dead</FONT>"
|
||||
else if(src.occupant.health < 0)
|
||||
health_text = "<FONT color=red>[src.occupant.health]</FONT>"
|
||||
health_text = "<FONT color=red>[round(src.occupant.health,0.1)]</FONT>"
|
||||
else
|
||||
health_text = "[src.occupant.health]"
|
||||
health_text = "[round(src.occupant.health,0.1)]"
|
||||
if(air_contents.temperature > T0C)
|
||||
temp_text = "<FONT color=red>[air_contents.temperature]</FONT>"
|
||||
else if(air_contents.temperature > 225)
|
||||
@@ -90,7 +90,7 @@
|
||||
<B>Current cell temperature:</B> [temp_text]K<BR>
|
||||
<B>Cryo status:</B> [ src.on ? "<A href='?src=\ref[src];start=1'>Off</A> <B>On</B>" : "<B>Off</B> <A href='?src=\ref[src];start=1'>On</A>"]<BR>
|
||||
[beaker_text]<BR><BR>
|
||||
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>Oxygen deprivation: [src.occupant.oxyloss]<BR>Brute damage: [src.occupant.bruteloss]<BR>Fire damage: [src.occupant.fireloss]<BR>Toxin damage: [src.occupant.toxloss]<BR>Body temperature: [src.occupant.bodytemperature]" : "<FONT color=red>None</FONT>"]<BR>
|
||||
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>Oxygen deprivation: [round(src.occupant.oxyloss,0.1)]<BR>Brute damage: [round(src.occupant.bruteloss,0.1)]<BR>Fire damage: [round(src.occupant.fireloss,0.1)]<BR>Toxin damage: [round(src.occupant.toxloss,0.1)]<BR>Body temperature: [src.occupant.bodytemperature]" : "<FONT color=red>None</FONT>"]<BR>
|
||||
|
||||
"}
|
||||
|
||||
@@ -181,10 +181,11 @@
|
||||
if(occupant.oxyloss) occupant.oxyloss = max(0, occupant.oxyloss - 1)
|
||||
else
|
||||
occupant.oxyloss -= 1
|
||||
//severe damage should heal waaay slower without proper chemicals
|
||||
if(occupant.bodytemperature < 225)
|
||||
if(occupant.bruteloss) occupant.bruteloss = max(0, occupant.bruteloss - 1)
|
||||
if(occupant.fireloss) occupant.fireloss = max(0, occupant.fireloss - 1)
|
||||
if(occupant.toxloss) occupant.toxloss = max(0, occupant.toxloss - 1)
|
||||
if(occupant.bruteloss) occupant.bruteloss = max(0, occupant.bruteloss - min(1, 20/occupant.bruteloss))
|
||||
if(occupant.fireloss) occupant.fireloss = max(0, occupant.fireloss - min(1, 20/occupant.fireloss))
|
||||
if(occupant.toxloss) occupant.toxloss = max(0, occupant.toxloss - min(1, 20/occupant.toxloss))
|
||||
if(beaker && (next_trans == 0))
|
||||
beaker:reagents.trans_to(occupant, 1, 10)
|
||||
beaker:reagents.reaction(occupant)
|
||||
@@ -225,6 +226,7 @@
|
||||
|
||||
verb
|
||||
move_eject()
|
||||
set name = "Eject occupant"
|
||||
set src in oview(1)
|
||||
if (usr.stat != 0)
|
||||
return
|
||||
@@ -233,6 +235,7 @@
|
||||
return
|
||||
|
||||
move_inside()
|
||||
set name = "Move Inside"
|
||||
set src in oview(1)
|
||||
if (usr.stat != 0 || stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
@@ -281,4 +284,4 @@
|
||||
return
|
||||
|
||||
/datum/data/function/proc/display()
|
||||
return
|
||||
return
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
return
|
||||
|
||||
for(var/mob/O in viewers(M, null))//echo message
|
||||
O.show_message(text("\blue [] [] to [] eyes", (O == user ? "You direct" : text("[] directs", user)), src, (M==user ? "your" : text("[]", M))),1)
|
||||
if ((O.client && !(O.blinded )))
|
||||
O.show_message("\blue [(O==user?"You direct":"[user]")] [src] to [(M==user? "your":"[M]")] eyes", 1)
|
||||
|
||||
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))//robots and aliens are unaffected
|
||||
if(M.stat > 1 || M.sdisabilities & 1)//mob is dead or fully blind
|
||||
|
||||
@@ -65,17 +65,18 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/proc/orient2hud(mob/user as mob)
|
||||
|
||||
if (src == user.l_hand)
|
||||
src.orient_objs(3, 11, 3, 4)
|
||||
else if(src == user.r_hand)
|
||||
src.orient_objs(1, 11, 1, 4)
|
||||
else if(src == user.back)
|
||||
src.orient_objs(4, 10, 4, 3)
|
||||
else if(istype(user, /mob/living/carbon/human))//only humans have belts
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(src == H.belt)
|
||||
src.orient_objs(1, 3, 8, 3)
|
||||
else
|
||||
if (src == user.r_hand)
|
||||
src.orient_objs(1, 11, 1, 4)
|
||||
else
|
||||
if (src == user.back)
|
||||
src.orient_objs(4, 10, 4, 3)
|
||||
else
|
||||
src.orient_objs(7, 8, 10, 7)
|
||||
src.orient_objs(7, 8, 10, 7)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
@@ -135,7 +136,7 @@
|
||||
if (M.s_active == src)
|
||||
src.close(M)
|
||||
//Foreach goto(76)
|
||||
src.orient2hud(user)
|
||||
src.orient2hud(user)
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
|
||||
@@ -235,7 +235,8 @@ Also perhaps only queens can do that?
|
||||
var/vent_found = 0
|
||||
for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src))
|
||||
if(!v.welded)
|
||||
vent_found = 1
|
||||
vent_found = v
|
||||
|
||||
if(!vent_found)
|
||||
src << "You must be standing on or beside an open air vent to enter it."
|
||||
return
|
||||
@@ -260,7 +261,7 @@ Also perhaps only queens can do that?
|
||||
if(src.loc != startloc)
|
||||
src << "You need to remain still while entering a vent."
|
||||
return
|
||||
var/obj/target_vent = vents[selection_position]
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection_position]
|
||||
if(target_vent)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O.show_message(text("\green <B>[src] scrambles into the ventillation ducts!</B>"), 1)
|
||||
@@ -268,9 +269,24 @@ Also perhaps only queens can do that?
|
||||
for(var/obj/alien/facehugger/F in view(3, src))
|
||||
if(istype(F, /obj/alien/facehugger))
|
||||
huggers.Add(F)
|
||||
src.loc = target_vent.loc
|
||||
|
||||
src.loc = vent_found
|
||||
for(var/obj/alien/facehugger/F in huggers)
|
||||
F.loc = src.loc
|
||||
F.loc = vent_found
|
||||
var/travel_time = get_dist(src.loc, target_vent.loc)
|
||||
|
||||
spawn(round(travel_time/2))//give sound warning to anyone near the target vent
|
||||
if(!target_vent.welded)
|
||||
for(var/mob/O in hearers(target_vent, null))
|
||||
O.show_message("You hear something crawling trough the ventilation pipes.")
|
||||
|
||||
spawn(travel_time)
|
||||
if(target_vent.welded)//the went can be welded while alien scrolled through the list or travelled.
|
||||
target_vent = vent_found //travel back. No additional time required.
|
||||
src << "\red The vent you were heading to appears to be welded."
|
||||
src.loc = target_vent.loc
|
||||
for(var/obj/alien/facehugger/F in huggers)
|
||||
F.loc = src.loc
|
||||
|
||||
/mob/living/carbon/alien/humanoid/verb/corrode(obj/O as obj in view(1)) // -- TLE
|
||||
set name = "Spit Corrosive Acid (200)"
|
||||
|
||||
Reference in New Issue
Block a user