Made a change to the cloner, since I was getting reports of people abusing quirks in the damage system to pop clones out way early without having to muck about with things like cryo.

Mobs now have a "cloneloss" var, used to represent the fact that they aren't done being cloned. There are exactly 2 ways to heal cloneloss outside of badminnery.
1) Don't get popped out of the tube early.
2) Load a cryo tube with Clonexadone (mix Cyroxadone, Plasma, and Sodium to make) and hop in.

Clonexadone also happens to heal regular damages twice as fast as cryoxadone, so it has more use than just fixing quickclones.

PDA medscanners aren't sophisticated enough to detect cloning imperfections, but the ones found in medkits are.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1178 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
n3ophyt3@gmail.com
2011-03-12 00:35:03 +00:00
parent 06654b7a11
commit c48804b204
8 changed files with 38 additions and 12 deletions
+2
View File
@@ -171,6 +171,8 @@ MASS SPECTROMETER
user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.bruteloss > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
else
user.show_message(text("\blue [] | [] | [] | []", M.oxyloss > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.bruteloss > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
if (M.cloneloss)
user.show_message(text("\red Subject appears to have been imperfectly cloned."), 1)
if (M.virus)
user.show_message(text("\red <b>Warning: Virus Detected.</b>\nName: [M.virus.name].\nType: [M.virus.spread].\nStage: [M.virus.stage]/[M.virus.max_stages].\nPossible Cure: [M.virus.cure]"))
if (M.reagents:get_reagent_amount("inaprovaline"))
+2
View File
@@ -66,10 +66,12 @@
return
/obj/proc/hear_talk(mob/M as mob, text)
/*
var/mob/mo = locate(/mob) in src
if(mo)
var/rendered = "<span class='game say'><span class='name'>[M.name]: </span> <span class='message'>[text]</span></span>"
mo.show_message(rendered, 2)
*/
return
/proc/is_type_in_list(var/atom/A, var/list/L)