diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index d9bb7bc4c65..e2dabff728c 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -16,6 +16,10 @@ song = null return ..() +/obj/item/device/instrument/suicide_act(mob/user) + user.visible_message("[user] begins to play 'Gloomy Sunday'! It looks like \he's trying to commit suicide..") + return (BRUTELOSS) + /obj/item/device/instrument/initialize() song.tempo = song.sanitize_tempo(song.tempo) // tick_lag isn't set when the map is loaded ..() diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index ac9a3f0fe7e..ae2ab00c9ef 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -13,6 +13,10 @@ var/frequency = 1449 var/shock_cooldown = 0 +/obj/item/device/electropack/suicide_act(mob/user) + user.visible_message("[user] hooks \himself to the electropack and spams the trigger! It looks like \he's trying to commit suicide..") + return (FIRELOSS) + /obj/item/device/electropack/initialize() if(radio_controller) radio_controller.add_object(src, frequency, RADIO_CHAT) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 63baee79c37..195b367a033 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -63,6 +63,10 @@ RCD var/deconwindowdelay = 50 var/deconairlockdelay = 50 +/obj/item/weapon/rcd/suicide_act(mob/user) + user.visible_message("[user] sets the RCD to 'Wall' and points it down his throat! It looks like \he's trying to commit suicide..") + return (BRUTELOSS) + /obj/item/weapon/rcd/verb/change_airlock_access() set name = "Change Airlock Access" set category = "Object" diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 2412edfe9cd..e7415d55fd1 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -35,6 +35,11 @@ icon_state = "soapsyndie" cleanspeed = 10 //much faster than mop so it is useful for traitors who want to clean crime scenes +/obj/item/weapon/soap/suicide_act(mob/user) + user.visible_message("[user] crams the bar of soap down \his throat! It looks like \he's trying to commit suicide..") + . = TOXLOSS + src.loc = user + /obj/item/weapon/soap/Crossed(AM as mob|obj) if (istype(AM, /mob/living/carbon)) var/mob/living/carbon/M = AM @@ -86,6 +91,11 @@ var/honksound = 'sound/items/bikehorn.ogg' var/cooldowntime = 20 +/obj/item/weapon/bikehorn/suicide_act(mob/user) + user.visible_message("[user] solemnly points the horn at \his temple! It looks like \he's trying to commit suicide..") + playsound(src.loc, honksound, 50, 1) + return (BRUTELOSS) + /obj/item/weapon/bikehorn/attack(mob/living/carbon/M, mob/living/carbon/user) if(!spam_flag) playsound(loc, honksound, 50, 1, -1) //plays instead of tap.ogg! diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 1046feaaa06..fb2e6781181 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -41,6 +41,8 @@ message_say = "FOR NAR-SIE!" else if(role == "revolutionary" || role == "head revolutionary") message_say = "VIVA LA REVOLUTION!" + else if(user.mind.gang_datum) + message_say = "[uppertext(user.mind.gang_datum.name)] RULES!" user.say(message_say) target = user message_admins("[key_name_admin(user)](?) (FLW) suicided with [src.name] at ([x],[y],[z] - JMP)",0,1) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 41ff286953f..f9193ad9bb3 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -650,6 +650,10 @@ icon_state = "hugbox" foldable = null +/obj/item/weapon/storage/box/hug/suicide_act(mob/user) + user.visible_message("[user] clamps the box of hugs on \his jugular! Guess it wasn't such a hugbox after all..") + return (BRUTELOSS) + /obj/item/weapon/storage/box/hug/attack_self(mob/user) ..() user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 4d3e413f51d..d20fc00612a 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -99,4 +99,8 @@ new /obj/item/weapon/crowbar(src) new /obj/item/stack/cable_coil(src,30,color) new /obj/item/weapon/wirecutters(src) - new /obj/item/device/multitool(src) \ No newline at end of file + new /obj/item/device/multitool(src) + +/obj/item/weapon/storage/toolbox/suicide_act(mob/user) + user.visible_message("[user] robusts \himself with the toolbox! It looks like \he's trying to commit suicide..") + return (BRUTELOSS) \ No newline at end of file diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 9f54eeaace4..c7a857f059b 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -195,6 +195,10 @@ ..() user << "It contains [get_fuel()] unit\s of fuel out of [max_fuel]." +/obj/item/weapon/weldingtool/suicide_act(mob/user) + user.visible_message("[user] welds \his every orifice closed! It looks like \he's trying to commit suicide..") + return (FIRELOSS) + /obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/screwdriver)) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 779df4e79c1..fe8010e74f5 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -161,6 +161,10 @@ icon_state = "fireaxe[wielded]" return +/obj/item/weapon/twohanded/fireaxe/suicide_act(mob/user) + user.visible_message("[user] axes \himself from head to toe! It looks like \he's trying to commit suicide..") + return (BRUTELOSS) + /obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) if(!proximity) return if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 7334590239e..06f917a668b 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -1339,21 +1339,29 @@ if(parent) mutations = parent.mutations +/obj/item/seeds/kudzuseed/suicide_act(mob/user) + user.visible_message("[user] swallows the pack of kudzu seeds! It looks like \he's trying to commit suicide..") + plant(user) + return (BRUTELOSS) + /obj/item/seeds/kudzuseed/harvest() var/list/prod = ..() for(var/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod/K in prod) K.mutations = mutations -/obj/item/seeds/kudzuseed/attack_self(mob/user) +/obj/item/seeds/kudzuseed/proc/plant(mob/user) if(istype(user.loc,/turf/space)) return var/turf/T = get_turf(src) - user << "You plant the kudzu. You monster." message_admins("Kudzu planted by [key_name_admin(user)](?) (FLW) at ([T.x],[T.y],[T.z] - (JMP))",0,1) investigate_log("was planted by [key_name(user)] at ([T.x],[T.y],[T.z])","kudzu") new /obj/effect/spacevine_controller(user.loc, mutations, potency, production) qdel(src) +/obj/item/seeds/kudzuseed/attack_self(mob/user) + plant(user) + user << "You plant the kudzu. You monster." + /obj/item/seeds/kudzuseed/get_analyzer_text() var/list/mut_text = list() var/text_string = "" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 411f5de8522..2218bda0a71 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -82,6 +82,9 @@ name = "paper[(n_name ? text("- '[n_name]'") : null)]" add_fingerprint(usr) +/obj/item/weapon/paper/suicide_act(mob/user) + user.visible_message("[user] scratches a grid on their wrist with the paper! It looks like \he's trying to commit sudoku..") + return (BRUTELOSS) /obj/item/weapon/paper/attack_self(mob/user) user.examinate(src) diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index b0ba982348e..af800ecefb7 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -74,6 +74,6 @@ return /obj/item/weapon/gun/magic/suicide_act(mob/user) - user.visible_message("[user] is casting a spell on themself with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is twisting the [src.name] above \his head, releasing a magical blast! It looks like \he's trying to commit suicide.") playsound(loc, fire_sound, 50, 1, -1) return (FIRELOSS) \ No newline at end of file