From e4df4ae31236996ecdf58012d6c4acd4caad80f0 Mon Sep 17 00:00:00 2001 From: Edge <42111655+EdgeLordExe@users.noreply.github.com> Date: Sat, 4 Jun 2022 16:26:35 +0200 Subject: [PATCH] Merge pull request #25 from AcapitalA/engines Re-adds the singulo, tesla and MRSPACMAN --- code/datums/wires/particle_accelerator.dm | 49 +++ code/game/machinery/computer/arcade/orion.dm | 4 +- .../machines/machine_circuitboards.dm | 6 + .../awaymissions/bluespaceartillery.dm | 55 +++ code/modules/cargo/bounties/engineering.dm | 55 +++ code/modules/cargo/exports/large_objects.dm | 21 ++ code/modules/cargo/exports/tools.dm | 20 ++ code/modules/power/port_gen.dm | 15 + code/modules/power/singularity/generator.dm | 35 ++ .../particle_accelerator/particle.dm | 63 ++++ .../particle_accelerator.dm | 166 +++++++++ .../particle_accelerator/particle_control.dm | 329 ++++++++++++++++++ .../particle_accelerator/particle_emitter.dm | 43 +++ code/modules/power/singularity/singularity.dm | 254 ++++++++++---- code/modules/power/tesla/energy_ball.dm | 170 +++++++++ code/modules/power/tesla/generator.dm | 12 + .../research/designs/machine_designs.dm | 16 + .../modules/research/designs/power_designs.dm | 13 + code/modules/research/techweb/all_nodes.dm | 4 + code/modules/station_goals/bsa.dm | 4 +- icons/obj/engine/singularity.dmi | Bin 30146 -> 31396 bytes icons/obj/particle_accelerator.dmi | Bin 0 -> 106297 bytes tgstation.dme | 7 + .../tgui/interfaces/ParticleAccelerator.js | 64 ++++ 24 files changed, 1328 insertions(+), 77 deletions(-) create mode 100644 code/datums/wires/particle_accelerator.dm create mode 100644 code/modules/awaymissions/bluespaceartillery.dm create mode 100644 code/modules/power/singularity/generator.dm create mode 100644 code/modules/power/singularity/particle_accelerator/particle.dm create mode 100644 code/modules/power/singularity/particle_accelerator/particle_accelerator.dm create mode 100644 code/modules/power/singularity/particle_accelerator/particle_control.dm create mode 100644 code/modules/power/singularity/particle_accelerator/particle_emitter.dm create mode 100644 code/modules/power/tesla/generator.dm create mode 100644 icons/obj/particle_accelerator.dmi create mode 100644 tgui/packages/tgui/interfaces/ParticleAccelerator.js diff --git a/code/datums/wires/particle_accelerator.dm b/code/datums/wires/particle_accelerator.dm new file mode 100644 index 000000000000..dfaf6fdb47f2 --- /dev/null +++ b/code/datums/wires/particle_accelerator.dm @@ -0,0 +1,49 @@ +/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) + . = ..() + 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("[icon2html(C, viewers(holder))][C] makes a large 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/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index d32c6596786e..a958d0d4c38e 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -59,9 +59,7 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) /obj/machinery/computer/arcade/orion_trail/kobayashi name = "Kobayashi Maru control computer" desc = "A test for cadets." - icon = 'icons/obj/machines/particle_accelerator.dmi' - icon_keyboard = null - icon_screen = null + icon = 'icons/obj/particle_accelerator.dmi' icon_state = "control_boxp" //kobatashi has a smaller list of events, so we copy from the global list and cut whatever isn't here var/list/event_whitelist = list( diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index d1cc5601991e..3dd5f5bfa8a4 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -209,6 +209,12 @@ /obj/item/circuitboard/machine/turbine_compressor name = "Turbine - Inlet Compressor" +/obj/item/circuitboard/machine/pacman/mrs + name = "MRSPACMAN-type Generator (Machine Board)" + build_path = /obj/machinery/power/port_gen/pacman/mrs + +/obj/item/circuitboard/machine/power_compressor + name = "Power Compressor (Machine Board)" greyscale_colors = CIRCUIT_COLOR_ENGINEERING build_path = /obj/machinery/power/turbine/inlet_compressor/constructed req_components = list( diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm new file mode 100644 index 000000000000..8adcf8823f55 --- /dev/null +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -0,0 +1,55 @@ + + +/obj/machinery/artillerycontrol + var/reload = 120 + var/reload_cooldown = 120 + var/explosiondev = 3 + var/explosionmed = 6 + var/explosionlight = 12 + name = "bluespace artillery control" + icon_state = "control_boxp1" + icon = 'icons/obj/particle_accelerator.dmi' + density = TRUE + +/obj/machinery/artillerycontrol/process(delta_time) + if(reload < reload_cooldown) + reload += delta_time + +/obj/structure/artilleryplaceholder + name = "artillery" + icon = 'icons/obj/machines/artillery.dmi' + anchored = TRUE + density = TRUE + +/obj/structure/artilleryplaceholder/decorative + density = FALSE + +/obj/machinery/artillerycontrol/ui_interact(mob/user) + . = ..() + var/dat = "Bluespace Artillery Control:
" + dat += "Locked on
" + dat += "Charge progress: [reload]/[reload_cooldown]:
" + dat += "Open Fire
" + dat += "Deployment of weapon authorized by
Nanotrasen Naval Command

