Wed, 23 Jul 2025 16:08:48 +0300
version 1.2.0
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
1 | ---@type data.FeatureFlags |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
2 | feature_flags = feature_flags |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
3 | |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
4 | local function seconds(x) |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
5 | return {"time-symbol-seconds", tostring(x)} |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
6 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
7 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
8 | local energy_zero_table = { |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
9 | ["0W"] = 1, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
10 | ["0kW"] = 1, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
11 | ["0MW"] = 1, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
12 | ["0GW"] = 1, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
13 | ["0TW"] = 1, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
14 | } |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
15 | |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
16 | ---@type table<string, 1> |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
17 | local recipes_that_have_productivity_research = {} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
18 | |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
19 | for _, technology in pairs(data.raw["technology"] or {}) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
20 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
21 | for _, effect in pairs(technology.effects or {}) |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
22 | do |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
23 | if effect.type == "change-recipe-productivity" |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
24 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
25 | recipes_that_have_productivity_research[effect.recipe] = 1 |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
26 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
27 | end |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
28 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
29 | |
17 | 30 | local function basic_order(a) |
31 | return 100 + a | |
32 | end | |
33 | ||
34 | local function generic_order(a) | |
35 | return 150 + a | |
36 | end | |
37 | ||
38 | local function specific_order(a) | |
39 | return 200 + a | |
40 | end | |
41 | ||
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
42 | ---@param x string |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
43 | local function energy_zero(x) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
44 | return x == nil or energy_zero_table[x] |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
45 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
46 | |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
47 | ---@param x LocalisedString |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
48 | -- localised string containing too many entries? snap it into many pieces and catenate them |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
49 | local function snap(x) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
50 | if type(x) == "table" and #x > 20 and x[1] == "" |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
51 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
52 | local max_per_part = math.ceil((#x - 1) / 18) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
53 | local result = {""} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
54 | local segment = {""} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
55 | for k, v in pairs(x) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
56 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
57 | if k > 1 |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
58 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
59 | if #segment >= max_per_part + 1 |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
60 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
61 | table.insert(result, snap(segment)) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
62 | segment = {""} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
63 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
64 | table.insert(segment, v) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
65 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
66 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
67 | if #segment > 1 |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
68 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
69 | table.insert(result, snap(segment)) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
70 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
71 | return result |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
72 | else |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
73 | return x |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
74 | end |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
75 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
76 | |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
77 | local item_categories = |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
78 | { |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
79 | "item", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
80 | "item-with-entity-data", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
81 | "rail-planner", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
82 | "capsule", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
83 | "repair-tool", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
84 | "blueprint", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
85 | "deconstruction-item", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
86 | "upgrade-item", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
87 | "blueprint-book", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
88 | "copy-paste-tool", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
89 | "module", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
90 | "tool", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
91 | "gun", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
92 | "ammo", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
93 | "space-platform-starter-pack", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
94 | "armor", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
95 | "spidertron-remote", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
96 | } |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
97 | |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
98 | local entity_categories = |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
99 | { |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
100 | "container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
101 | "storage-tank", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
102 | "transport-belt", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
103 | "underground-belt", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
104 | "splitter", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
105 | "loader", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
106 | "inserter", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
107 | "electric-pole", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
108 | "pipe", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
109 | "pipe-to-ground", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
110 | "pump", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
111 | "straight-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
112 | "half-diagonal-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
113 | "curved-rail-a", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
114 | "curved-rail-b", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
115 | "elevated-straight-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
116 | "elevated-half-diagonal-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
117 | "elevated-curved-rail-a", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
118 | "elevated-curved-rail-b", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
119 | "legacy-straight-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
120 | "legacy-curved-rail", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
121 | "rail-ramp", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
122 | "rail-support", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
123 | "train-stop", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
124 | "rail-signal", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
125 | "rail-chain-signal", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
126 | "locomotive", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
127 | "cargo-wagon", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
128 | "fluid-wagon", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
129 | "artillery-wagon", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
130 | "car", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
131 | "spider-vehicle", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
132 | "logistic-robot", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
133 | "construction-robot", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
134 | "logistic-container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
135 | "roboport", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
136 | "lamp", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
137 | "arithmetic-combinator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
138 | "decider-combinator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
139 | "selector-combinator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
140 | "constant-combinator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
141 | "power-switch", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
142 | "programmable-speaker", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
143 | "display-panel", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
144 | "boiler", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
145 | "generator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
146 | "fusion-reactor", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
147 | "fusion-generator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
148 | "mining-drill", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
149 | "offshore-pump", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
150 | "furnace", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
151 | "assembling-machine", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
152 | "agricultural-tower", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
153 | "lab", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
154 | "lightning-attractor", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
155 | "reactor", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
156 | "beacon", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
157 | "rocket-silo", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
158 | "cargo-landing-pad", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
159 | "space-platform-hub", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
160 | "cargo-bay", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
161 | "asteroid-collector", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
162 | "thruster", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
163 | "wall", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
164 | "gate", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
165 | "radar", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
166 | "land-mine", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
167 | "ammo-turret", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
168 | "electric-turret", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
169 | "fluid-turret", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
170 | "artillery-turret", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
171 | "plant", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
172 | "simple-entity-with-force", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
173 | "simple-entity-with-owner", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
174 | "electric-energy-interface", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
175 | "linked-container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
176 | "proxy-container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
177 | "heat-interface", |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
178 | "heat-pipe", |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
179 | "lane-splitter", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
180 | "linked-belt", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
181 | "valve", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
182 | "infinity-cargo-wagon", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
183 | "infinity-container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
184 | "infinity-pipe", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
185 | "burner-generator", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
186 | "resource", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
187 | "cargo-pod", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
188 | "temporary-container", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
189 | "asteroid", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
190 | "combat-robot", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
191 | "unit", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
192 | "turret", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
193 | "unit-spawner", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
194 | "spider-unit", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
195 | "segmented-unit", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
196 | "cliff", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
197 | "character", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
198 | "fish", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
199 | "tree", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
200 | "simple-entity", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
201 | "lightning", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
202 | "corpse", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
203 | "rail-remnants", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
204 | "explosion", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
205 | "particle-source", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
206 | "fire", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
207 | "sticker", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
208 | "stream", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
209 | "artillery-flare", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
210 | "artillery-projectile", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
211 | "projectile", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
212 | "segment", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
213 | "spider-leg", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
214 | "beam", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
215 | "character-corpse", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
216 | "speech-bubble", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
217 | "smoke-with-trigger", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
218 | "entity-ghost", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
219 | "arrow", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
220 | "highlight-box", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
221 | "item-entity", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
222 | "item-request-proxy", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
223 | "loader-1x1", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
224 | "rocket-silo-rocket", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
225 | "rocket-silo-rocket-shadow", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
226 | "tile-ghost", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
227 | "market", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
228 | "capture-robot", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
229 | "solar-panel", |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
230 | } |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
231 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
232 | -- Find all entity categories that contain prototypes that can freeze. |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
233 | -- If a prototype in such a category cannot freeze, that's worth pointing out. |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
234 | -- However, it's not worth pointing out that the steel chest cannot freeze, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
235 | -- since no container freezes (in vanilla anyway). |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
236 | local freezable_entity_categories = {} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
237 | if feature_flags.freezing |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
238 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
239 | for _, category in pairs(entity_categories) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
240 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
241 | for _, entity in pairs(data.raw[category] or {}) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
242 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
243 | if not energy_zero(entity.heating_energy) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
244 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
245 | freezable_entity_categories[entity.type] = 1 |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
246 | break |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
247 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
248 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
249 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
250 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
251 | |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
252 | local function find_entity(name) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
253 | for _, entity_category in pairs(entity_categories) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
254 | do |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
255 | if data.raw[entity_category] and data.raw[entity_category][name] |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
256 | then |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
257 | return data.raw[entity_category][name] |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
258 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
259 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
260 | return nil |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
261 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
262 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
263 | -- @type table<string, string> |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
264 | local ammo_categories = {} |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
265 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
266 | for _, ammo in pairs(data.raw.ammo) |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
267 | do |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
268 | if not ammo_categories[ammo.ammo_category] |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
269 | then |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
270 | ammo_categories[ammo.ammo_category] = "" |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
271 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
272 | if #ammo_categories[ammo.ammo_category] < 120 |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
273 | then |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
274 | ammo_categories[ammo.ammo_category] = ammo_categories[ammo.ammo_category].."[item="..ammo.name.."]" |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
275 | elseif string.sub(ammo_categories[ammo.ammo_category], -3, -1) ~= "..." |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
276 | then |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
277 | ammo_categories[ammo.ammo_category] = ammo_categories[ammo.ammo_category] .. "..." |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
278 | end |
17 | 279 | end |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
280 | |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
281 | ---@param proto data.Prototype |
17 | 282 | ---@param tooltip_field data.CustomTooltipField |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
283 | local function generic_add_description(proto, tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
284 | if not proto.custom_tooltip_fields |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
285 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
286 | proto.custom_tooltip_fields = {} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
287 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
288 | table.insert(proto.custom_tooltip_fields, tooltip_field) |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
289 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
290 | |
17 | 291 | ---@param proto data.Prototype |
292 | ---@param attack_parameters data.AttackParameters | |
293 | local function add_ammo_from_attack_parameters(proto, attack_parameters) | |
294 | if attack_parameters.ammo_category and ammo_categories[attack_parameters.ammo_category] | |
295 | then | |
296 | generic_add_description(proto, { | |
297 | name = {"more-descriptions-mod.gun-accepts-ammo"}, | |
298 | value = ammo_categories[attack_parameters.ammo_category], | |
299 | order = generic_order(10), | |
300 | }) | |
301 | end | |
302 | for _, category in pairs(attack_parameters.ammo_categories or {}) | |
303 | do | |
304 | if ammo_categories[category] | |
305 | then | |
306 | generic_add_description(proto, { | |
307 | name = {"more-descriptions-mod.gun-accepts-ammo"}, | |
308 | value = ammo_categories[category], | |
309 | order = generic_order(0), | |
310 | }) | |
311 | end | |
312 | end | |
313 | end | |
314 | ||
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
315 | for _, item_type in pairs(item_categories) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
316 | do |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
317 | for _, item in pairs(data.raw[item_type] or {}) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
318 | do |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
319 | local recycling_recipe = data.raw.recipe[item.name.."-recycling"] |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
320 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
321 | ---@param tooltip_field data.CustomTooltipField |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
322 | local function add_description(tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
323 | generic_add_description(item, tooltip_field) |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
324 | end |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
325 | if recycling_recipe ~= nil |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
326 | then |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
327 | local recycling_results = {""} |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
328 | for _, result in pairs(recycling_recipe.results) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
329 | do |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
330 | table.insert(recycling_results, "[img="..result.type.."."..result.name.."]") |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
331 | end |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
332 | add_description{ |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
333 | name = {"more-descriptions-mod.recycling"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
334 | value = { |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
335 | "more-descriptions-mod.recycling-results", |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
336 | seconds(recycling_recipe.energy_required), |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
337 | snap(recycling_results), |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
338 | }, |
17 | 339 | order = generic_order(0), |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
340 | } |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
341 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
342 | |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
343 | if mods["promethium-quality"] |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
344 | then |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
345 | local refining_recipe = data.raw.recipe[item.name.."-refining"] |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
346 | if refining_recipe ~= nil |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
347 | then |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
348 | add_description{ |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
349 | name = {"more-descriptions-mod.refining-cost"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
350 | value = seconds(refining_recipe.energy_required), |
17 | 351 | order = generic_order(1), |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
352 | } |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
353 | elseif recycling_recipe ~= nil |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
354 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
355 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
356 | name = {"more-descriptions-mod.cannot-be-refined"}, |
17 | 357 | value = "", |
358 | order = generic_order(1), | |
359 | } | |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
360 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
361 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
362 | |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
363 | if item.type == "ammo" and (item.reload_time or 0) > 0 |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
364 | then |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
365 | add_description{ |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
366 | name = {"more-descriptions-mod.reload-time"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
367 | value = seconds(tostring(item.reload_time / 60.0)), |
17 | 368 | order = specific_order(0), |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
369 | } |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
370 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
371 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
372 | if item.type == "active-defense-equipment" and item.automatic |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
373 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
374 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
375 | name = {"more-descriptions-mod.fires-automatically"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
376 | value = "", |
17 | 377 | order = specific_order(0), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
378 | } |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
379 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
380 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
381 | if item.type == "armor" and item.provides_flight |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
382 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
383 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
384 | name = {"more-descriptions-mod.armor-provides-flight"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
385 | value = "", |
17 | 386 | order = specific_order(0), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
387 | } |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
388 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
389 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
390 | if item.type == "gun" |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
391 | then |
17 | 392 | add_ammo_from_attack_parameters(item, item.attack_parameters) |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
393 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
394 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
395 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
396 | |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
397 | for _, recipe in pairs(data.raw.recipe) |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
398 | do |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
399 | ---@param tooltip_field data.CustomTooltipField |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
400 | local function add_description(tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
401 | generic_add_description(recipe, tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
402 | end |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
403 | if recipe.allow_productivity |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
404 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
405 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
406 | name = {"more-descriptions-mod.allows-productivity"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
407 | value = "", |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
408 | } |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
409 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
410 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
411 | if recipes_that_have_productivity_research[recipe.name] |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
412 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
413 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
414 | name = {"more-descriptions-mod.recipe-has-productivity-research"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
415 | value = "", |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
416 | } |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
417 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
418 | |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
419 | if recipe.result_is_always_fresh |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
420 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
421 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
422 | name = {"more-descriptions-mod.recipe-result-is-always-fresh"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
423 | value = "", |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
424 | } |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
425 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
426 | if recipe.reset_freshness_on_craft |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
427 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
428 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
429 | name = {"more-descriptions-mod.recipe-result-freshness-reset"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
430 | value = "", |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
431 | } |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
432 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
433 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
434 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
435 | for _, entity_category in pairs(entity_categories) |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
436 | do |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
437 | for _, entity in pairs(data.raw[entity_category] or {}) |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
438 | do |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
439 | ---@param tooltip_field data.CustomTooltipField |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
440 | local function add_description(tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
441 | generic_add_description(entity, tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
442 | end |
17 | 443 | if entity.collision_box |
444 | then | |
445 | local cb = entity.collision_box | |
446 | local width = math.ceil(cb[2][1] - cb[1][1]) | |
447 | local height = math.ceil(cb[2][2] - cb[1][2]) | |
448 | add_description{ | |
449 | name = {"more-descriptions-mod.entity-size"}, | |
450 | value = { | |
451 | "more-descriptions-mod.size", | |
452 | tostring(width), | |
453 | tostring(height), | |
454 | }, | |
455 | order = basic_order(0), | |
456 | } | |
457 | end | |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
458 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
459 | if entity.minable |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
460 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
461 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
462 | name = {"more-descriptions-mod.mining-time"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
463 | value = seconds(entity.minable.mining_time), |
17 | 464 | order = basic_order(1), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
465 | } |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
466 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
467 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
468 | for _, flag in pairs(entity.flags or {}) |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
469 | do |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
470 | if flag == "breaths-air" |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
471 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
472 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
473 | name = {"more-descriptions-mod.breathes-air"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
474 | value = "", |
17 | 475 | order = generic_order(0), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
476 | } |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
477 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
478 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
479 | |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
480 | if entity.type == "unit-spawner" |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
481 | then |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
482 | if (entity.time_to_capture or 0) > 0 |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
483 | then |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
484 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
485 | name = {"more-descriptions-mod.unit-spawner-time-to-capture"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
486 | value = seconds(entity.time_to_capture / 60.0), |
17 | 487 | order = specific_order(0), |
488 | } | |
489 | end | |
490 | end | |
491 | ||
492 | if entity.drops_full_belt_stacks | |
493 | then | |
494 | add_description{ | |
495 | name = {"more-descriptions-mod.drops-full-belt-stacks"}, | |
496 | value = "", | |
497 | order = generic_order(10), | |
498 | } | |
499 | end | |
500 | ||
501 | if entity.heat_buffer and entity.heat_buffer.specific_heat | |
502 | then | |
503 | add_description{ | |
504 | name = {"more-descriptions-mod.specific-heat"}, | |
505 | value = { | |
506 | "more-descriptions-mod.energy-per-degrees-celsius", | |
507 | entity.heat_buffer.specific_heat, | |
508 | }, | |
509 | order = generic_order(10), | |
510 | } | |
511 | elseif entity.energy_source | |
512 | and entity.energy_source.type == "heat" | |
513 | and entity.energy_source.specific_heat | |
514 | then | |
515 | add_description{ | |
516 | name = {"more-descriptions-mod.specific-heat"}, | |
517 | value = entity.energy_source.specific_heat, | |
518 | order = generic_order(10), | |
519 | } | |
520 | end | |
521 | ||
522 | if entity.is_military_target | |
523 | then | |
524 | add_description{ | |
525 | name = {"more-descriptions-mod.is-military-target"}, | |
526 | value = "", | |
527 | order = generic_order(11), | |
528 | } | |
529 | end | |
530 | ||
531 | if not energy_zero(entity.heating_energy or "0W") | |
532 | then | |
533 | local value = entity.heating_energy | |
534 | if entity.type == "underground-belt" or entity.type == "pipe-to-ground" | |
535 | then | |
536 | value = {"more-descriptions-mod.value-per-end", value} | |
537 | end | |
538 | add_description{ | |
539 | name = {"more-descriptions-mod.heating-energy"}, | |
540 | value = value, | |
541 | order = basic_order(5), | |
542 | } | |
543 | elseif freezable_entity_categories[entity.type] | |
544 | then | |
545 | add_description{ | |
546 | name = {"more-descriptions-mod.no-heating-energy"}, | |
547 | value = "", | |
548 | order = basic_order(5), | |
549 | } | |
550 | end | |
551 | ||
552 | if entity.type == "agricultural-tower" | |
553 | then | |
554 | local cb = entity.collision_box | |
555 | local W = math.ceil(cb[2][1] - cb[1][1]) | |
556 | local w = (entity.growth_grid_tile_size or 3) | |
557 | -- width of the "buffer" area around the agricultural tower | |
558 | local z = (2 * w * math.ceil((W - w) / 2 / w)) + w | |
559 | -- num of growth cells extending from the edges of the tower | |
560 | local r = math.floor(entity.radius) -- why is it double..? | |
561 | add_description{ | |
562 | name = {"more-descriptions-mod.agricultural-tower-num-inputs"}, | |
563 | value = tostring(entity.input_inventory_size) | |
564 | } | |
565 | add_description{ | |
566 | name = {"more-descriptions-mod.agricultural-tower-growth-cell-size"}, | |
567 | value = { | |
568 | "more-descriptions-mod.size", | |
569 | tostring(w), | |
570 | tostring(w), | |
571 | }, | |
572 | order = specific_order(0), | |
573 | } | |
574 | add_description{ | |
575 | name = {"more-descriptions-mod.agricultural-tower-growth-cell-count"}, | |
576 | value = tostring(4 * r * (r + (z / w))), -- maths | |
577 | order = specific_order(1), | |
578 | } | |
579 | total_size = tostring(z + 2 * r * w) | |
580 | add_description{ | |
581 | name = {"more-descriptions-mod.agricultural-tower-total-size"}, | |
582 | value = { | |
583 | "more-descriptions-mod.size", | |
584 | total_size, | |
585 | total_size, | |
586 | }, | |
587 | order = specific_order(2), | |
588 | } | |
589 | elseif entity.type == "ammo-turret" | |
590 | then | |
591 | if entity.energy_per_shot ~= nil | |
592 | then | |
593 | add_description{ | |
594 | name = {"more-descriptions-mod.energy-per-shot-fired"}, | |
595 | value = entity.energy_per_shot, | |
596 | order = generic_order(11), | |
597 | } | |
598 | end | |
599 | add_ammo_from_attack_parameters(entity, entity.attack_parameters) | |
600 | elseif entity.type == "beacon" | |
601 | then | |
602 | add_description{ | |
603 | name = {"more-descriptions-mod.beacon-supply-area-distance"}, | |
604 | value = tostring(entity.supply_area_distance), | |
605 | order = specific_order(0), | |
606 | } | |
607 | elseif entity.type == "car" | |
608 | then | |
609 | local immunities = "" | |
610 | if (entity.immune_to_tree_impacts or false) | |
611 | then | |
612 | immunities = immunities.."[entity=tree-01]" | |
613 | end | |
614 | if (entity.immune_to_rock_impacts or false) | |
615 | then | |
616 | immunities = immunities.."[entity=big-rock]" | |
617 | end | |
618 | if (entity.immune_to_cliff_impacts or true) | |
619 | then | |
620 | immunities = immunities.."[entity=cliff]" | |
621 | end | |
622 | if immunities ~= "" | |
623 | then | |
624 | add_description{ | |
625 | name = {"more-descriptions-mod.car-immune-to-impacts"},value = immunities, | |
626 | order = specific_order(0), | |
627 | } | |
628 | end | |
629 | elseif entity.type == "constant-combinator" | |
630 | then | |
631 | -- used by pushbutton mod | |
632 | if (entity.pulse_duration or 0) > 60 | |
633 | then | |
634 | add_description{ | |
635 | name = {"more-descriptions-mod.constant-combinator-pulse-duration"}, | |
636 | value = seconds(entity.pulse_duration / 60.0), | |
637 | order = specific_order(0), | |
638 | } | |
639 | elseif (entity.pulse_duration or 0) > 0 | |
640 | then | |
641 | add_description{ | |
642 | name = {"more-descriptions-mod.constant-combinator-pulse-duration"}, | |
643 | value = { | |
644 | "more-descriptions-mod.ticks", | |
645 | tostring(entity.pulse_duration), | |
646 | }, | |
647 | order = specific_order(0), | |
648 | } | |
649 | end | |
650 | elseif (entity.type == "container" or entity.type == "logistic-container") | |
651 | then | |
652 | if entity.inventory_type == "with_filters_and_bar" | |
653 | then | |
654 | add_description{ | |
655 | name = {"more-descriptions-mod.container-filters"}, | |
656 | value = "", | |
657 | order = specific_order(0), | |
658 | } | |
659 | end | |
660 | elseif entity.type == "cargo-wagon" | |
661 | then | |
662 | -- all cargo wagons support filters | |
663 | add_description{ | |
664 | name = {"more-descriptions-mod.container-filters"}, | |
665 | value = "", | |
666 | order = specific_order(0), | |
667 | } | |
668 | elseif entity.type == "display-panel" | |
669 | then | |
670 | add_description{ | |
671 | name = {"more-descriptions-mod.display-panel-max-text-width"}, | |
672 | value = tostring(entity.max_text_width or 400), | |
673 | order = specific_order(0), | |
674 | } | |
675 | elseif entity.type == "logistic-robot" or entity.type == "construction-robot" | |
676 | then | |
677 | if entity.speed_multiplier_when_out_of_energy > 0 | |
678 | then | |
679 | add_description{ | |
680 | name = {"more-descriptions-mod.robot-speed-multiplier-when-out-of-energy"}, | |
681 | value = tostring(entity.speed_multiplier_when_out_of_energy * 100), | |
682 | order = specific_order(0), | |
683 | } | |
684 | else | |
685 | add_description{ | |
686 | name = {"more-descriptions-mod.robot-crashes-when-out-of-energy"}, | |
687 | value = "", | |
688 | order = specific_order(0), | |
689 | } | |
690 | end | |
691 | elseif entity.type == "inserter" | |
692 | then | |
693 | if entity.bulk | |
694 | then | |
695 | add_description{ | |
696 | name = {"more-descriptions-mod.inserter-bulk"}, | |
697 | value = "", | |
698 | order = specific_order(0), | |
699 | } | |
700 | end | |
701 | if entity.wait_for_full_hand | |
702 | then | |
703 | add_description{ | |
704 | name = {"more-descriptions-mod.inserter-wait-for-full-hand"}, | |
705 | value = "", | |
706 | order = specific_order(1), | |
707 | } | |
708 | end | |
709 | if entity.enter_drop_mode_if_held_stack_spoiled | |
710 | then | |
711 | add_description{ | |
712 | name = {"more-descriptions-mod.inserter-enters-drop-mode-if-held-stack-spoils"}, | |
713 | value = "", | |
714 | order = specific_order(2), | |
715 | } | |
716 | end | |
717 | elseif entity.type == "land-mine" | |
718 | then | |
719 | add_description{ | |
720 | name = {"more-descriptions-mod.land-mine-timeout"}, | |
721 | value = seconds((entity.timeout or 120) / 60.0), | |
722 | order = specific_order(0), | |
723 | } | |
724 | elseif entity.type == "radar" | |
725 | then | |
726 | if entity.connects_to_other_radars ~= false | |
727 | then | |
728 | add_description{ | |
729 | name = {"more-descriptions-mod.radar-connection"}, | |
730 | value = "", | |
731 | order = specific_order(0), | |
732 | } | |
733 | end | |
734 | end | |
735 | if entity.filter_count | |
736 | then | |
737 | add_description{ | |
738 | name = {"more-descriptions-mod.filter-count"}, | |
739 | value = tostring(entity.filter_count), | |
740 | order = basic_order(5), | |
741 | } | |
742 | end | |
743 | for _, flag in pairs(entity.flags or {}) | |
744 | do | |
745 | if flag == "no-automated-item-insertion" | |
746 | then | |
747 | add_description{ | |
748 | name = {"more-descriptions-mod.no-automated-item-insertion"}, | |
749 | value = "", | |
750 | order = basic_order(6), | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
751 | } |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
752 | end |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
753 | end |
5
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
754 | end |
4418c07556d4
Add more descriptions mod
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
755 | end |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
756 | |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
757 | if feature_flags.space_travel |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
758 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
759 | for _, category in pairs{"space-location", "planet"} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
760 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
761 | for _, space_location in pairs(data.raw[category]) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
762 | do |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
763 | ---@param tooltip_field data.CustomTooltipField |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
764 | local function add_description(tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
765 | generic_add_description(space_location, tooltip_field) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
766 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
767 | ---@cast space_location data.SpaceLocationPrototype |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
768 | local new_descriptions = {} |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
769 | if (space_location.fly_condition or false) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
770 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
771 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
772 | name = {"more-descriptions-mod.space-location-fly-condition"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
773 | value = "", |
17 | 774 | order = specific_order(0), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
775 | } |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
776 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
777 | if space_location.auto_save_on_first_trip == false -- (nil=true) |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
778 | then |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
779 | add_description{ |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
780 | name = {"more-descriptions-mod.space-location-no-autosave"}, |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
781 | value = "", |
17 | 782 | order = specific_order(1), |
16
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
783 | } |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
784 | end |
2cdb59ae5fcf
Update to Factorio 2.0.60
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
7
diff
changeset
|
785 | end |
7
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
786 | end |
023ee666a3d6
Add more descriptions to more-descriptions
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
5
diff
changeset
|
787 | end |