From 4c1bb073ff970b76ce751ddfef8a1eb958de5ec2 Mon Sep 17 00:00:00 2001 From: Ispil Date: Thu, 4 Jul 2013 04:55:24 -0700 Subject: [PATCH] Fixes issue #2872, partially. Carp are now smashed by shuttles if they don't get pushed out of the way. However, they can still end up in grille-windows, giving more motivation to replace them in shuttles with actual shuttle windows. Also gibs other simple_animal creatures that are in the way. --- code/controllers/shuttle_controller.dm | 3 +++ code/game/machinery/computer/prisonshuttle.dm | 7 +++++++ code/game/machinery/computer/specops_shuttle.dm | 6 ++++++ code/game/machinery/computer/syndicate_specops_shuttle.dm | 6 ++++++ code/modules/mining/mine_items.dm | 3 +++ code/modules/research/research_shuttle.dm | 3 +++ 6 files changed, 28 insertions(+) diff --git a/code/controllers/shuttle_controller.dm b/code/controllers/shuttle_controller.dm index 879a25ac3e..481a6958d3 100644 --- a/code/controllers/shuttle_controller.dm +++ b/code/controllers/shuttle_controller.dm @@ -279,6 +279,9 @@ datum/shuttle_controller for(var/mob/living/carbon/bug in end_location) // If someone somehow is still in the shuttle's docking area... bug.gib() + for(var/mob/living/simple_animal/pest in end_location) // And for the other kind of bug... + pest.gib() + start_location.move_contents_to(end_location) settimeleft(SHUTTLELEAVETIME) //send2irc("Server", "The Emergency Shuttle has docked with the station.") diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index ae64595db7..25607ab66f 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -235,5 +235,12 @@ var/prison_shuttle_timeleft = 0 AM.Move(D) 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() + + for(var/mob/living/simple_animal/pest in end_location) // And for the other kind of bug... + pest.gib() + start_location.move_contents_to(end_location) return \ No newline at end of file diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index 762dae9784..216471e9a8 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -77,6 +77,12 @@ var/specops_shuttle_timeleft = 0 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() + + for(var/mob/living/simple_animal/pest in end_location) // And for the other kind of bug... + pest.gib() + start_location.move_contents_to(end_location) for(var/turf/T in get_area_turfs(end_location) ) diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm index ef2f96ab28..7ba21efbcf 100644 --- a/code/game/machinery/computer/syndicate_specops_shuttle.dm +++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm @@ -162,6 +162,12 @@ var/syndicate_elite_shuttle_timeleft = 0 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() + + for(var/mob/living/simple_animal/pest in end_location) // And for the other kind of bug... + pest.gib() + start_location.move_contents_to(end_location) for(var/turf/T in get_area_turfs(end_location) ) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index f2b92c0836..1261642e4f 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -86,6 +86,9 @@ proc/move_mining_shuttle() for(var/mob/living/carbon/bug in toArea) // If someone somehow is still in the shuttle's docking area... bug.gib() + for(var/mob/living/simple_animal/pest in toArea) // And for the other kind of bug... + pest.gib() + fromArea.move_contents_to(toArea) if (mining_shuttle_location) mining_shuttle_location = 0 diff --git a/code/modules/research/research_shuttle.dm b/code/modules/research/research_shuttle.dm index ea907516d4..875c33fe8b 100644 --- a/code/modules/research/research_shuttle.dm +++ b/code/modules/research/research_shuttle.dm @@ -49,6 +49,9 @@ proc/move_research_shuttle() for(var/mob/living/carbon/bug in toArea) // If someone somehow is still in the shuttle's docking area... bug.gib() + for(var/mob/living/simple_animal/pest in toArea) // And for the other kind of bug... + pest.gib() + fromArea.move_contents_to(toArea) if (research_shuttle_location) research_shuttle_location = 0