TG update: Adds a cooldown to changeling lesser form. (30 seconds)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2659 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
VivianFoxfoot@gmail.com
2011-12-11 08:31:45 +00:00
committed by Albert Iordache
parent b3b19a2e89
commit f340f3fbd7
6 changed files with 26 additions and 13 deletions
@@ -201,6 +201,7 @@
var/sting_range = 1
var/changelingID = "none"
var/mob/living/host = null
var/geneticdamage = 0.0
/datum/changeling/New()
..()
@@ -193,12 +193,19 @@
usr << "\red We don't have enough stored chemicals to do that!"
return
if(usr.changeling.geneticdamage != 0)
usr << "Our genes are still mending themselves! We cannot transform!"
return
usr.changeling.chem_charges--
usr.remove_changeling_powers()
usr.visible_message(text("\red <B>[usr] transforms!</B>"))
usr.changeling.geneticdamage = 30
usr << "Our genes cry out!"
var/list/implants = list() //Try to preserve implants.
for(var/obj/item/weapon/W in usr)
if (istype(W, /obj/item/weapon/implant))
@@ -233,10 +240,10 @@
O.loc = usr.loc
O.name = text("monkey ([])",copytext(md5(usr.real_name), 2, 6))
O.setToxLoss(usr.getToxLoss())
O.setBruteLoss(usr.getBruteLoss())
O.setOxyLoss(usr.getOxyLoss())
O.setFireLoss(usr.getFireLoss())
O.toxloss = usr.getToxLoss()
O.bruteloss = usr.getBruteLoss()
O.oxyloss = usr.getOxyLoss()
O.fireloss = usr.getFireLoss()
O.stat = usr.stat
O.a_intent = "hurt"
for (var/obj/item/weapon/implant/I in implants)
@@ -328,10 +335,10 @@
updateappearance(O,O.dna.uni_identity)
domutcheck(O, null)
O.setToxLoss(usr.getToxLoss())
O.setBruteLoss(usr.getBruteLoss())
O.setOxyLoss(usr.getOxyLoss())
O.setFireLoss(usr.getFireLoss())
O.toxloss = usr.getToxLoss()
O.bruteloss = usr.getBruteLoss()
O.oxyloss = usr.getOxyLoss()
O.fireloss = usr.getFireLoss()
O.stat = usr.stat
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
@@ -372,10 +379,10 @@
spawn(1200)
usr.stat = 0
//usr.fireloss = 0
usr.setToxLoss(0)
usr.toxloss = 0
//usr.bruteloss = 0
usr.setOxyLoss(0)
usr.setCloneLoss(0)
usr.oxyloss = 0
usr.cloneloss = 0
usr.paralysis = 0
usr.stunned = 0
usr.weakened = 0
@@ -209,6 +209,7 @@
if (mind)
if (mind.special_role == "Changeling" && changeling)
stat("Chemical Storage", changeling.chem_charges)
stat("Genetic Damage Time", changeling.geneticdamage)
if (istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_initialized)
stat("Energy Charge", round(wear_suit:cell:charge/100))
+2 -1
View File
@@ -1034,7 +1034,8 @@
if (mind)
if (mind.special_role == "Changeling" && changeling)
changeling.chem_charges = between(0, (max((0.9 - (changeling.chem_charges / 50)), 0.1) + changeling.chem_charges), 50)
if ((changeling.geneticdamage > 0))
changeling.geneticdamage = changeling.geneticdamage-1
/*
// Commented out so hunger system won't be such shock
@@ -615,4 +615,6 @@
handle_changeling()
if (mind)
if (mind.special_role == "Changeling" && changeling)
changeling.chem_charges = between(0, (max((0.9 - (changeling.chem_charges / 50)), 0.1) + changeling.chem_charges), 50)
changeling.chem_charges = between(0, (max((0.9 - (changeling.chem_charges / 50)), 0.1) + changeling.chem_charges), 50)
if ((changeling.geneticdamage > 0))
changeling.geneticdamage = changeling.geneticdamage-1
@@ -396,6 +396,7 @@
if (client.statpanel == "Status")
if (mind.special_role == "Changeling" && changeling)
stat("Chemical Storage", changeling.chem_charges)
stat("Genetic Damage Time", changeling.geneticdamage)
return
/mob/living/carbon/monkey/update_clothing()