diff --git a/code/datums/supply_packs/explosives.dm b/code/datums/supply_packs/explosives.dm index 22458ef3fa6b..85a22f1e28cf 100644 --- a/code/datums/supply_packs/explosives.dm +++ b/code/datums/supply_packs/explosives.dm @@ -87,6 +87,17 @@ containername = "\improper explosive M40 HEDP grenades crate (WARNING)" group = "Explosives" +/datum/supply_packs/explosives_sebb + name = "M40 HEDP blast grenades crate (x6)" + contains = list( + /obj/item/storage/box/packet/sebb, + /obj/item/storage/box/packet/sebb, + ) + cost = 30 + containertype = /obj/structure/closet/crate/explosives + containername = "\improper explosive M40 HEDP grenades crate (WARNING)" + group = "Explosives" + /datum/supply_packs/explosives_hedp name = "M40 HEDP blast grenade box crate (x25)" contains = list( diff --git a/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm b/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm index d7d49a8ae044..def23373a2a8 100644 --- a/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm +++ b/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm @@ -32,6 +32,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list( list("HEDP Grenade Pack", 15, /obj/item/storage/box/packet/high_explosive, null, VENDOR_ITEM_REGULAR), list("HEFA Grenade Pack", 15, /obj/item/storage/box/packet/hefa, null, VENDOR_ITEM_REGULAR), list("WP Grenade Pack", 15, /obj/item/storage/box/packet/phosphorus, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Pack", 15, /obj/item/storage/box/packet/sebb, null, VENDOR_ITEM_REGULAR), list("RAIL ATTACHMENTS", 0, null, null, null), list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index 93680fb93d2c..7222326d4df3 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -56,6 +56,7 @@ list("M74 AGM-Hornet Shell", round(scale * 4), /obj/item/explosive/grenade/high_explosive/airburst/hornet_shell, VENDOR_ITEM_REGULAR), list("M40 HIRR Baton Slug", round(scale * 8), /obj/item/explosive/grenade/slug/baton, VENDOR_ITEM_REGULAR), list("M40 MFHS Metal Foam Grenade", round(scale * 3), /obj/item/explosive/grenade/metal_foam, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade", round(scale * 5), /obj/item/explosive/grenade/sebb/primed, null, VENDOR_ITEM_REGULAR), list("Plastic Explosives", round(scale * 3), /obj/item/explosive/plastic, VENDOR_ITEM_REGULAR), list("Breaching Charge", round(scale * 2), /obj/item/explosive/plastic/breaching_charge, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm index 65397570511c..813861a098e2 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm @@ -26,6 +26,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("Super-Capacity Power Cell", 10, /obj/item/cell/super, null, VENDOR_ITEM_REGULAR), list("ES-11 Mobile Fuel Canister", 4, /obj/item/tool/weldpack/minitank, null, VENDOR_ITEM_REGULAR), + list("EXPLOSIVES", 0, null, null, null), list("M40 HEDP High Explosive Packet (x3 grenades)", 18, /obj/item/storage/box/packet/high_explosive, null, VENDOR_ITEM_REGULAR), list("M40 HIDP Incendiary Packet (x3 grenades)", 18, /obj/item/storage/box/packet/incendiary, null, VENDOR_ITEM_REGULAR), @@ -37,6 +38,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("M74 AGM-Hornet Airburst Packet (x3 airburst grenades", 20, /obj/item/storage/box/packet/hornet, null, VENDOR_ITEM_REGULAR), list("M20 Mine Box (x4 mines)", 18, /obj/item/storage/box/explosive_mines, null, VENDOR_ITEM_REGULAR), list("M40 MFHS Metal Foam Grenade", 5, /obj/item/explosive/grenade/metal_foam, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Packet (x3 grenades)", 18, /obj/item/storage/box/packet/sebb, null, VENDOR_ITEM_REGULAR), list("AMMUNITION", 0, null, null, null), list("M4RA AP Magazine (10x24mm)", 6, /obj/item/ammo_magazine/rifle/m4ra/ap, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm index 81c1941c3423..d86e3481889c 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm @@ -58,6 +58,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_leader, list( list("M74 AGM-Hornet Airburst Packet (x3 airburst grenades", 20, /obj/item/storage/box/packet/hornet, null, VENDOR_ITEM_REGULAR), list("M20 Mine Box (x4 mines)", 20, /obj/item/storage/box/explosive_mines, null, VENDOR_ITEM_REGULAR), list("M40 MFHS Metal Foam Grenade", 5, /obj/item/explosive/grenade/metal_foam, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Packet (x3 grenades)", 18, /obj/item/storage/box/packet/sebb, null, VENDOR_ITEM_REGULAR), list("MEDICAL SUPPLIES", 0, null, null, null), list("Burn Kit", 2, /obj/item/stack/medical/advanced/ointment, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index f6b99887bbbb..5e823d8c4a5f 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -57,6 +57,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("M74 AGM-Smoke Airburst Packet (x3 airburst grenades)", 10, /obj/item/storage/box/packet/airburst_smoke, null, VENDOR_ITEM_REGULAR), list("M74 AGM-Hornet Airburst Packet (x3 airburst grenades", 20, /obj/item/storage/box/packet/hornet, null, VENDOR_ITEM_REGULAR), list("M20 Mine Box (x4 mines)", 20, /obj/item/storage/box/explosive_mines, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Packet (x3 grenades)", 18, /obj/item/storage/box/packet/sebb, null, VENDOR_ITEM_REGULAR), list("AMMUNITION", 0, null, null, null), list("M4RA AP Magazine (10x24mm)", 6, /obj/item/ammo_magazine/rifle/m4ra/ap, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index e800fc1efd56..004f6b31db13 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -30,6 +30,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("M74 AGM-F Fragmentation Grenades x6", 40, /obj/effect/essentials_set/agmf_6_pack, null, VENDOR_ITEM_REGULAR), list("M74 AGM-I Incendiary Grenades x6", 40, /obj/effect/essentials_set/agmi_6_pack, null, VENDOR_ITEM_REGULAR), list("M74 AGM-S Smoke Grenades x6", 20, /obj/effect/essentials_set/agms_6_pack, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Pack x6", 40, /obj/effect/essentials_set/sebb_6_pack, null, VENDOR_ITEM_REGULAR), list("EXTRA FLAMETHROWER TANKS", 0, null, null, null), list("Large Incinerator Tank", 40, /obj/item/ammo_magazine/flamer_tank/large, null, VENDOR_ITEM_REGULAR), @@ -209,6 +210,17 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( /obj/item/explosive/grenade/high_explosive/airburst, ) +/obj/effect/essentials_set/sebb_6_pack + spawned_gear_list = list( + /obj/item/explosive/grenade/sebb, + /obj/item/explosive/grenade/sebb, + /obj/item/explosive/grenade/sebb, + /obj/item/explosive/grenade/sebb, + /obj/item/explosive/grenade/sebb, + /obj/item/explosive/grenade/sebb, + ) + + /obj/effect/essentials_set/agmi_6_pack spawned_gear_list = list( /obj/item/explosive/grenade/incendiary/airburst, diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index 7bd45cb46a60..1b058089453d 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -23,6 +23,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("M74 AGM-Hornet Airburst Packet (x3 airburst grenades", 20, /obj/item/storage/box/packet/hornet, null, VENDOR_ITEM_REGULAR), list("M20 Mine Box (x4 mines)", 20, /obj/item/storage/box/explosive_mines, null, VENDOR_ITEM_REGULAR), list("M40 MFHS Metal Foam Grenade", 5, /obj/item/explosive/grenade/metal_foam, null, VENDOR_ITEM_REGULAR), + list("G2 Electroshock Grenade Packet (x3 grenades)", 18, /obj/item/storage/box/packet/sebb, null, VENDOR_ITEM_REGULAR), list("RESTRICTED FIREARMS", 0, null, null, null), list("VP78 Pistol", 10, /obj/item/storage/box/guncase/vp78, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/items/explosives/grenades/marines.dm b/code/game/objects/items/explosives/grenades/marines.dm index 23ea3cced454..7aa71124f8d9 100644 --- a/code/game/objects/items/explosives/grenades/marines.dm +++ b/code/game/objects/items/explosives/grenades/marines.dm @@ -739,13 +739,15 @@ if(user.action_busy) return - var/turf/T = target - to_chat(user, SPAN_NOTICE("You switch \the [src] into landmind mode and start burying it...")) + if(target != user.loc) + return + + to_chat(user, SPAN_NOTICE("You switch \the [src] into landmine mode and start burying it...")) playsound(user.loc, 'sound/effects/thud.ogg', 100, 6) if(!do_after(user,20 * user.get_skill_duration_multiplier(SKILL_CONSTRUCTION), INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) to_chat(user, SPAN_NOTICE("You stop digging.")) return - new /obj/item/explosive/mine/sebb(T.loc) + new /obj/item/explosive/mine/sebb(user.loc) qdel(src) /obj/item/explosive/grenade/sebb/activate() @@ -792,12 +794,13 @@ /obj/item/explosive/grenade/sebb/primed + icon_state = "grenade_sebb" name = "\improper G2 Electroshock grenade" desc = "A G2 Electroshock Grenade, looks like its quite angry! Oh shit!" det_time = 10 /obj/item/explosive/grenade/sebb/primed/New() - prime() + activate() /obj/effect/overlay/sebb name = "Danger" diff --git a/code/game/objects/items/explosives/mine.dm b/code/game/objects/items/explosives/mine.dm index 0c0013219e97..4134e06d64f8 100644 --- a/code/game/objects/items/explosives/mine.dm +++ b/code/game/objects/items/explosives/mine.dm @@ -60,16 +60,19 @@ /obj/item/explosive/mine/sebb + name = "\improper G2 Electroshock grenade" icon_state = "grenade_sebb_planted" + desc = "A G2 electroshock grenade planted as a landmine" map_deployed = TRUE /obj/item/explosive/mine/sebb/disarm() . = ..() new /obj/item/explosive/grenade/sebb(src) - qdel(src.loc) + qdel(src) + /obj/item/explosive/mine/sebb/prime() set waitfor = 0 - new /obj/item/explosive/grenade/sebb/primed(src) + new /obj/item/explosive/grenade/sebb/primed(src.loc) if(!QDELETED(src)) disarm() diff --git a/code/modules/projectiles/ammo_boxes/grenade_packets.dm b/code/modules/projectiles/ammo_boxes/grenade_packets.dm index 83c222a0a128..8dc776e2a45f 100644 --- a/code/modules/projectiles/ammo_boxes/grenade_packets.dm +++ b/code/modules/projectiles/ammo_boxes/grenade_packets.dm @@ -138,3 +138,9 @@ var/list/grenade_packets = list( desc = "It contains three R2175/B HIDP grenades. Handle with care." icon_state = "hidp_packet" content_type = /obj/item/explosive/grenade/incendiary/rmc + +/obj/item/storage/box/packet/sebb + name = "\improper G2 Electroshock grenade packet" + desc = "It contains three G2 Electroshock grenades. Handle with care." + icon_state = "sebb_packet" + content_type = /obj/item/explosive/grenade/sebb diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index 37b5f9bcc609..0677e7e5d17e 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index 3ad8b52d0403..1f92cc4795c1 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/obj/items/weapons/grenade.dmi b/icons/obj/items/weapons/grenade.dmi index 9a554a34f915..3ff096bfc5a8 100644 Binary files a/icons/obj/items/weapons/grenade.dmi and b/icons/obj/items/weapons/grenade.dmi differ