From 48ed394d02a3ffcdf7773aa9264e048f827604bb Mon Sep 17 00:00:00 2001 From: CaitSith2 Date: Thu, 14 Oct 2021 19:28:05 -0700 Subject: [PATCH] Require sending a satellite for victory in space-science-pack seeds. --- worlds/factorio/data/mod_template/control.lua | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/worlds/factorio/data/mod_template/control.lua b/worlds/factorio/data/mod_template/control.lua index 8c049e14..cf9fc1da 100644 --- a/worlds/factorio/data/mod_template/control.lua +++ b/worlds/factorio/data/mod_template/control.lua @@ -8,6 +8,7 @@ SLOT_NAME = "{{ slot_name }}" SEED_NAME = "{{ seed_name }}" FREE_SAMPLE_BLACKLIST = {{ dict_to_lua(free_sample_blacklist) }} TRAP_EVO_FACTOR = {{ evolution_trap_increase }} / 100 +MAX_SCIENCE_PACK = {{ max_science_pack }} DEATH_LINK = {{ death_link | int }} CURRENTLY_DEATH_LOCK = 0 @@ -107,8 +108,19 @@ end script.on_event(defines.events.on_player_removed, on_player_removed) function on_rocket_launched(event) - global.forcedata[event.rocket.force.name]['victory'] = 1 - dumpInfo(event.rocket.force) + if event.rocket and event.rocket.valid and global.forcedata[event.rocket.force.name]['victory'] == 0 then + if event.rocket.get_item_count("satellite") > 0 or MAX_SCIENCE_PACK < 6 then + global.forcedata[event.rocket.force.name]['victory'] = 1 + dumpInfo(event.rocket.force) + game.set_game_state + { + game_finished = true, + player_won = true, + can_continue = true, + victorious_force = event.rocket.force + } + end + end end script.on_event(defines.events.on_rocket_launched, on_rocket_launched) @@ -198,6 +210,10 @@ script.on_init(function() e.player_index = index on_player_created(e) end + + if remote.interfaces["silo_script"] then + remote.call("silo_script", "set_no_victory", true) + end end) -- hook into researches done