Factorio: sync already cleared locations to local world
This commit is contained in:
parent
4b38cb4c2e
commit
cd8452d839
|
@ -109,6 +109,12 @@ class FactorioContext(CommonContext):
|
||||||
self.rcon_client.send_command(f"/ap-print [font=default-large-bold]Archipelago:[/font] "
|
self.rcon_client.send_command(f"/ap-print [font=default-large-bold]Archipelago:[/font] "
|
||||||
f"{text}")
|
f"{text}")
|
||||||
|
|
||||||
|
def on_package(self, cmd: str, args: dict):
|
||||||
|
if cmd == "Connected":
|
||||||
|
# catch up sync anything that is already cleared.
|
||||||
|
for tech in args["checked_locations"]:
|
||||||
|
item_name = f"ap-{tech}-"
|
||||||
|
self.rcon_client.send_command(f'/ap-get-technology {item_name}\t-1')
|
||||||
|
|
||||||
async def game_watcher(ctx: FactorioContext):
|
async def game_watcher(ctx: FactorioContext):
|
||||||
bridge_logger = logging.getLogger("FactorioWatcher")
|
bridge_logger = logging.getLogger("FactorioWatcher")
|
||||||
|
|
|
@ -373,7 +373,15 @@ commands.add_command("ap-get-technology", "Grant a technology, used by the Archi
|
||||||
local item_name = chunks[1]
|
local item_name = chunks[1]
|
||||||
local index = chunks[2]
|
local index = chunks[2]
|
||||||
local source = chunks[3] or "Archipelago"
|
local source = chunks[3] or "Archipelago"
|
||||||
if progressive_technologies[item_name] ~= nil then
|
if index == -1 then -- for coop sync and restoring from an older savegame
|
||||||
|
tech = force.technologies[item_name]
|
||||||
|
if tech.researched ~= true then
|
||||||
|
game.print({"", "Received [technology=" .. tech.name .. "] as it is already checked.")
|
||||||
|
game.play_sound({path="utility/research_completed"})
|
||||||
|
tech.researched = true
|
||||||
|
return
|
||||||
|
end
|
||||||
|
elif progressive_technologies[item_name] ~= nil then
|
||||||
if global.index_sync[index] == nil then -- not yet received prog item
|
if global.index_sync[index] == nil then -- not yet received prog item
|
||||||
global.index_sync[index] = item_name
|
global.index_sync[index] = item_name
|
||||||
local tech_stack = progressive_technologies[item_name]
|
local tech_stack = progressive_technologies[item_name]
|
||||||
|
|
Loading…
Reference in New Issue