- 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:
panurgomatic
2010-10-13 13:12:25 +00:00
parent 7115768551
commit 1909ee2e91
9 changed files with 5861 additions and 5813 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)"

View File

@@ -20,6 +20,9 @@
p.lic {
font-size: 6pt;
}
ul.sec {
list-style: none;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
@@ -41,6 +44,19 @@
<strong>Thanks to:</strong> CDK Station devs, GoonStation devs and original SpaceStation developers
<h4>Changelog</h4>
<h5>Wednesday, October 13, 14:12(GMT)</h5>
<ul>
<li>Crawling through vents (alien) now takes time. The farther destination vent is, the more time it takes.</li>
<li>Cryo cell healing ability depends on wound severity. Grave wounds will heal slower. Use proper chemicals to speed up the process.</li>
<li>Added sink to the medbay. </li>
<li>Bugfixes:
<ul class="sec">
<li>- Some reagents were not metabolized, remaining in mob indefinitely (this includes Space Cola, Cryoxadone and cocktails Kahlua, Irish Cream and The Manly Dorf).</li>
<li>- Fixed placement bug with container contents window. Also, utility belt window now doesn't obscure view.</li>
</ul>
</li>
</ul>
<h5>Sunday, October 10, 14:25(GMT)</h5>
<ul>
<li>Scrubbers in the area can be controlled by air alarms. Air alarm interface must be unlocked with an ID card (minimum access level - atmospheric technician), usable only by humans and AI. Panic syphon drains the air from affected room (simple syphoning does too, but much slower).</li>
@@ -54,10 +70,9 @@
<li>Air scrubber, vent and air alarm added to library</li>
<li>Air alarm added to brig</li>
<li>Air scrubbers in Toxins turned on, set to filter toxins</li>
<li>Empty tanks, portable air pumps and similar can be filled with air in Aft Primary Hallway, just connect them to the port. Target pressure is set by Mixed Air Supply console in Atmospherics (defaults to 4000kPa).
<li>Empty tanks, portable air pumps and similar can be filled with air in Aft Primary Hallway, just connect them to the port. Target pressure is set by Mixed Air Supply console in Atmospherics (defaults to 4000kPa).</li>
</ul>
<h5>Wednesday, October 6, 18:36</h5>
<ul>
<li>Fixed the Librarian's suit - its worn iconstate wasn't set.</li>

File diff suppressed because it is too large Load Diff