From 4b15f1a24959f55e0e9fa5206da206f9a7b1cd43 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 28 Feb 2015 16:47:41 +1030 Subject: [PATCH] Fixes #7877 --- code/game/objects/structures/door_assembly.dm | 4 ++++ code/game/objects/structures/girders.dm | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index b4281a6033..ec55e6549e 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -248,6 +248,10 @@ glass = 1 else if(istype(S, /obj/item/stack/sheet/mineral) && S.sheettype) var/M = S.sheettype + // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z + if(M in list("mhydrogen","osmium","tritium","platinum","iron")) + user << "You cannot make an airlock out of that material." + return if(S.get_amount() >= 2) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 0512b814b2..85415cd162 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -26,7 +26,7 @@ var/damage = Proj.damage if(!istype(Proj, /obj/item/projectile/beam)) damage *= 0.4 //non beams do reduced damage - + health -= damage ..() if(health <= 0) @@ -144,6 +144,10 @@ if(S.sheettype) var/M = S.sheettype + // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z + if(M in list("mhydrogen","osmium","tritium","platinum","iron")) + user << "You cannot plate the girder in that material." + return if(!anchored) if(S.amount < 2) return S.use(2) @@ -271,11 +275,11 @@ //Girders only provide partial cover. There's a chance that the projectiles will just pass through. (unless you are trying to shoot the girder) if(Proj.original != src && !prob(cover)) return -1 //pass through - + //Tasers and the like should not damage cultgirders. if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return - + health -= Proj.damage ..() if(health <= 0)