From bc0e87ceaab155c22ccdc2b2508764673d77d58a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 10:38:50 +0200 Subject: [PATCH] Destroying a camera now also cuts wires randomly. --- code/datums/wires/wires.dm | 5 +++++ code/game/machinery/camera/camera.dm | 2 ++ 2 files changed, 7 insertions(+) diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 3b0b54942f..0555a140bd 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -278,6 +278,11 @@ var/const/POWER = 8 var/r = rand(1, wires.len) CutWireIndex(r) +/datum/wires/proc/RandomCutAll(var/probability = 10) + for(var/i = 1; i < MAX_FLAG && i < (1 << wire_count); i += i) + if(prob(probability)) + CutWireIndex(i) + /datum/wires/proc/CutAll() for(var/i = 1; i < MAX_FLAG && i < (1 << wire_count); i += i) CutWireIndex(i) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index ec9c17f241..43e26a7d46 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -226,6 +226,8 @@ //Used when someone breaks a camera /obj/machinery/camera/proc/destroy() stat |= BROKEN + wires.RandomCutAll() + kick_viewers() triggerCameraAlarm() update_icon()