Punctualite (#35328)

* Punchualite

* Tweaks

* NewnameOldname

* Tick tock

* I spent like 2 hours forgetting BEDMAS was taught in grade 3

---------

Co-authored-by: Rubylips <Questionfrog@gmail.com>
Co-authored-by: ShiftyRail <31417754+ShiftyRail@users.noreply.github.com>
This commit is contained in:
GreatBigFailure
2023-11-26 01:41:51 -05:00
committed by GitHub
parent b7e4761de0
commit 6e9904dcd1
3 changed files with 46 additions and 0 deletions

View File

@@ -487,6 +487,7 @@
#define MIDAZOLINE "midazoline"
#define LOCUTOGEN "locutogen"
#define BUMCIVILIAN "bumcivilian"
#define PUNCTUALITE "punctualite"
//Plant-specific reagents
#define TANNIC_ACID "tannic_acid"

View File

@@ -10335,6 +10335,43 @@ var/global/list/tonio_doesnt_remove=list("tonio", "blood")
if(!locate(/obj/effect/decal/cleanable/purpledrank) in T)
new /obj/effect/decal/cleanable/purpledrank(T)
/datum/reagent/punctualite
name = "Punctualite"
id = PUNCTUALITE
description = "Nicknamed mad chemist's alarm clock. Explodes on the turn of the hour when within a living creature."
reagent_state = REAGENT_STATE_LIQUID
color = "#8d8791" //rgb: 200, 165, 220
custom_metabolism = 0 //Wouldn't be much fun if it all got metabolized beforehand
var/currentHour = 0 //The hour it was introduced into the system so it doesn't blow right away
/datum/reagent/punctualite/on_mob_life(var/mob/living/M)
if(..())
return 1
if(prob(5) && prob(5)) //0.25% chance per tick
var/mob/living/carbon/human/earProtMan = null
if(ishuman(M))
earProtMan = M
if(!M.is_deaf() && !earProtMan || !earProtMan.earprot())
if(prob(50))
to_chat(M, "<span class='notice'>You hear a ticking sound</span>")
else
to_chat(M, "<span class='notice'>You hear a tocking sound</span>")
if((floor(world.time / (1 HOURS)) + 1) > currentHour)
if(!currentHour)
currentHour = floor(world.time / (1 HOURS)) + 1
else
punctualiteExplode(M)
currentHour = floor(world.time / (1 HOURS)) + 1
/datum/reagent/punctualite/proc/punctualiteExplode(var/mob/living/H)
var/bigBoom = 0
var/medBoom = 0
var/litBoom = 0
bigBoom = min(floor(volume/150), 2) //Max breach is 2, twice a welder tank
medBoom = min(floor(volume/50), 4)
litBoom = min(floor(volume/20), 7)
explosion(get_turf(H), bigBoom, medBoom, litBoom)
/datum/reagent/hyperzine/methamphetamine //slightly better than 'zine
name = "Methamphetamine" //Only used on the Laundromat spess vault
id = METHAMPHETAMINE

View File

@@ -4171,5 +4171,13 @@
var/list/allowed_reagents = chemical_reagents_list - blocked_chems
holder.add_reagent(pick(allowed_reagents),created_volume)
/datum/chemical_reaction/punctualite
name = "Punctualite"
id = PUNCTUALITE
result = PUNCTUALITE
required_reagents = list(HYPERZINE = 10, FUEL = 10)
required_catalysts = list(ZOMBIEPOWDER = 5)
result_amount = 5
#undef ALERT_AMOUNT_ONLY
#undef ALERT_ALL_REAGENTS