Remember, friendly fire is grounds for termination of your contract and life.
" + user << browse(dat, "window=scroll") + onclose(user, "scroll") + +/obj/machinery/artillerycontrol/Topic(href, href_list) + if(..()) + return + var/A + A = input("Area to bombard", "Open Fire", A) in GLOB.teleportlocs + var/area/thearea = GLOB.teleportlocs[A] + if(usr.stat != CONSCIOUS || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED)) + return + if(reload < reload_cooldown) + return + if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr)) + priority_announce("Bluespace artillery fire detected. Brace for impact.") + message_admins("[ADMIN_LOOKUPFLW(usr)] has launched an artillery strike.") + var/list/L = list() + for(var/turf/T in get_area_turfs(thearea.type)) + L+=T + var/loc = pick(L) + explosion(loc, explosiondev, explosionmed, explosionlight) + reload = 0 diff --git a/code/modules/cargo/bounties/engineering.dm b/code/modules/cargo/bounties/engineering.dm index 9da865ec7533..723d77074ae4 100644 --- a/code/modules/cargo/bounties/engineering.dm +++ b/code/modules/cargo/bounties/engineering.dm @@ -1,3 +1,58 @@ +/datum/bounty/item/engineering/gas + name = "Full Tank of Pluoxium" + description = "CentCom RnD is researching extra compact internals. Ship us a tank full of Pluoxium and you'll be compensated." + reward = CARGO_CRATE_VALUE * 15 + wanted_types = list(/obj/item/tank) + var/moles_required = 20 // A full tank is 28 moles, but CentCom ignores that fact. + var/gas_type = /datum/gas/pluoxium + +/datum/bounty/item/engineering/gas/applies_to(obj/O) + if(!..()) + return FALSE + var/obj/item/tank/T = O + var/datum/gas_mixture/our_mix = T.return_air() + if(!our_mix.gases[gas_type]) + return FALSE + return our_mix.gases[gas_type][MOLES] >= moles_required + +/datum/bounty/item/engineering/gas/nitryl_tank + name = "Full Tank of Nitryl" + description = "The non-human staff of Station 88 has been volunteered to test performance enhancing drugs. Ship them a tank full of Nitryl so they can get started. (20 Moles)" + gas_type = /datum/gas/nitryl + +/datum/bounty/item/engineering/gas/freon_tank + name = "Full Tank of Freon" + description = "The Supermatter of station 33 has started the delamination process. Deliver a tank of Freon gas to help them stop it! (20 Moles)" + gas_type = /datum/gas/freon + +/datum/bounty/item/engineering/gas/tritium_tank + name = "Full Tank of Tritium" + description = "Station 49 is looking to kickstart their research program. Ship them a tank full of Tritium. (20 Moles)" + gas_type = /datum/gas/tritium + +/datum/bounty/item/engineering/gas/hydrogen_tank + name = "Full Tank of Hydrogen" + description = "Our R&D department is working on the development of more efficient electrical batteries using hydrogen as a catalyst. Ship us a tank full of it. (20 Moles)" + gas_type = /datum/gas/hydrogen + +/datum/bounty/item/engineering/gas/zauker_tank + name = "Full Tank of Zauker" + description = "The main planet of \[REDACTED] has been chosen as testing grounds for the new weapon that uses Zauker gas. Ship us a tank full of it. (20 Moles)" + reward = CARGO_CRATE_VALUE * 20 + gas_type = /datum/gas/zauker + +/datum/bounty/item/engineering/energy_ball + name = "Contained Tesla Ball" + description = "Station 24 is being overrun by hordes of angry Mothpeople. They are requesting the ultimate bug zapper." + reward = CARGO_CRATE_VALUE * 375 + wanted_types = list(/obj/singularity/energy_ball) + +/datum/bounty/item/engineering/energy_ball/applies_to(obj/O) + if(!..()) + return FALSE + var/obj/singularity/energy_ball/T = O + return !T.miniball + /datum/bounty/item/engineering/emitter name = "Emitter" description = "We think there may be a defect in your station's emitter designs, based on the sheer number of delaminations your sector seems to see. Ship us one of yours." diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index 1871d69eb452..a340955a5431 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -81,6 +81,16 @@ unit_name = "tesla coil" export_types = list(/obj/machinery/power/energy_accumulator/tesla_coil) +/datum/export/large/pa + cost = CARGO_CRATE_VALUE * 2 + unit_name = "particle accelerator part" + export_types = list(/obj/structure/particle_accelerator) + +/datum/export/large/pa/controls + cost = CARGO_CRATE_VALUE * 2.5 + unit_name = "particle accelerator control console" + export_types = list(/obj/machinery/particle_accelerator/control_box) + /datum/export/large/supermatter cost = CARGO_CRATE_VALUE * 16 unit_name = "supermatter shard" @@ -91,6 +101,17 @@ unit_name = "grounding rod" export_types = list(/obj/machinery/power/energy_accumulator/grounding_rod) +/datum/export/large/tesla_gen + cost = CARGO_CRATE_VALUE * 16 + unit_name = "energy ball generator" + export_types = list(/obj/machinery/the_singularitygen/tesla) + +/datum/export/large/singulo_gen + cost = CARGO_CRATE_VALUE * 16 + unit_name = "gravitational singularity generator" + export_types = list(/obj/machinery/the_singularitygen) + include_subtypes = FALSE + /datum/export/large/iv cost = CARGO_CRATE_VALUE * 0.25 unit_name = "iv drip" diff --git a/code/modules/cargo/exports/tools.dm b/code/modules/cargo/exports/tools.dm index 94e9c2643653..f22e141fca43 100644 --- a/code/modules/cargo/exports/tools.dm +++ b/code/modules/cargo/exports/tools.dm @@ -136,6 +136,26 @@ unit_name = "rapid pipe dispenser" export_types = list(/obj/item/pipe_dispenser) +/datum/export/singulo //failsafe in case someone decides to ship a live singularity to CentCom without the corresponding bounty + cost = 1 + unit_name = "singularity" + export_types = list(/obj/singularity) + include_subtypes = FALSE + +/datum/export/singulo/total_printout(datum/export_report/ex, notes = TRUE) + . = ..() + if(. && notes) + . += " ERROR: Invalid object detected." + +/datum/export/singulo/tesla //see above + unit_name = "energy ball" + export_types = list(/obj/singularity/energy_ball) + +/datum/export/singulo/tesla/total_printout(datum/export_report/ex, notes = TRUE) + . = ..() + if(. && notes) + . += " ERROR: Unscheduled energy ball delivery detected." + //artisanal exports for the mom and pops /datum/export/soap cost = CARGO_CRATE_VALUE * 0.375 diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5400a48422c4..2b6e998ac778 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -277,5 +277,20 @@ power_gen = 15000 sheet_path = /obj/item/stack/sheet/mineral/uranium +/obj/machinery/power/port_gen/pacman/super/overheat() + explosion(src, devastation_range = 3, heavy_impact_range = 3, light_impact_range = 3, flash_range = -1) + +/obj/machinery/power/port_gen/pacman/mrs + name = "\improper M.R.S.P.A.C.M.A.N.-type portable generator" + base_icon = "portgen2" + icon_state = "portgen2_0" + circuit = /obj/item/circuitboard/machine/pacman/mrs + sheet_path = /obj/item/stack/sheet/mineral/diamond + power_gen = 40000 + time_per_sheet = 80 + +/obj/machinery/power/port_gen/pacman/mrs/overheat() + explosion(src.loc, 4, 4, 4, -1) + /obj/machinery/power/port_gen/pacman/pre_loaded sheets = 15 diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm new file mode 100644 index 000000000000..f5e3bbc1417b --- /dev/null +++ b/code/modules/power/singularity/generator.dm @@ -0,0 +1,35 @@ +/////SINGULARITY SPAWNER +/obj/machinery/the_singularitygen + name = "Gravitational Singularity Generator" + desc = "An odd device which produces a Gravitational Singularity when set up." + icon = 'icons/obj/singularity.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 diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm new file mode 100644 index 000000000000..6dcc0a6aae2a --- /dev/null +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -0,0 +1,63 @@ +/obj/effect/accelerated_particle + name = "Accelerated Particles" + desc = "Small things moving very fast." + icon = 'icons/obj/particle_accelerator.dmi' + icon_state = "particle" + anchored = TRUE + density = FALSE + var/movement_range = 20 + var/energy = 10 + var/speed = 1 + +/obj/effect/accelerated_particle/weak + movement_range = 15 + energy = 5 + +/obj/effect/accelerated_particle/strong + movement_range = 25 + energy = 15 + +/obj/effect/accelerated_particle/powerful + movement_range = 30 + energy = 50 + + +/obj/effect/accelerated_particle/New(loc) + ..() + + addtimer(CALLBACK(src, .proc/move), 1) + + +/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/structure/blob)) + var/obj/structure/blob/B = A + B.take_damage(energy*0.6) + movement_range = 0 + +/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.rad_act(energy*6) + +/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/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm new file mode 100644 index 000000000000..4518f4654307 --- /dev/null +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -0,0 +1,166 @@ +#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 = 'icons/obj/particle_accelerator.dmi' + icon_state = "none" + anchored = FALSE + density = TRUE + max_integrity = 500 + armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 80) + + var/obj/machinery/particle_accelerator/control_box/master = null + var/construction_state = PA_CONSTRUCTION_UNSECURED + var/reference = null + var/powered = 0 + var/strength = null + +/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/ComponentInitialize() + . = ..() + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ) + + +/obj/structure/particle_accelerator/set_anchored(anchorvalue) + . = ..() + if(isnull(.)) + return + construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED + update_state() + update_icon() + +/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("[user.name] secures the [name] to the floor.", \ + "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("[user.name] detaches the [name] from the floor.", \ + "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("[user.name] adds wires to the [name].", \ + "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("[user.name] removes some wires from the [name].", \ + "You remove some wires.") + construction_state = PA_CONSTRUCTION_UNWIRED + did_something = TRUE + else if(W.tool_behaviour == TOOL_SCREWDRIVER) + user.visible_message("[user.name] closes the [name]'s access panel.", \ + "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("[user.name] opens the [name]'s access panel.", \ + "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/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_SINGULO) + + +/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 = 'icons/obj/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 = 'icons/obj/particle_accelerator.dmi' + icon_state = "fuel_chamber" + reference = "fuel_chamber" diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm new file mode 100644 index 000000000000..dd2be56d282d --- /dev/null +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -0,0 +1,329 @@ +/obj/machinery/particle_accelerator/control_box + name = "Particle Accelerator Control Console" + desc = "This controls the density of the particles." + icon = 'icons/obj/particle_accelerator.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() + . = ..() + 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_boxp1" + 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() + +/obj/machinery/particle_accelerator/control_box/proc/add_strength(s) + if(assembled && (strength < strength_upper_limit)) + strength++ + strength_change() + + message_admins("PA Control Computer increased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]") + 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_SINGULO) + +/obj/machinery/particle_accelerator/control_box/proc/remove_strength(s) + if(assembled && (strength > 0)) + strength-- + strength_change() + + message_admins("PA Control Computer decreased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]") + 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_SINGULO) + +/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_SINGULO) + toggle_power() + update_icon() + 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_SINGULO) + 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("[user.name] secures the [name] to the floor.", \ + "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("[user.name] detaches the [name] from the floor.", \ + "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("[user.name] adds wires to the [name].", \ + "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("[user.name] removes some wires from the [name].", \ + "You remove some wires.") + construction_state = PA_CONSTRUCTION_UNWIRED + did_something = TRUE + else if(W.tool_behaviour == TOOL_SCREWDRIVER) + user.visible_message("[user.name] closes the [name]'s access panel.", \ + "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("[user.name] opens the [name]'s access panel.", \ + "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, "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/code/modules/power/singularity/particle_accelerator/particle_emitter.dm b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm new file mode 100644 index 000000000000..d754b7e62d31 --- /dev/null +++ b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm @@ -0,0 +1,43 @@ +/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 = 'icons/obj/particle_accelerator.dmi' + icon_state = "none" + 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) + if(1) + P = new/obj/effect/accelerated_particle(T) + if(2) + P = new/obj/effect/accelerated_particle/strong(T) + if(3) + P = new/obj/effect/accelerated_particle/powerful(T) + P.setDir(dir) + return 1 + return 0 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index de6a36e43c0c..dab0054c316e 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -7,49 +7,44 @@ anchored = TRUE density = TRUE move_resist = INFINITY - plane = MASSIVE_OBJ_PLANE - plane = ABOVE_LIGHTING_PLANE + layer = MASSIVE_OBJ_PLANE light_range = 6 - appearance_flags = LONG_GLIDE - - /// The singularity component itself. - /// A weak ref in case an admin removes the component to preserve the functionality. - var/datum/weakref/singularity_component + appearance_flags = 0 ///Current singularity size, from 1 to 6 var/current_size = 1 ///Current allowed size for the singulo var/allowed_size = 1 - ///How strong are we? - var/energy = 100 - ///Do we lose energy over time? - var/dissipate = TRUE - /// How long should it take for us to dissipate in seconds? - var/dissipate_delay = 20 - /// How much energy do we lose every dissipate_delay? - var/dissipate_strength = 1 - /// How long its been (in seconds) since the last dissipation - var/time_since_last_dissipiation = 0 - ///Prob for event each tick - var/event_chance = 10 - ///Can i move by myself? - var/move_self = TRUE - ///If the singularity has eaten a supermatter shard and can go to stage six - var/consumed_supermatter = FALSE - /// How long it's been since the singulo last acted, in seconds - var/time_since_act = 0 - - flags_1 = SUPERMATTER_IGNORES_1 + var/contained = 1 //Is it gonna move around? + var/energy = 100 //How strong are we? + var/dissipate = 1 //Do we lose energy over time? + var/dissipate_delay = 10 //How long does it take to dissipate in seconds? + var/dissipate_track = 0 //Tracks the time before dissipation starts + var/dissipate_strength = 1 //How much energy do we lose? + var/move_self = 1 //Do we move on our own? + var/grav_pull = 4 //How many tiles out do we pull? + var/consume_range = 0 //How many tiles out do we eat + var/event_chance = 10 //Prob for event each tick + var/target = null //its target. moves towards the target if it has one + var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing + var/last_warning + var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six + var/drifting_dir = 0 // Chosen direction to drift in resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF obj_flags = CAN_BE_HIT | DANGEROUS_POSSESSION /obj/singularity/Initialize(mapload, starting_energy = 50) + //In case Urist McShitler is feeling quirky for once. + admin_investigate_setup() + + src.energy = starting_energy . = ..() energy = starting_energy START_PROCESSING(SSsinguloprocess, src) SSpoints_of_interest.make_point_of_interest(src) + GLOB.poi_list |= src var/datum/component/singularity/new_component = AddComponent( /datum/component/singularity, \ @@ -77,10 +72,57 @@ ) + AddElement(/datum/element/bsa_blocker) + RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, .proc/bluespace_reaction) + /obj/singularity/Destroy() STOP_PROCESSING(SSsinguloprocess, src) + GLOB.poi_list.Remove(src) + GLOB.singularities.Remove(src) return ..() +/obj/singularity/Move(atom/newloc, direct) + var/turf/T = get_turf(src) + for(var/dir in GLOB.cardinals) + if(direct & dir) + T = get_step(T, dir) + if(!T) + break + // eat the stuff if we're going to move into it so it doesn't mess up our movement + for(var/atom/A in T.contents) + consume(A) + consume(T) + + if(current_size >= STAGE_FIVE || check_turfs_in(direct)) + last_failed_movement = 0//Reset this because we moved + return ..() + else + last_failed_movement = direct + return 0 + +/obj/singularity/attack_hand(mob/user) + consume(user) + return TRUE + +/obj/singularity/attack_paw(mob/user) + consume(user) + +/obj/singularity/attack_alien(mob/user) + consume(user) + +/obj/singularity/attack_animal(mob/user) + consume(user) + +/obj/singularity/attackby(obj/item/W, mob/user, params) + consume(user) + return 1 + +/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man! + return 0 + +/obj/singularity/blob_act(obj/structure/blob/B) + return + /obj/singularity/attack_tk(mob/user) if(!iscarbon(user)) return @@ -154,13 +196,53 @@ time_since_act = 0 if(current_size >= STAGE_TWO) if(prob(event_chance)) + +/obj/singularity/bullet_act(obj/projectile/P) + qdel(P) + return BULLET_ACT_HIT //Will there be an impact? Who knows. Will we see it? No. + + +/obj/singularity/Bump(atom/A) + consume(A) + if(QDELETED(A)) // don't keep moving into objects that weren't destroyed infinitely + step(src, drifting_dir) + return + + +/obj/singularity/Bumped(atom/movable/AM) + consume(AM) + + +/obj/singularity/process() + if(current_size >= STAGE_TWO) + move() + radiation_pulse(src, min(5000, (energy*4.5)+1000), RAD_DISTANCE_COEFFICIENT*0.5) + if(prob(event_chance))//Chance for it to run a special event TODO:Come up with one or two more that fit event() - dissipate(delta_time) + eat() + dissipate() check_energy() + return -/obj/singularity/proc/dissipate(delta_time) - if (!dissipate) +/obj/singularity/attack_ai() //to prevent ais from gibbing themselves when they click on one. + return + +/obj/singularity/proc/admin_investigate_setup() + var/turf/T = get_turf(src) + last_warning = world.time + var/count = locate(/obj/machinery/field/containment) in urange(30, src, 1) + if(!count) + message_admins("A singularity has been created without containment fields active at [ADMIN_VERBOSEJMP(T)].") + investigate_log("was created at [AREACOORD(T)]. [count?"":"No containment fields were active"]", INVESTIGATE_SINGULO) + +/obj/singularity/proc/dissipate() + if(!dissipate) return + if(dissipate_track >= dissipate_delay) + src.energy -= dissipate_strength + dissipate_track = 0 + else + dissipate_track++ time_since_last_dissipiation += delta_time @@ -174,13 +256,9 @@ if(force_size) temp_allowed_size = force_size - - if(temp_allowed_size >= STAGE_SIX && !consumed_supermatter) + if(temp_allowed_size >= STAGE_SIX && !consumedSupermatter) temp_allowed_size = STAGE_FIVE - var/new_grav_pull - var/new_consume_range - switch(temp_allowed_size) if(STAGE_ONE) current_size = STAGE_ONE @@ -188,10 +266,10 @@ icon_state = "singularity_s1" pixel_x = 0 pixel_y = 0 - new_grav_pull = 4 - new_consume_range = 0 + grav_pull = 4 + consume_range = 0 dissipate_delay = 10 - time_since_last_dissipiation = 0 + dissipate_track = 0 dissipate_strength = 1 if(STAGE_TWO) if(check_cardinals_range(1, TRUE)) @@ -200,10 +278,10 @@ icon_state = "singularity_s3" pixel_x = -32 pixel_y = -32 - new_grav_pull = 6 - new_consume_range = 1 + grav_pull = 6 + consume_range = 1 dissipate_delay = 5 - time_since_last_dissipiation = 0 + dissipate_track = 0 dissipate_strength = 5 if(STAGE_THREE) if(check_cardinals_range(2, TRUE)) @@ -212,10 +290,10 @@ icon_state = "singularity_s5" pixel_x = -64 pixel_y = -64 - new_grav_pull = 8 - new_consume_range = 2 + grav_pull = 8 + consume_range = 2 dissipate_delay = 4 - time_since_last_dissipiation = 0 + dissipate_track = 0 dissipate_strength = 20 if(STAGE_FOUR) if(check_cardinals_range(3, TRUE)) @@ -224,10 +302,10 @@ icon_state = "singularity_s7" pixel_x = -96 pixel_y = -96 - new_grav_pull = 10 - new_consume_range = 3 + grav_pull = 10 + consume_range = 3 dissipate_delay = 10 - time_since_last_dissipiation = 0 + dissipate_track = 0 dissipate_strength = 10 if(STAGE_FIVE)//this one also lacks a check for gens because it eats everything current_size = STAGE_FIVE @@ -235,26 +313,18 @@ icon_state = "singularity_s9" pixel_x = -128 pixel_y = -128 - new_grav_pull = 10 - new_consume_range = 4 - dissipate = FALSE //It cant go smaller due to e loss + grav_pull = 10 + consume_range = 4 + dissipate = 0 //It cant go smaller due to e loss if(STAGE_SIX) //This only happens if a stage 5 singulo consumes a supermatter shard. current_size = STAGE_SIX icon = 'icons/effects/352x352.dmi' icon_state = "singularity_s11" pixel_x = -160 pixel_y = -160 - new_grav_pull = 15 - new_consume_range = 5 - dissipate = FALSE - - var/datum/component/singularity/resolved_singularity = singularity_component.resolve() - if (!isnull(resolved_singularity)) - resolved_singularity.consume_range = new_consume_range - resolved_singularity.grav_pull = new_grav_pull - resolved_singularity.disregard_failed_movements = current_size >= STAGE_FIVE - resolved_singularity.roaming = move_self && current_size >= STAGE_TWO - resolved_singularity.singularity_size = current_size + grav_pull = 15 + consume_range = 5 + dissipate = 0 if(current_size == allowed_size) investigate_log("grew to size [current_size].", INVESTIGATE_ENGINE) @@ -262,13 +332,13 @@ else if(current_size < (--temp_allowed_size)) expand(temp_allowed_size) else - return FALSE + return 0 /obj/singularity/proc/check_energy() if(energy <= 0) investigate_log("collapsed.", INVESTIGATE_ENGINE) qdel(src) - return FALSE + return 0 switch(energy)//Some of these numbers might need to be changed up later -Mport if(1 to 199) allowed_size = STAGE_ONE @@ -279,22 +349,57 @@ if(1000 to 1999) allowed_size = STAGE_FOUR if(2000 to INFINITY) - if(energy >= 3000 && consumed_supermatter) + if(energy >= 3000 && consumedSupermatter) allowed_size = STAGE_SIX else allowed_size = STAGE_FIVE if(current_size != allowed_size) expand() - return TRUE + return 1 + +/obj/singularity/proc/eat() + for(var/tile in spiral_range_turfs(grav_pull, src)) + var/turf/T = tile + if(!T || !isturf(loc)) + continue + if(get_dist(T, src) > consume_range) + T.singularity_pull(src, current_size) + else + consume(T) + for(var/thing in T) + if(isturf(loc) && thing != src) + var/atom/movable/X = thing + if(get_dist(X, src) > consume_range) + X.singularity_pull(src, current_size) + else + consume(X) + CHECK_TICK + return + -/obj/singularity/proc/consume(atom/thing) - var/gain = thing.singularity_act(current_size, src) - energy += gain - if(istype(thing, /obj/machinery/power/supermatter_crystal) && !consumed_supermatter) +/obj/singularity/proc/consume(atom/A) + var/gain = A.singularity_act(current_size, src) + src.energy += gain + if(istype(A, /obj/machinery/power/supermatter_crystal) && !consumedSupermatter) desc = "[initial(desc)] It glows fiercely with inner fire." name = "supermatter-charged [initial(name)]" - consumed_supermatter = TRUE + consumedSupermatter = 1 set_light(10) + return + +/obj/singularity/proc/move(force_move = 0) + if(!move_self) + return 0 + + var/drifting_dir = pick(GLOB.alldirs - last_failed_movement) + + if(force_move) + drifting_dir = force_move + + if(target && prob(60)) + drifting_dir = get_dir(src,target) //moves to a singulo beacon, if there is one + + step(src, drifting_dir) /obj/singularity/proc/check_cardinals_range(steps, retry_with_move = FALSE) . = length(GLOB.cardinals) //Should be 4. @@ -305,11 +410,11 @@ if(step(src, i)) //Move in each direction. if(check_cardinals_range(steps, FALSE)) //New location passes, return true. return TRUE - return !. + . = !. /obj/singularity/proc/check_turfs_in(direction = 0, step = 0) if(!direction) - return FALSE + return 0 var/steps = 0 if(!step) switch(current_size) @@ -426,6 +531,7 @@ /obj/singularity/proc/emp_area() empulse(src, 8, 10) + return /obj/singularity/singularity_act() var/gain = (energy/2) @@ -454,3 +560,7 @@ /obj/singularity/deadchat_controlled/Initialize(mapload, starting_energy) . = ..() deadchat_plays(mode = DEMOCRACY_MODE) + +/obj/singularity/proc/bluespace_reaction() + investigate_log("has been shot by bluespace artillery and destroyed.", INVESTIGATE_SINGULO) + qdel(src) diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 34c6b551344d..30e5ba8675cc 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -10,6 +10,176 @@ #define BLOB (STRUCTURE + 1) #define STRUCTURE (1) +/obj/singularity/energy_ball + name = "energy ball" + desc = "An energy ball." + icon = 'icons/obj/tesla_engine/energy_ball.dmi' + icon_state = "energy_ball" + pixel_x = -32 + pixel_y = -32 + current_size = STAGE_TWO + move_self = 1 + grav_pull = 0 + contained = 0 + density = TRUE + energy = 0 + dissipate = 1 + dissipate_delay = 5 + dissipate_strength = 1 + var/list/orbiting_balls = list() + var/miniball = FALSE + var/produced_power + var/energy_to_raise = 32 + var/energy_to_lower = -20 + +/obj/singularity/energy_ball/Initialize(mapload, starting_energy = 50, is_miniball = FALSE) + miniball = is_miniball + . = ..() + if(!is_miniball) + set_light(10, 7, "#EEEEFF") + +/obj/singularity/energy_ball/ex_act(severity, target) + return + +/obj/singularity/energy_ball/consume(severity, target) + return + +/obj/singularity/energy_ball/Destroy() + if(orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/EB = orbiting.parent + EB.orbiting_balls -= src + + for(var/ball in orbiting_balls) + var/obj/singularity/energy_ball/EB = ball + QDEL_NULL(EB) + + . = ..() + +/obj/singularity/energy_ball/admin_investigate_setup() + if(miniball) + return //don't annnounce miniballs + ..() + + +/obj/singularity/energy_ball/process() + if(!orbiting) + handle_energy() + + move_the_basket_ball(4 + orbiting_balls.len * 1.5) + + playsound(src.loc, 'sound/magic/lightningbolt.ogg', 100, TRUE, extrarange = 30) + + pixel_x = 0 + pixel_y = 0 + + tesla_zap(src, 7, TESLA_DEFAULT_POWER) + + pixel_x = -32 + pixel_y = -32 + for (var/ball in orbiting_balls) + var/range = rand(1, clamp(orbiting_balls.len, 3, 7)) + tesla_zap(ball, range, TESLA_MINI_POWER/7*range) + else + energy = 0 // ensure we dont have miniballs of miniballs + +/obj/singularity/energy_ball/examine(mob/user) + . = ..() + if(orbiting_balls.len) + . += "There are [orbiting_balls.len] mini-balls orbiting it." + + +/obj/singularity/energy_ball/proc/move_the_basket_ball(move_amount) + //we face the last thing we zapped, so this lets us favor that direction a bit + var/move_bias = pick(GLOB.alldirs) + for(var/i in 0 to move_amount) + var/move_dir = pick(GLOB.alldirs + move_bias) //ensures large-ball teslas don't just sit around + if(target && prob(10)) + move_dir = get_dir(src,target) + var/turf/T = get_step(src, move_dir) + if(can_move(T)) + forceMove(T) + setDir(move_dir) + for(var/mob/living/carbon/C in loc) + dust_mobs(C) + + +/obj/singularity/energy_ball/proc/handle_energy() + if(energy >= energy_to_raise) + energy_to_lower = energy_to_raise - 20 + energy_to_raise = energy_to_raise * 1.25 + + playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, TRUE, extrarange = 30) + addtimer(CALLBACK(src, .proc/new_mini_ball), 100) + + else if(energy < energy_to_lower && orbiting_balls.len) + energy_to_raise = energy_to_raise / 1.25 + energy_to_lower = (energy_to_raise / 1.25) - 20 + + var/Orchiectomy_target = pick(orbiting_balls) + qdel(Orchiectomy_target) + + else if(orbiting_balls.len) + dissipate() //sing code has a much better system. + +/obj/singularity/energy_ball/proc/new_mini_ball() + if(!loc) + return + var/obj/singularity/energy_ball/EB = new(loc, 0, TRUE) + + EB.transform *= pick(0.3, 0.4, 0.5, 0.6, 0.7) + var/icon/I = icon(icon,icon_state,dir) + + var/orbitsize = (I.Width() + I.Height()) * pick(0.4, 0.5, 0.6, 0.7, 0.8) + orbitsize -= (orbitsize / world.icon_size) * (world.icon_size * 0.25) + + EB.orbit(src, orbitsize, pick(FALSE, TRUE), rand(10, 25), pick(3, 4, 5, 6, 36)) + + +/obj/singularity/energy_ball/Bump(atom/A) + dust_mobs(A) + +/obj/singularity/energy_ball/Bumped(atom/movable/AM) + dust_mobs(AM) + +/obj/singularity/energy_ball/attack_tk(mob/user) + if(iscarbon(user)) + var/mob/living/carbon/C = user + to_chat(C, "That was a shockingly dumb idea.") + var/obj/item/organ/brain/rip_u = locate(/obj/item/organ/brain) in C.internal_organs + C.ghostize(0) + qdel(rip_u) + C.death() + +/obj/singularity/energy_ball/orbit(obj/singularity/energy_ball/target) + if (istype(target)) + target.orbiting_balls += src + GLOB.poi_list -= src + target.dissipate_strength = target.orbiting_balls.len + . = ..() + +/obj/singularity/energy_ball/stop_orbit() + if (orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/orbitingball = orbiting.parent + orbitingball.orbiting_balls -= src + orbitingball.dissipate_strength = orbitingball.orbiting_balls.len + . = ..() + if (!QDELETED(src)) + qdel(src) + + +/obj/singularity/energy_ball/proc/dust_mobs(atom/A) + if(isliving(A)) + var/mob/living/L = A + if(L.incorporeal_move || L.status_flags & GODMODE) + return + if(!iscarbon(A)) + return + for(var/obj/machinery/power/grounding_rod/GR in orange(src, 2)) + if(GR.anchored) + return + var/mob/living/carbon/C = A + C.dust() + /// The Tesla engine /obj/energy_ball name = "energy ball" diff --git a/code/modules/power/tesla/generator.dm b/code/modules/power/tesla/generator.dm new file mode 100644 index 000000000000..a63e11b4914a --- /dev/null +++ b/code/modules/power/tesla/generator.dm @@ -0,0 +1,12 @@ +/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/tesla_engine/tesla_generator.dmi' + icon_state = "TheSingGen" + creation_type = /obj/singularity/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/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index f5a7099cfbea..a49c6e5965ca 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -21,6 +21,22 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING +/datum/design/board/circulator + name = "Machine Design (Circulator Board)" + desc = "The circuit board for a circulator." + id = "circulator" + build_path = /obj/item/circuitboard/machine/circulator + category = list ("Engineering Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/board/teg + name = "Machine Design (TEG Board)" + desc = "The circuit board for a TEG." + id = "teg" + build_path = /obj/item/circuitboard/machine/generator + category = list ("Engineering Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + /datum/design/board/announcement_system name = "Automated Announcement System Board" desc = "The circuit board for an automated announcement system." diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 89377a8e1d4e..3f4e99afd794 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -127,3 +127,16 @@ RND_CATEGORY_STOCK_PARTS + RND_SUBCATEGORY_STOCK_PARTS_TURBINE ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING +/datum/design/board/pacman/super + name = "Machine Design (SUPERPACMAN-type Generator Board)" + desc = "The circuit board that for a SUPERPACMAN-type portable generator." + id = "superpacman" + build_path = /obj/item/circuitboard/machine/pacman/super + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/board/pacman/mrs + name = "Machine Design (MRSPACMAN-type Generator Board)" + desc = "The circuit board that for a MRSPACMAN-type portable generator." + id = "mrspacman" + build_path = /obj/item/circuitboard/machine/pacman/mrs + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c33156361018..577c86a50a08 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -662,6 +662,10 @@ "turbine_compressor", "turbine_rotor", "turbine_stator", + "circulator", + "teg", + "superpacman", + "mrspacman", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) discount_experiments = list(/datum/experiment/scanning/points/machinery_pinpoint_scan/tier2_capacitors = 2500) diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index 8f87770b4d33..b5e1d125b73f 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -32,7 +32,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) return FALSE /obj/machinery/bsa - icon = 'icons/obj/machines/particle_accelerator.dmi' + icon = 'icons/obj/particle_accelerator.dmi' density = TRUE anchored = TRUE @@ -260,7 +260,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) name = "bluespace artillery control" use_power = NO_POWER_USE circuit = /obj/item/circuitboard/computer/bsa_control - icon = 'icons/obj/machines/particle_accelerator.dmi' + icon = 'icons/obj/particle_accelerator.dmi' icon_state = "control_boxp" icon_keyboard = null icon_screen = null diff --git a/icons/obj/engine/singularity.dmi b/icons/obj/engine/singularity.dmi index e231032f57688b0e522540787057d49154a79297..9d11f886accf9a36fb99c0e73576552d93d70328 100644 GIT binary patch literal 31396 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 literal 30146 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 Dq!emZ diff --git a/icons/obj/particle_accelerator.dmi b/icons/obj/particle_accelerator.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c601b8d1b6ad70c8f4fb9af52c55e42d8bef5ab1 GIT binary patch literal 106297 zcmZU)WmHvR*EM|3!9ye664G6Qbcb|zcXxLRQqn1nbcb;0k_HJ0LAnI#4yku@-_P^C zW4zxF7>sN0!MkyQKPhI_A~9_Q+}HE>SazdyE2CHMlYg?u{nWcKUlQ_W-iCm4A(zN4fKc8B z!&N(@;hu?z+HN+6txQi)BI?*Vjg|?#?i7pYc9#V|FWZ66uOLLMM*EN}< zU&p5y-MGfHW51SCcBj)3%$y{-+p7I+vfy=P&rxgrl3Ggh-{CLrwst?8igjGLUWNk> zNB-7}6t0hVhjHlYr6lSV)%8Z18rzoVuupNG4~CqtXra+~JzW zevcbGp{B_w2R|x2(Uv`S;?X;(7F|u=IPEm-EU?^{ysuYKIml?}lyQ*(FEX#-#Bdw3 zsJ^-NuNP$$LKwsQipvscBPI5+Qbozkti!rXSl4Ot@4M1=rRR*lnB!{HSL5zCKKJf7 zyt{%Y_qn^(JpQ+AqjXj_eJIDK_#Pp;~5LYy%)`r2>?jS*yI{e-y zPmNIX7bRuT%aem&4#UycGeV^td)n7Gr7)r7fV)&Ottunf+p+oj=H`h8CQQ}xqRU74 zV8R+%*8lkeM|89TF}D?%oJd1Ir__ewy~A>Lz(sXVvutn4=d4EH)AbMP3{lK>zcx2_ z*0KWggm*pdg`Ghh7Lhd{G@o9kr+F@O=js=asN@ttGsdW2@#RcCjcF8Fo6sUfWl$md z>fpV(&7h-&j`3TwkOcbg`?}HedDVXOW;2677I((d3)|ASOFdAxEO&lwuu|*21ru}Du*XvoJz<_OB2d{-+ zW}k-VrMZIdKzLwl_)}WB5SQB)&x&WHeB_>PFb{NHAUNhX<8N&?EyFhLdaiQ}*U9J3 zy4oS6#OlN)FjK~ZpLzLHlfxrvd#6)S?dNK`&=I6Y{6 zaDM4jh#wT92@;WEGzR9r5Z#$b@V)>`1SME_P*we3$Mwte`pZ`}ARdHufz^Ke5A$Pd zL-aNM0oa`jY(D66hG4xm9OU;KETBs8_>d~omCwItmCvt`s zbxlpp#54rh^H-)J)(#G1jU9;;>%Snb?x)|(NH)(bsggH&N>o8Q9dRW5uSL8le_DZf zyiYM!;~A7Sc9}tM_&wizDIvNEX^OPqu*BDUUeJHg=s-XDfSWDoM><^=`pNd+X-uOV zSU=78Nznqsd(mVJU#AE8F*gObjzj*mTm;2PtEiGHQ$K%(9v`zPv3ofxD?<;j zei=i2Kvi8&u+Q*WW~D?S|taH#5mzQ<3527c{Urz zWquVKjpeaYPs9UnLl-`_)8JymcDqpwY`lMkEf<=dKRu9&kOhl_1)gu#*Uoq4q8QVl zp-n<{c`-I%dW*}O8%iP#z|E-WRqD}#^V>H0`1tu%YSjy2un)F+M%@_Eg#O z;`2vzxhFNfJWh9<_d?ap&5C@hEQ!wi%g~}=9eQ1h0Xx~gcnEawOqqEK;aQwzlGYQ4E>ez-S1wBF2l#ZQ6;uYMmo$$XvXezBcpZ*;z zHmGWzpMC}GB@c9K26`s$d7ZwSJCt<`X}kJ?Rw946fD=pxMFx?Ebn$Fpwgd%5oY8QC z9DfBWl`qt*N{#4=9NTtmFdJ*8U_Sr*t<(rY-4XYcGsb0QB&2?RK%sjMKMCSS$zX19 z+&Wqo(*-Ye2L<7QRLfJo_DK#2{oDI$5wkEG27CeVFHDjaJRghdd1PL~2dTGWUM<; zl&S!598%JA1va+5CqcC(5DdNbz62#%e9(AxZg_vf-IwM5B@%%>L!@NQ9@2oz>FCG% z8!J0IJBN72p#TMkTlM_l5ds`X$`P=tkhm3*3wySsal{CYE} z_6h-xe{GU`-w%6m>$HlV9s=VI%9IT`a=UkS#3f!tSf*GYJ`|7U?@o@smJ1v!tX%Mt(CY9; zSqLA;{dMLE*bc5?7OucRa1>50ha)PESO_vmk=>A^-b~fS)KH5X@4JUitd$xflmWyu z;62hGCo>e~W3Zxa{mbHQt^!3O8&6?26Gq~&#WKuz70m=(5b_&IB9Z~6G(|YD?y(2_ z^~tfh@kBe;-Ski^&M`oiSSXCPj!1s7ae`3$vx zhHcTpE7ocBn1}wkIa$kN9`a39k(TcF<^`5&Z;2?~|JN7KDC3-^5&X}`oL zg^4tfb8iwv7&-nveWDjml_j!CxU3F}rL6yIP&Mmdom0kpGU>zjIBuWgUF%20){(nbe@}qQOLZqo|$Dd*b zFqC8o-X=ms7AcnD#gvHUB#w zt-!kcv6hW|n+kPD2@3coe)&HHkSyI#WC>YczMwJ^wtG;nRiJ`sV9D6XKj3zthRH55 z7=ssDbFqJ)#spD1mHqGw#@YY5@Mg|yYO$Vqe#01GxS?VFe#IcoAI^BfUwkaF}f@5Fu!D_lqy9zN)H2%1`}xuI1DWWk#^PshwM`|Eea7-16IW<{{grA2 ziT`OBR96ad%BOp^hm17?p5{SMjRrcKA#FUTQM1i$o4)Ilk}ug) z0T7LB8Dr{lh3`>^k$25MUqDnA8!8!A9>8s4x_Ww6+P(kotG~x7;IY9*Qw=)O5qHQR z%8`&F7@IV;Zd{vzk-tGM`C6&E0JzXWoq_ zbNQ3zm@aB~Axy?VsITJ`!ls4)v+Y1X)mdIn&)QrLWZ(<5Y7r%w%sA!hSghUWTgbY1 z(lza37a~4jo!`U7``;e#COs`?{`#7#rf5)ZOvh*g@A?$&G>@Jt*JHN0c?i(j(EjDrVlY(1%WzCuz5* z_;e$$x4HXz0*h#v3>u}HXVF+?Wvv+l3`6RCV|A6Z-&CV-4ZKo(IZ=ylI;N%v>bZRY z{*+CpCenYGiK>kDaPiz0$4`6?D-wxZRxJs@vH;!TCA^dwANWN#@SEhriN(RM*^eJ7 z)(O^j#4=A)wcE9k^`kBVp!)3(2@o#p5=-z+*ZM>yU!k-;+#tu5i&# z->mJ#ur(3H-h5Qud2~H!OW6RUL?fog0T&2r8f(<;DE=NRiUO~)@3@Ba@c3u^7VPNA zOLRv4Z4(6T8&Jfhu!`7&FZ$qiA|hv)CC;2Qjm;MK+J_;3Bn**XJwNE!Vbe==SX9&K zMv)10VF>>g{HT42XN|4GWYjetNxy{|qp`72zXhr>yZ92maCePCYSc>5-af&0!(`+8 zG;O1muc%Ix=Yz!zJM(mWTO8bq_6=ba`8Q6uRt<|0Qa0}`wLCN3)+5^MT73gip`h-M zr;#P%IfOxKv>QA zJd|}s^@ExD_FCzTXtPB67od}K1?T+2Vc_n>EQ5^FVJni+ahEmW5 z-rBBaa0(&4mxZQI{N_Vj(!853Q?35>9gJ&IVzQiFT*{QrK^Ci~v^we2lDbq^*r|{I zF8^A&_v6*CMhi)M**6mL058!2wbKcLcuA+h`ATuNqQPP9v9cm3SP* zrUU)dBogULeY^rI-Mrg19RFDll(N<~Hljg6-DiTyBRnPZ1-+RQ8?a1yn%b_c_l^@R zz#bcK({dBhLmhqcfij9kp`RWFCey3)4OaV2e(*=zR<^Vz*e@D!(M&sY8=i_fR+36L z>NtL|-gZ&o4WAIQF`uuW-_-PUNLQDV{1A(dD~!JR@aKXC=W2oRsXqLdG+~^C@mw4B zDm`|xdRyb&rx?(>v>`DSLyvZ&O+*FdE_U z#&&SQ7$v|`Uk0aS_1{M7_{gRFa@9^SrBv-%9_H~p^j?+aDZP-1qLf4L_F#xfL5x<> z?eZrCmf|>SKraTQZRa~@Y1-ncp|Z zd>(6aoA5x*ojEaK@rc)NE&}sc4S1 z{v@)-`^SHB;Y{OZjBIlze|lrj{%VoMe_V6Q$iRidcsV+Bik>c!N-8*mmEkR^^?l^% zGoeV(J)|nhy|ay-3CNk$^kX%aaZ!+KO2Nq~wb}PSGt+`c$t_~mbW^9-)|^_t18_{N zH&rxul8fJTy+pr^#UiGQZU~d1s0usinnk6)i9>r~B;WVvJ5ca-J3cY;!t%Zjfou>B zb?HUq(;Fd@&IsU6QAM~iQXyTkB&DKGrLu!)xb3G#CVg5I2Y&>zGHP?b360%Bf`S|V z+#}bqPBDy#)jDRMPYTn$!ZbDt)<}}1v_yl9rL(>hI_RCg_O?Ap#x)oG%EJJP*xB9D z3OwXlJ$?1H!PvmeoZbXMjXMnk@Ie#_12M;$Kv=PwMpkA_XrSN1auj{u zV>&baQur)ZmBe&;fy9$`Q1W4_lB)FQMR{fAJ9-1AqmS4CGBDHH5Y^b(H_G)P`uqM| zjst(v0}?8mSi)XD&xE4ltc*!qOeyUzg}?8cws z;wkVtC1nG*NRU?#h^HTsAT3SStpl99;{Su3iIW1+5xlLLIDI3Qr-$h7=_#gyvm{JG zh=#n4Rh&Vms=2?vUvz=>^U-ZoK|A)|f%d!O8gMFr2TLeW<{b#G-z}bFMceryJLnfc zxzO&UG*Ic(p>wuR?4$|$C#xViU7ZHR{7PY18GzT-9VGwHcfTVS;-)sRFbnVc4pi12 z4mY%7nbkA6dwI2bk~LJyc7|?tFU*B*^;@R%n zA$h16H)0_iBJnJUkB<+u9jX@(xC_bt5B0PuVX>B_j>j>NN&Yt(`;$c(+CWf9)8v%= z8r@5>1K)2`TtUdm#Z>^5_4|ZVZnXH&c8bwzf4+DRnEc#LkDZ@$1uH$Vhlj`QhFg$U zir>Y98>=OKNu_e^RbXATVw@a`a%+{W*z~@mlC9?ylF9n{-ve+ z!GfAUZ>L+7Zf0(4@_$Q2l<;K2pwZPDoKT~%8g*fu00;L&i;bTol&Hnz8qeUlCeG&68+ut>#Z(PuOc%rH4>sE2cH zWZEZRIo^sl+Zn;cglAntW;&4ru$ceFBGcf%h?Vrw(Uc|AM*QL5)kgsN`|5NMMXV^r zjw!-H<5iVGW5Wsps^wIGM*`3im(%sPAB1Q&;|jrP3(YHSP7D3t1GgJ3R_GFJ)Es{s z6j-CnDwGgUz4~~=GhnJQ*q;p`4@D0hF2`D z&Q#`5=WCY|RvJ8+Sq$H+t&QiowYw9V8x#`41+bR*8}c?ZcynhL3jY^zYx6KRb@Rjb8B1o3F^~b3Sr(5)84Xp}A;wGP+Inxo19Na+K}H zn0%V@Aduln#bE!b4+wK>;aI5#JnVva=i~HU738EjCEw5)K+U30z!7NF>6`jhtljsD zq2u`p0pw0y20Q^WM*Y_3zBHqK=dDn8F)FO^3QK*2_IptRj+IdF5pO$&F@nj^z|yC< zs%DD;x!0Ue-E3v+J0mH$hYOFFNb8GI(tpW3Ed-iGxIRDE;Igr@%XqeyN#Bi{U&2qT z1|XrK-E6J*ifaSkuJ3esc!dRudz~AR3f~4m0lOR&DsK}FXuitk5XU~q=VD2%`xt4~ z8ioUf#8wCb9zUsXR0ZLh+fIj+{YdZ-wD!WgavF#oDr{*4Y68jRzj(lf z0>Y|tO4)`ig6rhhuV3NN=k^{a{V3&P!=>EyooXGeBPCp8lt=5}KR9ZhogPV&>W{A32RYsf<_66EN^Ym2TdRysD1^~i5 ze%As3ih(|Nxq)xB3u$4p2ytcj{(2y3vYiXK8kAj%DwiU^CRKN*7Z;;^i?IL`Q`JN3 zE$X9#*1g*kANo-5^Vu=v-}Ldgd2r+LIZzI;3;D0si5&U+Noz+iN$c1-8QD~Vp3dhP z2dx;P38r`1I3n*o^P8Jr2i-FpWM=6JqSTKR$p#7ucV1;O5#RK|2I_Y7LekP^`r~s{ z&W&$WdRp*rOzL+oqS8=I$~}`zV0rQ4syJsN@JGl8dQmeN|LErC>Md-8B;m2iZP|CvZ{fQOR%o1qXs#qvZCFj@V7B%|jFPDp)r< z6N{DS#J$(Sf;E3T6Yr;0k0v0NT2l0*O2tVuqpxkH0g!9p8V*6fFX#?svX`iE9PKU|a7{&>IzbUj@`7=EddqSQ+Vyh<^^W zU%NwT5eP&>LyM`S5ptw6b+0L0V0}YR`Dsm12wV7fiHV-sAVE8S^II!0zhES@-Sg}; zuxxk~CFG2y7Aj4+ppE;rA42!ZdAeQs+%eGDfh?z^DsSI|cVcl|zEh6PYSi;Fbv9dn z>`N501W|<9fc@cr0?BTR4ekZX+H;MHRgzN8PqE>X<6|sczS~ssqKvaq zC5F^*1}f6`3+59Xm73KU-~3esxfHmTae|MNP`)(x%SIdq;$iC&#n!CRt8YH|*o5GmFWhdJ1QwJ@I@@C2x0-nGa4jU~v zCE{zf&JDV1!*6pAovD!euV24Y!W}goY4KlMO}NW5DB=iwqOXXM=%1A9g7P zOA!8^w-7QLzhY!u_z`T*VZ$bTa%=cTsjI|`L9~_pibIJIk5m&0Q4LJxV@_WXVk0(_ zS~&d8Sg6q=xeD0-!7jFKwUtF&x58cpjdx{0_B!qB@9V>Nig}SqpBHzv$%pfn?oRQ_ z95YISxw=8LH)`iUsfenkYet+=K>m%1@LjqIsOOWF5F7|Kz?rbeJvggpVJ?j30xk;u zQGEcH;gok%!6+2~bZo(+XmoIrQA8_qOm%nCh*%c;h?tySw zY2z5%+uD83nESH7|UAIzzPOsVC}!C3&2tF%=9%Jr&9Rp#*4aJh~O+^dt%7avO; zZQ$TwkZZ@l1Wo9gsi1AE0m>6|M*MB|3covj7YhPPTg9^i4Hb#6i3G?WgywRZT2ANj zb)_l#fFc1Dti)`D9j?8T6Y$cY|k;;sEY?&4+X`Q?8avD+|0m6c@e{ChXkK~8`Z);0SVb|BG zaVVWYy#)|treh0a>N=Wl(G;gRae?>~$BIG#TH^S|a&dbi3%$-1O3Qwjg%;a z!bBt~+T`C$BAr$9jKoW@Y;{2|Ac>P-fd~L^HgovDT7VZc@jaZ zz)9s;!2Eta7As3(IP){6vwyeyVoN8K^I_2C;DK6XE%GlxH(r_EF01HnqEND{ zVnC|DWCKx!gpr2ELVqY+iBUgj)y?w_j~{CMkD7k93~-v=Yc`mq;S1ntUw;Y7c|#h0*qm^RmG_4et|%Zqt}Ee4fFo|&Zm!Jg8le^0^-`A$usoBYo6U^- z^~OQu9yVN&Rb&F~5B2KnK_K(1jUIc_z??Ao`0 zYpG}rI6*}Mr2u$9N(+M6DFo>jaG4$>Z27|Tro+# z*8^u+D~7@^@XwnM`BkbK%3c>`N9V!~3{BrY+fxP``0~I1yz)7L^f_nLcqoV-8k_O^ zthHUS9~s9@oGP=w2|J!!?|f{p+`!ewq=QuajIatK&1%cOJ#+3}n(cac=BT`9EXOL~ z%)y3}ha#>$<4(G=^6x}cCx4zZXXpUGgfM#Q55m>jcTG?pz!q0oJMU{3c#$pz)%ZU7 zA82h3S~+V9)5<^BdYQo)FVCRlY35%H^YCe^w>~Y`7b2gyATt{~fxq5&wjZEQ=&R(@ z!9c@k@`VIUp833PJ8o+45o-aQGX24+THk*5I~oV!obhZofV=>{uWk24)43rScZIQ@4pz z@YW5(iT;>j9ZNb1WvHGODThCeSw~t>&|ts@-JXtHX$z6vPK+YiFL7nV)@q@)OEo4P zmq$=<{f|qR zyd$s4SNV*ND6W-~=t^+vZ2Dlmxf?)0NK;^(yLyHyl zWluF!gab+Kjsshx8-;iI^1|HZYwCih>&)LX0hH9#oi9J2G7;#B)RFO7rekidqHQ6` zC>&)CpaZ|Y`8-6sqmjjP~#5aRpo6 zCvChV^s+rw~c7zSw!%F4X8p%Sm(Uoji)?ik%pa@lL{{< zN9Y|M^O+%cHN%mZjn{PZIQa>z+k+Y5=}u^BouLi|o7K{AaJD1cyEr=}7H*>dLZqkd zos2R+^rI%sF(vOdq#(&nrKU$71xBkdTI&3{aNQD`%NyJ@-6s>NIdO9rJ#R%?>8F&W zaiitSRJOSyjA2%C=)Km0Wd&|+4N8oaN%p1|Htf;V(-TX}*jj5-EuZ%$P|!sO5K@UZ zhta1rY#{`CuUDP^gy9O!}axC1RxTA5}oVGP3iDKxG(XFOvCXZIx;*w;^QXA-SFWlCW zW5jdI4TMa~+Jj1v+7YX8$B!S4wM2h*mf|jG=HF=3c*bh7KztQP|4Cl$WySt7g-HYt zSPs&g>lFUeek=d@y}@hmQef$d9XJXmao*w$ywM@y!9G$NY?xcj=DH3*2=LL1) zz(12SW&k1!cgMt__tA8;w5>6kFu)LI+GQdLafgu_$Mx<%Nq4XLqvDaEY?}%o0ycS| zpou63Kugg^mkfE;pUQGUr%(4}1dr4M@*{(hd?BNlBQI%LZpa+h?A%;IdHKlg#lIEV z2!kqozh|{_s_Ww=HBtJds;4~y6+(fI!OW=NiFvUo?m}`I45~yDcVRv|W5)tt60{8% zYl|#72)8DY9nA(0QD)pzf@vziXKTz`k2;jeeV6<8nnH9k31i=vvYfV>VqY>EU^{t|{(f1sG| z5xU^Spukb4-&5#nEch8V#TK-s4DXj;#(VeWOcuaUcK z`bsxS!MV|O8p&QqF{Y4%P=ny)&|Fe=4%LxZIAmc!NT0Mj4W=;{E1J0Rk$i0Pz%sn< z61@Oo+4L&I(6n20Aq6{b{6XE)$tk{`8v5~>WJ= zlM|SJLh48vkZZE6bpja}i-%tq*-t&E=-U}+}W ziJ8TJInqLaI?_D@u(;*LIv%G3c*D__X*JA6ogVESx$O@(b|KM2S!af8^x}B&b+{s< zm@;^i(p39P)xGl})PcnWwDS0t`P7X!Grd}C&03r z#HQM1cYRYQ=f%~PKw_2obG+we@0#B76MEjCWN@QfO=OGD^byP=ova<1n{zM#DMrgK zDdQocZ!SjwQza;|iHS%fzaq1PQ&c35xT3pzZT(rcI4L*9`nuEXA{ug+39o&M?Lo8z z53k6(swI>grO|&VqNxC+q6b!`)0*6H-?z4W^i*FRjiNO$kM!%pJDtxG9-|a6(_(=9u^7-C(oU6ZbaHLP5+!oRxFIFnR38 z5SBV3mJ(g2&asFf+HYqC#>UJaG}Y*0R`y@#R)P~nlmojHIoqVcx;!9G=;{RpCe!Ao zt1fT$r*~>?vvOfhPA8m0gcNzFu!ZyTV~TKcyg6pY-x9MKnZl<%kE%5-H*3#5h*_ZR zWlhZ?WyA=ryZSOxOa4M#Rz72KqTzoE$M3r3w#wfmqF(z})tEeGFBLolqB_J_Zr*kf<#X{p|=`NIga07^sEo7)um!*;xqr;SAjymyRTv|>BNqwweL z!}<1iugwj_XvEKPW@O~_62Q&z^tv*>+1}1xYlf{s71Y8Vg?vpcM#*<#PMjt1*iow=`ff_9+oaM@M{H}J@MEILyTPx7hLpEW^)^p!DmM5I=cB1ns4+->nIq5XL%ck zkO;T*@be2yF!%8>73|55Gd}!s=XE0Ucy0edfddtPhBLrL6dCcullh8dG6(YduWyVI zTpIxB8rS=GTMB0Y*9Tx+yS7V9HHhvdu3n9Y(FR!F(`sfGU6kdmGv6KxH3QqI35K=7 z^933A=;tn-X#O%r&}4t1Hg;|BKyF?u<{^CsRyc(g>n&`;r)5#ZkY{Tdr0IdiH)0%5E48K>@{#AoDQ(&Q~{tglF;Nlt_(2g)RIX?yu>yrrNK&>cSK8 zsBrqv+qAoHcZzYV8H!}6x}oEbT&=0*HKLbQ9YXy46`1^Ymzlc`R0EYKF_O3Lm#>8G zHz7o}muB}9Mm;-ccGlL~AGyw4#4%$e3Teh-nD9wL{xP|VkM@V2nQuClacUos3tCmm zpbFY`--B@^@!An%S3aCLyr>BHP%Hhxqy`C&y{j1jw6pNA=U+7BUXwSM+a#d!bYVwx{}zJ!u*s$wr#a`agkN)$+V3W?fL( zl4UtFE%DUJ(3UmnR%z7Y-ek3(vhVn-3_C~jd4|n7e2S7AFcQrGkK1h4m1_uy&0oZ^ zm)ZLtcAbL4;%Wm(Kx}x$vW<)Vqxu+@x7n+JfOfuy2RRfO58DkkD<`%sOtrS2 z!mVvI+pVV&dN&EdYhU;TLzviVwl%;c{ui&rR=9ujaWrY8kTNpmt!iKJ1IVZObK=#6 z?B9e$lwo2a>2h+5JhJw`UW8EE;f95as$)3*rzQGb!^?Po5-H(`&ey+?Gw@yc-k&-+ zUNIdm*CsQa3y5l>=dlRwffOpwhZP2$ENVhhcp$A***!E{?_HgIKcqW)dhW-8WXzYFV|=Y7&%Hd#M7OXU1Cj2Q zENm+rYA65PON*7N30m|!hpk1gbJMz0A0Nm$eLskOdd$Mk+gRxmk7#}Toy6dOd*%cJ z8FlWWpI_J4F{C>M4Wv!Z=WL?rjA76VM;DT3%Kz5=>pf-uNh5!`5aV3(${j`H$2w4L zp$;583_DLiXtWb;wBoRDMKd%I7v78MO`mxxQ@~m%bg$q%!x{O>V^SQ124&+NvZIcb zk`}U}AUu(8K9@Z4Cd-&A2!z5A#&r;H8QS?M18KEK}51z&K08d*{7NUS@=^)-R&w3Wr&&Fc;d{gvD> z;AD{|p+@L_@i&l{Sq885;bHS{^`v>ZN}I-DWMsObtLt0ujgYUIsHt;+mSGsvBalhE z@_W76P(6?p$uYiScSt_B9eU_`$&s*AG(a|%H41yk>&*uCQ8PbW_>z$Gvp@!guF|DL zA&f`@?k54s4J_M7$zW((y!89({GCP*SOaRk%Ns|LZ2!QObI~#UxnzUct=XZ3rL%`& zHomTF5BH~QZf*6(p4+GS_D{?Qy<^5^JykWLoWrduNeiMHR9l~6o*MsYV_}dA|CocC z1{b$$I}11CG5JxWJ4rEq>+{;RxW*^U%-J8>+#O8Vf+46_?j$MS7b?2*-+cMj5<8lJ zW%)Mm(b3}V=)hwRR@};AU{4^ID~3g?STwy3$zT(N=AB)GI3O$mknq0s)>s+BtzO;W zP~F!jujY|=N>P1PbSxc+7K{RShI}{<^#coW(>3!Ij{xCQ$+{&g9y=q2VUHmC8$Eb3 zWqD(M;r&=in^^PZh6i^0(lM`46UN{}r=VxXAGgbXieql?61X%p-g%qL;7)wrKQ7^g z?Vcplr^AAA^@NsuqM5`2++1O&4NTo((B+@GOF*aDr8f{9ndx&^=-WWjRKdqsi*qr+ zXe3zrk9iVv#Q4D61MM5AH^x*Qh(OUBjY+-jOUPWozem>d-c@GXV$Vziy)*J`3-2d# z*JfuwrlsLg($X3$MkwHkac>c>5NqD$`^i2E1{@z9_4bHN;OaBQV}|^DH@$E~{ffM- zp)WM{KNe;eC0l7kQ5_hCd4)`>t4b+QQZw<8^qcyKSp%qkO8AE1zn`-Rb93U%mh-kg zWUm9EDh**m=B$xu8+jwHZvPcP(Uynptf8&?3%)NMG`ApXUqD#b1odQGTda1e+xDyH z-mNOuELboZn+#itzm`aQt9iG%z$L_Q$^o`ylyw&(!C6>_W zs*o3Z_r>vHu$G}1s9m(Rl4rQQ2``5mEVL$7!GMlSQN%~Cgihcijb;CoqUghe_g~3G zi&VBAzJ=wwDSVN;B*_G`8})fO^V$`_3W$|uhKoOff~gDxwiLDoUW5{!jqBM!$tO*d zoc!=cMs2jP90K#GbG_qbwy_ZH{o%>dO^)Ht;n;PtwV{#t&6W5pCtn(@o?>k%5GuUA zX<232YtDXje9XZtu=t`PnRxEv8e^a`GVotAA4i{>$`4+nRXtod2MbOK%HJ_bOh#*T zEr(k4-tgI&r?SrfGu{m?>`g?Y__O8Z%`^S(v=TX|CKD=%KucKo7>M9ZS7hZrQ(8n?*Ei(Emo3XlHPhUaAr`OtBB6~eHg-@wNAPsJ$3sT7Xu7I@U>TuQi& zl)VZhbWdY8l8HahE;@dtel4=!aDe zd`D8;(S~+Juj1Zo@EuQhw4o0qvFeo=wfq&13=AFSw3)+g^*_X61Hm5wwR1bD8jebCa_2o5^_#ZC(8gDcoPxli-)V~3qg_V-v;!?-25F3H>?dL~nDsa3vF=~XKZ+JO&`Re8QQ$>dwy8lDkj)e`j zF)Zg3uv0nKA`A->>#8tDLz%wEiosy2(5BkBxYwXlk}zpaYnW`=uLFFO3gKka&>T<# zWY3dAniK7twd_3P!(>jeA81)gV(~&7Sr{68S zW7sUwfYzhl;^=pW#4n&3A?^s_^>*TW-I2}O|F0>|rsuLPNi7Ab=cF(`e`DA8P?bH^ zM5fnNge!v{F*a9Yjonm|7?%_nnC2gkXyUYS z_|`RqYC9ALcDn(_k_q$d=cuJw6AW#Sp!8<7D0sx$hXW5IlS6t{-J9;4Z2f<_>3UJZ zkOOaSc5wPQO8CdTgL=7vS087dB-Uc6*O2Y~{QkWvTKe7ixy|(r6}n+YzGCjC z$Vv8B?B_sVo$;%I<6kp{R3r$SJWQ$@cp zzt3IwM4O)pfz$^X5QX>kBU|vOlJCsEeZfm~^gFAv`F#|*_i5iNLE`2~ljL3{Ya4TXCb1#poVT}E zHMa7oc?cNnaYs+vM8V6^YQiVgsgM?#nbcEmN*KNbxI;%YZJS)p#7E`>PTGU&Ct~~} zY|A<%s~8I~632!`LGOht_}GSE`PB9C_$>2w`aRkb(L3+;5J^Dxv9}Ph{3!fiYW?hK zDODx*q5o2C{9kd%65z6vW3T@OG|$A6oID$RhW@9?#)f`@hk}(|B>ZDKfk=ax_78|$ z`6I5Jkkg}l>Cop}KFMh~17W!wua$Yu?a&C6fiNwmy2t*4t*;9mQZSK6YcF^wfj0y3 zG|9c)XU;eTio|$jIZo(EV+l}tJ3w^ofZG#c^n?joKQx<1CLcKGr4P2xss%L4Yk_iF ze}LRVtcs{h81Pnv*z{E-Xdej9t9wfOuvCsQ76QU$2Q(1xZ~{f>J{JF$iC75~VvdK?=;~IfxM@F92AQ=>iUM6Fp{SEIe z(EfIT4W~}m@)=z8Z}`>QPb*J-Ns}e*COSV?nwwr4d8@t9`AfPOxK4B4g(USh;?Y6! zP;=}4D+95Wg`XTtB;1ZJ2GszX>!s;wlQ&C%djJ1bfRIDt1}fwo*zNB$jnzzAC8x?; zkg5Mefp_Lhfk=U1XL7`*Nb@%vkh)Y?T_JapMStSHMN<0oR{WV44)oT zP+E4AdmC$JfQBDBRY&~<%6;7AO&N>xk@ZD83ZOk;EQ_z;mqOOCu`Vbt zg!4sqtUDn8h{l+wUmTtQG$l}*&%!9mc2dcN7~#<0-$O9;8EW#kWA@8!DlkhxdmDnH zGill*2`iJPVscw&sWH=Twx|c1;~#E5Y*}~1kniL4CG_05UXzdwe3O>{N3^WhgA6pu zC2mNF=i4v<4)~4H4Oy@Qp>8^|NLBHtw|Pgeb^$90MIk)Jf>XD?l^NiK`KFam2=qAy znT+By_q9y_kMM$7`IUm2LYOdh*cy;FNM<0D^V88L%K%L?(#5P75F!vgx}9F*FVWf_~tK7XDhqwVy|B6QBt{+sK@Z4X9$Aa(Y=~ zV=h`(?%&H6Q74r$jYbN>!*=|6t`=DE3KhF?crZ4m6%`h9-y_U(=p%IypsSA5faAY0 z;(Ro$Rrig4aRU9Ih8Ov77FkaGWd>={80FzLe#rxIPDKCf6jZ|*bwE)7s4d=u$azpw z4FAx7@B7XGHem>+if5wcWK*ziQ^m=|8@FnaH_~na zPLlYyH@vIXC1?elvZCbwkJciutaUubr({cuOdlTfux)gy-vVe$P(f^$y%wMuup`7w zE8gZ1e+9yUO|ryUW(yA}iSjE5-R);i+lQj{ zc-hq6(bsx`fIVE3v_|IKvl4YkeMHG*e7ULz4h8Ewx-8~38KW71D&S=+<>#4RPJJxs zrAhzPrum_{wH)Mnm2fVZMitDY{EvV3ak{1cBgaZ(*#p4Pu1GY1m#vlYBWs5 zgOqS6?qmSX_w_1QsyxjLsD_G~-3JVPUdzD|NyKUauJcPv$)qp9sYetJ)I=6dniJ+9 zL`yn}&V@>PTargqKx6y^;v}8eQxzIsBtZYNUoQVmJ*s;~w55h$j)kpb}2KvIjgQ0ot}^?PDBwrwJR5>Tvc!YQi0OAZ_wE z@H9zEMhw9>CJ6;lj+ZqE05n2ayQiK&EGjZ%0Qo-#6TRr|Nb(tW&VFMWelF)O^W@8n z`g-+3vKu^Gr^6`NZvEiM+OHR)j#j4+9af@p zCe*eU{{pL!0RV)(E~l?s4c`t#E0vmR>=--lf|%WtBEr2xpMCa(F8ox+b8+VMX!IiT zq&1j9$5S$9B_*yCOD@KK;?f#|dg^*(;0C%OI`*dM#i?#_!i6m)2yw@^z*zp+d&7O? z=tsIOdkIE#Lzs%u)C;mAKmL5N?Te-af>3i4PyrqR>L4-XLn;*eksP(nN1=ud=9*%admY;xSG( z7CFNMhHv+8rYE6^KYP7@W5!pU$yD@?mRDAcYdZirnd;Kz;%gXg2hOFrd$Z!VPq%Jd zG)`fG*hJj8ahq4Y%#R;m@?p=vzrJI`2LPY4mlN~sIk^JX+DGn<&kE}NU4;_?T^NJ; zxZeJ zpKs-Fv%r6dCp~~JG>-!$EESg5I9(uSEcz23z(T6P2hXpP-WP+A#U673$wx@|zv)w< z&92#2*iWgkb7{ErCPIBsNqNegW!5~`q0_u7I`dLrs z51;qCvtGN${pm#`xBdjLUy7Nr^KE`M*3Gc}h>-zmVi-O?J1VvV$ma*ubZa>)c{rCR z3@pdsV1mcsfBJN_M?TM1BE*HNK6vpNT?7uLO|NL1`tg7BkH3GNFZsTF;~Z|xt=_qh zHx}g;bL&}pj?@31IF8O-=2##EbwZbceDOzNp}e5Ds>OtiS%#{71eEz8s+L5CtQ1Gc zQvSig19#r@Xb*=crooR};D5_vMT6IYM^?7!wvoAUlKCbN^u{$JAG3X{7X{j`SWkBq zGW@_!-Pes+Sc-6l=e!YiH}-RVYy)ZpR~q!PE9Tp3K@dxRhHq0$zW?`Z)U8&vsuVN(S2&G!MPI_yOk6shl8yt$n)fMiO$ zs8;GgfuLs~NU&1}{ukk)RS0y}@4*mwmqKH0zy9kPlNt z18-1WlCbR$4nGZs4n}JI#Q&&v?+Nt(wqA}Ls}DCqURxQZ(N_lz{{D&z#_=`7Xg8Ax z2b}g5h@!?Y!2b*_DE8k5uN{WcC`$WPmE((Zq6-a#FrZ4jyUIBkE|}iZdje8cS7Id+ zj(L*K<1IMv!}kZGhdRMFfRXS{_jsRp10)8pWABMp0f4sH0Df_e1E_`q>AJ^FE};pWgoTr zK@!8DVZKd`t@T5QkS~XH#e#ksEQil?wKg9+`F~1=|4u9?_3=Y+exOa3gid+To>nsS zhk@EiJO&1J|E3#sa|2QXL8}jfl}#YACc%TO8+-@}=kiKjGbaaqfj5>#0fb3NM7yCOQ_38P+SU#ZG<}Cs+wEFCCb10CatkS%C>C(^w9#43$n{U}MzOTMl z4Y9nLA7i$JI)+lfwl&d3rRVc|A)q>wHDlP?r!Mm-3qH82CL`_|)>`Y?43sgKC_qlDe;$U7k$! zIl!)_R^g#Kya8cF)PEuVSTz3~@mKfX{}{I=x-f|1uJoi5ZUk#4z-G25M|)%2GTz zjqx|2HqfgXtkkW#F zc#+Bv^@11vYocMz>5*Uv{~-0@WX9e{kN}n|EE2d{KifNCU-Tulqr}={wY{xvI?A!U z6Ad+#bd6~@WeVFIUB2i0Whca)RMY0F?;C`oE~ALFjWc4fo?9|;tNBk+l zS=+2zs)LO0p#UvOuX5lJZ+E4igUYPBgAcY8wNWnHG=$eB&M1wyf?OU=eO;AK|9g3rY#5OT(I~vC(FF# z`>rj7i=QhZVPdxaoIeIWs&RBL)5RXmx0;Z;wDScGs512f^~oPTHcg+r=?cNDB6j}5 zMph|WXqqs~&7-GFqbJ8reT2t{-{aqbQ*=pS?I4m$&u39njzlBjq2b^ovyVfUhI(fh zbifW951?!)hq4$~_qHEGH`QcdlxxM@^L_5lhAEo|2sPj5w}PTB$`K|es$h|ydtf@( zmXULjUH|;FY|d}gs{75SJpjI6;VWMNn&Y$K*dV8?@=0WEG95+j6fSrJ4*mxReW zBKR+_$y_OZU;D9=BWO~6pkWK)Z$xzY=uc=?wf~7DMV0C4dFi_;o{_ip=nMe3%4DTz zqC5Tgqzz2IG;`{AEfl@|wVn)WO-<~5EUd7mKCL#aGdR{@GqS}%=bfJYo zgIDe_Kv_-P0`nua>%Q&l?OBahU~HspdQ)lS|F|h|t@Ad~r14WL!ZeTdvu?!vrC*ag z$XF|`20l0IhUedy{Ac9n(U*696p_XUy_(lNK>sRQEBx^zMvNC0GIKiw$j)s_8#8h> zpjS>K;!!L}nko=jRo&u;cfsHd{eQvpDev%nUAKaOSnfDrw+09%oV-qs_CL+UUXk~J z<^+Z=qcyZ4phnR5*`k-8u?FWX0f(y{4jc-?ckV(izKpPjhKBSSTYA(6b^YVk$U2}? zhkpO3cXce(OZ~f=hCwCRNP+9q?d>hVKHbXxN3(8IQxz}v=LAA;WA7PwA4TQmBD|}a zb6~%bnbW0(mD#!lX0=Z4a8#($Qx7!e1q9EW%*7G*eO@W0PRB~O5-43WOtb(3Z{EcR zDBwWXZ^EDlg!=D8m;pfOfgkbJ)>c+1us9N_o}aINosY0&;&NoA}9VnsN8vw$`T?3Rk z7;pd!dmx7J3!vs=#chioFi>`%!?FE?16g#eCxS&|ZNNj6p&dS8vc~|gvQ`&<@c2oZ zSi;z5i6g3!L}yA4q^|;k1Gto%J#0C+t>U)4nfUwrY$v8$K1GO$;M{2)jfDUqeX_{l zaf|x%yU=Nim|sw&hYZvl9A6go%%ASS42W6st4n_jncA;!4^TbE_R8S_Q%0HLaX>VU z5~;lKirRsZ+rW{RHHf|s%FBlp_A#LO(mgykO|Qfe7#+(SCB}g;@vyX(Tiyf}X+d%2 z)8uDHP@~W;ny6T4&%g|u1C@@h&TT#os2=jV8lSFbO>3TKiy5--rx4B*;zTnAD@05n zs8`7T5#$&B#4w)_3Yghm7)$54sG(X0#IOVFO+(7~lbX5t)DwV;Q<78i|E0%An(Atr z`5lMDiXMd(koX7rpX~&EQsvm8qwBziGM}q@OPK44>6GAJdU?E9Vf92E_K1S2rh%mc z<`79Df)X)FYz?3<^zdWA?D2ZcTlnqu|3w1G>=3x|CBy0!Dnzie99axMUhc|7a_<`x+B=`ec1pga@%_ zrWt`Z@r3n9xlqf2C@yg4Q3Wg@OVXGtVVGb= z7|_|se4ldk4~6tF$3K%p#QjTJV>7QH)qlL>G5;v14c2x_1{fM79(B{1u$sA9x8$)d z-;(y(*nX=zjBP#dT)6qd3q}?DZaVn!D-ips5nU8JGcga|K(!R&DX9X+PGyeX4Blvs zt-0ysm>Kg6-0VvrdGoIAa~|>8^9<{{BslVl=i09_1otN+LH|?o1Q~j>2dkAKy55er zq_4f!EhOLCb6L|NDRq@(UF2gGiA8J%fb_F}zc@Du1gf6=DEQWs<{43a84Pn^G}!NE z=vfg_J42GmaJ!!=b9xG$*^7_AK0=skgZ|RIqwz6WII=8s2=tqPWJ1m-oV(ls415z) zPbD`)nn}K8IcU2CETF+{f(>)1Dp8iH2AF73ufRL}js$-A=*AQXuz|$2Qj-xCB=FAU z?97iXbWCxQFxhDC+p+=4)4PpYmm_W>Yky!J2&#@?6;5Y~NjGGPpCamZ7qavf)@~ev zdYZTzGVSj{WR2ON+Qx(7y!z)ARkCeFO)w+hr=R(tF&UhkhadMqHr&@O5#)0rh-E15 zZjxV_`LuWY?9IA!2}n>zOrP}Pjf>iSe&`FiES<@9KLI(&J;vW)r-cI^kpJ38O7Xw+Zf0Mj&(oTD*!1(Xr&bk$=Ukg{PDbIr ziMHCf15i16sZa&V57=$0jpWBF3_*vMt21cZa^eg{!y49T?PCZ#dXS#<6RWK*9ftwk zxR))p>M<);70dQ-QW&xklv1xrN5`HXoM^gsD%)dE+TqXi;GUWLeCRWZqT`*FQzqrg zpXleDqL7Y4z#gM@l_ht=jN<$aUz(BB3oXwL5Y^wU4ZKf<@!%)J-+2__i3>@zed21o zaw<%)T=bYXn5JV*aFO;MCr0xp@2cO=YeWv15aN4C*&{f^8Oc$1kK)qIckjYi9#;eq zg|)krD9yF!;rsS!eeBODXtu%1RFpg!r(d4^k#;i5954no!t@QbtCY-qhjSB?FCM&z zM!v@x4bj1#O(p91AMF2oYf5Hb%~gl(XpKriB~!aK>n@C$nOx@?I<1S<14z1S17JLm zdZ?6L?qETW#v))>O7PR_D#ZflxYURVP}o3bO@HbY9Zwk&0Tv-ZS9#xQlwto9_Ylg- z-I4$107raOL{BL4UKWi82dWc@1zDb{5ipOOI~6Gf49x^DXjDd|SGq0gAV;JAd2+QA z&%^=NZdhQ10)HUi{)sCH;-af34DQRHjzUu>@0RA`>ZS7HXP8D z7CXL{*4B>ND!9hdP;to-CcjnAc>H4yPEO+C{oa+&fZvh^tF_`DfPwx`f&d9x_4sU@ z1VzvsIlb?D$kIQs>v_c62IE_!O5!@uIC;`5$6W+66nLq{OH1Q>B3>l)ZH-R-ss)Gv z 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⪼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
B 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index a3de34d3c63e..6e8e50a4fe45 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1422,6 +1422,7 @@ #include "code\datums\wires\microwave.dm" #include "code\datums\wires\mod.dm" #include "code\datums\wires\mulebot.dm" +#include "code\datums\wires\particle_accelerator.dm" #include "code\datums\wires\r_n_d.dm" #include "code\datums\wires\radio.dm" #include "code\datums\wires\robot.dm" @@ -4322,8 +4323,13 @@ #include "code\modules\power\singularity\containment_field.dm" #include "code\modules\power\singularity\emitter.dm" #include "code\modules\power\singularity\field_generator.dm" +#include "code\modules\power\singularity\generator.dm" #include "code\modules\power\singularity\narsie.dm" #include "code\modules\power\singularity\singularity.dm" +#include "code\modules\power\singularity\particle_accelerator\particle.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" #include "code\modules\power\supermatter\supermatter.dm" #include "code\modules\power\supermatter\supermatter_extra_effects.dm" #include "code\modules\power\supermatter\supermatter_gas.dm" @@ -4336,6 +4342,7 @@ #include "code\modules\power\supermatter\supermatter_delamination\delamination_effects.dm" #include "code\modules\power\tesla\coil.dm" #include "code\modules\power\tesla\energy_ball.dm" +#include "code\modules\power\tesla\generator.dm" #include "code\modules\power\turbine\turbine.dm" #include "code\modules\power\turbine\turbine_computer.dm" #include "code\modules\power\turbine\turbine_parts.dm" diff --git a/tgui/packages/tgui/interfaces/ParticleAccelerator.js b/tgui/packages/tgui/interfaces/ParticleAccelerator.js new file mode 100644 index 000000000000..04f8ba48104e --- /dev/null +++ b/tgui/packages/tgui/interfaces/ParticleAccelerator.js @@ -0,0 +1,64 @@ +import { Fragment } from 'inferno'; +import { useBackend } from '../backend'; +import { Box, Button, LabeledList, Section } from '../components'; +import { Window } from '../layouts'; + +export const ParticleAccelerator = (props, context) => { + const { act, data } = useBackend(context); + const { + assembled, + power, + strength, + } = data; + return ( + + +

+ + act('scan')} /> + )}> + + {assembled + ? "Ready - All parts in place" + : "Unable to detect all parts"} + + + +
+
+ + +
+ + + ); +}; \ No newline at end of file