From 910eb893b9dc88b792aa12a4bb3385ec002c94dc Mon Sep 17 00:00:00 2001
From: iksyp <33264221+iskyp@users.noreply.github.com>
Date: Wed, 11 Apr 2018 03:18:49 -0700
Subject: [PATCH] The supermatter crystal is now the parent object of the
supermatter shard, rather than the other way around (#37025)
*every mention of /obj/item/machinery/power/supermatter_shard in the code should have been replaced with /obj/item/machinery/power/supermatter_crystal and it's variants.
*supermatter shard has been moved to /obj/item/machinery/power/supermatter_crystal/shard
*variable changes like gasefficiency and explosion_power has been switcharood in order to keep it in line with the game as of now
---
_maps/map_files/BoxStation/BoxStation.dmm | 2 +-
.../map_files/Deltastation/DeltaStation2.dmm | 2 +-
_maps/map_files/MetaStation/MetaStation.dmm | 2 +-
_maps/map_files/OmegaStation/OmegaStation.dmm | 2 +-
_maps/shuttles/emergency_supermatter.dmm | 4 +-
code/game/objects/effects/countdown.dm | 2 +-
code/game/objects/items/melee/misc.dm | 6 +-
.../traitor/equipment/Malf_Modules.dm | 2 +-
code/modules/cargo/exports/large_objects.dm | 2 +-
code/modules/cargo/packs.dm | 4 +-
.../file_system/programs/sm_monitor.dm | 10 +-
code/modules/power/singularity/singularity.dm | 2 +-
code/modules/power/supermatter/supermatter.dm | 104 +++++++++---------
13 files changed, 72 insertions(+), 72 deletions(-)
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 89052389e9d..e8cec42f9c8 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -50703,7 +50703,7 @@
/turf/open/floor/engine,
/area/engine/engineering)
"cAm" = (
-/obj/machinery/power/supermatter_shard/crystal/engine,
+/obj/machinery/power/supermatter_crystal/engine,
/turf/open/floor/engine,
/area/engine/supermatter)
"cAo" = (
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 8f8c8998b76..0bf2b2e19b0 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -8970,7 +8970,7 @@
/turf/open/floor/circuit/green,
/area/engine/supermatter)
"ayK" = (
-/obj/machinery/power/supermatter_shard/crystal/engine,
+/obj/machinery/power/supermatter_crystal/engine,
/turf/open/floor/engine,
/area/engine/supermatter)
"ayL" = (
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 9f33499f23a..30db575f69d 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -73482,7 +73482,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"dfa" = (
-/obj/machinery/power/supermatter_shard/crystal/engine,
+/obj/machinery/power/supermatter_crystal/engine,
/turf/open/floor/engine,
/area/engine/supermatter)
"dfb" = (
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index dc4446f0f45..96c04fb9805 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -18988,7 +18988,7 @@
/turf/open/floor/engine,
/area/engine/engineering)
"aOa" = (
-/obj/machinery/power/supermatter_shard/crystal/engine{
+/obj/machinery/power/supermatter_crystal/engine{
anchored = 1
},
/turf/open/floor/engine,
diff --git a/_maps/shuttles/emergency_supermatter.dmm b/_maps/shuttles/emergency_supermatter.dmm
index 796997b3610..cea0df47579 100644
--- a/_maps/shuttles/emergency_supermatter.dmm
+++ b/_maps/shuttles/emergency_supermatter.dmm
@@ -112,7 +112,7 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"aB" = (
-/obj/machinery/power/supermatter_shard/hugbox{
+/obj/machinery/power/supermatter_crystal/shard/hugbox{
anchored = 1;
base_icon_state = "darkmatter";
explosion_power = 20;
@@ -210,7 +210,7 @@
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"aV" = (
-/obj/machinery/power/supermatter_shard/hugbox{
+/obj/machinery/power/supermatter_crystal/shard/hugbox{
anchored = 1;
name = "anchored supermatter shard"
},
diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm
index 2ed2105db3f..d62146be5e4 100644
--- a/code/game/objects/effects/countdown.dm
+++ b/code/game/objects/effects/countdown.dm
@@ -116,7 +116,7 @@
color = "#00ff80"
/obj/effect/countdown/supermatter/get_value()
- var/obj/machinery/power/supermatter_shard/S = attached_to
+ var/obj/machinery/power/supermatter_crystal/S = attached_to
if(!istype(S))
return
return "
[round(S.get_integrity(), 1)]%
"
diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm
index aedf3a7c93e..4051a50eba3 100644
--- a/code/game/objects/items/melee/misc.dm
+++ b/code/game/objects/items/melee/misc.dm
@@ -211,13 +211,13 @@
w_class = WEIGHT_CLASS_BULKY
force = 0.001
armour_penetration = 1000
- var/obj/machinery/power/supermatter_shard/shard
+ var/obj/machinery/power/supermatter_crystal/shard
var/balanced = 1
force_string = "INFINITE"
/obj/item/melee/supermatter_sword/Initialize()
. = ..()
- shard = new /obj/machinery/power/supermatter_shard(src)
+ shard = new /obj/machinery/power/supermatter_crystal(src)
qdel(shard.countdown)
shard.countdown = null
START_PROCESSING(SSobj, src)
@@ -334,7 +334,7 @@
/obj/item/melee/roastingstick/Initialize()
. = ..()
if (!ovens)
- ovens = typecacheof(list(/obj/singularity, /obj/machinery/power/supermatter_shard/crystal, /obj/structure/bonfire, /obj/structure/destructible/clockwork/massive/ratvar))
+ ovens = typecacheof(list(/obj/singularity, /obj/machinery/power/supermatter_crystal, /obj/structure/bonfire, /obj/structure/destructible/clockwork/massive/ratvar))
/obj/item/melee/roastingstick/attack_self(mob/user)
on = !on
diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
index 46891b420d5..6322ad15849 100644
--- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
+++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
@@ -3,7 +3,7 @@
GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
/obj/machinery/field/containment,
- /obj/machinery/power/supermatter_shard,
+ /obj/machinery/power/supermatter_crystal,
/obj/machinery/doomsday_device,
/obj/machinery/nuclearbomb,
/obj/machinery/nuclearbomb/selfdestruct,
diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm
index 7e02048f18b..37afb31a6b0 100644
--- a/code/modules/cargo/exports/large_objects.dm
+++ b/code/modules/cargo/exports/large_objects.dm
@@ -92,7 +92,7 @@
/datum/export/large/supermatter
cost = 9000
unit_name = "supermatter shard"
- export_types = list(/obj/machinery/power/supermatter_shard)
+ export_types = list(/obj/machinery/power/supermatter_crystal/shard)
// Misc
/datum/export/large/iv
diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm
index d74163d8905..35edf7282c0 100644
--- a/code/modules/cargo/packs.dm
+++ b/code/modules/cargo/packs.dm
@@ -756,12 +756,12 @@
crate_name = "solar panel crate"
crate_type = /obj/structure/closet/crate/engineering/electrical
-/datum/supply_pack/engineering/engine/supermatter_shard
+/datum/supply_pack/engineering/engine/supermatter_crystal
name = "Supermatter Shard Crate"
desc = "The power of the heavens condensed into a single crystal. Requires CE access to open."
cost = 10000
access = ACCESS_CE
- contains = list(/obj/machinery/power/supermatter_shard)
+ contains = list(/obj/machinery/power/supermatter_crystal/shard)
crate_name = "supermatter shard crate"
crate_type = /obj/structure/closet/crate/secure/engineering
dangerous = TRUE
diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
index c2cbd5afecc..138e8bb9dd1 100644
--- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
@@ -13,7 +13,7 @@
ui_y = 400
var/last_status = SUPERMATTER_INACTIVE
var/list/supermatters
- var/obj/machinery/power/supermatter_shard/active // Currently selected supermatter crystal.
+ var/obj/machinery/power/supermatter_crystal/active // Currently selected supermatter crystal.
/datum/computer_file/program/supermatter_monitor/process_tick()
@@ -41,7 +41,7 @@
var/turf/T = get_turf(ui_host())
if(!T)
return
- for(var/obj/machinery/power/supermatter_shard/S in GLOB.machines)
+ for(var/obj/machinery/power/supermatter_crystal/S in GLOB.machines)
// Delaminating, not within coverage, not on a tile.
if (!isturf(S.loc) || !(is_station_level(S.z) || is_mining_level(S.z) || S.z == T.z))
continue
@@ -52,7 +52,7 @@
/datum/computer_file/program/supermatter_monitor/proc/get_status()
. = SUPERMATTER_INACTIVE
- for(var/obj/machinery/power/supermatter_shard/S in supermatters)
+ for(var/obj/machinery/power/supermatter_crystal/S in supermatters)
. = max(., S.get_status())
/datum/computer_file/program/supermatter_monitor/ui_data()
@@ -93,7 +93,7 @@
data["gases"] = gasdata
else
var/list/SMS = list()
- for(var/obj/machinery/power/supermatter_shard/S in supermatters)
+ for(var/obj/machinery/power/supermatter_crystal/S in supermatters)
var/area/A = get_area(S)
if(A)
SMS.Add(list(list(
@@ -120,7 +120,7 @@
return TRUE
if("PRG_set")
var/newuid = text2num(params["target"])
- for(var/obj/machinery/power/supermatter_shard/S in supermatters)
+ for(var/obj/machinery/power/supermatter_crystal/S in supermatters)
if(S.uid == newuid)
active = S
return TRUE
\ No newline at end of file
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 2a7fd37c65e..ff9c79d069d 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -272,7 +272,7 @@
/obj/singularity/proc/consume(atom/A)
var/gain = A.singularity_act(current_size, src)
src.energy += gain
- if(istype(A, /obj/machinery/power/supermatter_shard) && !consumedSupermatter)
+ if(istype(A, /obj/machinery/power/supermatter_crystal) && !consumedSupermatter)
desc = "[initial(desc)] It glows fiercely with inner fire."
name = "supermatter-charged [initial(name)]"
consumedSupermatter = 1
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 405c509d0a5..f5bbfe0c4dc 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -54,15 +54,15 @@
#define SUPERMATTER_DANGER_PERCENT 50
#define SUPERMATTER_WARNING_PERCENT 100
-GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
+GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
-/obj/machinery/power/supermatter_shard
- name = "supermatter shard"
- desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure."
+/obj/machinery/power/supermatter_crystal
+ name = "supermatter crystal"
+ desc = "A strangely translucent and iridescent crystal."
icon = 'icons/obj/supermatter.dmi'
- icon_state = "darkmatter_shard"
+ icon_state = "darkmatter"
density = TRUE
- anchored = FALSE
+ anchored = TRUE
var/uid = 1
var/static/gl_uid = 1
light_range = 4
@@ -70,9 +70,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
critical_machine = TRUE
- var/gasefficency = 0.125
+ var/gasefficency = 0.15
- var/base_icon_state = "darkmatter_shard"
+ var/base_icon_state = "darkmatter"
var/damage = 0
var/damage_archived = 0
@@ -86,7 +86,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
var/emergency_issued = FALSE
- var/explosion_power = 12
+ var/explosion_power = 35
var/temp_factor = 30
var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning
@@ -137,9 +137,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
var/datum/looping_sound/supermatter/soundloop
- var/moveable = TRUE
+ var/moveable = FALSE
-/obj/machinery/power/supermatter_shard/Initialize()
+/obj/machinery/power/supermatter_crystal/Initialize()
. = ..()
uid = gl_uid++
SSair.atmos_machinery += src
@@ -156,7 +156,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
soundloop = new(list(src), TRUE)
-/obj/machinery/power/supermatter_shard/Destroy()
+/obj/machinery/power/supermatter_crystal/Destroy()
investigate_log("has been destroyed.", INVESTIGATE_SUPERMATTER)
SSair.atmos_machinery -= src
QDEL_NULL(radio)
@@ -167,7 +167,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
QDEL_NULL(soundloop)
return ..()
-/obj/machinery/power/supermatter_shard/examine(mob/user)
+/obj/machinery/power/supermatter_crystal/examine(mob/user)
..()
if(!ishuman(user))
return
@@ -180,12 +180,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
to_chat(H, "You get headaches just from looking at it.")
return
-/obj/machinery/power/supermatter_shard/get_spans()
+/obj/machinery/power/supermatter_crystal/get_spans()
return list(SPAN_ROBOT)
#define CRITICAL_TEMPERATURE 10000
-/obj/machinery/power/supermatter_shard/proc/get_status()
+/obj/machinery/power/supermatter_crystal/proc/get_status()
var/turf/T = get_turf(src)
if(!T)
return SUPERMATTER_ERROR
@@ -212,7 +212,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
return SUPERMATTER_NORMAL
return SUPERMATTER_INACTIVE
-/obj/machinery/power/supermatter_shard/proc/alarm()
+/obj/machinery/power/supermatter_crystal/proc/alarm()
switch(get_status())
if(SUPERMATTER_DELAMINATING)
playsound(src, 'sound/misc/bloblarm.ogg', 100)
@@ -223,13 +223,13 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
if(SUPERMATTER_WARNING)
playsound(src, 'sound/machines/terminal_alert.ogg', 75)
-/obj/machinery/power/supermatter_shard/proc/get_integrity()
+/obj/machinery/power/supermatter_crystal/proc/get_integrity()
var/integrity = damage / explosion_point
integrity = round(100 - integrity * 100, 0.01)
integrity = integrity < 0 ? 0 : integrity
return integrity
-/obj/machinery/power/supermatter_shard/proc/explode()
+/obj/machinery/power/supermatter_crystal/proc/explode()
var/turf/T = get_turf(src)
for(var/mob/M in GLOB.player_list)
if(M.z == z)
@@ -251,7 +251,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
E.energy = power
qdel(src)
-/obj/machinery/power/supermatter_shard/process_atmos()
+/obj/machinery/power/supermatter_crystal/process_atmos()
var/turf/T = loc
if(isnull(T)) // We have a null turf...something is wrong, stop processing this entity.
@@ -441,7 +441,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
return 1
-/obj/machinery/power/supermatter_shard/bullet_act(obj/item/projectile/Proj)
+/obj/machinery/power/supermatter_crystal/bullet_act(obj/item/projectile/Proj)
var/turf/L = loc
if(!istype(L))
return FALSE
@@ -457,7 +457,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
damage += Proj.damage * config_bullet_energy
return FALSE
-/obj/machinery/power/supermatter_shard/singularity_act()
+/obj/machinery/power/supermatter_crystal/singularity_act()
var/gain = 100
investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO)
message_admins("Singularity has consumed a supermatter shard and can now become stage six.")
@@ -469,7 +469,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
qdel(src)
return gain
-/obj/machinery/power/supermatter_shard/blob_act(obj/structure/blob/B)
+/obj/machinery/power/supermatter_crystal/blob_act(obj/structure/blob/B)
if(B && !isspaceturf(loc)) //does nothing in space
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1)
damage += B.obj_integrity * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us
@@ -482,20 +482,20 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
"You hear a loud crack as you are washed with a wave of heat.")
Consume(B)
-/obj/machinery/power/supermatter_shard/attack_tk(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_tk(mob/user)
if(iscarbon(user))
var/mob/living/carbon/C = user
to_chat(C, "That was a really dumb idea.")
var/obj/item/bodypart/head/rip_u = C.get_bodypart(BODY_ZONE_HEAD)
rip_u.dismember(BURN) //nice try jedi
-/obj/machinery/power/supermatter_shard/attack_paw(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_paw(mob/user)
dust_mob(user, cause = "monkey attack")
-/obj/machinery/power/supermatter_shard/attack_alien(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_alien(mob/user)
dust_mob(user, cause = "alien attack")
-/obj/machinery/power/supermatter_shard/attack_animal(mob/living/simple_animal/S)
+/obj/machinery/power/supermatter_crystal/attack_animal(mob/living/simple_animal/S)
var/murder
if(!S.melee_damage_upper && !S.melee_damage_lower)
murder = S.friendly
@@ -506,20 +506,20 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
"You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \
"simple animal attack")
-/obj/machinery/power/supermatter_shard/attack_robot(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_robot(mob/user)
if(Adjacent(user))
dust_mob(user, cause = "cyborg attack")
-/obj/machinery/power/supermatter_shard/attack_ai(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_ai(mob/user)
return
-/obj/machinery/power/supermatter_shard/attack_hand(mob/living/user)
+/obj/machinery/power/supermatter_crystal/attack_hand(mob/living/user)
. = ..()
if(.)
return
dust_mob(user, cause = "hand")
-/obj/machinery/power/supermatter_shard/proc/dust_mob(mob/living/nom, vis_msg, mob_msg, cause)
+/obj/machinery/power/supermatter_crystal/proc/dust_mob(mob/living/nom, vis_msg, mob_msg, cause)
if(nom.incorporeal_move || nom.status_flags & GODMODE)
return
if(!vis_msg)
@@ -533,7 +533,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1)
Consume(nom)
-/obj/machinery/power/supermatter_shard/attackby(obj/item/W, mob/living/user, params)
+/obj/machinery/power/supermatter_crystal/attackby(obj/item/W, mob/living/user, params)
if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user))
return
if (istype(W, /obj/item/melee/roastingstick))
@@ -554,12 +554,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
radiation_pulse(src, 150, 4)
-/obj/machinery/power/supermatter_shard/wrench_act(mob/user, obj/item/tool)
+/obj/machinery/power/supermatter_crystal/wrench_act(mob/user, obj/item/tool)
if (moveable)
default_unfasten_wrench(user, tool, time = 20)
return TRUE
-/obj/machinery/power/supermatter_shard/CollidedWith(atom/movable/AM)
+/obj/machinery/power/supermatter_crystal/CollidedWith(atom/movable/AM)
if(isliving(AM))
AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [AM.p_their()] body starts to glow and catch flame before flashing into ash.",\
"You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\
@@ -574,7 +574,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
Consume(AM)
-/obj/machinery/power/supermatter_shard/proc/Consume(atom/movable/AM)
+/obj/machinery/power/supermatter_crystal/proc/Consume(atom/movable/AM)
if(isliving(AM))
var/mob/living/user = AM
if(user.status_flags & GODMODE)
@@ -602,29 +602,29 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
else
L.show_message("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.", 2)
-/obj/machinery/power/supermatter_shard/engine
+/obj/machinery/power/supermatter_crystal/engine
+ is_main_engine = TRUE
+
+/obj/machinery/power/supermatter_crystal/shard
+ name = "supermatter shard"
+ desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure."
+ base_icon_state = "darkmatter_shard"
+ icon_state = "darkmatter_shard"
+ anchored = FALSE
+ gasefficency = 0.125
+ explosion_power = 12
+ moveable = TRUE
+
+/obj/machinery/power/supermatter_crystal/shard/engine
is_main_engine = TRUE
// When you wanna make a supermatter shard for the dramatic effect, but
// don't want it exploding suddenly
-/obj/machinery/power/supermatter_shard/hugbox
+/obj/machinery/power/supermatter_crystal/shard/hugbox
takes_damage = FALSE
produces_gas = FALSE
-/obj/machinery/power/supermatter_shard/crystal
- name = "supermatter crystal"
- desc = "A strangely translucent and iridescent crystal."
- base_icon_state = "darkmatter"
- icon_state = "darkmatter"
- anchored = TRUE
- gasefficency = 0.15
- explosion_power = 35
- moveable = FALSE
-
-/obj/machinery/power/supermatter_shard/crystal/engine
- is_main_engine = TRUE
-
-/obj/machinery/power/supermatter_shard/proc/supermatter_pull(turf/center, pull_range = 10)
+/obj/machinery/power/supermatter_crystal/proc/supermatter_pull(turf/center, pull_range = 10)
playsound(src.loc, 'sound/weapons/marauder.ogg', 100, 1, extrarange = 7)
for(var/atom/P in orange(pull_range,center))
if(ismovableatom(P))
@@ -638,7 +638,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
step_towards(pulled_object,center)
step_towards(pulled_object,center)
-/obj/machinery/power/supermatter_shard/proc/supermatter_anomaly_gen(turf/anomalycenter, type = FLUX_ANOMALY, anomalyrange = 5)
+/obj/machinery/power/supermatter_crystal/proc/supermatter_anomaly_gen(turf/anomalycenter, type = FLUX_ANOMALY, anomalyrange = 5)
var/turf/L = pick(orange(anomalyrange, anomalycenter))
if(L)
switch(type)
@@ -650,7 +650,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard)
if(PYRO_ANOMALY)
new /obj/effect/anomaly/pyro(L, 200)
-/obj/machinery/power/supermatter_shard/proc/supermatter_zap(atom/zapstart, range = 3, power)
+/obj/machinery/power/supermatter_crystal/proc/supermatter_zap(atom/zapstart, range = 3, power)
. = zapstart.dir
if(power < 1000)
return