Add formal enemies, remaining formal partners and synthesized UI SFX

- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to
  buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting.
- Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn):
  Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type
  in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes.
- Formal partners for all ten pets in the arena and portraits, including new
  VineSprite, ThunderLeopard and TideWhale.
- Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands,
  configurable Unity run_script timeout, companion static stage.
- Also includes concurrent work from another tool in this working tree
  (FlameLion, enemy combat FX, challenge mode, home explorer, server updates).
- Resources registered in Doc/ResDesc_*.md; verified on isolated :18081.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
udx
2026-10-21 12:23:55 +08:00
co-authored by Claude Opus 5.5
parent 6c64210331
commit 89e0fa246f
780 changed files with 7117051 additions and 15906 deletions
+247
View File
@@ -772,6 +772,253 @@
"boss": true
}
],
"challenges": [
{
"id": 1,
"allyElement": 1,
"element": 2,
"code": "火试炼",
"name": "灼草",
"hint": "仅火元素伙伴可入场。火克制草。",
"badge": "火焰徽章",
"obtain": "用捕捉券在伙伴池结识火元素伙伴",
"shardsPet": 1,
"shards": 10,
"recommendedLevel": 1,
"elementsEnabled": true,
"hpScale": 0.35,
"attackScale": 0.6,
"waveGap": 20,
"spawnGap": 4,
"durability": 12,
"timeout": 120,
"enemyIds": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"enemyLanes": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"lanes": 1,
"reward": {
"coins": 0,
"candy": 0,
"balls": 0
},
"chapter": "属性挑战"
},
{
"id": 2,
"allyElement": 2,
"element": 3,
"code": "草试炼",
"name": "破岩",
"hint": "仅草元素伙伴可入场。草克制岩。",
"badge": "新芽徽章",
"obtain": "用捕捉券在伙伴池结识草元素伙伴",
"shardsPet": 2,
"shards": 10,
"recommendedLevel": 1,
"elementsEnabled": true,
"hpScale": 0.35,
"attackScale": 0.6,
"waveGap": 20,
"spawnGap": 4,
"durability": 12,
"timeout": 120,
"enemyIds": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"enemyLanes": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"lanes": 1,
"reward": {
"coins": 0,
"candy": 0,
"balls": 0
},
"chapter": "属性挑战"
},
{
"id": 3,
"allyElement": 3,
"element": 4,
"code": "岩试炼",
"name": "镇电",
"hint": "仅岩元素伙伴可入场。岩克制电。",
"badge": "岩纹徽章",
"obtain": "用捕捉券在伙伴池结识岩元素伙伴",
"shardsPet": 0,
"shards": 10,
"recommendedLevel": 1,
"elementsEnabled": true,
"hpScale": 0.35,
"attackScale": 0.6,
"waveGap": 20,
"spawnGap": 4,
"durability": 12,
"timeout": 120,
"enemyIds": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"enemyLanes": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"lanes": 1,
"reward": {
"coins": 0,
"candy": 0,
"balls": 0
},
"chapter": "属性挑战"
},
{
"id": 4,
"allyElement": 4,
"element": 5,
"code": "电试炼",
"name": "激流",
"hint": "仅电元素伙伴可入场。电克制水。",
"badge": "雷光徽章",
"obtain": "用捕捉券在伙伴池结识电元素伙伴",
"shardsPet": 3,
"shards": 10,
"recommendedLevel": 1,
"elementsEnabled": true,
"hpScale": 0.35,
"attackScale": 0.6,
"waveGap": 20,
"spawnGap": 4,
"durability": 12,
"timeout": 120,
"enemyIds": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"enemyLanes": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"lanes": 1,
"reward": {
"coins": 0,
"candy": 0,
"balls": 0
},
"chapter": "属性挑战"
},
{
"id": 5,
"allyElement": 5,
"element": 1,
"code": "水试炼",
"name": "熄焰",
"hint": "仅水元素伙伴可入场。水克制火。",
"badge": "潮汐徽章",
"obtain": "用捕捉券在伙伴池结识水元素伙伴",
"shardsPet": 4,
"shards": 10,
"recommendedLevel": 1,
"elementsEnabled": true,
"hpScale": 0.35,
"attackScale": 0.6,
"waveGap": 20,
"spawnGap": 4,
"durability": 12,
"timeout": 120,
"enemyIds": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"enemyLanes": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"lanes": 1,
"reward": {
"coins": 0,
"candy": 0,
"balls": 0
},
"chapter": "属性挑战"
}
],
"stages": [
{
"id": 1,