From 18207f18d07445706e86ab44c416ad2e72634c8f Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 29 Apr 2012 22:45:02 +0100 Subject: [PATCH] TG: 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. Revision: r3337 Author: VivianFoxfoot --- code/datums/shuttle_controller.dm | 5 ++++ code/modules/mining/mine_items.dm | 30 ++++++++++++++++++++++++ code/modules/mob/living/carbon/carbon.dm | 3 +++ 3 files changed, 38 insertions(+) diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index 23a1f155cc..6b4925481c 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -140,9 +140,13 @@ datum/shuttle_controller AM.throw_at(E, 1, 1) return */ + if(istype(T, /turf/simulated)) del(T) + for(var/mob/living/carbon/bug in end_location) // If someone somehow is still in the shuttle's docking area... + bug.gib() + start_location.move_contents_to(end_location) settimeleft(SHUTTLELEAVETIME) world << "The Emergency Shuttle has docked with the station! You have [timeleft()/60] minutes to board the Emergency Shuttle." @@ -151,6 +155,7 @@ datum/shuttle_controller return 1 if(1) + if(timeleft>0) return 0 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 28cde78ffc..806a37dd8f 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -44,6 +44,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 b50b0eb84e..4ca82ab743 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -193,11 +193,13 @@ var/status = "" 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(brutedamage > 20) @@ -208,6 +210,7 @@ status += " and " if(burndamage > 40) status += "peeling away" + else if(burndamage > 10) status += "blistered" else if(burndamage > 0)