-Cleaned up the code to sacrifice borgs, AIs, and brains. (Also made it possible to sacrifice AIs on intelliCards)

-Gave brains a proper gib() so they are actually gone
-Added a proc to the 'Secrets' panel, a variation of power the station that instead is MUCH faster and just powers all SMES, turns on output, and sets it to max (helpful for testing and it doesn't leave the server frozen for 60 seconds to process)
-Added maxHealth to mice, killer tomatos, and walking mushrooms (They started with 5 health but could be 'healed' up to 20)
-Made the updatehealth() actually usable outside of humans by making it use maxHealth instead of just '100'
-Fix for shield generator sprites not updating properly, caused by not all generators actually updating on powerloss, and adding an update_icon() where needed
Fixes Issue 751

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4393 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
sieve32@gmail.com
2012-08-13 15:30:36 +00:00
parent e4e7256d66
commit 4b72ada290
9 changed files with 64 additions and 25 deletions

View File

@@ -538,15 +538,16 @@ var/list/sacrificed = list()
var/list/mob/living/carbon/human/cultsinrange = list()
var/list/mob/living/carbon/human/victims = list()
for(var/mob/living/carbon/human/V in src.loc)//Checks for non-cultist humans to sacrifice
if(!(iscultist(V)))
victims += V
for(var/mob/living/carbon/brain/V in src.loc)//Checks for brains to sacrifice
victims += V
for(var/mob/living/silicon/V in src.loc)//Checks for borgs/AIs to sacrifice
victims += V
for(var/obj/item/device/mmi/V in src.loc)//Checks for MMIs
if(V.brainmob)
victims += V.brainmob
if(ishuman(V) || isbrain(V) || issilicon(V))// || istype(V,/obj/item/device/mmi))
if(!(iscultist(V)))
victims += V//Checks for cult status and mob type
for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards
if(istype(I,/obj/item/brain) || istype(I,/obj/item/device/mmi))
if(hasvar(I,"brainmob"))//Makes sure it has a brainmob
victims += I:brainmob
if(istype(I,/obj/item/device/aicard))
for(var/mob/living/silicon/ai/A in I)//Because AIs are just stored inside the card and not attached to a var
victims += A
for(var/mob/living/carbon/C in orange(1,src))
if(iscultist(C) && !C.stat)
cultsinrange += C
@@ -558,8 +559,6 @@ var/list/sacrificed = list()
sacrificed += H.mind
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
@@ -576,8 +575,6 @@ var/list/sacrificed = list()
usr << "\red However, this soul was not enough to gain His favor."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
else
@@ -589,8 +586,6 @@ var/list/sacrificed = list()
usr << "\red However, a mere dead body is not enough to satisfy Him."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
else
@@ -605,8 +600,6 @@ var/list/sacrificed = list()
usr << "\red However, a mere dead body is not enough to satisfy Him."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
else
@@ -620,8 +613,6 @@ var/list/sacrificed = list()
usr << "\red However, this soul was not enough to gain His favor."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
else
@@ -633,8 +624,6 @@ var/list/sacrificed = list()
usr << "\red However, a mere dead body is not enough to satisfy Him."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
else
@@ -649,8 +638,6 @@ var/list/sacrificed = list()
usr << "\red However, a mere dead body is not enough to satisfy Him."
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else if(isbrain(H))
H.death()//Since they don't have a proper gib
else
H.gib()
for(var/mob/living/carbon/monkey/M in src.loc)