diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm index ac104013547..43713e9bdd0 100644 --- a/code/datums/uplink_items/uplink_general.dm +++ b/code/datums/uplink_items/uplink_general.dm @@ -697,6 +697,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 5 surplus = 10 +/datum/uplink_item/suits/smoke_grenade + name = "Smoke Grenade Module" + desc = "A module that dispenses primed smoke grenades to disperse crowds." + reference = "SGM" + item = /obj/item/mod/module/dispenser/smoke + cost = 10 + surplus = 10 + /datum/uplink_item/device_tools/binary name = "Binary Translator Key" desc = "A key, that when inserted into a radio headset, allows you to listen to and talk with artificial intelligences and cybernetic organisms in binary. To talk on the binary channel, type :+ before your radio message." diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index 54074e29ed3..ad386ee5503 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -28,10 +28,5 @@ src.smoke.start() sleep(10) src.smoke.start() - - for(var/obj/structure/blob/B in view(8,src)) - var/damage = round(30/(get_dist(B,src)+1)) - B.take_damage(damage, BURN, MELEE, 0) sleep(80) qdel(src) - return diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index 6927df61279..6e5a9536495 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -289,3 +289,18 @@ C.reagents.add_reagent("ice", reagent_volume) qdel(src) +/// Smoke Grenade Module, its tacticool. +/obj/item/mod/module/dispenser/smoke + name = "MOD smoke grenade dispenser module" + desc = "A module that dispenses primed smoke grenades to disperse crowds." + icon_state = "smoke_grenade" + cooldown_time = 10 SECONDS + complexity = 1 + overlay_state_inactive = "module_smoke_grenade" + dispense_type = /obj/item/grenade/smokebomb + +/obj/item/mod/module/dispenser/smoke/on_use() + var/obj/item/grenade/smokebomb/grenade = ..() + if(!grenade) + return + grenade.attack_self(mod.wearer) diff --git a/code/modules/research/designs/modsuit_designs.dm b/code/modules/research/designs/modsuit_designs.dm index 5eb37656612..957774f5902 100644 --- a/code/modules/research/designs/modsuit_designs.dm +++ b/code/modules/research/designs/modsuit_designs.dm @@ -338,6 +338,13 @@ materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000) build_path = /obj/item/mod/module/plasma_stabilizer +/datum/design/module/smoke_grenade + name = "Smoke Grenade Module" + id = "mod_smokegrenade" + req_tech = list("materials" = 5, "engineering" = 6, "syndicate" = 2) + materials = list(MAT_METAL = 12500, MAT_SILVER = 12050, MAT_GOLD = 2000, MAT_PLASMA = 5000) + build_path = /obj/item/mod/module/dispenser/smoke + /datum/design/module/plate_compression name = "Plate Compression Module" id = "mod_compression" diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index 598c2b1bf26..ba019b126cc 100644 Binary files a/icons/obj/clothing/modsuit/mod_modules.dmi and b/icons/obj/clothing/modsuit/mod_modules.dmi differ