From 3a11f5828c207f13fc47f7433bf0acd1c1023505 Mon Sep 17 00:00:00 2001 From: "n3ophyt3@gmail.com" Date: Sun, 5 Dec 2010 21:12:25 +0000 Subject: [PATCH] RCD Disabler malf module now properly disables RCDs. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@544 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/weapon.dm | 15 +-- .../gamemodes/malfunction/Malf_Modules.dm | 3 +- code/game/objects/items/weapons/RCD.dm | 109 ++++++++++-------- 3 files changed, 61 insertions(+), 66 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 94a75564789..4d5ffa5e0aa 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -30,6 +30,7 @@ var/matter = 0 var/working = 0 var/mode = 1 + var/disabled = 0 flags = FPRINT | TABLEPASS| CONDUCT force = 10.0 throwforce = 10.0 @@ -39,20 +40,6 @@ m_amt = 50000 var/datum/effects/system/spark_spread/spark_system -/obj/item/weapon/rcd_fake - name = "rapid-construction-device (RCD)" - desc = "A device used to rapidly build walls/floor." - icon = 'items.dmi' - icon_state = "rcd" - opacity = 0 - density = 0 - anchored = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT - force = 10.0 - throwforce = 10.0 - throw_speed = 1 - throw_range = 5 - w_class = 3.0 /obj/item/weapon/rcd_ammo name = "Compressed matter cartridge" diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 97d207f14d2..ddae6d8b089 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -64,7 +64,8 @@ rcd light flash thingy on matter drain if(rcdmod.uses > 0) rcdmod.uses -- for(var/obj/item/weapon/rcd/rcd in world) - rcd = new /obj/item/weapon/rcd_fake(rcd) + rcd.disabled = 1 + usr << "RCD-disabling pulse emitted." else usr << "Out of uses." /datum/game_mode/malfunction/AI_Module/small/overload_machine diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 1dca69fbe27..2a7dbf2efa8 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -48,86 +48,93 @@ RCD if (istype(A, /turf) && mode == 1) if (istype(A, /turf/space) && matter >= 1) user << "Building Floor (1)..." - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - spark_system.set_up(5, 0, src) - src.spark_system.start() - A:ReplaceWithFloor() - matter-- - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + spark_system.set_up(5, 0, src) + src.spark_system.start() + A:ReplaceWithFloor() + matter-- + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return if (istype(A, /turf/simulated/floor) && matter >= 3) user << "Building Wall (3)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 20)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - A:ReplaceWithWall() - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - matter -= 3 - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + A:ReplaceWithWall() + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + matter -= 3 + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return else if (istype(A, /turf/simulated/floor) && mode == 2 && matter >= 10) user << "Building Airlock (10)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 50)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock( A ) - matter -= 10 - T.autoclose = 1 - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." - playsound(src.loc, 'sparks2.ogg', 50, 1) + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock( A ) + matter -= 10 + T.autoclose = 1 + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." + playsound(src.loc, 'sparks2.ogg', 50, 1) return else if (mode == 3 && (istype(A, /turf) || istype(A, /obj/machinery/door/airlock) ) ) if (istype(A, /turf/simulated/wall) && matter >= 5) user << "Deconstructing Wall (5)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 50)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - matter -= 5 - A:ReplaceWithFloor() - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + matter -= 5 + A:ReplaceWithFloor() + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return if (istype(A, /turf/simulated/wall/r_wall) && matter >= 5) user << "Deconstructing RWall (5)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 50)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - matter -= 5 - A:ReplaceWithWall() - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + matter -= 5 + A:ReplaceWithWall() + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return if (istype(A, /turf/simulated/floor) && matter >= 5) user << "Deconstructing Floor (5)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 50)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - matter -= 5 - A:ReplaceWithSpace() - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + matter -= 5 + A:ReplaceWithSpace() + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return if (istype(A, /obj/machinery/door/airlock) && matter >= 10) user << "Deconstructing Airlock (10)..." playsound(src.loc, 'click.ogg', 50, 1) if(do_after(user, 50)) - spark_system.set_up(5, 0, src) - src.spark_system.start() - matter -= 10 - del(A) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "The RCD now holds [matter]/30 matter-units." - desc = "A RCD. It currently holds [matter]/30 matter-units." + if (!disabled) + spark_system.set_up(5, 0, src) + src.spark_system.start() + matter -= 10 + del(A) + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + user << "The RCD now holds [matter]/30 matter-units." + desc = "A RCD. It currently holds [matter]/30 matter-units." return