From fd34cea8ef7afd74277fcf6fadde76e0167b1533 Mon Sep 17 00:00:00 2001 From: VistaPOWA Date: Sun, 5 Jan 2014 03:32:10 +0100 Subject: [PATCH] fixes the merging failure hopefully that's it --- code/datums/uplink_item.dm | 8 +++++- .../game/objects/items/devices/radio/radio.dm | 28 +++++++++++++------ .../objects/items/weapons/melee/energy.dm | 7 ++--- .../modules/mob/living/silicon/robot/robot.dm | 28 ++++++------------- .../mob/living/silicon/robot/robot_modules.dm | 2 +- 5 files changed, 40 insertions(+), 33 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 5f6a6b18706..b3e55d3c2c3 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -380,9 +380,15 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/syndicate_bomb name = "Syndicate Bomb" desc = "The Syndicate Bomb has an adjustable timer with a minimum setting of 30 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \ - You can wrench the bomb down to prevent removal. The crew may defuse the bomb." + You can wrench the bomb down to prevent removal. The crew may attempt to defuse the bomb." item = /obj/item/device/sbeacondrop/bomb cost = 5 +/datum/uplink_item/device_tools/syndicate_detonator + name = "Syndicate Detonator" + desc = "The Syndicate Detonator is a companion device to the Syndicate Bomb. Simply press the included button and an encrypted radio frequency will instruct all live syndicate bombs to detonate. \ +Useful for when speed matters or you wish to synchronize multiple bomb blasts. Be sure to stand clear of the blast radius before using the detonator." + item = /obj/item/device/syndicatedetonator + cost = 1 /datum/uplink_item/device_tools/teleporter name = "Teleporter Circuit Board" diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b2704ed3902..82860031680 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -26,7 +26,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use var/maxf = 1499 var/emped = 0 //Highjacked to track the number of consecutive EMPs on the radio, allowing consecutive EMP's to stack properly. // "Example" = FREQ_LISTENING|FREQ_BROADCASTING - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BELT throw_speed = 2 throw_range = 9 @@ -49,6 +49,8 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use /obj/item/device/radio/New() wires = new(src) + if(prison_radio) + wires.CutWireIndex(WIRE_TRANSMIT) secure_radio_connections = new ..() if(radio_controller) @@ -478,17 +480,17 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use freq_text = "#unkn" if(COMM_FREQ) freq_text = "Command" - if(1351) + if(SCI_FREQ) freq_text = "Science" - if(1355) + if(MED_FREQ) freq_text = "Medical" - if(1357) + if(ENG_FREQ) freq_text = "Engineering" if(SEC_FREQ) freq_text = "Security" - if(1349) + if(SERV_FREQ) freq_text = "Service" - if(1347) + if(SUP_FREQ) freq_text = "Supply" //There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO @@ -502,10 +504,20 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use part_a = "" else if (display_freq==COMM_FREQ) part_a = "" + else if (display_freq==SCI_FREQ) + part_a = "" + else if (display_freq==MED_FREQ) + part_a = "" + else if (display_freq==ENG_FREQ) + part_a = "" else if (display_freq==SEC_FREQ) part_a = "" - else if (display_freq in DEPT_FREQS) - part_a = "" + else if (display_freq==SERV_FREQ) + part_a = "" + else if (display_freq==SUP_FREQ) + part_a = "" + else if (display_freq==DSQUAD_FREQ) + part_a = "" var/quotedmsg = M.say_quote(message) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 2b2c365a4bf..0d2eb5fefd2 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -1,6 +1,5 @@ /obj/item/weapon/melee/energy var/active = 0 - flags = FPRINT | TABLEPASS /obj/item/weapon/melee/energy/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.", \ @@ -19,7 +18,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS + flags = CONDUCT | NOSHIELD origin_tech = "combat=3" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") @@ -53,7 +52,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD origin_tech = "magnets=3;syndicate=4" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/hacked = 0 @@ -166,7 +165,7 @@ throw_speed = 1 throw_range = 1 w_class = 4.0//So you can't hide it in your pocket or some such. - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/datum/effect/effect/system/spark_spread/spark_system diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2831830329a..b458de9f9e6 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -281,24 +281,12 @@ /mob/living/silicon/robot/ex_act(severity) - if(!blinded) - flick("flash", flash) - - if (stat == 2 && client) - gib() - return - - else if (stat == 2 && !client) - del(src) - return + ..() switch(severity) if(1.0) - if (stat != 2) - adjustBruteLoss(100) - adjustFireLoss(100) - gib() - return + gib() + return if(2.0) if (stat != 2) adjustBruteLoss(60) @@ -307,7 +295,7 @@ if (stat != 2) adjustBruteLoss(30) - updatehealth() + return /mob/living/silicon/robot/meteorhit(obj/O as obj) @@ -592,7 +580,6 @@ M.put_in_active_hand(G) - grabbed_by += G G.synch() playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) for(var/mob/O in viewers(src, null)) @@ -708,8 +695,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs((M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() @@ -964,6 +950,10 @@ return /mob/living/silicon/robot/proc/self_destruct() + if(emagged) + explosion(src.loc,1,2,4,flame_range = 2) + else + explosion(src.loc,-1,0,2) gib() return diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4866d00e555..17fca238a9f 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -4,7 +4,7 @@ icon_state = "std_module" w_class = 100.0 item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT + flags = CONDUCT var/list/modules = list() var/obj/item/emag = null