no-productivity-modules/data-final-fixes.lua

Wed, 27 Aug 2025 10:26:12 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Wed, 27 Aug 2025 10:26:12 +0300
changeset 19
adbc5c74f279
permissions
-rw-r--r--

Lots of stuff

19
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
1 ---@param technology data.TechnologyPrototype
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
2 ---@param x string
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
3 function remove_recipe_effect(technology, x)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
4 ---@type (data.Modifier)[]
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
5 local list2 = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
6 for k, v in pairs(technology.effects or {})
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
7 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
8 if v.type ~= "unlock-recipe" or v.recipe ~= x
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
9 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
10 table.insert(list2, v)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
11 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
12 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
13 technology.effects = list2
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
14 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
15
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
16 ---@param technology data.TechnologyPrototype
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
17 ---@param x data.Modifier
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
18 function remove_effect(technology, x)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
19 ---@type (data.Modifier)[]
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
20 local list2 = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
21 for _, technology_effect in pairs(technology.effects or {})
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
22 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
23 local match = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
24 for key, value in pairs(x)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
25 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
26 if technology_effect[key] ~= value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
27 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
28 match = false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
29 break
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
30 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
31 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
32 if not match
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
33 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
34 table.insert(list2, technology_effect)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
35 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
36 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
37 technology.effects = list2
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
38 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
39
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
40 ---@param technology data.TechnologyPrototype
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
41 ---@param x string
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
42 function remove_prerequisite(technology, x)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
43 if technology.prerequisites
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
44 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
45 local new_prerequisites = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
46 local changed = false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
47 for k, v in pairs(technology.prerequisites)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
48 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
49 if v == x
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
50 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
51 changed = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
52 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
53 table.insert(new_prerequisites, v)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
54 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
55 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
56 if changed
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
57 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
58 technology.prerequisites = new_prerequisites
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
59 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
60 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
61 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
62
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
63 ---@param recipe data.RecipePrototype
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
64 ---@param ingredient_to_remove string
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
65 local function remove_ingredient(recipe, ingredient_to_remove)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
66 local changed = false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
67 local new_ingredients = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
68 for _, ingredient in pairs(recipe.ingredients or {})
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
69 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
70 if ingredient.name == ingredient_to_remove
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
71 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
72 changed = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
73 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
74 table.insert(new_ingredients, ingredient)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
75 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
76 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
77 if changed
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
78 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
79 recipe.ingredients = new_ingredients
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
80 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
81 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
82
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
83 local removed_technologies = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
84
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
85 ---@param recipe data.RecipePrototype
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
86 local function recipe_results_in(recipe, x)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
87 for _, result in pairs(recipe.results or {})
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
88 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
89 if result.name == x
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
90 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
91 return true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
92 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
93 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
94 return false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
95 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
96
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
97 ---@param effect_name string
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
98 ---@param effect_value number
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
99 local function is_effect_banned(effect_name, effect_value)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
100 if effect_name == "consumption"
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
101 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
102 if effect_value > 0
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
103 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
104 return settings.startup["banned-module-effect-consumption-increase"].value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
105 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
106 return settings.startup["banned-module-effect-consumption-decrease"].value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
107 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
108 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
109 return settings.startup["banned-module-effect-"..effect_name].value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
110 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
111 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
112
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
113 for _, module in pairs(data.raw["module"])
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
114 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
115 local new_effects = {}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
116 local changed = false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
117 local empty = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
118 for effect_name, effect_value in pairs(module.effect)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
119 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
120 if is_effect_banned(effect_name, effect_value)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
121 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
122 changed = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
123 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
124 new_effects[effect_name] = effect_value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
125 empty = false
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
126 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
127 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
128 if changed
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
129 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
130 if not empty
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
131 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
132 module.effect = new_effects
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
133 else
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
134 data.raw["module"][module.name].hidden = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
135 for _, technology in pairs(data.raw["technology"])
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
136 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
137 if technology.effects
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
138 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
139 remove_recipe_effect(technology, module.name)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
140 if #technology.effects == 0
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
141 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
142 technology.hidden = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
143 log("Npm: removed technology "..technology.name)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
144 table.insert(removed_technologies, technology.name)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
145 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
146 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
147 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
148 for _, recipe in pairs(data.raw["recipe"])
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
149 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
150 if recipe_results_in(recipe, module.name)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
151 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
152 recipe.hidden = true
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
153 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
154 remove_ingredient(recipe, module.name)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
155 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
156 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
157 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
158 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
159
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
160 if settings.startup["banned-module-effect-quality"].value
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
161 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
162 ---@type data.UnlockQualityModifier
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
163 local unlock_uncommon = {type = "unlock-quality", quality = "uncommon"}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
164 ---@type data.UnlockQualityModifier
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
165 local unlock_rare = {type = "unlock-quality", quality = "rare"}
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
166 if mods["quality"]
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
167 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
168 remove_effect(data.raw["technology"]["quality-module"], unlock_uncommon)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
169 remove_effect(data.raw["technology"]["quality-module"], unlock_rare)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
170 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
171 if mods["promethium-quality"]
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
172 then
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
173 table.insert(data.raw["technology"]["refinery"].effects, unlock_uncommon)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
174 table.insert(data.raw["technology"]["refinery"].effects, unlock_rare)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
175 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
176 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
177
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
178 for _, technology in pairs(data.raw["technology"])
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
179 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
180 for _, removed_tech in pairs(removed_technologies)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
181 do
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
182 remove_prerequisite(technology, removed_tech)
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
183 end
adbc5c74f279 Lots of stuff
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
184 end

mercurial