From cf90405f56e06febb65dd7f859f5deb69845b74b Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Wed, 13 Jul 2016 22:04:23 -0400 Subject: [PATCH 1/6] Plastic Explosives Update --- .../MetaStation/MetaStation.v41A.II.dmm | 2 +- _maps/map_files/MetaStation/z2.dmm | 2 +- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- code/datums/cargoprofile.dm | 4 +- code/datums/uplink_item.dm | 12 +- code/datums/wires/explosive.dm | 13 - code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/transformer.dm | 2 +- code/game/objects/items/weapons/explosives.dm | 233 +++++++++++------- .../items/weapons/storage/uplink_kits.dm | 2 +- code/modules/admin/verbs/debug.dm | 2 +- code/modules/admin/verbs/striketeam.dm | 2 +- .../admin/verbs/striketeam_syndicate.dm | 4 +- code/modules/flufftext/Hallucination.dm | 2 +- .../living/simple_animal/friendly/corgi.dm | 4 +- code/modules/paperwork/frames.dm | 9 +- icons/mob/inhands/items_lefthand.dmi | Bin 170128 -> 170135 bytes icons/mob/inhands/items_righthand.dmi | Bin 167946 -> 167954 bytes icons/obj/assemblies.dmi | Bin 29693 -> 27808 bytes icons/obj/grenade.dmi | Bin 4009 -> 4597 bytes 20 files changed, 174 insertions(+), 123 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index c16be0cf8bd..9e826de1379 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -38,7 +38,7 @@ "aaL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate) "aaM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate) "aaN" = (/obj/structure/closet/syndicate/suits,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) -"aaO" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) +"aaO" = (/obj/structure/table,/obj/item/weapon/grenade/plastic/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "aaP" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "aaQ" = (/obj/machinery/atmospherics/unary/tank/air{dir = 1},/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/syndicate) "aaR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 90fdad55ab1..0e4001575fc 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -580,7 +580,7 @@ "nD" = (/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/unsimulated/floor{tag = "icon-darkbrown"; icon_state = "darkbrown"; dir = 2},/area/centcom/ferry) "nE" = (/turf/unsimulated/floor{tag = "icon-darkred"; icon_state = "darkred"; dir = 2},/area/centcom/ferry) "nF" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) -"nG" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/obj/item/weapon/c4{pixel_x = 7},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"nG" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/plastic/c4,/obj/item/weapon/grenade/plastic/c4{pixel_x = 7},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) "nH" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve) "nI" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve) "nJ" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 553d98e3ebd..7ee787d50dc 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -8524,7 +8524,7 @@ "dhW" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/door_control{id = "smindicate"; name = "External Door Control"; pixel_x = -26; pixel_y = -2; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; roundstart_move = "syndicate_away"; width = 18},/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_nw"; name = "northwest of station"; width = 18},/turf/simulated/shuttle/plating,/area/shuttle/syndicate) "dhX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate) "dhY" = (/obj/structure/closet/syndicate/suits,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) -"dhZ" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) +"dhZ" = (/obj/structure/table,/obj/item/weapon/grenade/plastic/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "dia" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "dib" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "dic" = (/obj/machinery/atmospherics/unary/tank/air{dir = 1},/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/syndicate) diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm index 40a065e5bad..91a4420b31c 100644 --- a/code/datums/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -156,7 +156,7 @@ blacklist = null whitelist = list(/obj/item/weapon/tank,/obj/item/weapon/reagent_containers, /obj/item/stack/medical,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/gun/syringe, - /obj/item/weapon/c4,/obj/item/weapon/grenade,/obj/item/ammo_box, + /obj/item/weapon/grenade/plastic/c4,/obj/item/weapon/grenade,/obj/item/ammo_box, /obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/flamethrower, /obj/item/weapon/lighter, /obj/item/weapon/match,/obj/item/weapon/weldingtool) @@ -258,7 +258,7 @@ whitelist = list(/obj/item/weapon/banhammer,/obj/item/weapon/sord,/obj/item/weapon/claymore,/obj/item/weapon/holo/esword, /obj/item/weapon/flamethrower,/obj/item/weapon/grenade,/obj/item/weapon/gun,/obj/item/weapon/hatchet,/obj/item/weapon/katana, /obj/item/weapon/kitchen/knife,/obj/item/weapon/melee,/obj/item/weapon/nullrod,/obj/item/weapon/pickaxe,/obj/item/weapon/twohanded, - /obj/item/weapon/c4,/obj/item/weapon/scalpel,/obj/item/weapon/shield,/obj/item/weapon/grown/nettle/death) + /obj/item/weapon/grenade/plastic/c4,/obj/item/weapon/scalpel,/obj/item/weapon/shield,/obj/item/weapon/grown/nettle/death) /datum/cargoprofile/tools name = "Devices & Tools" diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 3ecf203ea02..4ca4c38f68a 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -953,11 +953,19 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/plastic_explosives name = "Composition C-4" - desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect a signaller to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds." + desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect an assembly to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds." reference = "C4" - item = /obj/item/weapon/c4 + item = /obj/item/weapon/grenade/plastic/c4 cost = 1 +/datum/uplink_item/device_tools/breaching_charge + name = "Composition X-4" + desc = "X-4 is a shaped charge designed to be safe to the user while causing maximum damage to the occupants of the room beach breached. It has a modifiable timer with a minimum setting of 10 seconds." + reference = "X4" + item = /obj/item/weapon/grenade/plastic/x4 + cost = 2 + gamemodes = list(/datum/game_mode/nuclear) + /datum/uplink_item/device_tools/powersink name = "Power Sink" desc = "When screwed to wiring attached to an electric grid, then activated, this large device places excessive load on the grid, causing a stationwide blackout. The sink cannot be carried because of its excessive size. Ordering this sends you a small beacon that will teleport the power sink to your location on activation." diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index 9a9e892acd9..d653729dfd3 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -17,19 +17,6 @@ var/const/WIRE_EXPLODE = 1 if(!mended) explode() -/datum/wires/explosive/plastic - holder_type = /obj/item/weapon/c4 - -/datum/wires/explosive/plastic/CanUse(var/mob/living/L) - var/obj/item/weapon/c4/P = holder - if(P.open_panel) - return 1 - return 0 - -/datum/wires/explosive/plastic/explode() - var/obj/item/weapon/c4/P = holder - P.explode(get_turf(P)) - /datum/wires/explosive/gibtonite holder_type = /obj/item/weapon/twohanded/required/gibtonite diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 2ee085c908a..394f29a1ccf 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -997,7 +997,7 @@ About the new airlock wires panel: if(istype(C, /obj/item/device/detective_scanner) || istype(C, /obj/item/taperoll)) return - if(istype(C, /obj/item/weapon/c4)) + if(istype(C, /obj/item/weapon/grenade/plastic/c4)) to_chat(user, "The hatch is coated with a product that prevents the shaped charge from sticking!") return diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 83b58d19d1c..f34e28dcd18 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -244,7 +244,7 @@ badcount++ for(var/obj/item/weapon/kitchen/knife/K in src.loc) badcount++ - for(var/obj/item/weapon/c4/KK in src.loc) + for(var/obj/item/weapon/grenade/plastic/c4/KK in src.loc) badcount++ for(var/obj/item/weapon/melee/ML in src.loc) badcount++ diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 44387314147..da3a3f73c0e 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -1,31 +1,96 @@ -/obj/item/weapon/c4 - name = "plastic explosives" +/obj/item/weapon/grenade/plastic + name = "plastic explosive" desc = "Used to put holes in specific areas without too much extra hole." - gender = PLURAL - icon = 'icons/obj/assemblies.dmi' icon_state = "plastic-explosive0" - item_state = "plasticx" + item_state = "plastic-explosive" flags = NOBLUDGEON - w_class = 2 + det_time = 10 + display_timer = 0 origin_tech = "syndicate=2" - var/datum/wires/explosive/plastic/wires = null - var/timer = 10 var/atom/target = null - var/open_panel = 0 + var/image_overlay = null + var/obj/item/device/assembly_holder/nadeassembly = null + var/assemblyattacher -/obj/item/weapon/c4/New() - wires = new(src) +/obj/item/weapon/grenade/plastic/New() + image_overlay = image('icons/obj/grenade.dmi', "[item_state]2") ..() -/obj/item/weapon/c4/Destroy() - qdel(wires) - wires = null +/obj/item/weapon/grenade/plastic/Destroy() + qdel(nadeassembly) + nadeassembly = null target = null - return ..() + ..() -/obj/item/weapon/c4/suicide_act(var/mob/user) - . = (BRUTELOSS) - to_chat(viewers(user), "[user] activates the C4 and holds it above his head! It looks like \he's going out with a bang!") +/obj/item/weapon/grenade/plastic/attackby(obj/item/I, mob/user, params) + if(!nadeassembly && istype(I, /obj/item/device/assembly_holder)) + var/obj/item/device/assembly_holder/A = I + if(!user.unEquip(I)) + return ..() + nadeassembly = A + A.master = src + A.loc = src + assemblyattacher = user.ckey + user << "You add [A] to the [name]." + playsound(src, 'sound/weapons/tap.ogg', 20, 1) + update_icon() + return + if(nadeassembly && istype(I, /obj/item/weapon/wirecutters)) + playsound(src, 'sound/items/Wirecutter.ogg', 20, 1) + nadeassembly.loc = get_turf(src) + nadeassembly.master = null + nadeassembly = null + update_icon() + return + ..() + +//assembly stuff +/obj/item/weapon/grenade/plastic/receive_signal() + prime() + +/obj/item/weapon/grenade/plastic/Crossed(atom/movable/AM) + if(nadeassembly) + nadeassembly.Crossed(AM) + +/obj/item/weapon/grenade/plastic/on_found(mob/finder) + if(nadeassembly) + nadeassembly.on_found(finder) + +/obj/item/weapon/grenade/plastic/attack_self(mob/user) + if(nadeassembly) + nadeassembly.attack_self(user) + return + var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num + if(user.get_active_hand() == src) + newtime = Clamp(newtime, 10, 60000) + det_time = newtime + user << "Timer set for [det_time] seconds." + +/obj/item/weapon/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag) + if (!flag) + return + if (istype(AM, /mob/living/carbon)) + return + user << "You start planting the [src]. The timer is set to [det_time]..." + + if(do_after(user, 50, target = AM)) + if(!user.unEquip(src)) + return + src.target = AM + loc = null + + message_admins("[key_name_admin(user)](?) (FLW) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [det_time] second fuse",0,1) + log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse") + + target.overlays += image_overlay + if(!nadeassembly) + user << "You plant the bomb. Timer counting down from [det_time]." + addtimer(src, "prime", det_time*10) + +/obj/item/weapon/grenade/plastic/suicide_act(mob/user) + message_admins("[key_name_admin(user)](?) (FLW) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP)",0,1) + message_admins("[key_name(user)] suicided with [src.name] at ([user.x],[user.y],[user.z])") + user.visible_message("[user] activates the [src.name] and holds it above \his head! It looks like \he's going out with a bang!") var/message_say = "FOR NO RAISIN!" if(user.mind) if(user.mind.special_role) @@ -44,81 +109,77 @@ message_say = "FOR THE REVOLOUTION!" else if(role == "death commando" || role == ROLE_ERT) message_say = "FOR NANOTRASEN!" - user.say(message_say) target = user - message_admins("[key_name_admin(user)] suicided with [src.name] at ([x],[y],[z] - JMP)",0,1) - message_admins("[key_name(user)] suicided with [src.name] at ([x],[y],[z])") - explode(get_turf(user)) - return . + sleep(10) + prime() + user.gib() -/obj/item/weapon/c4/attackby(var/obj/item/I, var/mob/user, params) - if(istype(I, /obj/item/weapon/screwdriver)) - open_panel = !open_panel - to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") - else if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler )) - wires.Interact(user) +/obj/item/weapon/grenade/plastic/update_icon() + if(nadeassembly) + icon_state = "[item_state]1" else - ..() + icon_state = "[item_state]0" -/obj/item/weapon/c4/attack_self(mob/user as mob) - var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num|null - if(newtime == null) - return - if(newtime < 10) - newtime = 10 - if(newtime > 60000) - newtime = 60000 - timer = newtime - to_chat(user, "Timer set for [timer] seconds.") +////////////////////////// +///// The Explosives ///// +////////////////////////// +/obj/item/weapon/grenade/plastic/c4 + name = "C4" + desc = "Used to put holes in specific areas without too much extra hole. A saboteurs favourite." -/obj/item/weapon/c4/afterattack(atom/target as obj|turf, mob/user as mob, flag) - if(!flag) - return - if(ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage) || istype(target, /obj/item/clothing/accessory/storage) || istype(target, /obj/item/clothing/under)) - return - to_chat(user, "Planting explosives...") - - if(do_after(user, 50, target = target) && in_range(user, target)) - user.drop_item() - src.target = target - loc = null - - if(ismob(target)) - add_logs(target, user, "planted [name] on") - user.visible_message("\red [user.name] finished planting an explosive on [target.name]!") - message_admins("[key_name_admin(user)] planted [src.name] on [key_name_admin(target)] with [timer] second fuse",0,1) - log_game("[key_name(user)] planted [src.name] on [key_name(target)] with [timer] second fuse") - - else - message_admins("[key_name_admin(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [timer] second fuse",0,1) - log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse") - - target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2") - to_chat(user, "Bomb has been planted. Timer counting down from [timer].") - spawn(timer*10) - explode(get_turf(target)) - -/obj/item/weapon/c4/proc/explode(var/location) - - if(!target) - target = get_atom_on_turf(src) - if(!target) - target = src - if(location) - explosion(location, -1, -1, 4, 4) - +/obj/item/weapon/grenade/plastic/c4/prime() + var/turf/location if(target) - if(istype(target, /turf/simulated/wall)) - var/turf/simulated/wall/W = target - W.dismantle_wall(1) - else - target.ex_act(1) - if(isobj(target)) - if(target) - qdel(target) + if(!qdeleted(target)) + location = get_turf(target) + target.overlays -= image_overlay + else + location = get_turf(src) + target = loc + if(location) + location.ex_act(2, target) + explosion(location,0,0,3) + if(istype(target, /mob)) + var/mob/M = target + M.gib() qdel(src) -/obj/item/weapon/c4/attack(mob/M as mob, mob/user as mob, def_zone) - return \ No newline at end of file +// X4 is an upgraded directional variant of c4 which is relatively safe to be standing next to. And much less safe to be standing on the other side of. +// C4 is intended to be used for infiltration, and destroying tech. X4 is intended to be used for heavy breaching and tight spaces. +// Intended to replace C4 for nukeops, and to be a randomdrop in surplus/random traitor purchases. + +/obj/item/weapon/grenade/plastic/x4 + name = "X4" + desc = "A specialized shaped high explosive breaching charge. Designed to be safer for the user, and less so, for the wall." + var/aim_dir = NORTH + icon_state = "plasticx40" + item_state = "plasticx4" + +/obj/item/weapon/grenade/plastic/x4/prime() + var/turf/location + if(target) + if(!qdeleted(target)) + location = get_turf(target) + target.overlays -= image_overlay + else + location = get_turf(src) + target = loc + if(location) + if(target.density) + var/turf/T = get_step(location, aim_dir) + explosion(get_step(T, aim_dir),0,0,3) + explosion(T,0,2,0) + location.ex_act(2, target) + else + explosion(location, 0, 2, 3) + location.ex_act(2, target) + if(istype(target, /mob)) + var/mob/M = target + M.gib() + qdel(src) + +/obj/item/weapon/grenade/plastic/x4/afterattack(atom/movable/AM, mob/user, flag) + aim_dir = get_dir(user,AM) + ..() diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 3c972b9d041..096879d267e 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -37,7 +37,7 @@ new /obj/item/weapon/gun/projectile/revolver(src) new /obj/item/ammo_box/a357(src) new /obj/item/weapon/card/emag(src) - new /obj/item/weapon/c4(src) + new /obj/item/weapon/grenade/plastic/c4(src) new /obj/item/clothing/gloves/color/latex/nitrile(src) new /obj/item/clothing/mask/gas/clown_hat(src) new /obj/item/clothing/under/suit_jacket/really_black(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index fde2ec0579e..d58c39a9484 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -843,7 +843,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba sec_briefcase.contents += new /obj/item/ammo_box/a357 - sec_briefcase.contents += new /obj/item/weapon/c4 + sec_briefcase.contents += new /obj/item/weapon/grenade/plastic/c4 M.equip_to_slot_or_del(sec_briefcase, slot_l_hand) var/obj/item/device/pda/heads/pda = new(M) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 98ef8d7b3b8..1aeb425b8be 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -144,7 +144,7 @@ var/global/sent_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack) if(!leader_selected) - equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_in_backpack) + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) else equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack) diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index abb6de5ceb7..2fdd388d0ca 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -148,10 +148,10 @@ var/global/sent_syndicate_strike_team = 0 equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m45(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack) - equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_in_backpack) + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack) if(!syndicate_leader_selected) - equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_in_backpack) + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_in_backpack) else equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 42eda2be496..81038eaf463 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -516,7 +516,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite /obj/item/clothing/mask/gas/voice, /obj/item/clothing/glasses/thermal,\ /obj/item/device/chameleon, /obj/item/weapon/card/emag,\ /obj/item/weapon/storage/toolbox/syndicate, /obj/item/weapon/aiModule,\ - /obj/item/device/radio/headset/syndicate, /obj/item/weapon/c4,\ + /obj/item/device/radio/headset/syndicate, /obj/item/weapon/grenade/plastic/c4,\ /obj/item/device/powersink, /obj/item/weapon/storage/box/syndie_kit,\ /obj/item/toy/syndicateballoon, /obj/item/weapon/gun/energy/laser/captain,\ /obj/item/weapon/hand_tele, /obj/item/weapon/rcd, /obj/item/weapon/tank/jetpack,\ diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 04e6c0d7a2f..e0196fbcec2 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -164,7 +164,7 @@ if(!item_to_add) usr.visible_message("[usr] pets [src].","You rest your hand on [src]'s back for a moment.") return - if(istype(item_to_add,/obj/item/weapon/c4)) // last thing he ever wears, I guess + if(istype(item_to_add,/obj/item/weapon/grenade/plastic/c4)) // last thing he ever wears, I guess item_to_add.afterattack(src,usr,1) return @@ -208,7 +208,7 @@ //Many hats added, Some will probably be removed, just want to see which ones are popular. /mob/living/simple_animal/pet/corgi/proc/place_on_head(obj/item/item_to_add, var/mob/user as mob) - if(istype(item_to_add,/obj/item/weapon/c4)) // last thing he ever wears, I guess + if(istype(item_to_add,/obj/item/weapon/grenade/plastic/c4)) // last thing he ever wears, I guess item_to_add.afterattack(src,user,1) return diff --git a/code/modules/paperwork/frames.dm b/code/modules/paperwork/frames.dm index f988cf117cc..46f4e12d97e 100644 --- a/code/modules/paperwork/frames.dm +++ b/code/modules/paperwork/frames.dm @@ -224,7 +224,7 @@ explosive.forceMove(user.loc) explosive = null qdel(src) - if(istype(I, /obj/item/weapon/grenade) || istype(I, /obj/item/weapon/c4)) + if(istype(I, /obj/item/weapon/grenade) || istype(I, /obj/item/weapon/grenade/plastic/c4)) if(explosive) to_chat(user, "There is already a device attached behind \the [src], remove it first.") return 1 @@ -268,11 +268,6 @@ var/obj/item/weapon/grenade/G = explosive explosive = null G.prime() - else if(istype(explosive, /obj/item/weapon/c4)) - var/obj/item/weapon/c4/C = explosive - explosive = null - C.target = get_step(get_turf(src), dir) - C.explode(get_turf(loc)) /obj/structure/sign/picture_frame/proc/toggle_tilt(mob/user) if(!isliving(usr) || usr.stat) @@ -312,4 +307,4 @@ /obj/structure/sign/picture_frame/hear_message(mob/living/M as mob, msg) ..() for(var/obj/O in contents) - O.hear_message(M, msg) \ No newline at end of file + O.hear_message(M, msg) diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 27168c30865c02390c40fc9245727008257a34c8..0ac606eb6175a1c562b0bf4d484bba6335160fbc 100644 GIT binary patch delta 816 zcmV-01JC@Bu?m;53XmiL?Xe~227i~l4o=g_3dQ3Vp36iTxD5*Gu|(G%yhv*YSf~)) zzPa+(2Hj)w`f5}7&t!h13PA2kfqpSeCdcdk~z$8^Nn>+y5tclGMN{1#k&?((<7oF05Tcof(v2jRI zU>YdeW$!4}6+jx8^U@&I(|=p^oNg!11f0f!IWHsHv96F4F1;t@1xpgQ;)q=Ir7^N| zm_QuR%Vff#S)BuU**I!xCL|Y=6p@cWhL^zQW(s7unY8#!;+t7K)H(3rH3g=vAOULN zz}6l0gt~SwCu!CQ)KZ;;o%Rb(l_REEqkYA6zuN9K1O95m zT|MWCkNTN%&TaRn(&Z;7wefHOkTy|#&ke98I}%VTd-9A<>(!Wh6emX@V9M+`ist%M z_hkM1vjBczR&}keF@NWG4sn$KC*2(aRH%mYLOCj!<6f8T~7ly7(U9j=65apZR|wMSot;_@7aM*V}z$_L{+h+fa7Z4;8pJt6#fi*dz>o)#nP=F5cYVSwfw!#DHaYq7A z`Qj#FB`HC&89I$)-EbXHpy2HPRe;y4v)FGHF;P=$bzWkROQ+(ptT+N$kW6kA-@}Tu u%$`j-+4FbS=M>k)$1fiiAAbLQ{Xe}1tFz|DH=~0S3WpO40k;zh0)39O-j6Q; delta 809 zcmV+^1J?YPu?mo}3XmiL=CLK`27iH*<+)6hflHvE9?Ng-!Hbl2fMp3$>Dy~hC_4XI zC`O>LKav@nKoO|^j%1}C`b2sHF3qEAo(v2RAF?QTVq8!x%GNR6j@0$SJOhlc?qY+~a08`qQqkk=Ctn2th zbNwni8FB$QM9B#ItWJAiU?V93@|R4c(5lvB+$lIWG-TG`&U7>2~5wz<+5RnDa8C9qS4?;nI6T9$c= z#Zgk-2g4HD3Ch2v;yb4^a*}3^Knc}3*lEAuR25>HHQHB9_p9w*GvKc_+?8>j_^6+$ z;@ozBDocKHQX3Bk0BIA&_uK$mvLgYdvM0~zv|fa{M{#ll0;bH4qiC*Abx+p6KMUXo zW>wef8gqX4F!Bsz&wr+kxAipTo(5gftPyyUnl+jMDbFfFyah`okJz)TC1(OGF*uJ` zr*P^>&XGN^a8D9|0t`dmZkjYBzRUhCBK9h22ScxYhNynsY-5uu{m9N~0~S9eaqJDS z6}>zGX_;BQ6{}~l{w13@4W}kVDl>XV2sq2== zP9I=Mh9)gOvu*aTcL6~n@oCm*65fe3~R_7)5rgSPU%ZekA1N}ApE_98VZLR3IVqo3IctO`tf>i diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 2f7154777fd1ecba7247944a731c2e22da662e39..1a84149f45f8dc8082bb6a3638e4b2f2f0fd0d89 100644 GIT binary patch delta 823 zcmV-71IYY}pbC zTiRsE1>k@rBkZ#}?SX-fqy)%TGLb^7S`TfLi9FjVE5N=Tu~>!Giw05W`j#EHfJz6C z8(@it;}%L!dj=W3+y?od;FauQ6{Y(RCkR5ClF_~L-V1IH*HYQ~x9iB49 zQBvK%!t&4wN}HwPJEt>pl4gxSb*}^j85y7l6w>^O?%`c(I1{rj^39)E3Cb*-*3H+~Nz4aK$Cz288IT&P62x1u zp7Dr1yQFa@z^4G`@#Yjx9sN172Nv#00#JKl$lFbmX2c8Izrw@bnYrzDQO0k)!-Cm?w=tG67X?AtT?cP@4DJ;EJx-G3Q*=KqD1bv@&MMFpNK z_mSCWUL*B+Hf8F%C9=~87?Pn$i_dJE{kv5_kVt%*HChGMej3A934? z5v0c*3A}QPn}n6P1j%OTG>&z{bwGg}Ul*VM__X-+``7FL0eTQTr0QX~lY`y~hu#SRx84Z?EQZ>6 Bj(Y$A delta 815 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 uJFPEi{R^#Zj@AAaP!b3JGxZ0DVxnuTr+(3 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 delta 3874 zcmV+-58d$fBdH%HiBL{Q4GJ0x0000DNk~Le0003X0003X2m=5B03%&qvH$=9ERiK- zGdoKW0Dyo1x3>WQ|7HLH%m4s0|7QOH03?$C0D%7h{{Vmh01pojnE*5YnKOWZfd4Zy zk-RV}O-)TkNQE-o%bMMX0J003qH05t#rnE;XdA%DQY zzyQnu|NsBk*w~GYjaF7x1_J*B0dfBWEs_Bla9B%L00001bW%=J06^y0W&i*Ie|l6{ zbVOxyV{&P5bZKvH004NLot8^(!Y~kq*U2d&*rKY1EV}8Y0#z)^6_6WGl2L6ZvP}@T zuLFp@NIZ?aiLGzupNBolGWy(o?SBu^_In>zpbZu(`iSC}*DyFEx4GMF)?ttXX1Tp> zjAa(w=i-Mcw-#Z*Q5$#g76z$i5^mo;?8p*}6+EY%0tdk^_3>(GnlOVZ^9m(7NFqg# zW<9VphNvNmqkP z8Ol-@6&m12s@%|IQu)1;U3*QsOi_rjHyRIIPP#gyCX5EbbOz)ibm&>#?Rg+fx~>Ir z;&qM4ldt7LqI=_FWQ?>pU4I8;y#d{@V?BwfZ0Z{5Wz9u#Ox%V}PWElnlw-5%kH{3P zMaqD@g8#T5&sMmMc8Bftx8V;QIdJba`)oP@01Ti>L_t(|ob8VE{L{iF4@HEao2-4!7k4LrVIT`sW}qaM2Iu80N^ z-?y%a;3ejxQ}ILZAEJNu*|lre;3ejwH<9=a1**q!jBKCQ_4aMoUxYzTrGxQXNxXg? z(USx>fYP(=+pZr8*?#~9c7U#WyWMQM7^Jq389?a@%phX@NZjaj&;um&UrD?g^y`~9 zQ3EJFNfOi`Vtwi0Eh0l4_1YWMCi;*$>0tcIH?gW4)S^3Kr%sw!pFRNJI%!b6zP=t# zR|kL(!@hOepxd|c1H5ww*YDnS(Cd&vY*3|}*qrW_mRDyOhJRrghG7_nSwV#0n#93rS&8J_%4o#!V3gS3(>7Ii@X!?=4>0JLqrN6bV3R9#(9pRWkYCG^#3#$CZ zp?)SSj1XycK=C-|p*Ip~P@=IlNM@iqf$xeYcI(z&M7(_msw=E73;}Ndni+SmzgNU<%%s5z#w|_ujC{%~g>D-tKFbc2Adr*UH z%S*;16ywjJ-|tH9Lk8W`2B}M-bS#?MiSg@5U?`c&plO514016@Z#&C?=|HY}DFY}2 zVJ86J4C}izu~F(8Qni$xr%swkhB!nMBAX!CmVlOLSl_n(X5thWQq@&A9I4@VWjgUv z83c#5eSf$=F?qmnDb_QKt!pna0p5cV)BfbZZ(~BD*S8{YJ~u^ zN30uyr(_9uQlEldq2TOc7=~dOkkG?q==c<&_bhb$6y$z9@TGd_`1x+MTCLw0g}^s^ zq2uSf(Ng~m4u!72nTT(AFz-9Qrq}C@>Gd`@MJsNYTY1?j zOMhzrZ0m2b_}y^zKfMS22b(f{L-j)9^Un(o1+KqI`g4k?4=CVEAK0@vT<@w)-y_cr_eD~Hlb$znH6 zJ^UYU0boC3Uw@Ow?>fdW*3XPr*8m1dhkr&nBoStV!q(rYGR08wd;Reok_O34o_Pm+ z*WZMU-`m=n$RX9rd&SM;DeS%ereu7u34(12XnErX_50GH&3@{UYGR4OpovI^-}$e< zDHR{>#4Y3ZwvTgQL$1ely;`jQ}A!U*BNFpy6duRq>JAaQ} z$hp5$pus}ve#khF2;9w>DEjraJyD}N-j_t3$oM7_t?Ih0}H&s9(7 z(2+RdJ$^5>NR4E68wlabV&kV{ynm%V5j7d(pV09chG7_nS#tPFg8;0LVKiWU3=`q? zF-rl}ec(D?AF~XIq=8P9;5twookw7vuA zqc=l<2H5M<^)ZPkJ_Hbt)sv-`o;f!?b|Lk)Vd7Dp*;b++>Z<>l z4v^5>BfV|4{?16>S-e5x^)U+ZplFbKGO7OXA1KcWtw(8z0@laa>yz~{n(4V~eS*_7 zXgtNF-X7BpDMYTnF{W=AQ-4VO?)MVJ06mH!x*o-V44SBq(f>>a^6;BkS*s^Z=do zRDF!;`B^#)%QJ`$(}>=7Tz>=CuMQBxMW3pVF+QHI#f9P@2m}5|=zlw~L1XnX(DQp$ zlqB$5fsne-44SNuv8`_i3^h;VraRZiQ~+we$7#C5y*{P__?!=#Lw!u;ahp+$-0Nd1 zkK3Fy!!QiPgrXUG2dYk!9b%XYz%3D{x#|W{1~l;nTyN$=>m*Iw04a8`1suLFRtcS? z+3XSqbvn31w%-@4h=0DTfMw~A1U`JNchC${IZRC2R#>MDin_Q#l&vTX3z2iLtYHyJ3=d;S{wQpj+4f3pe$Lqs? zty_Owsg&-W1sHVqE^Ywz`K~*6LK}p=H$<4fpgV)U1O{;v!+*fbXR5C=48t%C!!Qg} zck25Dd(TY|{p=ol?CCu?<((#|LDYkDas$L6(hkr|=)E8+AjplN8%MTF8nka6x-67K zY4roRn@#F0m)SZf62%wNpMBJ!z0nVN0Yav>K1{`4gd|==u-TfG)O&q`v>;3F=U;Lk3axJ-*56 zXAlEi^(Rld``8Jfbi6#JwYT^5=~GZ9^@!44>t}-NPxtozj2)n>p6)}vb%tRWhG7_n zVHk#C7=~dOhGABQQZ*n9V}!GZaf7IzS#e6$&oF)o{eLHSRsWMc(NHe{LjLHo;yPJB zkU`OUBCrgK#Lb&%FD0Je z#`UAW;D0)`{f!N$_&A3zUK~gcF@x5LPkYD%NU(P^Jb#YsM@P6$ZC@JX5+6re^Fng) z67HlWXde`(qeNYG3Y|SKr9WUFRB{xnt4{Iq;2>>dFR=h6MzOl;Brh}204tn9BrBgm z6r4c>oIwO~h>Y=JUh3#DTW#H)GI#TJ))|Ij7=MOgR+!_^J5Y5fg9Z!Piwbjs%Y#=n zc4(LQE(xV8j!*Cu8l3tyXgKtzi`TEe{POi{_*RwBH793i3JuOry{6Fc&D)_jeK)-o z-MzTDKy`Ev&;ELb$g*=t86agX<9IgTdwLZL3_?e-R2k$T zn*n|=j}JXUM|}|)^xe5}f#Z`i-G3?MB7f)a-l?`Yw&bL1pg}{tjX3Ia$sl4BH|fX6 zCnxIq=~A}8Q)!I+@&3L1d38-W7`)P^sRpW0Bf**Bntk}@&D-yXaP;9nAO7p#n11a) z|2=~Bxnz)qLD6IeDVLNPuSOXp?a58k{+*s)sw>iyljA9mxC3x8lT z*ar>N=%-9O|E}g4MBYl2Fvu)bpbxr8GX%WQp>zd4j7Nk)rLTj+jAFa#g&>$Bl&&By z1j!4@lEBwNJ}(sIy_N*Nm7sJ5c`HHOinua-OWaDh=nFB(H$ErK=3)>zoqR2u4T zz0BP_If@YzYSm^AbJFCLDlsLy{C`lB^3SvZ2sy?P%{mc?W)yI^mpP~Mi$W;%E`;40qYis!Hi`?|kQ1vln z{Y)g*@E2dW>Vet)fq3$GMD)?=-|Hc7esI)7qlT#;h-cSFSPT2{#}6Mqz<)>Rst3n4 zgO=YQ*9=nc2Ehz))Pv)kK{q-b)BsBV-%meP+aTu*x Date: Wed, 13 Jul 2016 23:42:31 -0400 Subject: [PATCH 2/6] Flashbang Explosives --- code/game/objects/items/weapons/explosives.dm | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index da3a3f73c0e..c4f1fbf8890 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -31,7 +31,7 @@ A.master = src A.loc = src assemblyattacher = user.ckey - user << "You add [A] to the [name]." + to_chat(user, "You add [A] to the [name].") playsound(src, 'sound/weapons/tap.ogg', 20, 1) update_icon() return @@ -64,14 +64,14 @@ if(user.get_active_hand() == src) newtime = Clamp(newtime, 10, 60000) det_time = newtime - user << "Timer set for [det_time] seconds." + to_chat(user, "Timer set for [det_time] seconds.") /obj/item/weapon/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag) if (!flag) return if (istype(AM, /mob/living/carbon)) return - user << "You start planting the [src]. The timer is set to [det_time]..." + to_chat(user, "You start planting the [src]. The timer is set to [det_time]...") if(do_after(user, 50, target = AM)) if(!user.unEquip(src)) @@ -80,17 +80,17 @@ loc = null message_admins("[key_name_admin(user)](?) (FLW) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [det_time] second fuse",0,1) - log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse") + log_game("[key_name(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse") target.overlays += image_overlay if(!nadeassembly) - user << "You plant the bomb. Timer counting down from [det_time]." + to_chat(user, "You plant the bomb. Timer counting down from [det_time].") addtimer(src, "prime", det_time*10) /obj/item/weapon/grenade/plastic/suicide_act(mob/user) message_admins("[key_name_admin(user)](?) (FLW) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP)",0,1) - message_admins("[key_name(user)] suicided with [src.name] at ([user.x],[user.y],[user.z])") - user.visible_message("[user] activates the [src.name] and holds it above \his head! It looks like \he's going out with a bang!") + message_admins("[key_name(user)] suicided with [name] at ([user.x],[user.y],[user.z])") + user.visible_message("[user] activates the [name] and holds it above \his head! It looks like \he's going out with a bang!") var/message_say = "FOR NO RAISIN!" if(user.mind) if(user.mind.special_role) @@ -183,3 +183,26 @@ /obj/item/weapon/grenade/plastic/x4/afterattack(atom/movable/AM, mob/user, flag) aim_dir = get_dir(user,AM) ..() + +// Flashbang C4 +// Super tacticool, not currently used for anything but we could totally give this to ERT if we wanted to. + +/obj/item/weapon/grenade/plastic/c4/flash + name = "C4 (flash)" + desc = "A C4 charge with an altered chemical composition, designed to blind and deafen the occupants of a room before breaching." + var/aim_dir = NORTH + +/obj/item/weapon/grenade/plastic/c4/flash/prime() + var/turf/T + if(target && target.density) + T = get_step(get_turf(src), aim_dir) + else + T = get_turf(src) + + var/obj/item/weapon/grenade/flashbang/CB = new/obj/item/weapon/grenade/flashbang(T) + CB.prime() + ..() + +/obj/item/weapon/grenade/plastic/c4/flash/afterattack(atom/movable/AM, mob/user, flag) + aim_dir = get_dir(user,AM) + ..() From a42dcebc21ea615d36ada5734851620aa93dc5ce Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 14 Jul 2016 01:14:22 -0400 Subject: [PATCH 3/6] Fixes a bug with the flash C4 --- code/game/objects/items/weapons/explosives.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index c4f1fbf8890..7ff1db28f06 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -194,8 +194,11 @@ /obj/item/weapon/grenade/plastic/c4/flash/prime() var/turf/T + if(target && target.density) - T = get_step(get_turf(src), aim_dir) + T = get_step(get_turf(target), aim_dir) + else if(target) + T = get_turf(target) else T = get_turf(src) From 8b94d840fbe115f7cc6d2e25e173d985a4e1123b Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 14 Jul 2016 01:44:40 -0400 Subject: [PATCH 4/6] PLEASE SEND HELP --- code/game/objects/items/weapons/explosives.dm | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 7ff1db28f06..209c971ec0d 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -184,17 +184,45 @@ aim_dir = get_dir(user,AM) ..() -// Flashbang C4 -// Super tacticool, not currently used for anything but we could totally give this to ERT if we wanted to. +// Shaped charge +// Same blasting power as C4, but with the same idea as the X4 -- Everyone on one side of the wall is safe. -/obj/item/weapon/grenade/plastic/c4/flash - name = "C4 (flash)" - desc = "A C4 charge with an altered chemical composition, designed to blind and deafen the occupants of a room before breaching." +/obj/item/weapon/grenade/plastic/c4_shaped + name = "shaped C4 charge" + desc = "A brick of C4 shaped to allow more precise breaching." var/aim_dir = NORTH -/obj/item/weapon/grenade/plastic/c4/flash/prime() - var/turf/T +/obj/item/weapon/grenade/plastic/c4_shaped/prime() + var/turf/location + if(target) + if(!qdeleted(target)) + location = get_turf(target) + target.overlays -= image_overlay + else + location = get_turf(src) + target = loc + if(location) + if(target.density) + var/turf/T = get_step(location, aim_dir) + explosion(get_step(T, aim_dir),0,0,3) + location.ex_act(2, target) + else + explosion(location, 0, 0, 3) + location.ex_act(2, target) + if(istype(target, /mob)) + var/mob/M = target + M.gib() + qdel(src) +/obj/item/weapon/grenade/plastic/c4_shaped/afterattack(atom/movable/AM, mob/user, flag) + aim_dir = get_dir(user,AM) + ..() + +/obj/item/weapon/grenade/plastic/c4_shaped/flash + name = "C4 (flash)" + desc = "A C4 charge with an altered chemical composition, designed to blind and deafen the occupants of a room before breaching." + +/obj/item/weapon/grenade/plastic/c4_shaped/flash/prime() if(target && target.density) T = get_step(get_turf(target), aim_dir) else if(target) @@ -204,8 +232,5 @@ var/obj/item/weapon/grenade/flashbang/CB = new/obj/item/weapon/grenade/flashbang(T) CB.prime() - ..() -/obj/item/weapon/grenade/plastic/c4/flash/afterattack(atom/movable/AM, mob/user, flag) - aim_dir = get_dir(user,AM) ..() From d0b818cc1b797e3b99700c2b0187257bd9737c88 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 14 Jul 2016 01:45:21 -0400 Subject: [PATCH 5/6] My commit line is a mess at this point IDGAF --- code/game/objects/items/weapons/explosives.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 209c971ec0d..d74f8608ea4 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -188,7 +188,7 @@ // Same blasting power as C4, but with the same idea as the X4 -- Everyone on one side of the wall is safe. /obj/item/weapon/grenade/plastic/c4_shaped - name = "shaped C4 charge" + name = "C4 (shaped)" desc = "A brick of C4 shaped to allow more precise breaching." var/aim_dir = NORTH From 23a1d887f340b88aa7272117b6333c776871c3cd Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 14 Jul 2016 15:51:20 -0400 Subject: [PATCH 6/6] Better Target Bugfix --- code/game/objects/items/weapons/explosives.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index d74f8608ea4..3269aefde0e 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -137,7 +137,6 @@ target.overlays -= image_overlay else location = get_turf(src) - target = loc if(location) location.ex_act(2, target) explosion(location,0,0,3) @@ -165,9 +164,8 @@ target.overlays -= image_overlay else location = get_turf(src) - target = loc if(location) - if(target.density) + if(target && target.density) var/turf/T = get_step(location, aim_dir) explosion(get_step(T, aim_dir),0,0,3) explosion(T,0,2,0) @@ -200,9 +198,8 @@ target.overlays -= image_overlay else location = get_turf(src) - target = loc if(location) - if(target.density) + if(target && target.density) var/turf/T = get_step(location, aim_dir) explosion(get_step(T, aim_dir),0,0,3) location.ex_act(2, target)