Wed, 02 Jul 2025 14:29:06 +0300
Added tag fusion-lab_1.2.3 for changeset 101603241531
10
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
1 | local function init_storage() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
2 | if storage.fusion_labs == nil |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
3 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
4 | storage.fusion_labs = {} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
5 | local num_labs = 0 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
6 | for _, surface in pairs(game.surfaces) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
7 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
8 | for _, lab in pairs(surface.find_entities_filtered{name="fusion-lab"}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
9 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
10 | if lab.valid |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
11 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
12 | num_labs = num_labs + 1 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
13 | local heat_interfaces = surface.find_entities_filtered{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
14 | name='fusion-lab-heat-interface', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
15 | position=lab.position, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
16 | limit = 1, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
17 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
18 | local heat_interface |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
19 | if #heat_interfaces == 0 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
20 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
21 | heat_interfaces = {lab.surface.create_entity{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
22 | name='fusion-lab-heat-interface', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
23 | position=lab.position, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
24 | force=lab.force, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
25 | }} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
26 | heat_interfaces[1].temperature = 15 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
27 | heat_interfaces[1].destructible = false |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
28 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
29 | storage.fusion_labs[lab] = { |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
30 | heat_interface = heat_interfaces[1], |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
31 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
32 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
33 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
34 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
35 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
36 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
37 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
38 | local function cleanup_labs() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
39 | local new_storage_fusion_labs = {} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
40 | for lab, lab_info in pairs(storage.fusion_labs) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
41 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
42 | if lab.valid |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
43 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
44 | new_storage_fusion_labs[lab] = lab_info |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
45 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
46 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
47 | storage.fusion_labs = new_storage_fusion_labs |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
48 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
49 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
50 | script.on_nth_tick(31, function(event) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
51 | init_storage() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
52 | local need_cleanup = false |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
53 | for lab, lab_info in pairs(storage.fusion_labs) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
54 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
55 | if not lab.valid |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
56 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
57 | need_cleanup = true |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
58 | elseif lab.status == defines.entity_status.working |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
59 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
60 | local heat_interface = lab_info.heat_interface |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
61 | lab.minable = (heat_interface.temperature <= 900) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
62 | -- A cryogenic plant cooling hot fluoroketone voids 1320kW |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
63 | -- of heat energy, so the fusion lab with no modules just happens |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
64 | -- to conveniently radiate exactly half of that energy rate. |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
65 | -- |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
66 | -- The 0.341 here is 31/60*0.66 = 0.341 degrees of heat increase |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
67 | -- every 31 ticks, for 0.66 ℃/sec. it's written out as 0.341 to |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
68 | -- avoid potential floating point rounding errors. |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
69 | heat_interface.temperature = heat_interface.temperature + (1 + lab.consumption_bonus) * 0.341 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
70 | if heat_interface.temperature > 600 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
71 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
72 | lab.surface.create_entity{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
73 | name = 'fusion-lab-smoke-source', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
74 | position={lab.position.x + 3.5 * (math.random() - 0.5), lab.position.y + 3.5 * (math.random() - 0.5)}, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
75 | force=lab.force, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
76 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
77 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
78 | if heat_interface.temperature > 710.0 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
79 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
80 | lab.surface.create_entity{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
81 | name = 'crash-site-fire-flame', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
82 | position={lab.position.x + 3.5 * (math.random() - 0.5), lab.position.y + 3.5 * (math.random() - 0.5)}, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
83 | force=game.forces.enemy, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
84 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
85 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
86 | --[[ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
87 | if heat_interface.temperature > 750.0 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
88 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
89 | lab.die() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
90 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
91 | ]]-- |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
92 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
93 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
94 | if need_cleanup |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
95 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
96 | cleanup_labs() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
97 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
98 | end) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
99 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
100 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
101 | script.on_event(defines.events.on_entity_died, function(event) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
102 | local lab = event.entity |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
103 | -- we can't rely on storage here |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
104 | local heat_interfaces = lab.surface.find_entities_filtered{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
105 | name='fusion-lab-heat-interface', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
106 | position=lab.position, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
107 | limit = 1, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
108 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
109 | if #heat_interfaces > 0 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
110 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
111 | local heat_interface = heat_interfaces[1] |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
112 | if heat_interface.temperature > 700 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
113 | then |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
114 | for _, ofs in pairs{{0, 0}, {5, 0}, {-5, 0}, {0, 5}, {0, -5}, {1.5, 1.5}, {-1.5, 1.5}, {-1.5, -1.5}, {1.5, -1.5}} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
115 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
116 | local pos = {x = lab.position.x + ofs[1], y = lab.position.y + ofs[2]} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
117 | lab.surface.create_entity{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
118 | name = 'artillery-projectile', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
119 | position = pos, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
120 | target = pos, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
121 | force = game.forces.enemy, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
122 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
123 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
124 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
125 | heat_interface.destroy() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
126 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
127 | end, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
128 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
129 | local function on_fusion_lab_mined(event) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
130 | init_storage() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
131 | local entity = event.entity |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
132 | for _, heat_interface in pairs(entity.surface.find_entities_filtered{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
133 | name='fusion-lab-heat-interface', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
134 | position = entity.position |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
135 | }) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
136 | do |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
137 | heat_interface.destroy() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
138 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
139 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
140 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
141 | local function on_fusion_lab_built(event) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
142 | init_storage() |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
143 | local lab = event.entity |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
144 | heat_interface = lab.surface.create_entity{ |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
145 | name='fusion-lab-heat-interface', |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
146 | position=lab.position, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
147 | force=lab.force, |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
148 | } |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
149 | heat_interface.temperature = 15 |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
150 | heat_interface.destructible = false |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
151 | storage.fusion_labs[lab] = {heat_interface = heat_interface} |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
152 | end |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
153 | |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
154 | script.on_event(defines.events.on_player_mined_entity, on_fusion_lab_mined, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
155 | script.on_event(defines.events.on_robot_mined_entity, on_fusion_lab_mined, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
156 | script.on_event(defines.events.on_space_platform_mined_entity, on_fusion_lab_mined, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
157 | script.on_event(defines.events.on_built_entity, on_fusion_lab_built, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
158 | script.on_event(defines.events.on_robot_built_entity, on_fusion_lab_built, {{filter="name", name="fusion-lab"}}) |
101603241531
Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
159 | script.on_event(defines.events.on_space_platform_built_entity, on_fusion_lab_built, {{filter="name", name="fusion-lab"}}) |