diff --git a/code/__DEFINES/wires.dm b/code/__DEFINES/wires.dm index a251eef4dcb..045a6ac70bb 100644 --- a/code/__DEFINES/wires.dm +++ b/code/__DEFINES/wires.dm @@ -13,7 +13,8 @@ #define WIRE_BACKUP2 "Auxiliary Power 2" #define WIRE_BEACON "Beacon" #define WIRE_BOLTS "Bolts" -#define WIRE_BOOM "Boom" +#define WIRE_BOOM "Boom Wire 1" +#define WIRE_BOOM2 "Boom Wire 2" #define WIRE_CAMERA "Camera" #define WIRE_CONTRABAND "Contraband" #define WIRE_DELAY "Delay" diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index a9860d18a9b..adb829d7dc0 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -5,7 +5,7 @@ /datum/wires/syndicatebomb/New(atom/holder) wires = list( - WIRE_BOOM, WIRE_UNBOLT, + WIRE_BOOM, WIRE_BOOM2, WIRE_UNBOLT, WIRE_ACTIVATE, WIRE_DELAY, WIRE_PROCEED ) ..() @@ -20,7 +20,7 @@ /datum/wires/syndicatebomb/on_pulse(wire) var/obj/machinery/syndicatebomb/B = holder switch(wire) - if(WIRE_BOOM) + if(WIRE_BOOM,WIRE_BOOM2) if(B.active) holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) B.explode_now = TRUE @@ -72,7 +72,7 @@ /datum/wires/syndicatebomb/on_cut(wire, mend) var/obj/machinery/syndicatebomb/B = holder switch(wire) - if(WIRE_BOOM) + if(WIRE_BOOM,WIRE_BOOM2) if(!mend && B.active) holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) B.explode_now = TRUE @@ -90,12 +90,9 @@ if(WIRE_PROCEED) if(!mend && B.active) - holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) - B.explode_now = TRUE - if(!istype(B.payload, /obj/machinery/syndicatebomb/training)) - tell_admins(B) - if(isliving(usr)) - add_memory_in_range(B, 7, /datum/memory/bomb_defuse_failure, protagonist = usr, antagonist = B) + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] The digital display on the device deactivates.")) + B.examinable_countdown = FALSE + if(WIRE_ACTIVATE) if(!mend && B.active) @@ -104,6 +101,7 @@ B.active = FALSE B.delayedlittle = FALSE B.delayedbig = FALSE + B.examinable_countdown = TRUE B.update_appearance() if(isliving(usr)) add_memory_in_range(B, 7, /datum/memory/bomb_defuse_success, protagonist = usr, antagonist = B, bomb_time_left = bomb_time_left) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 0a36f25daaf..5997281f2c2 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -30,6 +30,8 @@ var/delayedbig = FALSE //delay wire pulsed? var/delayedlittle = FALSE //activation wire pulsed? var/obj/effect/countdown/syndicatebomb/countdown + /// Whether the countdown is visible on examine + var/examinable_countdown = TRUE var/next_beep var/detonation_timer @@ -104,7 +106,12 @@ /obj/machinery/syndicatebomb/examine(mob/user) . = ..() - // . += {"A digital display on it reads "[seconds_remaining()]"."} SKYRAT EDIT : - commented out to make people fear it more. + . += {"The patented external shell design is resistant to "probably all" forms of external explosive compression, protecting the electronically-trigged bomb core from accidental early detonation."} + . += "A small window reveals some information about the payload: [payload.desc]." + if(examinable_countdown) + // . += {"A digital display on it reads "[seconds_remaining()]"."} SKYRAT EDIT : - commented out to make people fear it more. + else + . +={"The digital display on it is inactive."} /obj/machinery/syndicatebomb/update_icon_state() icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]" @@ -113,6 +120,7 @@ /obj/machinery/syndicatebomb/proc/seconds_remaining() if(active) . = max(0, round((detonation_timer - world.time) / 10)) + else . = timer_set