Skip to content

Commit 6eee35b

Browse files
committed
Add: [JP] island technology scanner
1 parent d671bcc commit 6eee35b

21 files changed

+452
-2
lines changed
22.6 KB
Loading
10.4 KB
Loading
11.9 KB
Loading
8.83 KB
Loading
18.2 KB
Loading
10.6 KB
Loading
9.55 KB
Loading

config/template.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1910,6 +1910,9 @@
19101910
"IslandSeasonTask": {
19111911
"TaskDict": null
19121912
},
1913+
"IslandTechnology": {
1914+
"TechnologyStatus": null
1915+
},
19131916
"Storage": {
19141917
"Storage": {}
19151918
}

dev_tools/island_extractor.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,74 @@ def write(self, file):
408408
f.write(text + '\n')
409409

410410

411+
class IslandTechnology:
412+
def __init__(self, item):
413+
self.id = item['id']
414+
self.tech_belong = item['tech_belong']
415+
self.axis_x = item['axis'][0]
416+
self.axis_y = item['axis'][1]
417+
self.island_level = item['island_level']
418+
419+
def encode(self):
420+
data = {
421+
'name': {
422+
'cn': '',
423+
'en': '',
424+
'jp': '',
425+
# 'tw': '',
426+
},
427+
'tech_belong': self.tech_belong,
428+
'axis': (self.axis_x, self.axis_y),
429+
'island_level': self.island_level,
430+
}
431+
return data
432+
433+
class IslandTechnologyExtractor:
434+
def __init__(self):
435+
self.item = {}
436+
437+
data = LOADER.load('sharecfg/island_technology_template.lua', keyword='pg.base.island_technology_template')
438+
for index, item in data.items():
439+
if not isinstance(index, int) or item['tech_belong'] == 1:
440+
continue
441+
442+
self.item[item['id']] = IslandTechnology(item).encode()
443+
444+
for index, name in self.extract_item_name('zh-CN').items():
445+
self.item[index]['name']['cn'] = name
446+
for index, name in self.extract_item_name('en-US').items():
447+
self.item[index]['name']['en'] = name
448+
for index, name in self.extract_item_name('ja-JP').items():
449+
self.item[index]['name']['jp'] = name
450+
# for index, name in self.extract_item_name('zh-TW').items():
451+
# self.item[index]['name']['tw'] = name
452+
453+
def extract_item_name(self, server):
454+
LOADER.server = server
455+
data = LOADER.load('sharecfg/island_technology_template.lua', keyword='pg.base.island_technology_template')
456+
out = {}
457+
for index, item in data.items():
458+
if not isinstance(index, int) or item['tech_belong'] == 1:
459+
continue
460+
out[item['id']] = item['tech_name']
461+
462+
return out
463+
464+
def encode(self):
465+
lines = []
466+
lines.append('DIC_ISLAND_TECHNOLOGY = {')
467+
for index, item in self.item.items():
468+
lines.append(f' {index}: {item},')
469+
lines.append('}')
470+
return lines
471+
472+
def write(self, file):
473+
print(f'writing {file}')
474+
with open(file, 'w', encoding='utf-8') as f:
475+
for text in self.encode():
476+
f.write(text + '\n')
477+
478+
411479
if __name__ == '__main__':
412480
FILE = '../AzurLaneLuaScripts'
413481
LOADER = LuaLoader(FILE, server='CN')
@@ -466,6 +534,8 @@ def write(self, file):
466534
lines += IslandSeasonalTaskExtractor().encode()
467535
lines.append('')
468536
lines += IslandRestaurantExtractor().encode()
537+
lines.append('')
538+
lines += IslandTechnologyExtractor().encode()
469539
with open(save, 'w', encoding='utf-8') as f:
470540
for text in lines:
471541
f.write(text + '\n')

module/config/argument/args.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9191,6 +9191,12 @@
91919191
"value": ""
91929192
}
91939193
},
9194+
"IslandTechnology": {
9195+
"TechnologyStatus": {
9196+
"type": "textarea",
9197+
"value": ""
9198+
}
9199+
},
91949200
"Storage": {
91959201
"Storage": {
91969202
"type": "storage",

0 commit comments

Comments
 (0)