国服特色数据修正

This commit is contained in:
2026-06-28 00:09:17 +08:00
parent 6c71bdf737
commit 8199275181
10 changed files with 97 additions and 615 deletions
+18 -8
View File
@@ -8,7 +8,13 @@ import redis
from api.core.Gzip import gzip_zip
from api.utils.skill_detail import SKILL_DETAIL_NORMALIZE_VERSION, normalize_skill_detail
from api.utils.skill_tree import SKILL_TREE_WITH_DESC_SPECIAL_VERSION, load_skill_tree_with_desc_special
from api.utils.openapi_data import logical_skill_detail_prefix
from api.utils.skill_tree import (
SKILL_TREE_NAME_MAP_VERSION,
SKILL_TREE_WITH_DESC_SPECIAL_VERSION,
load_skill_tree_name_map,
load_skill_tree_with_desc_special,
)
from core.basic.character import createCharacter
from core.basic.equipment import get_equipment
from core.character.adventure import adv, get_adv_list
@@ -19,7 +25,6 @@ PreheatLoader = Callable[[], object]
PreheatTask = tuple[str, PreheatLoader]
PREHEAT_LOCK_KEY = 'dcalc_sys:preheat:lock'
PREHEAT_LOCK_EXPIRE_SECONDS = 15 * 60
SKILL_DETAIL_PARTS = ('cn', 'skillDetail')
def _load_skills():
@@ -56,12 +61,11 @@ def _build_character_preheat_tasks(equ_version: str = '0') -> list[PreheatTask]:
def _iter_skill_detail_files() -> list[Path]:
data_dir = BACKEND_DIR / 'openapi' / 'data'
return sorted(data_dir.glob('*/' + '*/' + '/'.join(SKILL_DETAIL_PARTS) + '/*.json'))
return sorted(data_dir.glob('cn/*/*/skillDetail/*.json'))
def _skill_prefix_from_path(path: Path) -> str:
relative = path.relative_to(BACKEND_DIR / 'openapi' / 'data').with_suffix('')
return relative.as_posix()
return logical_skill_detail_prefix(path)
def _openapi_skill_detail_key(prefix: str) -> str:
@@ -141,16 +145,22 @@ def _build_skill_data_preheat_tasks(custom_cn: list[dict]) -> list[PreheatTask]:
def _build_skill_tree_preheat_tasks() -> list[PreheatTask]:
tasks: list[PreheatTask] = []
data_dir = BACKEND_DIR / 'openapi' / 'data'
for path in sorted(data_dir.glob('*/' + '*/cn/skill_tree.json')):
for path in sorted(data_dir.glob('cn/*/*/skill_tree.json')):
relative = path.relative_to(data_dir)
job_id = relative.parts[0]
job_grow_id = relative.parts[1]
job_id = relative.parts[1]
job_grow_id = relative.parts[2]
tasks.append(
(
f'openapi:{SKILL_TREE_WITH_DESC_SPECIAL_VERSION}:{job_id}:{job_grow_id}:skills',
lambda job_id=job_id, job_grow_id=job_grow_id: load_skill_tree_with_desc_special(job_id, job_grow_id),
)
)
tasks.append(
(
f'openapi:{SKILL_TREE_NAME_MAP_VERSION}:{job_id}:{job_grow_id}:nameMap',
lambda job_id=job_id, job_grow_id=job_grow_id: load_skill_tree_name_map(job_id, job_grow_id),
)
)
return tasks