Files
WillandGitHub e4abb48b31 Effect grenade fix (#18762)
* effect sprayer grenade code unified

* fixed arg

* condensed

* start arg
2025-11-14 19:11:59 -05:00

39 lines
1.2 KiB
Plaintext

/obj/item/grenade/smokebomb
desc = "It is set to detonate in 2 seconds. These high-tech grenades can have their color adapted on the fly with a multitool!"
name = "smoke bomb"
icon = 'icons/obj/grenade.dmi'
icon_state = "flashbang"
det_time = 20
item_state = "flashbang"
slot_flags = SLOT_BELT
hud_state = "grenade_smoke"
var/datum/effect/effect/system/smoke_spread/bad/smoke
var/smoke_color
var/smoke_strength = 8
/obj/item/grenade/smokebomb/Initialize(mapload)
. = ..()
smoke = new /datum/effect/effect/system/smoke_spread/bad()
smoke.attach(src)
/obj/item/grenade/smokebomb/Destroy()
qdel(smoke)
smoke = null
return ..()
/obj/item/grenade/smokebomb/detonate()
start_effect_sprayer(smoke, smoke_strength, 'sound/effects/smoke.ogg', smoke_color)
/obj/item/grenade/smokebomb/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/multitool))
var/new_smoke_color = tgui_color_picker(user, "Choose a color for the smoke:", "Smoke Color", smoke_color)
if(new_smoke_color)
smoke_color = new_smoke_color
/obj/item/grenade/smokebomb/primed
desc = "A smoke bomb. This one appears to be already activated!"
/obj/item/grenade/smokebomb/primed/Initialize(mapload)
. = ..()
activate()