Integrated Circuit Overhaul 2.0 (#22647)

Complete overhaul of Integrated Circuits Final Edition!

- Adds phoron cost to circuits (not assemblies).
- Printer searching capability.
- Changed names of assemblies to better match their description.
- Adds cloning and auto appending JSON for large builds.
- Adds database, debug, advanced math circuits.
- Reworks the list circuits to finally accept anything other than NUM.
- Adds plenty of list circuits to allow functional building and clearing
of lists.
- Reworks Complexity/Space to allow a bit better flexibility in creation
of devices.
- Adds a "Headroom" concept where space/complexity can go beyond the
maximum to a very slight degree. Concretely, unused space gives `2`
extra complexity per unused component slot, capped at `15%` of
`max_complexity`. Unused complexity gives `1` extra component slot per
`6` unused complexity, capped at `15%` of `max_components`.
- Groups math and logic circuits and adds subgroups.
- Doesn't mess with the circuit tool kit.
- Adds a xenoarch drill assembly with a nice sprite. Thank you
@EnchantedCrocolisk for the sprite!
- Changes activation limit time to 1 second from 2 seconds, adds a 1
second timer that is unique to the INTEGRATED CIRCUIT PRINTER with the
advanced design disk.
- Ports several Baystation integrated-circuit manipulation components,
primarily from
Baystation12/Baystation12https://github.com/Baystation12/Baystation12/pull/22458,
with anchoring bolts and hatch lock sourced from
Baystation12/Baystation12https://github.com/Baystation12/Baystation12/pull/25052.
- Changes the electronic ear piece into a workable radio headset with
working encryption keys capability and unique ways the Microphone and
TTS interacts with it.
- Removed the ability for all the electronic wearables to spawn with a
basic cell.
- Combines https://github.com/Aurorastation/Aurora.3/pull/22466,
https://github.com/Aurorastation/Aurora.3/pull/22456,
https://github.com/Aurorastation/Aurora.3/pull/22455,
https://github.com/Aurorastation/Aurora.3/pull/22446 that are now
closed.
This commit is contained in:
mineymonkey
2026-07-26 19:52:31 +00:00
committed by GitHub
parent e7b3da61c6
commit 6c6f596d89
52 changed files with 10433 additions and 842 deletions
+25 -3
View File
@@ -17,7 +17,6 @@
name = "impassable substrate"
color = "#222222"
/// This is a global list so we can share the same list with all mineral turfs; it's the same for all of them anyways.
GLOBAL_LIST_INIT(mineral_can_smooth_with, list(
/turf/simulated/mineral,
/turf/simulated/wall,
@@ -395,6 +394,31 @@ GLOBAL_LIST_INIT(mineral_can_smooth_with, list(
new /obj/structure/sculpting_block(src)
GetDrilled(1)
/turf/simulated/mineral/proc/ic_precision_excavate(var/amount)
if(!finds?.len)
return "No xenoarch find in target rock."
var/datum/find/F = finds[1]
if(!F)
return "Invalid xenoarch find."
if(amount <= 0)
return "Invalid excavation amount."
if(excavation_level + amount > F.excavation_required)
return "Unsafe: excavation would strike past the find."
if(excavation_level + amount > F.excavation_required - F.clearance_range)
if(round(excavation_level + amount) == F.excavation_required)
excavation_level += amount
excavate_find(100, F)
return "Perfect extraction complete."
return "Unsafe: excavation would breach clearance zone."
excavation_level += amount
return "Excavation advanced."
/turf/simulated/mineral/proc/get_geodata()
if(!geologic_data)
geologic_data = new /datum/geosample(src)
@@ -742,8 +766,6 @@ GLOBAL_LIST_INIT(mineral_can_smooth_with, list(
roof_type = null
turf_flags = TURF_FLAG_BACKGROUND
/// Same as the other, this is a global so we don't have a lot of pointless lists floating around.
/// Basalt is explicitly omitted so ash will spill onto basalt turfs.
GLOBAL_LIST_INIT(asteroid_floor_smooth, list(
/turf/simulated/floor/exoplanet/asteroid/ash,
/turf/simulated/mineral,