diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index cb3184a7f6..2162941ac3 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -11,6 +11,8 @@ var/stage = 0 var/state = 0 var/path = 0 + /// If TRUE, grenade is permanently sealed when fully assembled, useful for things like off-the-shelf grenades. + var/sealed = FALSE var/obj/item/device/assembly_holder/detonator = null var/list/beakers = new/list() var/list/allowed_containers = list(/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle) @@ -93,7 +95,8 @@ if(active && prob(95)) to_chat(user, "You trigger the assembly!") detonate() - return + else if(sealed) + to_chat(user, "This grenade lacks a way to disassemble it.") else to_chat(user, "You unlock the assembly.") playsound(src, W.usesound, 50, -3) @@ -200,8 +203,10 @@ /obj/item/weapon/grenade/chem_grenade/metalfoam name = "metal-foam grenade" desc = "Used for emergency sealing of air breaches." + icon_state = "foam" path = 1 stage = 2 + sealed = TRUE /obj/item/weapon/grenade/chem_grenade/metalfoam/Initialize() . = ..() @@ -216,13 +221,14 @@ beakers += B1 beakers += B2 - icon_state = initial(icon_state) +"_locked" /obj/item/weapon/grenade/chem_grenade/incendiary name = "incendiary grenade" desc = "Used for clearing rooms of living things." + icon_state = "incendiary" path = 1 stage = 2 + sealed = TRUE /obj/item/weapon/grenade/chem_grenade/incendiary/Initialize() . = ..() @@ -239,13 +245,13 @@ beakers += B1 beakers += B2 - icon_state = initial(icon_state) +"_locked" /obj/item/weapon/grenade/chem_grenade/antiweed name = "weedkiller grenade" desc = "Used for purging large areas of invasive plant species. Contents under pressure. Do not directly inhale contents." path = 1 stage = 2 + sealed = TRUE /obj/item/weapon/grenade/chem_grenade/antiweed/Initialize() . = ..() @@ -266,8 +272,10 @@ /obj/item/weapon/grenade/chem_grenade/cleaner name = "cleaner grenade" desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." + icon_state = "cleaner" stage = 2 path = 1 + sealed = TRUE /obj/item/weapon/grenade/chem_grenade/cleaner/Initialize() . = ..() @@ -282,13 +290,14 @@ beakers += B1 beakers += B2 - icon_state = initial(icon_state) +"_locked" /obj/item/weapon/grenade/chem_grenade/teargas name = "tear gas grenade" desc = "Concentrated Capsaicin. Contents under pressure. Use with caution." + icon_state = "teargas" stage = 2 path = 1 + sealed = TRUE /obj/item/weapon/grenade/chem_grenade/teargas/Initialize() . = ..() @@ -305,4 +314,4 @@ beakers += B1 beakers += B2 - icon_state = initial(icon_state) +"_locked" \ No newline at end of file + \ No newline at end of file diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index e312da52b9..8f2ed0d8bb 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