Wed, 27 Aug 2025 10:26:12 +0300
Lots of stuff
19 | 1 | require("aqs_util") |
2 | ||
3 | data.raw.recipe["refinery"].ingredients = { | |
4 | item("steel-plate", 10), | |
5 | item("low-density-structure", 5), | |
6 | item("processing-unit", 5), | |
7 | fluid("fluorine", 1000), | |
8 | item("promethium-asteroid-chunk", 10), | |
9 | } | |
10 | ||
11 | local function rename(arr, a, b) | |
12 | arr[b] = arr[a] | |
13 | arr[a] = nil | |
14 | arr[b].name = b | |
15 | end | |
16 | ||
17 | --rename(data.raw["recipe"], "promethium-chunk-submerging", "promethium-emulsion") | |
18 | data.raw["recipe"]["promethium-chunk-submerging"].ingredients = { | |
19 | item("promethium-asteroid-chunk", 1), | |
20 | fluid("ammonia", 300), | |
21 | fluid("fluorine", 300), | |
22 | } | |
23 | data.raw["recipe"]["promethium-chunk-submerging"].icon = "__aquilo-start__/graphics/icons/promethium-chunk-submerging.png" | |
24 | data.raw["fluid"]["promethium-emulsion"].icon = "__aquilo-start__/graphics/icons/promethium-emulsion.png" | |
25 | data.raw["fluid"]["promethium-emulsion"].base_color = {r=0.44, g=0.09, b=0.14} | |
26 | data.raw["fluid"]["promethium-emulsion"].flow_color = {r=0.84, g=0.24, b=0.49} | |
27 | data.raw["fluid"]["promethium-emulsion"].visualization_color = {r=0.84, g=0.24, b=0.49} | |
28 | data.raw["recipe"]["promethium-chunk-melting"].hidden = true | |
29 | ||
30 | data.raw.recipe["cryogenic-plant"].ingredients = { | |
31 | item("lithium-plate", 20), | |
32 | item("processing-unit", 20), | |
33 | item("heat-conduit", 50), | |
34 | item("refined-concrete", 40) | |
35 | } | |
36 | ||
37 | data.raw["technology"]["cryogenic-plant"].unit = blue_science{count = 200, time = 30} | |
38 | data.raw["technology"]["cryogenic-plant"].research_trigger = nil | |
39 | data.raw["technology"]["cryogenic-plant"].prerequisites = {"lithium-processing-2", "concrete", "processing-unit"} | |
40 | ||
41 | data.raw.furnace["refinery"].effect_receiver.base_effect.quality = 4 -- 40% | |
42 | data.raw.technology["refinery"].unit = cryo_science{count = 500, time = 30} | |
43 | data.raw.technology["refinery"].prerequisites = { | |
44 | "processing-unit", | |
45 | "low-density-structure", | |
46 | "cryogenic-science-pack", | |
47 | } | |
48 | ||
49 | data.raw["recipe"]["lithium"].ingredients = { | |
50 | fluid("lithium-brine", 10), | |
51 | fluid("ammonia", 10), | |
52 | } | |
53 | data.raw.recipe["lithium"].results[1].amount = 1 | |
54 | data.raw["technology"]["flare-stack-fluid-venting-tech"].unit = red_science{count = 20, time = 30,} | |
55 | data.raw.tile["ice-platform"].mined_sound = table.deepcopy(data.raw["simple-entity"]["lithium-iceberg-huge"].mined_sound) | |
56 | ||
57 | remove_recipe_effect(data.raw["technology"]["lithium-processing"], "lithium") | |
58 | remove_recipe_effect(data.raw["technology"]["cryogenic-plant"], "fluoroketone") | |
59 | remove_recipe_effect(data.raw["technology"]["cryogenic-plant"], "fluoroketone-cooling") | |
60 | ||
61 | data.raw["technology"]["cryogenic-science-pack"].prerequisites = {"lithium-processing-2", "fluorine-processing"} | |
62 | data.raw["technology"]["foundation"].prerequisites = {"cryogenic-science-pack", "metallurgic-science-pack", "agricultural-science-pack", "electromagnetic-science-pack"} | |
63 | ||
64 | data.raw["technology"]["landfill"].unit = nil | |
65 | data.raw["technology"]["landfill"].research_trigger = { | |
66 | type = "mine-entity", | |
67 | entity = "stone", | |
68 | } | |
69 | data.raw["technology"]["landfill"].prerequisites = {"space-platform-thruster"} | |
70 | data.raw["technology"]["planet-discovery-gleba"].prerequisites = {"space-platform-thruster"} | |
71 | data.raw["technology"]["agriculture"].prerequisites = {"planet-discovery-gleba", "landfill"} | |
72 | ||
73 | data.raw["technology"]["quantum-processor"].prerequisites = { | |
74 | "cryogenic-science-pack", | |
75 | "metallurgic-science-pack", | |
76 | "agricultural-science-pack", | |
77 | "nuclear-science-pack", | |
78 | "electromagnetic-science-pack"} | |
79 | data.raw["technology"]["foundation"].prerequisites = {"rail-support-foundations", "agricultural-science-pack", "cryogenic-science-pack", "nuclear-science-pack", "electromagnetic-science-pack"} | |
80 | ||
81 | if data.raw["technology"]["freezing"] | |
82 | then | |
83 | data.raw["technology"]["freezing"].unit = cryo_science{count = 100, time = 30} | |
84 | data.raw["technology"]["freezing"].prerequisites = {"cryogenic-science-pack"} | |
85 | end | |
86 | ||
87 | if data.raw["technology"]["spoilables-processing"] | |
88 | then | |
89 | data.raw["technology"]["spoilables-processing"].unit = cryo_science{count = 250, time = 30} | |
90 | data.raw["technology"]["spoilables-processing"].prerequisites = {"planet-discovery-gleba", "freezing"} | |
91 | end | |
92 | ||
93 | local exclude_from_cryo = { | |
94 | ["nuclear-fuel-reprocessing"] = 1, | |
95 | ["elevated-rail"] = 1, | |
96 | } | |
97 | ||
98 | -- Replace production science pack with cryo science | |
99 | for technology_name, technology in pairs(data.raw["technology"]) | |
100 | do | |
101 | if technology.unit | |
102 | then | |
103 | local has_production = is_in_unit(technology, "production-science-pack") | |
104 | local has_cryo = is_in_unit(technology, "cryogenic-science-pack") | |
105 | if has_production and (has_cryo or exclude_from_cryo[technology.name]) | |
106 | then | |
107 | delete_from_unit(technology, "production-science-pack") | |
108 | else | |
109 | replace_in_unit(technology, "production-science-pack", "cryogenic-science-pack") | |
110 | end | |
111 | end | |
112 | end | |
113 | ||
114 | table.insert(data.raw["technology"]["elevated-rail"].prerequisites, "chemical-science-pack") | |
115 | table.insert(data.raw["technology"]["planet-discovery-fulgora"].prerequisites, "elevated-rail") | |
116 | data.raw["technology"]["automated_bridges"].hidden = true | |
117 | data.raw["tool"]["cryogenic-science-pack"].order = "e[cryogenic-science-pack]" | |
118 | ||
119 | for _, lab in pairs(data.raw["lab"]) | |
120 | do | |
121 | local new_inputs = {} | |
122 | for _, input in pairs(lab.inputs) | |
123 | do | |
124 | if input ~= "production-science-pack" | |
125 | then | |
126 | table.insert(new_inputs, input) | |
127 | end | |
128 | end | |
129 | lab.inputs = new_inputs | |
130 | end | |
131 | ||
132 | data.raw["tool"]["production-science-pack"].hidden = true | |
133 | data.raw["technology"]["production-science-pack"].hidden = true | |
134 | ||
135 | for _, recipe in pairs(data.raw["recipe"]) | |
136 | do | |
137 | if (#(recipe.results or {}) == 1 and recipe.results[1].name == "production-science-pack") | |
138 | or ((recipe.main_product or "") == "production-science-pack") | |
139 | then | |
140 | recipe.hidden = true | |
141 | end | |
142 | end | |
143 | ||
144 | table.insert(data.raw["technology"]["planet-discovery-fulgora"], "elevated-rail") | |
145 | data.raw["technology"]["induction-technology1"].prerequisites = {"battery", "modular-armor"} | |
146 | data.raw["technology"]["battery-equipment"].prerequisites = {"induction-technology1"} | |
147 | for _, tech in pairs(data.raw["technology"]) | |
148 | do | |
149 | replace_in_prerequisites(tech, "solar-panel-equipment", "battery-equipment") | |
150 | end | |
151 | ||
152 | data.raw["electric-pole"]["wire-buoy"].supply_area_distance = 3 | |
153 | data.raw["technology"]["epic-quality"].prerequisites = { | |
154 | "electromagnetic-science-pack", | |
155 | "utility-science-pack", | |
156 | "cryogenic-science-pack" | |
157 | } | |
158 | data.raw["technology"]["epic-quality"].unit.ingredients = { | |
159 | {"automation-science-pack", 1}, | |
160 | {"logistic-science-pack", 1}, | |
161 | {"chemical-science-pack", 1}, | |
162 | {"space-science-pack", 1}, | |
163 | {"cryogenic-science-pack", 1}, | |
164 | {"utility-science-pack", 1}, | |
165 | {"electromagnetic-science-pack", 1}, | |
166 | } | |
167 | data.raw["technology"]["legendary-quality"].prerequisites = { | |
168 | "epic-quality", | |
169 | "metallurgic-science-pack", | |
170 | "agricultural-science-pack", | |
171 | "nuclear-science-pack" | |
172 | } | |
173 | ||
174 | data.raw.technology["steam-power"].prerequisites = {"fluid-handling"} | |
175 | data.raw.technology["steam-power"].unit = red_science{count = 20, time = 30} | |
176 | remove_effect(data.raw["technology"]["steam-power"], unlock_recipe "burner-crusher") | |
177 | remove_effect(data.raw["technology"]["steam-power"], unlock_recipe "sand") | |
178 | table.insert(data.raw["technology"]["crude-asteroid-crushing"].effects, unlock_recipe "burner-crusher") | |
179 | table.insert(data.raw["technology"]["crude-asteroid-crushing"].effects, unlock_recipe "sand") | |
180 | ||
181 | remove_effect(data.raw["technology"]["steam-power"], unlock_recipe "pipe") | |
182 | remove_effect(data.raw["technology"]["steam-power"], unlock_recipe "pipe-to-ground") | |
183 | table.insert(data.raw["technology"]["steel-processing"].effects, unlock_recipe "pipe") | |
184 | data.raw["technology"]["electronics"].prerequisites = {"crude-asteroid-crushing"} | |
185 | data.raw["technology"]["steel-processing"].prerequisites = {"crude-asteroid-crushing"} | |
186 | data.raw["technology"]["promethium-thermals"].prerequisites = {"lithium-processing", "steel-processing"} | |
187 | data.raw["technology"]["automation-science-pack"].prerequisites = {"steel-processing", "electronics", "promethium-thermals"} | |
188 | ||
189 | table.insert(data.raw["technology"]["oil-gathering"].effects, unlock_recipe "pipe-to-ground") | |
190 | ||
191 | data.raw.recipe["metallic-asteroid-crushing"].category = "crushing" | |
192 | data.raw.recipe["carbonic-asteroid-crushing"].category = "crushing" | |
193 | data.raw.recipe["oxide-asteroid-crushing"].category = "crushing" | |
194 | data.raw.recipe["crude-metallic-asteroid-crushing"].category = "basic-crushing" | |
195 | data.raw.recipe["crude-carbonic-asteroid-crushing"].category = "basic-crushing" | |
196 | ||
197 | local electric_drill = data.raw["mining-drill"]["electric-mining-drill"] | |
198 | for _, crusher_name in pairs{"crusher", "burner-crusher"} | |
199 | do | |
200 | local crusher = data.raw["assembling-machine"][crusher_name] or data.raw["furnace"][crusher_name] | |
201 | crusher.open_sound = electric_drill.open_sound | |
202 | crusher.close_sound = electric_drill.close_sound | |
203 | end |