From 9b7d12217a7d5967e5d930c7507919e8205112b4 Mon Sep 17 00:00:00 2001 From: SatinIsle Date: Fri, 20 Sep 2024 11:25:50 +0100 Subject: [PATCH] Generic item/structure fixes Fixed activation text not appearing on generic items. Fixed generic structure anchoring text being reversed. Added a fear effect option to generic structures. --- .../eventkit/generic_objects/generic_item.dm | 6 ++++-- .../eventkit/generic_objects/generic_structure.dm | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/modules/eventkit/generic_objects/generic_item.dm b/code/modules/eventkit/generic_objects/generic_item.dm index 48432ee370a..02fa8e264c5 100644 --- a/code/modules/eventkit/generic_objects/generic_item.dm +++ b/code/modules/eventkit/generic_objects/generic_item.dm @@ -29,7 +29,8 @@ else icon = 'icons/obj/props/items.dmi' icon_state = icon_state_on - src.visible_message("[text_activated]") + if(user) + user.visible_message("[text_activated]") update_icon() if(effect == 1) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread @@ -83,7 +84,8 @@ icon = icon_off else icon = 'icons/obj/props/items.dmi' - src.visible_message("[text_deactivated]") + if(user) + user.visible_message("[text_deactivated]") update_icon() return ..() diff --git a/code/modules/eventkit/generic_objects/generic_structure.dm b/code/modules/eventkit/generic_objects/generic_structure.dm index 402d21bbf08..cfd8cfd85fc 100644 --- a/code/modules/eventkit/generic_objects/generic_structure.dm +++ b/code/modules/eventkit/generic_objects/generic_structure.dm @@ -77,6 +77,14 @@ if(effect == 4) var/atom/o = new object(get_turf(src)) src.visible_message("[src] has produced [o]!") + if(effect == 5) + for (var/mob/O in viewers(src, null)) + if(get_dist(src, O) > 7) + continue + + if(istype(O, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = O + H.fear = 200 if(sound_activated) playsound(src, sound_activated, 50, 1) else if(togglable) @@ -96,8 +104,8 @@ /obj/structure/generic_structure/attackby(obj/item/weapon/W as obj, mob/user as mob) if(wrenchable && W.has_tool_quality(TOOL_WRENCH)) add_fingerprint(user) - anchored = !anchored to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + anchored = !anchored /client/proc/generic_structure() set category = "EventKit" @@ -268,7 +276,7 @@ if(s_icon_state_on == "Upload Own Sprite") s_icon2 = input(usr, "Choose an image file to upload. Images that are not 32x32 will need to have their positions offset.","Upload Icon") as null|file s_delay = tgui_input_number(src, "Do you want it to take time to put turn on? Choose a number of deciseconds to activate, or 0 for instant.", "Delay") - var/check_effect = tgui_alert(src, "Produce an effect on activation?", "Effect?", list("No", "Spark", "Flicker Lights", "Flash", "Spawn Item", "Cancel")) + var/check_effect = tgui_alert(src, "Produce an effect on activation?", "Effect?", list("No", "Spark", "Flicker Lights", "Flash", "Spawn Item", "Fear", "Cancel")) if(!check_effect || check_effect == "Cancel") return if(check_effect == "No") @@ -282,6 +290,8 @@ if(check_effect == "Spawn Item") s_effect = 4 s_object = get_path_from_partial_text() + if(check_effect == "Fear") + s_effect = 5 var/check_sound = tgui_alert(src, "Play a sound when turning on?", "Sound", list("Yes", "No", "Cancel")) if(!check_sound || check_sound == "Cancel") return