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
This commit is contained in:
VivianFoxfoot@gmail.com
2012-03-22 01:32:29 +00:00
parent a7bc2b0bb7
commit eb9dabf3c7
6 changed files with 56 additions and 13 deletions

View File

@@ -432,7 +432,7 @@ var/global/datum/tension/tension_master
spawn(300) spawn(300)
if(candidates.len) if(candidates.len)
var/numagents = min(candidates.len, 5) var/numagents = 5
syndicate_begin() syndicate_begin()
for(var/i = 0, i<numagents,i++) for(var/i = 0, i<numagents,i++)
@@ -534,7 +534,7 @@ var/global/datum/tension/tension_master
spawn(300) spawn(300)
if(candidates.len) if(candidates.len)
var/numagents = min(candidates.len, 6) var/numagents = 6
//Spawns commandos and equips them. //Spawns commandos and equips them.
for (var/obj/effect/landmark/L in world) for (var/obj/effect/landmark/L in world)
@@ -557,7 +557,6 @@ var/global/datum/tension/tension_master
new_syndicate_commando.key = theghost.key new_syndicate_commando.key = theghost.key
new_syndicate_commando.internal = new_syndicate_commando.s_store new_syndicate_commando.internal = new_syndicate_commando.s_store
new_syndicate_commando.internals.icon_state = "internal1" new_syndicate_commando.internals.icon_state = "internal1"
candidates -= theghost
del(theghost) del(theghost)
//So they don't forget their code or mission. //So they don't forget their code or mission.

View File

@@ -119,10 +119,14 @@ datum/shuttle_controller
AM.throw_at(E, 1, 1) AM.throw_at(E, 1, 1)
return return
*/ */
if(istype(T, /turf/simulated)) if(istype(T, /turf/simulated))
del(T) del(T)
start_location.move_contents_to(end_location) for(var/mob/living/carbon/bug in end_location) // If someone somehow is still in the shuttle's docking area...
bug.gib()
start_location.copy_contents_to(end_location)
settimeleft(SHUTTLELEAVETIME) settimeleft(SHUTTLELEAVETIME)
world << "<B>The Emergency Shuttle has docked with the station! You have [timeleft()/60] minutes to board the Emergency Shuttle.</B>" world << "<B>The Emergency Shuttle has docked with the station! You have [timeleft()/60] minutes to board the Emergency Shuttle.</B>"
world << sound('shuttledock.ogg') world << sound('shuttledock.ogg')

View File

@@ -65,4 +65,5 @@
usr << "\blue Shuttle recieved message and will be sent shortly." usr << "\blue Shuttle recieved message and will be sent shortly."
move_mining_shuttle() move_mining_shuttle()
else else
usr << "\blue Shuttle is already moving." usr << "\blue Shuttle is already moving."

View File

@@ -51,6 +51,36 @@ proc/move_mining_shuttle()
else else
fromArea = locate(/area/shuttle/mining/station) fromArea = locate(/area/shuttle/mining/station)
toArea = locate(/area/shuttle/mining/outpost) 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) fromArea.move_contents_to(toArea)
if (mining_shuttle_location) if (mining_shuttle_location)
mining_shuttle_location = 0 mining_shuttle_location = 0

View File

@@ -165,20 +165,29 @@
for(var/datum/organ/external/org in H.organs) for(var/datum/organ/external/org in H.organs)
var/status = "" 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" status = "bruised"
if(org.brute_dam > 20) if(brutedamage > 20)
status = "bleeding" status = "bleeding"
if(org.brute_dam > 40) if(brutedamage > 40)
status = "mangled" status = "mangled"
if(org.brute_dam > 0 && org.burn_dam > 0) if(brutedamage > 0 && burndamage > 0)
status += " and " status += " and "
if(org.burn_dam > 40) if(burndamage > 40)
status += "peeling away" status += "peeling away"
else if(org.burn_dam > 10) else if(burndamage > 10)
status += "blistered" status += "blistered"
else if(org.burn_dam > 0) else if(burndamage > 0)
status += "numb" status += "numb"
if(status == "") if(status == "")
status = "OK" status = "OK"

View File

@@ -911,7 +911,7 @@
if (healths) if (healths)
if (stat != 2) if (stat != 2)
switch(health) switch(health - halloss)
if(100 to INFINITY) if(100 to INFINITY)
healths.icon_state = "health0" healths.icon_state = "health0"
if(80 to 100) if(80 to 100)