From dd27131ce9524356ba7bd36ac068a77f1749e7ba Mon Sep 17 00:00:00 2001 From: "VivianFoxfoot@gmail.com" Date: Sat, 17 Mar 2012 00:28:41 +0000 Subject: [PATCH] Adds a message to corpses that have had their ghosts leave the server/become something else Readds the ablative vest's reflect chance at a considerably lower percentage Fixes a bug where ghosts couldn't examine human bodies. Fixes a bug where tensioner-spawned deathsquads would be braindead. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3314 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/helper_datums/tension.dm | 12 ++++++------ code/game/syndicate_specops_shuttle.dm | 4 ++-- code/modules/mob/living/carbon/human/examine.dm | 13 ++++++++++++- .../mob/living/carbon/human/human_defense.dm | 6 +++--- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/code/datums/helper_datums/tension.dm b/code/datums/helper_datums/tension.dm index a10682869d7..24e00b99c2f 100644 --- a/code/datums/helper_datums/tension.dm +++ b/code/datums/helper_datums/tension.dm @@ -551,12 +551,12 @@ var/global/datum/tension/tension_master del(new_syndicate_commando) break - new_syndicate_commando.mind.key = theghost.key//For mind stuff. - new_syndicate_commando.key = theghost.key - new_syndicate_commando.internal = new_syndicate_commando.s_store - new_syndicate_commando.internals.icon_state = "internal1" - candidates -= theghost - del(theghost) + new_syndicate_commando.mind.key = theghost.key//For mind stuff. + new_syndicate_commando.key = theghost.key + new_syndicate_commando.internal = new_syndicate_commando.s_store + new_syndicate_commando.internals.icon_state = "internal1" + candidates -= theghost + del(theghost) //So they don't forget their code or mission. new_syndicate_commando.mind.store_memory("Mission: \red [input].") diff --git a/code/game/syndicate_specops_shuttle.dm b/code/game/syndicate_specops_shuttle.dm index 529b1b07f88..15b9456c8c5 100644 --- a/code/game/syndicate_specops_shuttle.dm +++ b/code/game/syndicate_specops_shuttle.dm @@ -29,7 +29,7 @@ var/syndicate_elite_shuttle_timeleft = 0 if(announcer) announcer.say(message) // message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD" - announcer.say(message) + // announcer.say(message) while(syndicate_elite_shuttle_time - world.timeofday > 0) var/ticksleft = syndicate_elite_shuttle_time - world.timeofday @@ -243,7 +243,7 @@ var/syndicate_elite_shuttle_timeleft = 0 elite_squad.readyalert()//Trigger alarm for the spec ops area. syndicate_elite_shuttle_moving_to_station = 1 - syndicate_elite_shuttle_time = world.timeofday + syndicate_elite_shuttle_time = world.timeofday + SYNDICATE_ELITE_MOVETIME spawn(0) syndicate_elite_process() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index c5f1debf2b7..b401646e183 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -2,7 +2,7 @@ set src in oview() if(!usr || !src) return - if((usr.sdisabilities & 1) || usr.blinded || usr.stat) + if(((usr.sdisabilities & 1) || usr.blinded || usr.stat) && !(istype(usr,/mob/dead/observer/))) usr << "Something is there but you can't see it." return @@ -174,6 +174,17 @@ if (src.stat == DEAD || (changeling && (changeling.changeling_fakedeath == 1))) msg += "[t_He] [t_is] limp and unresponsive; there are no signs of life...\n" + + if(!src.client) + var/foundghost = 0 + for(var/mob/dead/observer/G in world) + if(G.client) + if(G.corpse == src) + foundghost++ + break + if(!foundghost) + msg += "[t_He] [t_is] empty; his soul has vanished...\n" + else msg += "" diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2852f239138..186651a9e14 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -10,9 +10,9 @@ emp_act /mob/living/carbon/human/bullet_act(var/obj/item/projectile/P, var/def_zone) -/* if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor/laserproof)) + if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor/laserproof)) if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) - var/reflectchance = 80 - round(P.damage/3) + var/reflectchance = 40 - round(P.damage/3) if(!(def_zone in list("chest", "groin"))) reflectchance /= 2 if(prob(reflectchance)) @@ -33,7 +33,7 @@ emp_act P.xo = new_x - curloc.x return -1 // complete projectile permutation -*/ + if(check_shields(P.damage, "the [P.name]")) P.on_hit(src, 2) return 2