Supermatter cascade round-end (#66659)

This PR adds the resonance cascade to the SM (idea ported from vg but with total rewrite)

The resonance cascade will turn reality into crystals that devours and destroy everything.
It can be triggered by delaminating the SM when is in contact with hypernoblium and antinoblium, both at over 40% and with as many moles to trigger a singulo delamination. The cascade can't be triggered if the SM is already under 80% integrity and if at any point any of the gases gets under 40% or the total gets lower than the amount for singulo, it will stop the cascade and can't be retriggered unless you reset the SM to over 80% integrity.
This commit is contained in:
Ghilker
2022-05-08 10:27:49 -07:00
committed by GitHub
parent e5909ce738
commit c8f27896c0
19 changed files with 759 additions and 283 deletions
+3 -1
View File
@@ -132,6 +132,8 @@ SUBSYSTEM_DEF(shuttle)
/// Are we currently in the process of loading a shuttle? Useful to ensure we don't load more than one at once, to avoid weird inconsistencies and possible runtimes.
var/shuttle_loading
/// Did the supermatter start an end of the universe event?
var/universal_cascade = FALSE
/datum/controller/subsystem/shuttle/Initialize(timeofday)
order_number = rand(1, 9000)
@@ -388,7 +390,7 @@ SUBSYSTEM_DEF(shuttle)
return 1
/datum/controller/subsystem/shuttle/proc/autoEvac()
if (!SSticker.IsRoundInProgress())
if (!SSticker.IsRoundInProgress() || universal_cascade)
return
var/callShuttle = TRUE
+2
View File
@@ -597,6 +597,8 @@ SUBSYSTEM_DEF(ticker)
news_message = "The company would like to state that any rumors of criminal organizing on board stations such as [decoded_station_name] are falsehoods, and not to be emulated."
if(GANG_DESTROYED)
news_message = "The crew of [decoded_station_name] would like to thank the Spinward Stellar Coalition Police Department for quickly resolving a minor terror threat to the station."
if(SUPERMATTER_CASCADE)
news_message = "Universal reboot initiated on [decoded_station_name] following a major supermatter cascade."
if(news_message)
send2otherserver(news_source, news_message,"News_Report")