diff --git a/saveTools/fc_edit_save.py b/saveTools/fc_edit_save.py index 9868a8a245b581d29419100ea026c0fda6dbb9c4..3925dfcf2caa96433c0f18cef7684120e599e8f5 100755 --- a/saveTools/fc_edit_save.py +++ b/saveTools/fc_edit_save.py @@ -1027,8 +1027,9 @@ def generate_slave_id(game_vars): """Returns the next available slave ID.""" # for compatibility, use the same technique as the Javascript code all_slave_ids = [] - for slist in ["slaves", "tanks", "cribs"]: + for slist in ["slaves", "cribs"]: all_slave_ids += [slave["ID"] for slave in game_vars[slist]] + all_slave_ids += [slave["ID"] for slave in game_vars["incubator"]["tanks"]] while game_vars["IDNumber"] in all_slave_ids: game_vars["IDNumber"] += 1 # ugly way to do the same as "return V.IDNumber++;" in src/js/utilsFC.js @@ -1114,11 +1115,11 @@ def clone_slave(game_vars, orig_slave, same_parents=False): clone_num += 1 new_slave["birthName"] = f"{base_name} {clone_num}" new_slave["assignment"] = "rest" - if game_vars["JobIDArray"]: - if "rest" in game_vars["JobIDArray"]: - game_vars["JobIDArray"]["rest"].append(new_slave["ID"]) + if game_vars["JobIDMap"]: + if "rest" in game_vars["JobIDMap"]: + game_vars["JobIDMap"]["rest"].append(new_slave["ID"]) else: - game_vars["JobIDArray"]["rest"] = [new_slave["ID"]] + game_vars["JobIDMap"]["rest"] = [new_slave["ID"]] if game_vars["slaveIndices"]: max_val = max(game_vars["slaveIndices"].values()) game_vars["slaveIndices"][str(new_slave["ID"])] = max_val + 1