diff --git a/code/modules/buildmode/submodes/smoke.dm b/code/modules/buildmode/submodes/smoke.dm new file mode 100644 index 00000000000..1296990d2da --- /dev/null +++ b/code/modules/buildmode/submodes/smoke.dm @@ -0,0 +1,44 @@ +/datum/buildmode_mode/smoke + key = "smoke" + var/smoke_type = SMOKE_HARMLESS + var/smoke_amt = 10 + +/datum/buildmode_mode/smoke/show_help(mob/user) + var/list/messages = list( + "Left Click = Smoke 'em!", + "Right Click on Tool Icon = Change Effect Type", + ) + to_chat(user, chat_box_notice(messages.Join("
"))) + +/datum/buildmode_mode/smoke/change_settings(mob/user) + var/smoke_types = list( + "SMOKE_HARMLESS" = SMOKE_HARMLESS, + "SMOKE_COUGHING" = SMOKE_COUGHING, + "SMOKE_SLEEPING" = SMOKE_SLEEPING + ) + + var/new_smonk = tgui_input_list(user, "Pick a smoke type:", "Buildmode Smoke", smoke_types) + if(new_smonk in smoke_types) + smoke_type = smoke_types[new_smonk] + + var/new_smonk_amt = tgui_input_number(user, "Smoke Amount:", "Buildmode Smoke", smoke_amt, 20, 1) + if(new_smonk_amt) + smoke_amt = new_smonk_amt + + +/datum/buildmode_mode/smoke/handle_click(user, params, obj/object) + var/list/pa = params2list(params) + var/left_click = pa.Find("left") + + if(left_click) + var/datum/effect_system/smoke_spread/smoke + switch(smoke_type) + if(SMOKE_HARMLESS) + smoke = new /datum/effect_system/smoke_spread() + if(SMOKE_COUGHING) + smoke = new /datum/effect_system/smoke_spread/bad() + if(SMOKE_SLEEPING) + smoke = new /datum/effect_system/smoke_spread/sleeping() + smoke.set_up(smoke_amt, FALSE, object) + playsound(get_turf(object), 'sound/effects/smoke.ogg', 50, TRUE, -3) + smoke.start() diff --git a/icons/misc/buildmode.dmi b/icons/misc/buildmode.dmi index a0b501864fa..c82b9ea0579 100644 Binary files a/icons/misc/buildmode.dmi and b/icons/misc/buildmode.dmi differ diff --git a/paradise.dme b/paradise.dme index c09d8b9510e..d1b37be4498 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1871,6 +1871,7 @@ #include "code\modules\buildmode\submodes\portal.dm" #include "code\modules\buildmode\submodes\save.dm" #include "code\modules\buildmode\submodes\say.dm" +#include "code\modules\buildmode\submodes\smoke.dm" #include "code\modules\buildmode\submodes\throwing.dm" #include "code\modules\buildmode\submodes\tilt.dm" #include "code\modules\buildmode\submodes\variable_edit.dm"