mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
Merge pull request #11151 from Fox-McCloud/suicide-refactor
Suicide Refactor
This commit is contained in:
@@ -491,5 +491,6 @@
|
||||
/obj/item/clothing/mask/cursedclown/suicide_act(mob/user)
|
||||
user.visible_message("<span class='danger'>[user] gazes into the eyes of [src]. [src] gazes back!</span>")
|
||||
spawn(10)
|
||||
user.gib()
|
||||
return BRUTELOSS
|
||||
if(user)
|
||||
user.gib()
|
||||
return OBLITERATION
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
/obj/item/fluff/rsik_katana/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] tries to stab [src] into [user.p_their()] stomach! Except [src] shatters! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.</span>")
|
||||
return(BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/crowbar/fluff/zelda_creedy_1 // Zomgponies: Griffin Rowley
|
||||
name = "Zelda's Crowbar"
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
|
||||
suicide_act(mob/user) //"A tiny net is a death sentence: it's a net and it's tiny!" https://www.youtube.com/watch?v=FCI9Y4VGCVw
|
||||
to_chat(viewers(user), "<span class='warning'>[user] places the [src.name] on top of [user.p_their()] head, [user.p_their()] fingers tangled in the netting! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(OXYLOSS)
|
||||
/obj/item/fish_net/suicide_act(mob/user) //"A tiny net is a death sentence: it's a net and it's tiny!" https://www.youtube.com/watch?v=FCI9Y4VGCVw
|
||||
to_chat(viewers(user), "<span class='warning'>[user] places the [src.name] on top of [user.p_their()] head, [user.p_their()] fingers tangled in the netting! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/fishfood
|
||||
name = "fish food can"
|
||||
@@ -51,9 +51,9 @@
|
||||
throw_range = 7
|
||||
attack_verb = list("scrubbed", "brushed", "scraped")
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='warning'>[user] is vigorously scrubbing [user.p_them()]self raw with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(BRUTELOSS|FIRELOSS)
|
||||
/obj/item/tank_brush/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='warning'>[user] is vigorously scrubbing [user.p_them()]self raw with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return BRUTELOSS|FIRELOSS
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Fish Items //
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
user.name = newname
|
||||
user.real_name = newname
|
||||
desc = "Salt. From dead crew, presumably."
|
||||
return (TOXLOSS)
|
||||
return TOXLOSS
|
||||
|
||||
/obj/item/reagent_containers/food/condiment/peppermill
|
||||
name = "pepper mill"
|
||||
|
||||
@@ -24,6 +24,18 @@
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 500
|
||||
|
||||
/obj/machinery/gibber/suicide_act(mob/user)
|
||||
if(occupant || locked)
|
||||
return FALSE
|
||||
user.visible_message("<span class='danger'>[user] climbs into [src] and turns it on!</b></span>")
|
||||
user.Stun(10)
|
||||
user.forceMove(src)
|
||||
occupant = user
|
||||
update_icon()
|
||||
feedinTopanim()
|
||||
addtimer(CALLBACK(src, .proc/startgibbing, user), 33)
|
||||
return OBLITERATION
|
||||
|
||||
/obj/machinery/gibber/Destroy()
|
||||
if(contents.len)
|
||||
for(var/atom/movable/A in contents)
|
||||
@@ -145,7 +157,7 @@
|
||||
set name = "Empty Gibber"
|
||||
set src in oview(1)
|
||||
|
||||
if(usr.stat != CONSCIOUS)
|
||||
if(usr.incapacitated())
|
||||
return
|
||||
|
||||
go_out()
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1)
|
||||
sleep(25)
|
||||
if(!user)
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
user.say("BANG!")
|
||||
sleep(25)
|
||||
if(!user)
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
user.visible_message("<B>[user]</B> laughs so hard [user.p_they()] begin[user.p_s()] to suffocate!")
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/grown/bananapeel
|
||||
seed = /obj/item/seeds/banana
|
||||
@@ -52,7 +52,7 @@
|
||||
/obj/item/grown/bananapeel/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is deliberately slipping on the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, 'sound/misc/slip.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
|
||||
// Mimana - invisible sprites are totally a feature!
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
/obj/item/seeds/kudzu/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide..</span>")
|
||||
plant(user)
|
||||
return (BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/seeds/kudzu/proc/plant(mob/user)
|
||||
if(istype(user.loc, /turf/space))
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
/obj/item/grown/nettle/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is eating some of the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (BRUTELOSS|TOXLOSS)
|
||||
return BRUTELOSS|TOXLOSS
|
||||
|
||||
/obj/item/grown/nettle/pickup(mob/living/user)
|
||||
..()
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
/obj/item/reagent_containers/spray/weedspray/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (TOXLOSS)
|
||||
return TOXLOSS
|
||||
|
||||
/obj/item/reagent_containers/spray/pestspray // -- Skie
|
||||
desc = "It's some pest eliminator spray! <I>Do not inhale!</I>"
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/obj/item/reagent_containers/spray/pestspray/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is huffing the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (TOXLOSS)
|
||||
return TOXLOSS
|
||||
|
||||
/obj/item/cultivator
|
||||
name = "cultivator"
|
||||
@@ -91,7 +91,7 @@
|
||||
/obj/item/hatchet/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is chopping at [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/hatchet/unathiknife
|
||||
name = "duelling knife"
|
||||
@@ -126,7 +126,7 @@
|
||||
if(affecting)
|
||||
affecting.droplimb(1, DROPLIMB_SHARP)
|
||||
playsound(loc, pick('sound/misc/desceration-01.ogg','sound/misc/desceration-02.ogg','sound/misc/desceration-01.ogg'), 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/scythe/pre_attackby(atom/A, mob/living/user, params)
|
||||
if(swiping || !istype(A, /obj/structure/spacevine) || get_turf(A) == get_turf(user))
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
if(!gibbed && deathgasp_on_death)
|
||||
emote("deathgasp")
|
||||
|
||||
if(suiciding)
|
||||
if(mind && suiciding)
|
||||
mind.suicided = TRUE
|
||||
clear_fullscreens()
|
||||
update_sight()
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
H.visible_message("<span class='suicide'>[H] holds up a contract claiming his soul, then immediately catches fire. It looks like \he's trying to commit suicide!</span>")
|
||||
H.adjust_fire_stacks(20)
|
||||
H.IgniteMob()
|
||||
return(FIRELOSS)
|
||||
return FIRELOSS
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/item/pen/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] starts scribbling numbers over [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit sudoku.</span>")
|
||||
return (BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/pen/blue
|
||||
name = "blue-ink pen"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/obj/item/stamp/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.</span>")
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/stamp/qm
|
||||
name = "Quartermaster's rubber stamp"
|
||||
|
||||
@@ -504,7 +504,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
|
||||
user.visible_message("<span class='suicide'>[user] is making a noose with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is strangling [user.p_them()]self with the [name]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return(OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/stack/cable_coil/New(loc, length = MAXCOIL, paramcolor = null)
|
||||
..()
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
/obj/item/stock_parts/cell/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is licking the electrodes of the [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
return (FIRELOSS)
|
||||
return FIRELOSS
|
||||
|
||||
/obj/item/stock_parts/cell/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/reagent_containers/syringe))
|
||||
|
||||
@@ -154,14 +154,14 @@
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
power_supply.use(shot.e_cost)
|
||||
update_icon()
|
||||
return(FIRELOSS)
|
||||
return FIRELOSS
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] panics and starts choking to death!</span>")
|
||||
return(OXYLOSS)
|
||||
return OXYLOSS
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow [user.p_their()] brains out with the [name]! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1)
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/gun/energy/vv_edit_var(var_name, var_value)
|
||||
switch(var_name)
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
user.visible_message("<span class='suicide'>[user] cocks the [name] and pretends to blow [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
shoot_live_shot()
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
// Plasma Cutters //
|
||||
/obj/item/gun/energy/plasmacutter
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
/obj/item/gun/projectile/proc/can_reload()
|
||||
return !magazine
|
||||
|
||||
/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user as mob)
|
||||
/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user as mob)
|
||||
user.remove_from_mob(AM)
|
||||
magazine = AM
|
||||
magazine.loc = src
|
||||
@@ -81,7 +81,7 @@
|
||||
to_chat(user, "<span class='notice'>You perform a tactical reload on \the [src], replacing the magazine.</span>")
|
||||
magazine.loc = get_turf(loc)
|
||||
magazine.update_icon()
|
||||
magazine = null
|
||||
magazine = null
|
||||
reload(AM, user)
|
||||
return TRUE
|
||||
else
|
||||
@@ -165,14 +165,14 @@
|
||||
if(user.l_hand == src || user.r_hand == src)
|
||||
process_fire(user, user, 0, zone_override = "head")
|
||||
user.visible_message("<span class='suicide'>[user] blows [user.p_their()] brains out with the [name]!</span>")
|
||||
return(BRUTELOSS)
|
||||
return BRUTELOSS
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] panics and starts choking to death!</span>")
|
||||
return(OXYLOSS)
|
||||
return OXYLOSS
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is pretending to blow [user.p_their()] brains out with the [name]! It looks like [user.p_theyre()] trying to commit suicide!</b></span>")
|
||||
playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1)
|
||||
return (OXYLOSS)
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/gun/projectile/proc/sawoff(mob/user)
|
||||
if(sawn_state == SAWN_OFF)
|
||||
|
||||
@@ -57,10 +57,10 @@
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
attack_verb = list("drilled")
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>"))
|
||||
return (BRUTELOSS)
|
||||
/obj/item/surgicaldrill/suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide.</span>"))
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/surgicaldrill/augment
|
||||
desc = "Effectively a small power drill contained within your arm, edges dulled to prevent tissue damage. May or may not pierce the heavens."
|
||||
@@ -87,11 +87,11 @@
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku.</span>"))
|
||||
return (BRUTELOSS)
|
||||
/obj/item/scalpel/suicide_act(mob/user)
|
||||
to_chat(viewers(user), pick("<span class='suicide'>[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>",
|
||||
"<span class='suicide'>[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku.</span>"))
|
||||
return BRUTELOSS
|
||||
|
||||
|
||||
/obj/item/scalpel/augment
|
||||
|
||||
Reference in New Issue
Block a user