mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
capu/capu+ fake death for realsies, add fake death pills to syndis/maint
This commit is contained in:
@@ -1079,6 +1079,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
item = /obj/item/storage/box/syndie_kit/safecracking
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/stealthy_tools/fakedeathpills
|
||||
name = "Fake Death Pill Bottle"
|
||||
desc = "A regular pill bottle containing three fake death pills. Swallow, then rest on the floor to appear dead to people, medical huds, and health analysers. \
|
||||
Stand up to wake up. Each pill lets you lay dead for four to five minutes, can be cumulated. Side effects include : Silencing, loss of limbs and/or head once security declares you a changeling."
|
||||
reference = "FDP"
|
||||
item = /obj/item/storage/pill_bottle/fakedeath
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/stealthy_tools/clownkit
|
||||
name = "Honk Brand Infiltration Kit"
|
||||
desc = "All the tools you need to play the best prank Nanotrasen has ever seen. Includes a voice changer clown mask, magnetic clown shoes, and standard clown outfit, tools, and backpack."
|
||||
|
||||
@@ -243,6 +243,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
|
||||
var/changeling_speak = 0
|
||||
var/datum/dna/chosen_dna
|
||||
var/obj/effect/proc_holder/changeling/sting/chosen_sting
|
||||
var/regenerating = FALSE
|
||||
|
||||
/datum/changeling/New(gender=FEMALE)
|
||||
..()
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
user.med_hud_set_health()
|
||||
user.handle_hud_icons_health()
|
||||
user.med_hud_set_status()
|
||||
|
||||
user.mind.changeling.regenerating = TRUE
|
||||
|
||||
addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME)
|
||||
feedback_add_details("changeling_powers","FD")
|
||||
return 1
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
user.updatehealth("revive sting")
|
||||
user.update_blind_effects()
|
||||
user.update_blurry_effects()
|
||||
user.mind.changeling.regenerating = FALSE
|
||||
|
||||
to_chat(user, "<span class='notice'>We have regenerated.</span>")
|
||||
|
||||
|
||||
@@ -152,7 +152,8 @@
|
||||
/obj/item/toy/cards/deck/syndicate = 2,
|
||||
/obj/item/storage/secure/briefcase/syndie = 2,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate = 2,
|
||||
"" = 70
|
||||
/obj/item/storage/pill_bottle/fakedeath = 2,
|
||||
"" = 68
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/crate_spawner // for ruins
|
||||
|
||||
@@ -284,3 +284,9 @@ To apply, hold the injector a short distance away from the outer thigh before ap
|
||||
new /obj/item/clothing/mask/balaclava(src)
|
||||
new /obj/item/clothing/accessory/stethoscope(src)
|
||||
new /obj/item/book/manual/engineering_hacking(src)
|
||||
|
||||
/obj/item/storage/pill_bottle/fakedeath/New()
|
||||
..()
|
||||
new /obj/item/reagent_containers/food/pill/fakedeath(src)
|
||||
new /obj/item/reagent_containers/food/pill/fakedeath(src)
|
||||
new /obj/item/reagent_containers/food/pill/fakedeath(src)
|
||||
@@ -315,7 +315,7 @@
|
||||
/datum/species/proc/help(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
|
||||
if(attacker_style && attacker_style.help_act(user, target))//adminfu only...
|
||||
return TRUE
|
||||
if(target.health >= config.health_threshold_crit)
|
||||
if(target.health >= config.health_threshold_crit && !(target.status_flags & FAKEDEATH))
|
||||
target.help_shake_act(user)
|
||||
return TRUE
|
||||
else
|
||||
|
||||
@@ -155,3 +155,32 @@
|
||||
if(prob(5))
|
||||
to_chat(M, "<span class='warning'>You would DIE for some [name] right now!</span>")
|
||||
return update_flags
|
||||
|
||||
/datum/reagent/proc/fakedeath(mob/living/M)
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
return
|
||||
if(!(M.status_flags & CANPARALYSE))
|
||||
return
|
||||
if(M.mind && M.mind.changeling && M.mind.changeling.regenerating) //no messing with changeling's fake death
|
||||
return
|
||||
M.visible_message("<B>[M]</B> seizes up and falls limp, [M.p_their()] eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
|
||||
M.status_flags |= FAKEDEATH
|
||||
M.update_stat("fakedeath reagent")
|
||||
M.med_hud_set_health()
|
||||
M.med_hud_set_status()
|
||||
|
||||
/datum/reagent/proc/fakerevive(mob/living/M)
|
||||
if(!(M.status_flags & FAKEDEATH))
|
||||
return
|
||||
if(M.mind && M.mind.changeling && M.mind.changeling.regenerating)
|
||||
return
|
||||
if(M.resting)
|
||||
M.StopResting()
|
||||
M.status_flags &= ~(FAKEDEATH)
|
||||
M.update_stat("fakedeath reagent end")
|
||||
M.med_hud_set_status()
|
||||
M.med_hud_set_health()
|
||||
if(M.healthdoll)
|
||||
M.healthdoll.cached_healthdoll_overlays.Cut()
|
||||
if(M.dna.species)
|
||||
M.dna.species.handle_hud_icons(M)
|
||||
@@ -1037,7 +1037,7 @@
|
||||
/datum/reagent/capulettium
|
||||
name = "Capulettium"
|
||||
id = "capulettium"
|
||||
description = "A rare drug that causes the user to appear dead for some time."
|
||||
description = "A rare drug that causes the user to fall unconscious and appear dead as long as it's in the body."
|
||||
reagent_state = LIQUID
|
||||
color = "#60A584"
|
||||
heart_rate_stop = 1
|
||||
@@ -1046,23 +1046,21 @@
|
||||
/datum/reagent/capulettium/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
switch(current_cycle)
|
||||
if(1 to 5)
|
||||
if(1 to 10)
|
||||
update_flags |= M.AdjustEyeBlurry(10, FALSE)
|
||||
if(6 to 10)
|
||||
M.Drowsy(10)
|
||||
if(11)
|
||||
update_flags |= M.Paralyse(10, FALSE)
|
||||
M.visible_message("<B>[M]</B> seizes up and falls limp, [M.p_their()] eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
|
||||
if(12 to 60)
|
||||
update_flags |= M.Paralyse(10, FALSE)
|
||||
if(61 to INFINITY)
|
||||
update_flags |= M.AdjustEyeBlurry(10, FALSE)
|
||||
fakedeath(M)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/capulettium/on_mob_delete(mob/living/M)
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
fakerevive(M)
|
||||
..()
|
||||
|
||||
/datum/reagent/capulettium_plus
|
||||
name = "Capulettium Plus"
|
||||
id = "capulettium_plus"
|
||||
description = "A rare and expensive drug that causes the user to appear dead for some time while they retain consciousness and vision."
|
||||
description = "A rare and expensive drug that will silence the user and let him appear dead as long as it's in the body. Rest to play dead, stand up to wake up."
|
||||
reagent_state = LIQUID
|
||||
color = "#60A584"
|
||||
heart_rate_stop = 1
|
||||
@@ -1070,8 +1068,17 @@
|
||||
|
||||
/datum/reagent/capulettium_plus/on_mob_life(mob/living/M)
|
||||
M.Silence(2)
|
||||
if((M.status_flags & FAKEDEATH) && !M.resting)
|
||||
fakerevive(M)
|
||||
else if(!(M.status_flags & FAKEDEATH) && M.resting)
|
||||
fakedeath(M)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/capulettium_plus/on_mob_delete(mob/living/M)
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
fakerevive(M)
|
||||
..()
|
||||
|
||||
/datum/reagent/toxic_slurry
|
||||
name = "Toxic Slurry"
|
||||
id = "toxic_slurry"
|
||||
|
||||
@@ -63,6 +63,12 @@
|
||||
icon_state = "pill21"
|
||||
list_reagents = list("initropidril" = 50)
|
||||
|
||||
/obj/item/reagent_containers/food/pill/fakedeath
|
||||
name = "fake death pill"
|
||||
desc = "Swallow then rest to appear dead, stand up to wake up. Also mutes the user's voice."
|
||||
icon_state = "pill4"
|
||||
list_reagents = list("capulettium_plus" = 50)
|
||||
|
||||
/obj/item/reagent_containers/food/pill/adminordrazine
|
||||
name = "Adminordrazine pill"
|
||||
desc = "It's magic. We don't have to explain it."
|
||||
|
||||
Reference in New Issue
Block a user