From eb9dabf3c7ad4579e9c248653b4ced19577c6c5f Mon Sep 17 00:00:00 2001 From: "VivianFoxfoot@gmail.com" Date: Thu, 22 Mar 2012 01:32:29 +0000 Subject: [PATCH] HUD damage indicator now updates with halloss Inspecting yourself for organ damage now randomly shows damaged organs if you have halloss Mining shuttle now shunts people where it wants to be Shuttles now crush people if they fail to move out of where they want to be with the initial shunt. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3337 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/helper_datums/tension.dm | 5 ++-- code/datums/shuttle_controller.dm | 6 +++- .../atmoalter/area_atmos_computer.dm | 3 +- code/modules/mining/mine_items.dm | 30 +++++++++++++++++++ code/modules/mob/living/carbon/carbon.dm | 23 +++++++++----- code/modules/mob/living/carbon/human/life.dm | 2 +- 6 files changed, 56 insertions(+), 13 deletions(-) diff --git a/code/datums/helper_datums/tension.dm b/code/datums/helper_datums/tension.dm index 33819b0cc88..78eb88134cc 100644 --- a/code/datums/helper_datums/tension.dm +++ b/code/datums/helper_datums/tension.dm @@ -432,7 +432,7 @@ var/global/datum/tension/tension_master spawn(300) if(candidates.len) - var/numagents = min(candidates.len, 5) + var/numagents = 5 syndicate_begin() for(var/i = 0, iThe Emergency Shuttle has docked with the station! You have [timeleft()/60] minutes to board the Emergency Shuttle." world << sound('shuttledock.ogg') diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index d619ca8c634..d254f6bd1d5 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -65,4 +65,5 @@ usr << "\blue Shuttle recieved message and will be sent shortly." move_mining_shuttle() else - usr << "\blue Shuttle is already moving." \ No newline at end of file + usr << "\blue Shuttle is already moving." + diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 361bb34ac87..d8753a7a4b7 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -51,6 +51,36 @@ proc/move_mining_shuttle() else fromArea = locate(/area/shuttle/mining/station) toArea = locate(/area/shuttle/mining/outpost) + + + var/list/dstturfs = list() + var/throwy = world.maxy + + for(var/turf/T in toArea) + dstturfs += T + if(T.y < throwy) + throwy = T.y + + // hey you, get out of the way! + for(var/turf/T in dstturfs) + // find the turf to move things to + var/turf/D = locate(T.x, throwy - 1, 1) + //var/turf/E = get_step(D, SOUTH) + for(var/atom/movable/AM as mob|obj in T) + AM.Move(D) + // NOTE: Commenting this out to avoid recreating mass driver glitch + /* + spawn(0) + AM.throw_at(E, 1, 1) + return + */ + + if(istype(T, /turf/simulated)) + del(T) + + for(var/mob/living/carbon/bug in toArea) // If someone somehow is still in the shuttle's docking area... + bug.gib() + fromArea.move_contents_to(toArea) if (mining_shuttle_location) mining_shuttle_location = 0 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 1ffcc1cb470..7e41c0a111f 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -165,20 +165,29 @@ for(var/datum/organ/external/org in H.organs) var/status = "" - if(org.brute_dam > 0) + var/brutedamage = org.brute_dam + var/burndamage = org.burn_dam + + if(halloss > 0) + if(prob(30)) + brutedamage += halloss + if(prob(30)) + burndamage += halloss + + if(brutedamage > 0) status = "bruised" - if(org.brute_dam > 20) + if(brutedamage > 20) status = "bleeding" - if(org.brute_dam > 40) + if(brutedamage > 40) status = "mangled" - if(org.brute_dam > 0 && org.burn_dam > 0) + if(brutedamage > 0 && burndamage > 0) status += " and " - if(org.burn_dam > 40) + if(burndamage > 40) status += "peeling away" - else if(org.burn_dam > 10) + else if(burndamage > 10) status += "blistered" - else if(org.burn_dam > 0) + else if(burndamage > 0) status += "numb" if(status == "") status = "OK" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index e9d7ebdc7e3..6935b3d4bfe 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -911,7 +911,7 @@ if (healths) if (stat != 2) - switch(health) + switch(health - halloss) if(100 to INFINITY) healths.icon_state = "health0" if(80 to 100)