Prep stuff for Erro's big medic update

•Sleepers are now OP and heal every kind of damage by the press of a simple button
•Cloning through the cloner 25-30% faster. Or so I think, I can't test out cloning by myself, but my change is safe enough. Message me directly if any bugs occur.
•Dermaline: New healing drug that's gonna be better than kelotane once Erro nerfs it. Right now it's just a bit more powerful.
•No more reagent metabolising or having healing/damaging affects on corpses. Again, this is a kind of a radical change. PM me if any serious bugs occur.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1763 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
polyxenitopalidou@gmail.com
2011-07-04 18:31:31 +00:00
parent 6a0f796428
commit b06d2c2c52
7 changed files with 5680 additions and 5592 deletions
+28 -1
View File
@@ -911,6 +911,8 @@ datum
description = "Lexorin temporarily stops respiration. Causes tissue damage."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
if(prob(33))
M.take_organ_damage(1, 0)
@@ -925,17 +927,34 @@ datum
description = "Kelotane is a drug used to treat burns."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
M:heal_organ_damage(0,2)
..()
return
dermaline
name = "Dermaline"
id = "dermaline"
description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0) //THE GUY IS **DEAD**! BEREFT OF ALL LIFE HE RESTS IN PEACE etc etc. He does NOT metabolise shit anymore, god DAMN
return
if(!M) M = holder.my_atom
M:heal_organ_damage(0,3)
..()
return
dexalin
name = "Dexalin"
id = "dexalin"
description = "Dexalin is used in the treatment of oxygen deprivation."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return //See above, down and around. --Agouri
if(!M) M = holder.my_atom
M:oxyloss = max(M:oxyloss-2, 0)
if(holder.has_reagent("lexorin"))
@@ -949,6 +968,8 @@ datum
description = "Dexalin Plus is used in the treatment of oxygen deprivation. Its highly effective."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
M:oxyloss = 0
if(holder.has_reagent("lexorin"))
@@ -962,6 +983,8 @@ datum
description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
if(M:oxyloss && prob(40)) M:oxyloss--
if(M:bruteloss && prob(40)) M:heal_organ_damage(1,0)
@@ -976,7 +999,7 @@ datum
description = "It's magic. We don't have to explain it."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(!M) M = holder.my_atom ///This can even heal dead people.
M:cloneloss = 0
M:oxyloss = 0
M:radiation = 0
@@ -1074,6 +1097,8 @@ datum
description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return //See above, down and around. --Agouri
if(!M) M = holder.my_atom
M:radiation = max(M:radiation-7,0)
if(M:toxloss) M:toxloss--
@@ -1113,6 +1138,8 @@ datum
description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma."
reagent_state = LIQUID
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
M:heal_organ_damage(2,0)
..()
+7
View File
@@ -178,6 +178,13 @@ datum
required_catalysts = list("plasma" = 5)
result_amount = 1
dermaline
name = "Dermaline"
id = "dermaline"
result = "dermaline"
required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1)
result_amount = 3
dexalinp
name = "Dexalin Plus"
id = "dexalinp"
+2 -2
View File
@@ -543,7 +543,7 @@
src.occupant.paralysis = 4
//Slowly get that clone healed and finished.
src.occupant.cloneloss = max(src.occupant.cloneloss-1, 0)
src.occupant.cloneloss = max(src.occupant.cloneloss-2, 0)
//Premature clones may have brain damage.
src.occupant.brainloss = max(src.occupant.brainloss-1, 0)
@@ -553,7 +553,7 @@
src.occupant.reagents.add_reagent("inaprovaline", 60)
//Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!!
src.occupant.oxyloss = max(src.occupant.oxyloss-2, 0)
src.occupant.oxyloss = max(src.occupant.oxyloss-4, 0)
use_power(7500) //This might need tweaking.
return
+44 -9
View File
@@ -59,9 +59,12 @@
dat += text("[]\t-Toxin Content %: []</FONT><BR>", (occupant.toxloss < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.toxloss)
dat += text("[]\t-Burn Severity %: []</FONT><BR>", (occupant.fireloss < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.fireloss)
dat += text("<HR>Paralysis Summary %: [] ([] seconds left!)<BR>", occupant.paralysis, round(occupant.paralysis / 4))
dat += text("Rejuvenation chemicals: [] units<BR>", occupant.reagents.get_reagent_amount("inaprovaline"))
dat += text("Inaprovaline units: [] units<BR>", occupant.reagents.get_reagent_amount("inaprovaline"))
dat += text("Soporific: [] units<BR>", occupant.reagents.get_reagent_amount("stoxin"))
dat += text("<HR><A href='?src=\ref[];refresh=1'>Refresh meter readings each second</A><BR><A href='?src=\ref[];rejuv=1'>Inject Rejuvenators</A><BR><A href='?src=\ref[];stox=1'>Inject Soporific</A>", src, src, src)
dat += text("Dermaline: [] units<BR>", occupant.reagents.get_reagent_amount("dermaline"))
dat += text("Bicaridine: [] units<BR>", occupant.reagents.get_reagent_amount("bicaridine"))
dat += text("Dexalin: [] units<BR>", occupant.reagents.get_reagent_amount("dexalin"))
dat += text("<HR><A href='?src=\ref[];refresh=1'>Refresh meter readings each second</A><BR><A href='?src=\ref[];inap=1'>Inject Inaprovaline</A><BR><A href='?src=\ref[];stox=1'>Inject Soporific</A><BR><A href='?src=\ref[];derm=1'>Inject Dermaline</A><BR><A href='?src=\ref[];bic=1'>Inject Bicaridine</A><BR><A href='?src=\ref[];dex=1'>Inject Dexalin</A>", src, src, src, src, src, src)
else
dat += "The sleeper is empty."
dat += text("<BR><BR><A href='?src=\ref[];mach_close=sleeper'>Close</A>", user)
@@ -75,10 +78,16 @@
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
usr.machine = src
if (src.connected)
if (href_list["rejuv"])
src.connected.inject(usr)
if (href_list["inap"])
src.connected.inject_inap(usr)
if (href_list["stox"])
src.connected.inject_stox(usr)
if (href_list["derm"])
src.connected.inject_dermaline(usr)
if (href_list["bic"])
src.connected.inject_bicaridine(usr)
if (href_list["dex"])
src.connected.inject_dexalin(usr)
if (href_list["refresh"])
src.updateUsrDialog()
src.add_fingerprint(usr)
@@ -239,24 +248,50 @@
src.icon_state = "sleeper_0"
return
/obj/machinery/sleeper/proc/inject(mob/user as mob)
/obj/machinery/sleeper/proc/inject_inap(mob/user as mob)
if (src.occupant)
if (src.occupant.reagents.get_reagent_amount("inaprovaline") + 30 < 60)
if (src.occupant.reagents.get_reagent_amount("inaprovaline") + 30 <= 60)
src.occupant.reagents.add_reagent("inaprovaline", 30)
user << text("Occupant now has [] units of rejuvenation in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("inaprovaline"))
user << text("Occupant now has [] units of Inaprovaline in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("inaprovaline"))
else
user << "No occupant!"
return
/obj/machinery/sleeper/proc/inject_stox(mob/user as mob)
if (src.occupant)
if (src.occupant.reagents.get_reagent_amount("stoxin") + 20 < 40)
if (src.occupant.reagents.get_reagent_amount("stoxin") + 20 <= 40)
src.occupant.reagents.add_reagent("stoxin", 20)
user << text("Occupant now has [] units of soporific in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("stoxin"))
user << text("Occupant now has [] units of soporifics in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("stoxin"))
else
user << "No occupant!"
return
/obj/machinery/sleeper/proc/inject_dermaline(mob/user as mob)
if (src.occupant)
if (src.occupant.reagents.get_reagent_amount("dermaline") + 20 <= 40)
src.occupant.reagents.add_reagent("dermaline", 20)
user << text("Occupant now has [] units of Dermaline in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("dermaline"))
else
user << "No occupant!"
return
/obj/machinery/sleeper/proc/inject_bicaridine(mob/user as mob) //GRAND AGOURI MARKER
if (src.occupant)
if (src.occupant.reagents.get_reagent_amount("bicaridine") + 10 <= 20)
src.occupant.reagents.add_reagent("bicaridine", 10)
user << text("Occupant now has [] units of Bicaridine in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("bicaridine"))
else
user << "No occupant!"
return
/obj/machinery/sleeper/proc/inject_dexalin(mob/user as mob) //GRAND AGOURI MARKER
if (src.occupant)
if (src.occupant.reagents.get_reagent_amount("dexalin") + 20 <= 40)
src.occupant.reagents.add_reagent("dexalin", 20)
user << text("Occupant now has [] units of Dexalin in his/her bloodstream.", src.occupant.reagents.get_reagent_amount("dexalin"))
else
user << "No occupant!"
return
/obj/machinery/sleeper/proc/check(mob/user as mob)
if (src.occupant)
+22 -1
View File
@@ -45,7 +45,28 @@ Stuff which is in development and not yet visible to players or just code relate
(is. code improvements for expandability, etc.) should not be listed here. They
should be listed in the changelog upon commit tho. Thanks. -->
<b><font color='blue'>7 June 2011.</font><b>
<b><font color='blue'>4 July 2011.</font><b>
<ul>
<li><b>Agouri updated:</b>
<ul>
Medical stuff overhaul in preparation of Erro's big Medic update:
<li>Sleepers are now able to heal every kind of damage. Drag your ass to medbay and ask a doctor to get you in one.</li>
<li>A lil' bit faster cloning (about 30% faster) due to popular demand.</li>
<li>Sleepers are now all located in the inner part of medbay, except for the examination room one.</li>
<li>Added Dermaline, burn-healing drug that outpowers kelotane (and kelotane is getting a major nerf, so be sure to know how to get this). Recipe is on the wiki if you need to make it.</li>
<li>Drugs no longer heal or metabolise when injected in dead bodies, fuck. Thank god you guys missed this major bug or we'd have cloning-by-injecting-healing-drugs.</li>
<li>Reminder to coders: Goddamn, update the changelog.
</ul>
</li>
<li><b>Matty updated:</b>
<ul>
<li>New engineering backpacks. Enjoy!</li>
</ul>
</li>
</ul>
<b><font color='blue'>18 June 2011.</font><b>
<ul>
<li><b>Agouri updated:</b>
<ul>
+5576 -5577
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -130,7 +130,6 @@
#define FILE_DIR "icons/turf"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
#define FILE_DIR "maps/backup"
#define FILE_DIR "sound"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer"
@@ -822,5 +821,5 @@
#include "code\WorkInProgress\recycling\scrap.dm"
#include "code\WorkInProgress\recycling\sortingmachinery.dm"
#include "interface\skin.dmf"
#include "maps\TestingMap.dmm"
#include "maps\tgstation.2.0.7.dmm"
// END_INCLUDE