mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-17 05:03:28 +00:00
Remake of #50528 About The Pull Request https://hackmd.io/@tgstation/r1tzxpwPL Basically that. Raw anomaly cores Cargo crates for them (currently 5k credits each, please tell me if this is good I balanced it relative to other crates I have no clue what the current cargo "meta"/power levels are) Finish the explosive/implosion compressor attackby and implosion procs Map in the implosion compressor Map in the roundstart 2 cores each type for science Current values are set to maxcap at the 8th core, and 4 light radius (1/2/4 explosion required) at the first core. I think this is a bit low but I'm just going off the document. The implosion compressor consumes the TTV + tanks on an attempted detonation, regardless of success. However, the "bare minimum" of checks are included (it won't let you insert incomplete TTVs. It will however, let you insert TTVs that have no explosive potential (test your bombs like you test your code ;) ), and will not waste the raw core if you fail to make a high enough radius. Props to @ArcaneMusic for the machine sprite! Why It's Good For The Game image Start of the anomaly core system I guess, gives toxins a use other than doing the quirky 50k maxcap tritium speedrun rush (or was that removed already?). Yadda yadda allows locking items behind it and another method of getting these other than supermatter overloads (I don't know if that is already gone either by the by). Changelog 🆑 add: An explosion compressor has been added to science. It makes raw anomaly cores into proper anomaly cores using prepared TTVs of a specific required blast radius. /🆑
74 lines
2.5 KiB
Plaintext
74 lines
2.5 KiB
Plaintext
/**
|
|
* # Raw Anomaly Cores
|
|
*
|
|
* The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
|
|
*
|
|
* The current amounts created is stored in SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount
|
|
* The hard limits are in code/__DEFINES/anomalies.dm
|
|
*/
|
|
/obj/item/raw_anomaly_core
|
|
name = "raw anomaly core"
|
|
desc = "You shouldn't be seeing this. Someone screwed up."
|
|
icon = 'icons/obj/assemblies/new_assemblies.dmi'
|
|
icon_state = "broken_state"
|
|
|
|
/// Anomaly type
|
|
var/anomaly_type
|
|
|
|
/obj/item/raw_anomaly_core/bluespace
|
|
name = "raw bluespace core"
|
|
desc = "The raw core of a bluespace anomaly, glowing and full of potential."
|
|
anomaly_type = /obj/item/assembly/signaler/anomaly/bluespace
|
|
icon_state = "rawcore_bluespace"
|
|
|
|
/obj/item/raw_anomaly_core/vortex
|
|
name = "raw vortex core"
|
|
desc = "The raw core of a vortex anomaly. Feels heavy to the touch."
|
|
anomaly_type = /obj/item/assembly/signaler/anomaly/vortex
|
|
icon_state = "rawcore_vortex"
|
|
|
|
/obj/item/raw_anomaly_core/grav
|
|
name = "raw gravity core"
|
|
desc = "The raw core of a gravity anomaly. The air seems attracted to it."
|
|
anomaly_type = /obj/item/assembly/signaler/anomaly/grav
|
|
icon_state = "rawcore_grav"
|
|
|
|
/obj/item/raw_anomaly_core/pyro
|
|
desc = "The raw core of a pyro anomaly. It is warm to the touch."
|
|
name = "raw pyro core"
|
|
anomaly_type = /obj/item/assembly/signaler/anomaly/pyro
|
|
icon_state = "rawcore_pyro"
|
|
|
|
/obj/item/raw_anomaly_core/flux
|
|
name = "raw flux core"
|
|
desc = "The raw core of a flux anomaly, faintly crackling with energy."
|
|
anomaly_type = /obj/item/assembly/signaler/anomaly/flux
|
|
icon_state = "rawcore_flux"
|
|
|
|
/obj/item/raw_anomaly_core/random
|
|
name = "random raw core"
|
|
desc = "You should not see this!"
|
|
icon_state = "rawcore_bluespace"
|
|
|
|
/obj/item/raw_anomaly_core/random/Initialize(mapload)
|
|
. = ..()
|
|
var/path = pick(subtypesof(/obj/item/raw_anomaly_core))
|
|
new path(loc)
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
/**
|
|
* Created the resulting core after being "made" into it.
|
|
*
|
|
* Arguments:
|
|
* * newloc - Where the new core will be created
|
|
* * del_self - should we qdel(src)
|
|
* * count_towards_limit - should we increment the amount of created cores on SSresearch
|
|
*/
|
|
/obj/item/raw_anomaly_core/proc/create_core(newloc, del_self = FALSE, count_towards_limit = FALSE)
|
|
. = new anomaly_type(newloc)
|
|
if(count_towards_limit)
|
|
var/existing = SSresearch.created_anomaly_types[anomaly_type] || 0
|
|
SSresearch.created_anomaly_types[anomaly_type] = existing + 1
|
|
if(del_self)
|
|
qdel(src)
|