fix: 优先使用香槟炸弹原皮的本地模型覆盖 (#442)
This commit is contained in:
1 parent
1db8e51023
commit
7ecc80d537
10 files changed
+111
-23
No files matched your search
@@ -48,9 +48,9 @@ describe('extract.py helpers (no UnityPy needed)', { skip: !PY && 'no python3' }
|
||||
assert.equal(tokenSpines.bundles, 'pkgrps/btl_pfb_tokens_*.ab');
|
||||
assert.equal(tokenSpines.sub, 'spine/token');
|
||||
assert.equal(enemySpines.sub, 'spine/enemy');
|
||||
// every listed id is a token of the game data without a web model (data/assets.json tokens[id].spine), sorted, unique
|
||||
// Sorted game tokens whose original model needs local art; champagne has a web skin fallback.
|
||||
const ids = tokenSpines.ids;
|
||||
assert.equal(ids.length, 39);
|
||||
assert.equal(ids.length, 40);
|
||||
assert.deepEqual([...ids].sort(), ids);
|
||||
assert.equal(new Set(ids).size, ids.length);
|
||||
const tokens = JSON.parse(readFileSync(path.join(ROOT, 'data/tokens.json'), 'utf8'));
|
||||
@@ -58,7 +58,8 @@ describe('extract.py helpers (no UnityPy needed)', { skip: !PY && 'no python3' }
|
||||
const web = JSON.parse(readFileSync(path.join(ROOT, 'data/assets.json'), 'utf8')).tokens;
|
||||
for (const id of ids) {
|
||||
assert.ok(tokens[id] || backups.tokens[id], `${id}: a token of the game data`);
|
||||
assert.equal(web[id]?.spine, undefined, `${id}: no web model`);
|
||||
if (id === 'token_10031_swire2_gdtrap') assert.match(web[id]?.spine?.skel, /ambienceSynesthesia_4/, 'champagne keeps its skin fallback');
|
||||
else assert.equal(web[id]?.spine, undefined, `${id}: no web model`);
|
||||
}
|
||||
// the 自选 summons whose prefab draws nothing (an EmptyAnimator: displayType HIDDEN / an effect) are left out
|
||||
for (const id of ['token_10039_ulpia_block', 'token_10055_phatm2_mndclv', 'token_10058_sbell2_icetgt', 'token_10065_demetr_dmtpos',
|
||||
|
||||
Reference in new issue
Block a user