fusion-lab/menu-simulations/menu-simulation-fusion-lab.lua

Wed, 02 Jul 2025 14:29:06 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Wed, 02 Jul 2025 14:29:06 +0300
changeset 11
da16c5a08162
parent 10
101603241531
permissions
-rw-r--r--

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 require("__fusion-lab__.control")
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
2
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
3 local sim_planet = game.surfaces.fulgora
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
4 local tick = 0
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
5 local heat_interfaces = {}
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
6
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
7 for _, ent in pairs(sim_planet.find_entities_filtered{name = 'fusion-lab-heat-interface'})
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
8 do
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
9 table.insert(heat_interfaces, ent)
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
10 ent.set_heat_setting{temperature=705, mode="exactly"}
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
11 end
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
12
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
13 -- compatibility for mods that add extra science packs (like nuclear science),
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
14 -- we just cheat those into the labs to get them running
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
15 for _, ent in pairs(sim_planet.find_entities_filtered{name = 'fusion-lab'})
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
16 do
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
17 for _, science_pack in pairs(ent.prototype.lab_inputs)
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
18 do
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
19 if ent.get_item_count(science_pack) == 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 ent.insert{name = science_pack, count = prototypes.item[science_pack].stack_size}
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
22 end
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
23 end
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
24 end
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 script.on_nth_tick(1, function()
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
27 tick = tick + 1
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
28 if tick >= 240
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
29 then
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
30 for _, ent in pairs(heat_interfaces)
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
31 do
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
32 if math.random() > 0.95
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
33 then
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
34 ent.set_heat_setting{temperature=715, mode="exactly"}
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 end
101603241531 Add fusion lab (currently v1.2.3)
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff changeset
38 end)

mercurial