diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 223630343da..828181143cf 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -2,7 +2,7 @@
/obj/singularity
name = "gravitational singularity"
desc = "A gravitational singularity."
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s1.dmi' //SKYRAT EDIT CHANGE - ORIGINAL: icon = 'icons/obj/engine/singularity.dmi'
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "singularity_s1"
anchored = TRUE
density = TRUE
@@ -11,7 +11,6 @@
plane = ABOVE_LIGHTING_PLANE
light_range = 6
appearance_flags = LONG_GLIDE
- invisibility = INVISIBILITY_MAXIMUM //SKYRAT EDIT ADDITION
/// the prepended string to the icon state (singularity_s1, dark_matter_s1, etc)
var/singularity_icon_variant = "singularity"
@@ -54,13 +53,6 @@
/obj/singularity/Initialize(mapload, starting_energy = 50)
. = ..()
- //SKYRAT EDIT ADDITION BEGIN
- new /obj/effect/singularity_creation(loc)
-
- addtimer(CALLBACK(src, PROC_REF(make_visible)), 62)
-
- energy = starting_energy
- //SKYRAT EDIT END
START_PROCESSING(SSsinguloprocess, src)
SSpoints_of_interest.make_point_of_interest(src)
@@ -207,7 +199,7 @@
switch(temp_allowed_size)
if(STAGE_ONE)
current_size = STAGE_ONE
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s1.dmi' //SKYRAT EDIT CHANGE - ORIGINAL: icon = 'icons/obj/engine/singularity.dmi'
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "[singularity_icon_variant]_s1"
pixel_x = 0
pixel_y = 0
@@ -219,7 +211,7 @@
if(STAGE_TWO)
if(check_cardinals_range(1, TRUE))
current_size = STAGE_TWO
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s3.dmi' //SKYRAT EDIT CHANGE
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "[singularity_icon_variant]_s3"
pixel_x = -32
pixel_y = -32
@@ -231,7 +223,7 @@
if(STAGE_THREE)
if(check_cardinals_range(2, TRUE))
current_size = STAGE_THREE
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s5.dmi' //SKYRAT EDIT CHANGE
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "[singularity_icon_variant]_s5"
pixel_x = -64
pixel_y = -64
@@ -243,7 +235,7 @@
if(STAGE_FOUR)
if(check_cardinals_range(3, TRUE))
current_size = STAGE_FOUR
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s7.dmi' //SKYRAT EDIT CHANGE
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "[singularity_icon_variant]_s7"
pixel_x = -96
pixel_y = -96
@@ -254,7 +246,7 @@
dissipate_strength = 10
if(STAGE_FIVE)//this one also lacks a check for gens because it eats everything
current_size = STAGE_FIVE
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_s9.dmi' //SKYRAT EDIT CHANGE'
+ icon = 'icons/obj/engine/singularity.dmi'
icon_state = "[singularity_icon_variant]_s9"
pixel_x = -128
pixel_y = -128
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 3bf96373009..e39135f362f 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -237,15 +237,6 @@
/obj/structure/lattice = FALSE,
/obj/structure/grille = FALSE,
/obj/structure/frame/machine = FALSE,
- //SKYRAT EDIT ADDITION BEGIN
- /obj/machinery/particle_accelerator/control_box = FALSE,
- /obj/structure/particle_accelerator/fuel_chamber = FALSE,
- /obj/structure/particle_accelerator/particle_emitter/center = FALSE,
- /obj/structure/particle_accelerator/particle_emitter/left = FALSE,
- /obj/structure/particle_accelerator/particle_emitter/right = FALSE,
- /obj/structure/particle_accelerator/power_box = FALSE,
- /obj/structure/particle_accelerator/end_cap = FALSE,
- //SKYRAT EDIT END
))
//Ok so we are making an assumption here. We assume that view() still calculates from the center out.
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_creation.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_creation.dmi
deleted file mode 100644
index 134841e8f1c..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_creation.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_s1.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_s1.dmi
deleted file mode 100644
index d7495d888fe..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_s1.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_s3.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_s3.dmi
deleted file mode 100644
index f1217234b0a..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_s3.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_s5.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_s5.dmi
deleted file mode 100644
index 87ed1f27a94..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_s5.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_s7.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_s7.dmi
deleted file mode 100644
index 6ef269a9675..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_s7.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/aesthetics/singularity/singularity_s9.dmi b/modular_skyrat/modules/aesthetics/singularity/singularity_s9.dmi
deleted file mode 100644
index 43f74e927be..00000000000
Binary files a/modular_skyrat/modules/aesthetics/singularity/singularity_s9.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/generator.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/generator.dm
deleted file mode 100644
index db52539b3fc..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/generator.dm
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-* SINGULARITY SPAWNER
-*/
-
-/obj/machinery/the_singularitygen
- name = "gravitational singularity generator"
- desc = "An odd device which produces a Gravitational Singularity when set up."
- icon = 'modular_skyrat/modules/singularity_engine/icons/sing_gen.dmi'
- icon_state = "TheSingGen"
- anchored = FALSE
- density = TRUE
- use_power = NO_POWER_USE
- resistance_flags = FIRE_PROOF
-
- // You can buckle someone to the singularity generator, then start the engine. Fun!
- can_buckle = TRUE
- buckle_lying = FALSE
- buckle_requires_restraints = TRUE
-
- var/energy = 0
- var/creation_type = /obj/singularity
-
-/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user, params)
- if(W.tool_behaviour == TOOL_WRENCH)
- default_unfasten_wrench(user, W, 0)
- else
- return ..()
-
-/obj/machinery/the_singularitygen/process()
- if(energy > 0)
- if(energy >= 200)
- var/turf/T = get_turf(src)
- SSblackbox.record_feedback("tally", "engine_started", 1, type)
- var/obj/singularity/S = new creation_type(T, 50)
- transfer_fingerprints_to(S)
- qdel(src)
- else
- energy -= 1
-
-/obj/machinery/the_singularitygen/tesla
- name = "energy ball generator"
- desc = "Makes the wardenclyffe look like a child's plaything when shot with a particle accelerator."
- icon = 'icons/obj/engine/tesla_generator.dmi'
- icon_state = "TheSingGen"
- creation_type = /obj/energy_ball
-
-/obj/machinery/the_singularitygen/tesla/zap_act(power, zap_flags)
- if(zap_flags & ZAP_MACHINE_EXPLOSIVE)
- energy += power
- zap_flags &= ~(ZAP_MACHINE_EXPLOSIVE | ZAP_OBJ_DAMAGE) // Don't blow yourself up yeah?
- return ..()
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm
deleted file mode 100644
index b098cfb46e0..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm
+++ /dev/null
@@ -1,75 +0,0 @@
-/obj/effect/accelerated_particle
- name = "accelerated particles"
- desc = "Small things moving very fast."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi'
- icon_state = "particle"
- anchored = TRUE
- density = FALSE
- var/movement_range = 10
- var/energy = 10
- var/speed = 1
-
-/obj/effect/accelerated_particle/weak
- movement_range = 8
- energy = 5
-
-/obj/effect/accelerated_particle/strong
- movement_range = 15
- energy = 15
-
-/obj/effect/accelerated_particle/powerful
- movement_range = 20
- energy = 50
- color = COLOR_RED
-
-/obj/effect/accelerated_particle/Initialize(mapload)
- . = ..()
- addtimer(CALLBACK(src, PROC_REF(move)), 1)
- var/static/list/loc_connections = list(
- COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
- )
- AddElement(/datum/element/connect_loc, loc_connections)
-
-
-/obj/effect/accelerated_particle/Bump(atom/A)
- if(A)
- if(isliving(A))
- toxmob(A)
- else if(istype(A, /obj/machinery/the_singularitygen))
- var/obj/machinery/the_singularitygen/S = A
- S.energy += energy
- else if(istype(A, /obj/singularity))
- var/obj/singularity/S = A
- S.energy += energy
- else if(istype(A, /obj/energy_ball))
- var/obj/energy_ball/E = A
- E.energy += energy
- else if(istype(A, /obj/structure/blob))
- var/obj/structure/blob/B = A
- B.take_damage(energy*0.6)
- movement_range = 0
-
-/obj/effect/accelerated_particle/proc/on_entered(datum/source, atom/movable/AM)
- SIGNAL_HANDLER
- if(isliving(AM))
- toxmob(AM)
-
-
-/obj/effect/accelerated_particle/ex_act(severity, target)
- qdel(src)
-
-/obj/effect/accelerated_particle/singularity_pull()
- return
-
-/obj/effect/accelerated_particle/proc/toxmob(mob/living/M)
- M.adjustToxLoss(energy / 10)
-
-/obj/effect/accelerated_particle/proc/move()
- if(!step(src,dir))
- forceMove(get_step(src,dir))
- movement_range--
- if(movement_range == 0)
- qdel(src)
- else
- sleep(speed)
- move()
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm
deleted file mode 100644
index fe269bce209..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Composed of 7 parts:
- * 3 Particle Emitters
- * 1 Power Box
- * 1 Fuel Chamber
- * 1 End Cap
- * 1 Control computer
- * Setup map
- * |EC|
- * CC|FC|
- * |PB|
- * PE|PE|PE
-*/
-#define PA_CONSTRUCTION_UNSECURED 0
-#define PA_CONSTRUCTION_UNWIRED 1
-#define PA_CONSTRUCTION_PANEL_OPEN 2
-#define PA_CONSTRUCTION_COMPLETE 3
-
-/obj/structure/particle_accelerator
- name = "particle accelerator"
- desc = "Part of a Particle Accelerator."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi'
- icon_state = "power_box"
- anchored = FALSE
- density = TRUE
- max_integrity = 500
- armor_type = /datum/armor/structure_particle_accelerator
-
- var/obj/machinery/particle_accelerator/control_box/master = null
- var/construction_state = PA_CONSTRUCTION_UNSECURED
- var/reference = null
- var/powered = 0
- var/strength = null
-
-/datum/armor/structure_particle_accelerator
- melee = 30
- melee = 20
- laser = 20
- fire = 90
- acid = 80
-
-/obj/structure/particle_accelerator/examine(mob/user)
- . = ..()
-
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED)
- . += "Looks like it's not attached to the flooring."
- if(PA_CONSTRUCTION_UNWIRED)
- . += "It is missing some cables."
- if(PA_CONSTRUCTION_PANEL_OPEN)
- . += "The panel is open."
-
-/obj/structure/particle_accelerator/Destroy()
- construction_state = PA_CONSTRUCTION_UNSECURED
- if(master)
- master.connected_parts -= src
- master.assembled = 0
- master = null
- return ..()
-
-/obj/structure/particle_accelerator/Initialize(mapload)
- . = ..()
- AddComponent(/datum/component/simple_rotation)
-
-
-/obj/structure/particle_accelerator/set_anchored(anchorvalue)
- . = ..()
- if(isnull(.))
- return
- construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED
- update_state()
- update_appearance()
-
-/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user, params)
- var/did_something = FALSE
-
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED)
- if(W.tool_behaviour == TOOL_WRENCH && !isinspace())
- W.play_tool_sound(src, 75)
- set_anchored(TRUE)
- user.visible_message(span_notice("[user.name] secures the [name] to the floor."), \
- span_notice("You secure the external bolts."))
- user.changeNext_move(CLICK_CD_MELEE)
- return //set_anchored handles the rest of the stuff we need to do.
- if(PA_CONSTRUCTION_UNWIRED)
- if(W.tool_behaviour == TOOL_WRENCH)
- W.play_tool_sound(src, 75)
- set_anchored(FALSE)
- user.visible_message(span_notice("[user.name] detaches the [name] from the floor."), \
- span_notice("You remove the external bolts."))
- user.changeNext_move(CLICK_CD_MELEE)
- return //set_anchored handles the rest of the stuff we need to do.
- else if(istype(W, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/CC = W
- if(CC.use(1))
- user.visible_message(span_notice("[user.name] adds wires to the [name]."), \
- span_notice("You add some wires."))
- construction_state = PA_CONSTRUCTION_PANEL_OPEN
- did_something = TRUE
- if(PA_CONSTRUCTION_PANEL_OPEN)
- if(W.tool_behaviour == TOOL_WIRECUTTER)//TODO:Shock user if its on?
- user.visible_message(span_notice("[user.name] removes some wires from the [name]."), \
- span_notice("You remove some wires."))
- construction_state = PA_CONSTRUCTION_UNWIRED
- did_something = TRUE
- else if(W.tool_behaviour == TOOL_SCREWDRIVER)
- user.visible_message(span_notice("[user.name] closes the [name]'s access panel."), \
- span_notice("You close the access panel."))
- construction_state = PA_CONSTRUCTION_COMPLETE
- did_something = TRUE
- if(PA_CONSTRUCTION_COMPLETE)
- if(W.tool_behaviour == TOOL_SCREWDRIVER)
- user.visible_message(span_notice("[user.name] opens the [name]'s access panel."), \
- span_notice("You open the access panel."))
- construction_state = PA_CONSTRUCTION_PANEL_OPEN
- did_something = TRUE
-
- if(did_something)
- user.changeNext_move(CLICK_CD_MELEE)
- update_state()
- update_appearance()
- return
-
- return ..()
-
-
-/obj/structure/particle_accelerator/deconstruct(disassembled = TRUE)
- if(!(flags_1 & NODECONSTRUCT_1))
- new /obj/item/stack/sheet/iron (loc, 5)
- qdel(src)
-
-/obj/structure/particle_accelerator/Move()
- . = ..()
- if(master && master.active)
- master.toggle_power()
- investigate_log("was moved whilst active; it powered down.", INVESTIGATE_ENGINE)
-
-
-/obj/structure/particle_accelerator/update_icon_state()
- . = ..()
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED,PA_CONSTRUCTION_UNWIRED)
- icon_state="[reference]"
- if(PA_CONSTRUCTION_PANEL_OPEN)
- icon_state="[reference]w"
- if(PA_CONSTRUCTION_COMPLETE)
- if(powered)
- icon_state="[reference]p[strength]"
- else
- icon_state="[reference]c"
-
-/obj/structure/particle_accelerator/proc/update_state()
- if(master)
- master.update_state()
-
-/obj/structure/particle_accelerator/proc/connect_master(obj/O)
- if(O.dir == dir)
- master = O
- return 1
- return 0
-
-/*
-* PARTS
-*/
-
-/obj/structure/particle_accelerator/end_cap
- name = "alpha particle generation array"
- desc = "This is where alpha particles are generated from \[REDACTED\]."
- icon_state = "end_cap"
- reference = "end_cap"
-
-/obj/structure/particle_accelerator/power_box
- name = "particle focusing EM lens"
- desc = "This uses electromagnetic waves to focus the alpha particles."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi'
- icon_state = "power_box"
- reference = "power_box"
-
-/obj/structure/particle_accelerator/fuel_chamber
- name = "EM acceleration chamber"
- desc = "This is where the alpha particles are accelerated to radical speeds."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi'
- icon_state = "fuel_chamber"
- reference = "fuel_chamber"
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_control.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_control.dm
deleted file mode 100644
index c59e146a090..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_control.dm
+++ /dev/null
@@ -1,328 +0,0 @@
-/obj/machinery/particle_accelerator/control_box
- name = "particle accelerator control console"
- desc = "This controls the density of the particles."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator_controlbox.dmi'
- icon_state = "control_box"
- anchored = FALSE
- density = TRUE
- use_power = NO_POWER_USE
- idle_power_usage = 500
- active_power_usage = 10000
- dir = NORTH
- mouse_opacity = MOUSE_OPACITY_OPAQUE
- var/strength_upper_limit = 2
- var/interface_control = TRUE
- var/list/obj/structure/particle_accelerator/connected_parts
- var/assembled = FALSE
- var/construction_state = PA_CONSTRUCTION_UNSECURED
- var/active = FALSE
- var/strength = 0
- var/powered = FALSE
-
-/obj/machinery/particle_accelerator/control_box/Initialize(mapload)
- . = ..()
- wires = new /datum/wires/particle_accelerator/control_box(src)
- connected_parts = list()
-
-/obj/machinery/particle_accelerator/control_box/Destroy()
- if(active)
- toggle_power()
- for(var/CP in connected_parts)
- var/obj/structure/particle_accelerator/part = CP
- part.master = null
- connected_parts.Cut()
- QDEL_NULL(wires)
- return ..()
-
-/obj/machinery/particle_accelerator/control_box/multitool_act(mob/living/user, obj/item/I)
- . = ..()
- if(construction_state == PA_CONSTRUCTION_PANEL_OPEN)
- wires.interact(user)
- return TRUE
-
-/obj/machinery/particle_accelerator/control_box/proc/update_state()
- if(construction_state < PA_CONSTRUCTION_COMPLETE)
- use_power = NO_POWER_USE
- assembled = FALSE
- active = FALSE
- for(var/CP in connected_parts)
- var/obj/structure/particle_accelerator/part = CP
- part.strength = null
- part.powered = FALSE
- part.update_icon()
- connected_parts.Cut()
- return
- if(!part_scan())
- use_power = IDLE_POWER_USE
- active = FALSE
- connected_parts.Cut()
-
-/obj/machinery/particle_accelerator/control_box/update_icon_state()
- . = ..()
- if(active)
- icon_state = "control_boxp[strength]"
- else
- if(use_power)
- if(assembled)
- icon_state = "control_boxp"
- else
- icon_state = "ucontrol_boxp"
- else
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED, PA_CONSTRUCTION_UNWIRED)
- icon_state = "control_box"
- if(PA_CONSTRUCTION_PANEL_OPEN)
- icon_state = "control_boxw"
- else
- icon_state = "control_boxc"
-
-/obj/machinery/particle_accelerator/control_box/proc/strength_change()
- for(var/CP in connected_parts)
- var/obj/structure/particle_accelerator/part = CP
- part.strength = strength
- part.update_icon()
- update_appearance()
-
-/obj/machinery/particle_accelerator/control_box/proc/add_strength(s)
- if(assembled && (strength < strength_upper_limit))
- strength++
- strength_change()
-
- log_game("PA Control Computer increased to [strength] by [key_name(usr)] in [AREACOORD(src)]")
- investigate_log("increased to [strength] by [key_name(usr)] at [AREACOORD(src)]", INVESTIGATE_ENGINE)
-
-/obj/machinery/particle_accelerator/control_box/proc/remove_strength(s)
- if(assembled && (strength > 0))
- strength--
- strength_change()
-
- log_game("PA Control Computer decreased to [strength] by [key_name(usr)] in [AREACOORD(src)]")
- investigate_log("decreased to [strength] by [key_name(usr)] at [AREACOORD(src)]", INVESTIGATE_ENGINE)
-
-/obj/machinery/particle_accelerator/control_box/power_change()
- . = ..()
- if(machine_stat & NOPOWER)
- active = FALSE
- use_power = NO_POWER_USE
- else if(!machine_stat && construction_state == PA_CONSTRUCTION_COMPLETE)
- use_power = IDLE_POWER_USE
-
-/obj/machinery/particle_accelerator/control_box/process()
- if(active)
- //a part is missing!
- if(connected_parts.len < 6)
- investigate_log("lost a connected part; It powered down.", INVESTIGATE_ENGINE)
- toggle_power()
- update_appearance()
- return
- //emit some particles
- for(var/obj/structure/particle_accelerator/particle_emitter/PE in connected_parts)
- PE.emit_particle(strength)
-
-/obj/machinery/particle_accelerator/control_box/proc/part_scan()
- var/ldir = turn(dir,-90)
- var/rdir = turn(dir,90)
- var/odir = turn(dir,180)
- var/turf/T = loc
-
- assembled = FALSE
- critical_machine = FALSE
-
- var/obj/structure/particle_accelerator/fuel_chamber/F = locate() in orange(1,src)
- if(!F)
- return FALSE
-
- setDir(F.dir)
- connected_parts.Cut()
-
- T = get_step(T,rdir)
- if(!check_part(T, /obj/structure/particle_accelerator/fuel_chamber))
- return FALSE
- T = get_step(T,odir)
- if(!check_part(T, /obj/structure/particle_accelerator/end_cap))
- return FALSE
- T = get_step(T,dir)
- T = get_step(T,dir)
- if(!check_part(T, /obj/structure/particle_accelerator/power_box))
- return FALSE
- T = get_step(T,dir)
- if(!check_part(T, /obj/structure/particle_accelerator/particle_emitter/center))
- return FALSE
- T = get_step(T,ldir)
- if(!check_part(T, /obj/structure/particle_accelerator/particle_emitter/left))
- return FALSE
- T = get_step(T,rdir)
- T = get_step(T,rdir)
- if(!check_part(T, /obj/structure/particle_accelerator/particle_emitter/right))
- return FALSE
-
- assembled = TRUE
- critical_machine = TRUE //Only counts if the PA is actually assembled.
- return TRUE
-
-/obj/machinery/particle_accelerator/control_box/proc/check_part(turf/T, type)
- var/obj/structure/particle_accelerator/PA = locate(/obj/structure/particle_accelerator) in T
- if(istype(PA, type) && (PA.construction_state == PA_CONSTRUCTION_COMPLETE))
- if(PA.connect_master(src))
- connected_parts.Add(PA)
- return TRUE
- return FALSE
-
-/obj/machinery/particle_accelerator/control_box/proc/toggle_power()
- active = !active
- investigate_log("turned [active?"ON":"OFF"] by [usr ? key_name(usr) : "outside forces"] at [AREACOORD(src)]", INVESTIGATE_ENGINE)
- message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [usr ? ADMIN_LOOKUPFLW(usr) : "outside forces"] in [ADMIN_VERBOSEJMP(src)]")
- log_game("PA Control Computer turned [active ?"ON":"OFF"] by [usr ? "[key_name(usr)]" : "outside forces"] at [AREACOORD(src)]")
- if(active)
- use_power = ACTIVE_POWER_USE
- for(var/CP in connected_parts)
- var/obj/structure/particle_accelerator/part = CP
- part.strength = strength
- part.powered = TRUE
- part.update_icon()
- else
- use_power = IDLE_POWER_USE
- for(var/CP in connected_parts)
- var/obj/structure/particle_accelerator/part = CP
- part.strength = null
- part.powered = FALSE
- part.update_icon()
- return TRUE
-
-/obj/machinery/particle_accelerator/control_box/examine(mob/user)
- . = ..()
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED)
- . += "Looks like it's not attached to the flooring."
- if(PA_CONSTRUCTION_UNWIRED)
- . += "It is missing some cables."
- if(PA_CONSTRUCTION_PANEL_OPEN)
- . += "The panel is open."
-
-/obj/machinery/particle_accelerator/control_box/set_anchored(anchorvalue)
- . = ..()
- if(isnull(.))
- return
- construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED
- update_state()
- update_icon()
-
-/obj/machinery/particle_accelerator/control_box/attackby(obj/item/W, mob/user, params)
- var/did_something = FALSE
-
- switch(construction_state)
- if(PA_CONSTRUCTION_UNSECURED)
- if(W.tool_behaviour == TOOL_WRENCH && !isinspace())
- W.play_tool_sound(src, 75)
- set_anchored(TRUE)
- user.visible_message(span_notice("[user.name] secures the [name] to the floor."), \
- span_notice("You secure the external bolts."))
- user.changeNext_move(CLICK_CD_MELEE)
- return //set_anchored handles the rest of the stuff we need to do.
- if(PA_CONSTRUCTION_UNWIRED)
- if(W.tool_behaviour == TOOL_WRENCH)
- W.play_tool_sound(src, 75)
- set_anchored(FALSE)
- user.visible_message(span_notice("[user.name] detaches the [name] from the floor."), \
- span_notice("You remove the external bolts."))
- user.changeNext_move(CLICK_CD_MELEE)
- return //set_anchored handles the rest of the stuff we need to do.
- else if(istype(W, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/CC = W
- if(CC.use(1))
- user.visible_message(span_notice("[user.name] adds wires to the [name]."), \
- span_notice("You add some wires."))
- construction_state = PA_CONSTRUCTION_PANEL_OPEN
- did_something = TRUE
- if(PA_CONSTRUCTION_PANEL_OPEN)
- if(W.tool_behaviour == TOOL_WIRECUTTER)//TODO:Shock user if its on?
- user.visible_message(span_notice("[user.name] removes some wires from the [name]."), \
- span_notice("You remove some wires."))
- construction_state = PA_CONSTRUCTION_UNWIRED
- did_something = TRUE
- else if(W.tool_behaviour == TOOL_SCREWDRIVER)
- user.visible_message(span_notice("[user.name] closes the [name]'s access panel."), \
- span_notice("You close the access panel."))
- construction_state = PA_CONSTRUCTION_COMPLETE
- did_something = TRUE
- if(PA_CONSTRUCTION_COMPLETE)
- if(W.tool_behaviour == TOOL_SCREWDRIVER)
- user.visible_message(span_notice("[user.name] opens the [name]'s access panel."), \
- span_notice("You open the access panel."))
- construction_state = PA_CONSTRUCTION_PANEL_OPEN
- did_something = TRUE
-
- if(did_something)
- user.changeNext_move(CLICK_CD_MELEE)
- update_state()
- update_icon()
- return
-
- return ..()
-
-/obj/machinery/particle_accelerator/control_box/blob_act(obj/structure/blob/B)
- if(prob(50))
- qdel(src)
-
-/obj/machinery/particle_accelerator/control_box/interact(mob/user)
- if(construction_state == PA_CONSTRUCTION_PANEL_OPEN)
- wires.interact(user)
- else
- ..()
-
-/obj/machinery/particle_accelerator/control_box/proc/is_interactive(mob/user)
- if(!interface_control)
- to_chat(user, span_alert("ERROR: Request timed out. Check wire contacts."))
- return FALSE
- if(construction_state != PA_CONSTRUCTION_COMPLETE)
- return FALSE
- return TRUE
-
-/obj/machinery/particle_accelerator/control_box/ui_status(mob/user)
- if(is_interactive(user))
- return ..()
- return UI_CLOSE
-
-/obj/machinery/particle_accelerator/control_box/ui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "ParticleAccelerator", name)
- ui.open()
-
-/obj/machinery/particle_accelerator/control_box/ui_data(mob/user)
- var/list/data = list()
- data["assembled"] = assembled
- data["power"] = active
- data["strength"] = strength
- return data
-
-/obj/machinery/particle_accelerator/control_box/ui_act(action, params)
- if(..())
- return
-
- switch(action)
- if("power")
- if(wires.is_cut(WIRE_POWER))
- return
- toggle_power()
- . = TRUE
- if("scan")
- part_scan()
- . = TRUE
- if("add_strength")
- if(wires.is_cut(WIRE_STRENGTH))
- return
- add_strength()
- . = TRUE
- if("remove_strength")
- if(wires.is_cut(WIRE_STRENGTH))
- return
- remove_strength()
- . = TRUE
-
- update_icon()
-
-#undef PA_CONSTRUCTION_UNSECURED
-#undef PA_CONSTRUCTION_UNWIRED
-#undef PA_CONSTRUCTION_PANEL_OPEN
-#undef PA_CONSTRUCTION_COMPLETE
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_emitter.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_emitter.dm
deleted file mode 100644
index 5728a5a3ce2..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_emitter.dm
+++ /dev/null
@@ -1,47 +0,0 @@
-/obj/structure/particle_accelerator/particle_emitter
- name = "EM containment grid"
- desc = "This launches the alpha particles, might not want to stand near this end."
- icon = 'modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi'
- icon_state = "emitter_center"
- var/fire_delay = 50
- var/last_shot = 0
-
-/obj/structure/particle_accelerator/particle_emitter/center
- icon_state = "emitter_center"
- reference = "emitter_center"
-
-/obj/structure/particle_accelerator/particle_emitter/left
- icon_state = "emitter_left"
- reference = "emitter_left"
-
-/obj/structure/particle_accelerator/particle_emitter/right
- icon_state = "emitter_right"
- reference = "emitter_right"
-
-/obj/structure/particle_accelerator/particle_emitter/proc/set_delay(delay)
- if(delay >= 0)
- fire_delay = delay
- return 1
- return 0
-
-/obj/structure/particle_accelerator/particle_emitter/proc/emit_particle(strength = 0)
- if((last_shot + fire_delay) <= world.time)
- last_shot = world.time
- var/turf/T = get_turf(src)
- var/obj/effect/accelerated_particle/P
- switch(strength)
- if(0)
- P = new/obj/effect/accelerated_particle/weak(T)
- playsound(src, 'modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg', 30, FALSE)
- if(1)
- P = new/obj/effect/accelerated_particle(T)
- playsound(src, 'modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg', 70, FALSE)
- if(2)
- P = new/obj/effect/accelerated_particle/strong(T)
- playsound(src, 'modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg', 100, FALSE)
- if(3)
- P = new/obj/effect/accelerated_particle/powerful(T)
- playsound(src, 'modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg', 100, FALSE)
- P.setDir(dir)
- return 1
- return 0
diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/wires.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/wires.dm
deleted file mode 100644
index ea9db6ae9c8..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/wires.dm
+++ /dev/null
@@ -1,50 +0,0 @@
-/datum/wires/particle_accelerator/control_box
- holder_type = /obj/machinery/particle_accelerator/control_box
- proper_name = "Particle Accelerator"
-
-/datum/wires/particle_accelerator/control_box/New(atom/holder)
- wires = list(
- WIRE_POWER, WIRE_STRENGTH, WIRE_LIMIT,
- WIRE_INTERFACE
- )
- add_duds(2)
- ..()
-
-/datum/wires/particle_accelerator/control_box/interactable(mob/user)
- if(!..())
- return FALSE
- var/obj/machinery/particle_accelerator/control_box/C = holder
- if(C.construction_state == 2)
- return TRUE
-
-/datum/wires/particle_accelerator/control_box/on_pulse(wire)
- var/obj/machinery/particle_accelerator/control_box/C = holder
- switch(wire)
- if(WIRE_POWER)
- C.toggle_power()
- if(WIRE_STRENGTH)
- C.add_strength()
- if(WIRE_INTERFACE)
- C.interface_control = !C.interface_control
- if(WIRE_LIMIT)
- C.visible_message(span_notice("[icon2html(C, viewers(holder))][C] makes a loud whirring noise."))
-
-/datum/wires/particle_accelerator/control_box/on_cut(wire, mend)
- var/obj/machinery/particle_accelerator/control_box/C = holder
- switch(wire)
- if(WIRE_POWER)
- if(C.active == !mend)
- C.toggle_power()
- if(WIRE_STRENGTH)
- for(var/i = 1; i < 3; i++)
- C.remove_strength()
- if(WIRE_INTERFACE)
- if(!mend)
- C.interface_control = FALSE
- if(WIRE_LIMIT)
- C.strength_upper_limit = (mend ? 2 : 3)
- if(C.strength_upper_limit < C.strength)
- C.remove_strength()
-
-/datum/wires/particle_accelerator/control_box/emp_pulse() // to prevent singulo from pulsing wires
- return
diff --git a/modular_skyrat/modules/singularity_engine/code/singularity_effect.dm b/modular_skyrat/modules/singularity_engine/code/singularity_effect.dm
deleted file mode 100644
index 9771fa0c626..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/singularity_effect.dm
+++ /dev/null
@@ -1,21 +0,0 @@
-/obj/effect/singularity_creation
- name = "collapsing spacetime"
- desc = "It looks like spacetime is collapsing, oh shit!"
- icon = 'modular_skyrat/modules/aesthetics/singularity/singularity_creation.dmi'
- icon_state = ""
- anchored = TRUE
- opacity = FALSE
- pixel_x = -32
- pixel_y = -32
- var/timeleft = 62
-
-/obj/effect/singularity_creation/Initialize(mapload)
- . = ..()
- if(timeleft)
- QDEL_IN(src, timeleft)
-
-/obj/effect/singularity_creation/singularity_act()
- return
-
-/obj/singularity/proc/make_visible()
- invisibility = NONE
diff --git a/modular_skyrat/modules/singularity_engine/code/supply/packs.dm b/modular_skyrat/modules/singularity_engine/code/supply/packs.dm
deleted file mode 100644
index e0a8111f965..00000000000
--- a/modular_skyrat/modules/singularity_engine/code/supply/packs.dm
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-/datum/supply_pack/engine/particle_accelerator
- name = "Particle Accelerator Crate"
- desc = "A supermassive black hole or hyper-powered teslaball are the perfect way to spice up any party! This \"My First Apocalypse\" kit contains everything you need to build your own Particle Accelerator! Ages 10 and up."
- cost = CARGO_CRATE_VALUE * 5
- contains = list(/obj/structure/particle_accelerator/fuel_chamber,
- /obj/machinery/particle_accelerator/control_box,
- /obj/structure/particle_accelerator/particle_emitter/center,
- /obj/structure/particle_accelerator/particle_emitter/left,
- /obj/structure/particle_accelerator/particle_emitter/right,
- /obj/structure/particle_accelerator/power_box,
- /obj/structure/particle_accelerator/end_cap)
- crate_name = "particle accelerator crate"
-
-/datum/supply_pack/engine/sing_gen
- name = "Singularity Generator Crate"
- desc = "The key to unlocking the power of Lord Singuloth. Particle Accelerator not included."
- cost = CARGO_CRATE_VALUE * 3
- contains = list(/obj/machinery/the_singularitygen)
- crate_name = "singularity generator crate"
-
-/datum/supply_pack/engine/tesla_gen
- name = "Tesla Generator Crate"
- desc = "The key to unlocking the power of the Tesla energy ball. Particle Accelerator not included."
- cost = CARGO_CRATE_VALUE * 3
- contains = list(/obj/machinery/the_singularitygen/tesla)
- crate_name = "tesla generator crate"
- */ // Disabled due to being non-functional.
diff --git a/modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi b/modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi
deleted file mode 100644
index d79cc8600e0..00000000000
Binary files a/modular_skyrat/modules/singularity_engine/icons/particle_accelerator.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/singularity_engine/icons/particle_accelerator_controlbox.dmi b/modular_skyrat/modules/singularity_engine/icons/particle_accelerator_controlbox.dmi
deleted file mode 100644
index 5813a52ceb7..00000000000
Binary files a/modular_skyrat/modules/singularity_engine/icons/particle_accelerator_controlbox.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/singularity_engine/icons/sing_gen.dmi b/modular_skyrat/modules/singularity_engine/icons/sing_gen.dmi
deleted file mode 100644
index 9d46c94523c..00000000000
Binary files a/modular_skyrat/modules/singularity_engine/icons/sing_gen.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/singularity_engine/readme.md b/modular_skyrat/modules/singularity_engine/readme.md
deleted file mode 100644
index 1d29da1cb29..00000000000
--- a/modular_skyrat/modules/singularity_engine/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Title: Singularity Engine
-
-MODULE ID: SINGULARITY
-
-### Description:
-
-Readds the singularity that TG station axed a while ago. With some new sprites, from TauCeti.
-
-### Credits:
-TauCeti - Singularity sprites
diff --git a/modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg b/modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg
deleted file mode 100644
index 0cdb6a4727b..00000000000
Binary files a/modular_skyrat/modules/singularity_engine/sound/cyclotron.ogg and /dev/null differ
diff --git a/tgstation.dme b/tgstation.dme
index 2234bf7aabf..ac9be417eba 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6941,14 +6941,6 @@
#include "modular_skyrat\modules\shotgunrebalance\code\shotgun.dm"
#include "modular_skyrat\modules\SiliconQoL\code\_onclick.dm"
#include "modular_skyrat\modules\SiliconQoL\code\robotic_factory.dm"
-#include "modular_skyrat\modules\singularity_engine\code\singularity_effect.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\generator.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\particle.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\particle_accelerator.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\particle_control.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\particle_emitter.dm"
-#include "modular_skyrat\modules\singularity_engine\code\particle_accelerator\wires.dm"
-#include "modular_skyrat\modules\singularity_engine\code\supply\packs.dm"
#include "modular_skyrat\modules\skyrat-uplinks\code\uplink_implant.dm"
#include "modular_skyrat\modules\skyrat-uplinks\code\categories\bundles.dm"
#include "modular_skyrat\modules\skyrat-uplinks\code\categories\dangerous.dm"