From c97004bef277534d1e50e58eb54f45d01e2a5183 Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Thu, 2 Aug 2012 21:42:43 +0000 Subject: [PATCH] -Fixed issue 726, not the best fix but I could find no other solution. -Added the unused alien resin door. Only aliens can open it, it will also auto-close after 10 seconds. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4294 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/procs/gamehelpers.dm | 3 +++ code/game/objects/mineral_doors.dm | 9 +++++++++ .../mob/living/carbon/alien/humanoid/alien_powers.dm | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/code/defines/procs/gamehelpers.dm b/code/defines/procs/gamehelpers.dm index b76597ebde8..8106f179712 100644 --- a/code/defines/procs/gamehelpers.dm +++ b/code/defines/procs/gamehelpers.dm @@ -238,6 +238,9 @@ if(ear in view(R.canhear_range,radio_loc)) hearers += M break + else if(ear in range(0, radio_loc)) + hearers += M + break return hearers diff --git a/code/game/objects/mineral_doors.dm b/code/game/objects/mineral_doors.dm index ccc896725d6..56e091a0031 100644 --- a/code/game/objects/mineral_doors.dm +++ b/code/game/objects/mineral_doors.dm @@ -285,6 +285,11 @@ /obj/structure/mineral_door/resin mineralType = "resin" hardness = 5 + var/close_delay = 100 + + TryToSwitchState(atom/user) + if(isalien(user)) + return ..() Open() isSwitchingStates = 1 @@ -297,6 +302,10 @@ update_icon() isSwitchingStates = 0 + spawn(close_delay) + if(!isSwitchingStates && state == 1) + Close() + Close() isSwitchingStates = 1 playsound(loc, 'attackblob.ogg', 100, 1) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index 5fe835c7ba3..25743502ab7 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -146,13 +146,15 @@ I kind of like the right click only--the window version can get a little confusi set category = "Alien" if(powerc(100)) - var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin wall","resin membrane","resin nest") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist + var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin door","resin wall","resin membrane","resin nest") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist if(!choice || !powerc(100)) return adjustToxLoss(-100) src << "\green You shape a [choice]." for(var/mob/O in viewers(src, null)) O.show_message(text("\red [src] vomits up a thick purple substance and begins to shape it!"), 1) switch(choice) + if("resin door") + new /obj/structure/mineral_door/resin(loc) if("resin wall") new /obj/effect/alien/resin/wall(loc) if("resin membrane")