fixed diva quest
This commit is contained in:
parent
c811af1d08
commit
7f33acf8ea
3 changed files with 49 additions and 26 deletions
|
|
@ -10,15 +10,22 @@ from glob import glob
|
|||
def update_missions(dir_in, old_path, languages, is_global, utage_in=None):
|
||||
if not utage_in:
|
||||
utage_in = os.path.join(dir_in, "Common/Asset/Utage")
|
||||
qdb = db.QuestDB(dir_in)
|
||||
quest_mst(qdb, old_path, languages)
|
||||
scene_mst(qdb, old_path, dir_in, languages, utage_in)
|
||||
if is_global:
|
||||
languages = ["enm", "zho", "kor"]
|
||||
for lang in languages:
|
||||
qdb = db.QuestDB(dir_in, lang)
|
||||
quest_mst(qdb, old_path, [lang], is_global)
|
||||
scene_mst(qdb, old_path, [lang], utage_in, is_global)
|
||||
else:
|
||||
qdb = db.QuestDB(dir_in)
|
||||
quest_mst(qdb, old_path, languages, is_global)
|
||||
scene_mst(qdb, old_path, languages, utage_in, is_global)
|
||||
|
||||
|
||||
def scene_mst(qdb, old_path, dir_in, languages, utage_in):
|
||||
def scene_mst(qdb, old_path, languages, utage_in, is_global):
|
||||
scenes = qdb.get_scenes()
|
||||
|
||||
locations = load_locations(dir_in, utage_in)
|
||||
locations = load_locations(utage_in)
|
||||
|
||||
for id, scene in scenes.items():
|
||||
i = 0
|
||||
|
|
@ -28,18 +35,23 @@ def scene_mst(qdb, old_path, dir_in, languages, utage_in):
|
|||
except KeyError as exc:
|
||||
i += 1
|
||||
if i == len(scene["Parts"]):
|
||||
if is_global:
|
||||
break
|
||||
raise KeyError(f"Could not find folder for scene {id}") from exc
|
||||
continue
|
||||
break
|
||||
|
||||
with io.open(
|
||||
os.path.join(old_path, "XduScene.json"), "w", encoding="utf-8"
|
||||
) as json_file:
|
||||
json.dump(scenes, json_file, ensure_ascii=False, indent="\t", sort_keys=True)
|
||||
if not is_global:
|
||||
with io.open(
|
||||
os.path.join(old_path, "XduScene.json"), "w", encoding="utf-8"
|
||||
) as json_file:
|
||||
json.dump(
|
||||
scenes, json_file, ensure_ascii=False, indent="\t", sort_keys=True
|
||||
)
|
||||
|
||||
for lang in languages:
|
||||
out_dict = {}
|
||||
if lang == "jpn":
|
||||
if lang == "jpn" or is_global:
|
||||
for key, value in scenes.items():
|
||||
out_dict[key] = {
|
||||
"Name": value["Name"],
|
||||
|
|
@ -68,17 +80,20 @@ def scene_mst(qdb, old_path, dir_in, languages, utage_in):
|
|||
)
|
||||
|
||||
|
||||
def quest_mst(qdb, old_path, languages):
|
||||
def quest_mst(qdb, old_path, languages, is_global):
|
||||
quests = qdb.get_quests()
|
||||
|
||||
with io.open(
|
||||
os.path.join(old_path, "XduQuest.json"), "w", encoding="utf-8"
|
||||
) as json_file:
|
||||
json.dump(quests, json_file, ensure_ascii=False, indent="\t", sort_keys=True)
|
||||
if not is_global:
|
||||
with io.open(
|
||||
os.path.join(old_path, "XduQuest.json"), "w", encoding="utf-8"
|
||||
) as json_file:
|
||||
json.dump(
|
||||
quests, json_file, ensure_ascii=False, indent="\t", sort_keys=True
|
||||
)
|
||||
|
||||
for lang in languages:
|
||||
out_dict = {}
|
||||
if lang == "jpn":
|
||||
if lang == "jpn" or is_global:
|
||||
for key, value in quests.items():
|
||||
out_dict[key] = {"Name": value["Name"], "Enabled": False}
|
||||
else:
|
||||
|
|
@ -99,7 +114,7 @@ def quest_mst(qdb, old_path, languages):
|
|||
return quests
|
||||
|
||||
|
||||
def load_locations(dir_in, utage_in):
|
||||
def load_locations(utage_in):
|
||||
locations = {}
|
||||
settings = glob("{}/**/Settings/Scenario.tsv".format(utage_in), recursive=True,)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue