diff --git a/modular_citadel/code/modules/clothing/glasses/phantomthief.dm b/modular_citadel/code/modules/clothing/glasses/phantomthief.dm index be8812416a..e9d31f73d3 100644 --- a/modular_citadel/code/modules/clothing/glasses/phantomthief.dm +++ b/modular_citadel/code/modules/clothing/glasses/phantomthief.dm @@ -9,3 +9,38 @@ /obj/item/clothing/glasses/phantomthief/Initialize() . = ..() AddComponent(/datum/component/phantomthief) + +/obj/item/clothing/glasses/phantomthief/syndicate + name = "suspicious plastic mask" + desc = "A cheap, bulky, Syndicate-branded plastic face mask. You have to break in to break out." + var/nextadrenalinepop + var/datum/component/redirect/combattoggle_redir + +/obj/item/clothing/glasses/phantomthief/syndicate/examine(user) + . = ..() + if(combattoggle_redir) + if(world.time >= nextadrenalinepop) + to_chat(user, "The built-in adrenaline injector is ready for use.") + else + to_chat(user, "[DisplayTimeText(nextadrenalinepop - world.time)] left before the adrenaline injector can be used again.") + +/obj/item/clothing/glasses/phantomthief/syndicate/proc/injectadrenaline(mob/user, combatmodestate) + if(istype(user)) + if(combatmodestate && world.time >= nextadrenalinepop) + nextadrenalinepop = world.time + 5 MINUTES + user.reagents.add_reagent("syndicateadrenals", 5) + user.playsound_local(user, 'modular_citadel/sound/misc/adrenalinject.ogg', 100, 0, pressure_affected = FALSE) + +/obj/item/clothing/glasses/phantomthief/syndicate/equipped(mob/user, slot) + . = ..() + if(!istype(user)) + return + if(!combattoggle_redir) + combattoggle_redir = user.AddComponent(/datum/component/redirect,list(COMSIG_COMBAT_TOGGLED),CALLBACK(src,.proc/injectadrenaline)) + +/obj/item/clothing/glasses/phantomthief/syndicate/dropped(mob/user) + . = ..() + if(!istype(user)) + return + if(combattoggle_redir) + QDEL_NULL(combattoggle_redir) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm index 68be5987da..0f71a71add 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -5,3 +5,37 @@ if(O) O.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) SEND_SIGNAL(O, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD) + +/datum/reagent/syndicateadrenals + name = "Syndicate Adrenaline" + id = "syndicateadrenals" + description = "Regenerates your stamina and increases your reaction time." + color = "#E62111" + overdose_threshold = 6 + +/datum/reagent/syndicateadrenals/on_mob_life(mob/living/M) + M.adjustStaminaLoss(-5*REM) + . = ..() + +/datum/reagent/syndicateadrenals/on_mob_add(mob/living/M) + . = ..() + if(istype(M)) + M.next_move_modifier *= 0.5 + to_chat(M, "You feel an intense surge of energy rushing through your veins.") + +/datum/reagent/syndicateadrenals/on_mob_delete(mob/living/M) + . = ..() + if(istype(M)) + M.next_move_modifier *= 2 + to_chat(M, "You feel as though the world around you is going faster.") + +/datum/reagent/syndicateadrenals/overdose_start(mob/living/M) + to_chat(M, "You feel an intense pain in your chest...") + return + +/datum/reagent/syndicateadrenals/overdose_process(mob/living/M) + if(iscarbon(M)) + var/mob/living/carbon/C = M + if(!C.undergoing_cardiac_arrest()) + C.set_heartattack(TRUE) + return diff --git a/modular_citadel/code/modules/uplink/uplink_items.dm b/modular_citadel/code/modules/uplink/uplink_items.dm index 99e0d8a203..df076c3994 100644 --- a/modular_citadel/code/modules/uplink/uplink_items.dm +++ b/modular_citadel/code/modules/uplink/uplink_items.dm @@ -11,9 +11,8 @@ /datum/uplink_item/dangerous/revolver item = /obj/item/gun/ballistic/revolver/syndie -/datum/uplink_item/badass/phantomthief +/datum/uplink_item/dangerous/phantomthief name = "Syndicate Mask" - desc = "A cheap paper mask to slap over your eyes." - item = /obj/item/clothing/glasses/phantomthief - cost = 0 - limited_stock = 4 + desc = "A cheap plastic mask fitted with an adrenaline autoinjector, which can be used by simply tensing your muscles" + item = /obj/item/clothing/glasses/phantomthief/syndicate + cost = 2 diff --git a/modular_citadel/sound/misc/adrenalinject.ogg b/modular_citadel/sound/misc/adrenalinject.ogg new file mode 100644 index 0000000000..f474377cc4 Binary files /dev/null and b/modular_citadel/sound/misc/adrenalinject.ogg differ