diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index eec67985c08..de6176c3c7c 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -228,7 +228,7 @@ pointcost = 10 if("C4") if(gang.points >= 10) - item_type = /obj/item/weapon/c4 + item_type = /obj/item/weapon/grenade/plastic/c4 pointcost = 10 if("pen") if((gang.points >= 50) || free_pen) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 00da8edcade..1b784656308 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -4,20 +4,19 @@ name = "C-4" desc = "Used to put holes in specific areas without too much extra hole." gender = PLURAL - icon = 'icons/obj/assemblies.dmi' + icon = 'icons/obj/grenade.dmi' icon_state = "plastic-explosive0" item_state = "plasticx" flags = NOBLUDGEON w_class = 2 origin_tech = "syndicate=2" var/timer = 10 - var/atom/target = null var/open_panel = 0 - var/image_overlay = null + parent_type = /obj/item/weapon/grenade/plastic/c4 /obj/item/weapon/c4/New() wires = new /datum/wires/explosive/c4(src) - image_overlay = image('icons/obj/assemblies.dmi', "plastic-explosive2") + image_overlay = image('icons/obj/grenade.dmi', "plastic-explosive2") ..() /obj/item/weapon/c4/Destroy() diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 54c322dee79..e7d18f91de5 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -267,13 +267,15 @@ var/total_volume = 0 for(var/obj/item/weapon/reagent_containers/RC in beakers) total_volume += RC.reagents.total_volume - + if(!total_volume) + qdel(src) + qdel(nadeassembly) + return var/fraction = unit_spread/total_volume var/datum/reagents/reactants = new(unit_spread) reactants.my_atom = src for(var/obj/item/weapon/reagent_containers/RC in beakers) RC.reagents.trans_to(reactants, RC.reagents.total_volume*fraction, threatscale, 1, 1) - chem_splash(get_turf(src), affected_area, list(reactants), ignition_temp, threatscale) if(nadeassembly) @@ -283,15 +285,12 @@ var/area/A = get_area(T) message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW) and last touched by [key_name_admin(last)](?) (FLW) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).") log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])") - + else + addtimer(src, "prime", det_time) var/turf/DT = get_turf(src) var/area/DA = get_area(DT) log_game("A grenade detonated at [DA.name] ([DT.x], [DT.y], [DT.z])") - if(total_volume < unit_spread) // If that was the last detonation, delete the grenade to prevent reusing it. Keep in mind, an explosion might destroy the grenade before it can detonate again anyways. - update_mob() - qdel(src) - diff --git a/code/game/objects/items/weapons/grenades/plastic.dm b/code/game/objects/items/weapons/grenades/plastic.dm new file mode 100644 index 00000000000..f4ec3cff3e5 --- /dev/null +++ b/code/game/objects/items/weapons/grenades/plastic.dm @@ -0,0 +1,180 @@ +/obj/item/weapon/grenade/plastic + name = "plastic explosive" + desc = "Used to put holes in specific areas without too much extra hole." + icon_state = "plastic-explosive0" + item_state = "plastic-explosive" + flags = NOBLUDGEON + det_time = 10 + display_timer = 0 + var/atom/target = null + var/image_overlay = null + var/obj/item/device/assembly_holder/nadeassembly = null + var/assemblyattacher + +/obj/item/weapon/grenade/plastic/New() + image_overlay = image('icons/obj/grenade.dmi', "[item_state]2") + ..() + +/obj/item/weapon/grenade/plastic/Destroy() + qdel(nadeassembly) + nadeassembly = null + target = null + ..() + +/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) + var/role = lowertext(user.mind.special_role) + if(role == "traitor" || role == "syndicate") + message_say = "FOR THE SYNDICATE!" + else if(role == "changeling") + message_say = "FOR THE HIVE!" + else if(role == "cultist") + message_say = "FOR NAR-SIE!" + else if(role == "revolutionary" || role == "head revolutionary") + message_say = "VIVA LA REVOLUTION!" + else if(user.mind.gang_datum) + message_say = "[uppertext(user.mind.gang_datum.name)] RULES!" + user.say(message_say) + target = user + sleep(10) + prime() + user.gib(no_brain = 1) + +/obj/item/weapon/grenade/plastic/update_icon() + if(nadeassembly) + icon_state = "[item_state]1" + else + icon_state = "[item_state]0" + +////////////////////////// +///// 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/grenade/plastic/c4/prime() + var/turf/location + if(target) + if(!qdeleted(target)) + location = get_turf(target) + target.overlays -= image_overlay + else + location = get_turf(src) + if(location) + location.ex_act(2, target) + explosion(location,0,0,3) + if(istype(target, /mob)) + var/mob/M = target + M.gib() + qdel(src) + +// 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) + if(location) + if(istype(loc, /obj/item/weapon/twohanded/spear)) + explosion(location, 0, 2, 3) + else 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/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index bdea527638a..3cab28cd5f8 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -484,9 +484,15 @@ ..() contents = list() for(var/i in 1 to 10) - new /obj/item/weapon/c4(src) + new /obj/item/weapon/grenade/plastic/c4(src) return +/obj/item/weapon/storage/backpack/dufflebag/syndie/x4/New() + ..() + contents = list() + for(var/i in 1 to 3) + new /obj/item/weapon/grenade/plastic/x4(src) + /obj/item/weapon/storage/backpack/dufflebag/syndie/firestarter desc = "A large dufflebag containing New Russian pyro backpack sprayer, a pistol, a pipebomb, fireproof hardsuit, ammo, and other equipment." diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 21949a40966..4ccc4803f1d 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -48,7 +48,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) @@ -86,8 +86,8 @@ return if("sabotage") - new /obj/item/weapon/c4 (src) - new /obj/item/weapon/c4 (src) + new /obj/item/weapon/grenade/plastic/c4 (src) + new /obj/item/weapon/grenade/plastic/c4 (src) new /obj/item/device/doorCharge(src) new /obj/item/device/doorCharge(src) new /obj/item/device/camera_bug(src) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 7e524588548..87ec29a6261 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -318,7 +318,7 @@ explosive.prime() qdel(src) - //THIS MIGHT BE UNBALANCED SO I DUNNO + //THIS MIGHT BE UNBALANCED SO I DUNNO // it totally is. /obj/item/weapon/twohanded/spear/throw_impact(atom/target) . = ..() if(!.) //not caught @@ -326,7 +326,6 @@ explosive.prime() qdel(src) - /obj/item/weapon/twohanded/spear/AltClick() ..() if(!explosive) @@ -337,16 +336,6 @@ if(input) src.war_cry = input -//Placeholder C4 "grenade" for use on this spear -/obj/item/weapon/grenade/C4 - name = "C-4" - desc = "A brick of C-4." - -/obj/item/weapon/grenade/C4/prime() - update_mob() - explosion(src.loc,-1,1,3) - qdel(src) - /obj/item/weapon/twohanded/spear/CheckParts() if(explosive) explosive.loc = get_turf(src.loc) @@ -357,12 +346,6 @@ name = "explosive lance" desc = "A makeshift spear with [G] attached to it. Alt+click on the spear to set your war cry!" return - var/obj/item/weapon/c4/C4 = locate() in contents - if(C4) - var /obj/item/weapon/grenade/C4/C42 = new /obj/item/weapon/grenade/C4(src) - qdel(C4) - explosive = C42 - desc = "A makeshift spear with [C42] attached to it. Alt+click on the spear to set your war cry!" update_icon() // CHAINSAW diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index fc452c13888..1a2c68e9d8b 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -124,7 +124,7 @@ obj/item/weapon/paper/crumpled/snowdin/shovel /obj/item/weapon/storage/firstaid/brute = 27, /obj/item/weapon/storage/firstaid/fire = 27, /obj/item/weapon/storage/toolbox/syndicate = 12, - /obj/item/weapon/c4 = 7, + /obj/item/weapon/grenade/plastic/c4 = 7, /obj/item/weapon/grenade/clusterbuster/smoke = 15, /obj/item/clothing/under/chameleon = 13, /obj/item/clothing/shoes/chameleon = 10, diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index e32ca287c73..e1f8ad0bdcc 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -167,7 +167,7 @@ sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow,1) sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/projectile/revolver/mateba,1) sec_briefcase.handle_item_insertion(new /obj/item/ammo_box/a357,1) - sec_briefcase.handle_item_insertion(new /obj/item/weapon/c4,1) + sec_briefcase.handle_item_insertion(new /obj/item/weapon/grenade/plastic/x4,1) var/obj/item/device/pda/heads/pda = H.belt pda.owner = H.real_name @@ -347,7 +347,7 @@ /obj/item/weapon/storage/firstaid/regular=1,\ /obj/item/weapon/storage/box/flashbangs=1,\ /obj/item/device/flashlight=1,\ - /obj/item/weapon/c4=1) + /obj/item/weapon/grenade/plastic/x4=1) /datum/outfit/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index e8f28379376..355b92ce9ed 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -31,7 +31,7 @@ category = CAT_WEAPON /datum/table_recipe/lance - name = "explosive lance (grenade)" + name = "explosive lance" result = /obj/item/weapon/twohanded/spear reqs = list(/obj/item/weapon/twohanded/spear = 1, /obj/item/weapon/grenade = 1) @@ -39,15 +39,6 @@ time = 15 category = CAT_WEAPON -/datum/table_recipe/lance2 - name = "explosive lance (C4)" - result = /obj/item/weapon/twohanded/spear - reqs = list(/obj/item/weapon/twohanded/spear = 1, - /obj/item/weapon/c4 = 1) - parts = list(/obj/item/weapon/c4 = 1) - time = 40 - category = CAT_WEAPON - /datum/table_recipe/molotov name = "Molotov" @@ -321,11 +312,11 @@ category = CAT_MISC /datum/table_recipe/chemical_payload - name = "chemical payload (C4)" + name = "Chemical Payload (C4)" result = /obj/item/weapon/bombcore/chemical reqs = list( - /obj/item/weapon/stock_parts/matter_bin/super = 1, - /obj/item/weapon/c4 = 1, + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/grenade/plastic/c4 = 1, /obj/item/weapon/grenade/chem_grenade = 2 ) parts = list(/obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/grenade/chem_grenade = 2) @@ -333,7 +324,7 @@ category = CAT_WEAPON /datum/table_recipe/chemical_payload2 - name = "chemical payload (gibtonite)" + name = "Chemical Payload (gibtonite)" result = /obj/item/weapon/bombcore/chemical reqs = list( /obj/item/weapon/stock_parts/matter_bin = 1, diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 70c2a6f2870..9eca1592029 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -467,9 +467,9 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite /obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\ /obj/item/clothing/shoes/chameleon, /obj/item/weapon/card/id/syndicate,\ /obj/item/clothing/mask/chameleon, /obj/item/clothing/glasses/thermal,\ - /obj/item/device/chameleon, /obj/item/weapon/card/emag,\ + /obj/item/device/chameleon, /obj/item/weapon/card/emag, /obj/item/weapon/grenade/plastic/x4,\ /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,\ @@ -642,7 +642,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite halitem.icon_state = "revolver" halitem.name = "Revolver" if(2) //c4 - halitem.icon = 'icons/obj/assemblies.dmi' + halitem.icon = 'icons/obj/grenade.dmi' halitem.icon_state = "plastic-explosive0" halitem.name = "Mysterious Package" if(prob(25)) @@ -685,7 +685,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite halimage = image('icons/effects/fire.dmi',target,"1",TURF_LAYER) if(3) //src << "C4" - halimage = image('icons/obj/assemblies.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01) + halimage = image('icons/obj/grenade.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01) if(client) client.images += halimage diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index bd928eb762c..44a6d648eab 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -164,7 +164,7 @@ usr << "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s back!" 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)) // last thing he ever wears, I guess item_to_add.afterattack(src,usr,1) return @@ -200,7 +200,7 @@ /mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user) - 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)) // last thing he ever wears, I guess item_to_add.afterattack(src,user,1) return diff --git a/code/modules/ninja/ninja_event.dm b/code/modules/ninja/ninja_event.dm index 26e3f2f5302..903a523d884 100644 --- a/code/modules/ninja/ninja_event.dm +++ b/code/modules/ninja/ninja_event.dm @@ -206,7 +206,7 @@ Contents: equip_to_slot_or_del(new /obj/item/clothing/glasses/night(src), slot_glasses) equip_to_slot_or_del(EK, slot_belt) equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_r_store) - equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_l_store) + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_l_store) equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen(src), slot_s_store) equip_to_slot_or_del(new /obj/item/weapon/tank/jetpack/carbondioxide(src), slot_back) diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 2374af37bca..e01f029a2b3 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -844,10 +844,10 @@ var/list/uplink_items = list() // Global list so we only initialize this once. /datum/uplink_item/device_tools/c4 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 signaler to its wiring to make it remotely detonable. It has a modifiable timer with a \ + desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls, sabotage equipment, or connect \ + an assembly to it in order to alter the way it detonates. It has a modifiable timer with a \ minimum setting of 10 seconds." - item = /obj/item/weapon/c4 + item = /obj/item/weapon/grenade/plastic/c4 cost = 1 /datum/uplink_item/device_tools/c4bag @@ -856,6 +856,13 @@ var/list/uplink_items = list() // Global list so we only initialize this once. item = /obj/item/weapon/storage/backpack/dufflebag/syndie/c4 cost = 9 //10% discount! +/datum/uplink_item/device_tools/x4bag + name = "Bag of X-4 explosives" + desc = "Contains 3 X-4 plastic explosives. Similar, but more powerful than C-4. X-4 can be placed on a solid surface, such as a wall or window, and it will \ + blast through the wall, injuring anything on the opposite side, while being safer to the user. For when you want a wider, deeper, hole." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/x4 + cost = 4 // + /datum/uplink_item/device_tools/powersink name = "Power Sink" desc = "When screwed to wiring attached to a power grid and activated, this large device places excessive \ diff --git a/icons/obj/assemblies.dmi b/icons/obj/assemblies.dmi index 5a8719da0d8..6a862a263a8 100644 Binary files a/icons/obj/assemblies.dmi and b/icons/obj/assemblies.dmi differ diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index e17974ecd19..4e38271e7ee 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 1aa9e1d273d..c4a050388ca 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -643,6 +643,7 @@ #include "code\game\objects\items\weapons\grenades\flashbang.dm" #include "code\game\objects\items\weapons\grenades\ghettobomb.dm" #include "code\game\objects\items\weapons\grenades\grenade.dm" +#include "code\game\objects\items\weapons\grenades\plastic.dm" #include "code\game\objects\items\weapons\grenades\smokebomb.dm" #include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" #include "code\game\objects\items\weapons\grenades\syndieminibomb.dm"