0.2.3: prepare follow-up fixes and client features (#407, #408, #410, #413, #431, #435, #436, #440, #444)

Add special-target activation without bypassing attack cadence, cooperative
card preferences and emotes, skill sound banks, per-operator voice choices,
text sizing, install prompts, closed-tab recovery and unanimous setup rerolls.
Retain late deployment elapsed time and resolve echo/counter pulses without
recursive hook overflow. Independent final review remains pending.

Golden: roster-016, roster-035, roster-036, roster-045;
boss-boss_1-pair, boss-boss_3-pair, boss-boss_5-pair, boss-boss_7-pair,
hidden-boss_9-pair; solo-HARD-9-boosted: Lemuen attack cadence.
diy-132: Necras extra activation targets.
coop2-NORMAL-14-standins: cooperative purchase preference and simulation fixes.
hidden-boss_10-solo: echo pulse FIFO resolution.
See DESIGN 28.13-28.24 for assumptions, sources and contributor credit.
This commit is contained in:
sganggs committed 2026-10-09 22:55:24 +08:00
1 parent 314564c139
commit f3658a0dd4
104 files changed
+3674 -741

No files matched your search

+54 -54
View File
@@ -1010,71 +1010,71 @@
"round": 12,
"seed": 3545615126,
"waveId": "act1autochess_h05",
"time": 226.4,
"ticks": 6792,
"reason": "cleared",
"killed": 104,
"time": 230,
"ticks": 6900,
"reason": "timeout",
"killed": 105,
"total": 126,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 605,
"rngDraws": 633,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {
"killed": 104,
"killed": 105,
"total": 126,
"perfect": false,
"leaks": 23,
"leaks": 22,
"leaksUncounted": 0,
"coins": 10,
"dmg": 4885870,
"dmg": 5000855,
"bossDmg": 0,
"heal": 80735,
"deaths": 7,
"heal": 92236,
"deaths": 4,
"layerGains": {"preciShip":4}
}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",4297.7,1,130,8,555859,4578,280,79,4],
["p1",2,"op","chess_char_6_03_a",2,null,2973.3,1,122,1,90690,18321,9211,67,2],
["p1",3,"op","chess_char_6_06_a",2,null,2445.3,1,135,8,553051,18507,837,91,2],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",3011.8,1,8,8,248468,28911,11557,331,1],
["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1520.2,1,10,2,160362,0,0,48,5],
["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1791.9,1,85,1,369795,3362,889,125,3],
["p1",7,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1772.1,1,128,1,4914,2027,255,5,3],
["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1771,1,127,0,0,4860,52445,66,4],
["p1",9,"op","chess_char_6_01_a",2,null,1273.8,1,5,43,1148844,1462,452,98,5],
["p1",10,"op","chess_char_6_02_a",2,null,1855.7,1,7,27,1342901,1863,429,73,3],
["p1",11,"op","chess_char_6_04_a",2,null,1322.2,1,9,0,96272,9110,2272,0,4],
["p1",12,"op","chess_char_6_05_a",2,null,1336.5,1,59,3,314713,3845,2107,69,5],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",4297.7,1,2,18,602485,3572,935,94,5],
["p1",2,"op","chess_char_6_03_a",2,null,4459.95,1,4,1,125610,20086,15136,82,3],
["p1",3,"op","chess_char_6_06_a",2,null,2445.3,1,139,7,554612,19329,583,71,2],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",3011.8,1,8,9,204346,33430,14620,337,1],
["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1520.2,1,10,2,144300,0,0,44,5],
["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1791.9,1,85,1,319504,3362,889,122,3],
["p1",7,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1772.1,1,1,1,13078,1242,569,7,3],
["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1771,1,3,0,0,1352,54601,78,4],
["p1",9,"op","chess_char_6_01_a",2,null,1273.8,1,5,38,1233629,1462,645,97,5],
["p1",10,"op","chess_char_6_02_a",2,null,1855.7,1,7,23,1379878,2121,288,76,3],
["p1",11,"op","chess_char_6_04_a",2,null,1322.2,1,9,3,102446,10462,1863,0,4],
["p1",12,"op","chess_char_6_05_a",2,null,1336.5,1,59,2,320966,3845,2107,69,5],
["p1",13,"token","token_10017_skadi2_dedant",null,null,100,0,13,0,0,0,0,0,null],
["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,60,0,0,0,0,0,null],
["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,101,0,0,0,0,0,null],
["p1","~3","token","token_10017_skadi2_dedant",null,null,100,0,144,0,0,0,0,0,null],
["p1","~4","token","token_10017_skadi2_dedant",null,null,100,1,152,0,0,0,0,0,null]
["p1","~3","token","token_10017_skadi2_dedant",null,null,100,0,141,0,0,0,0,0,null],
["p1","~4","token","token_10017_skadi2_dedant",null,null,100,1,149,0,0,0,0,0,null]
],
"enemies": {
"enemy_10045_parrot": [1,0,1,0,59936],
"enemy_10098_crhro": [1,1,0,8773,185752],
"enemy_10124_uashld_2": [12,9,3,44779,1527741],
"enemy_10045_parrot": [1,0,1,0,53667],
"enemy_10098_crhro": [1,0,1,6535,161143],
"enemy_10124_uashld_2": [12,8,3,46823,1543522],
"enemy_1019_jshoot_2": [1,1,0,1629,16718],
"enemy_1043_zomsbr": [72,61,11,66,1082509],
"enemy_1061_zomshd": [30,25,5,9861,1798745],
"enemy_1043_zomsbr": [72,62,10,101,1105813],
"enemy_1061_zomshd": [30,26,4,12386,1814925],
"enemy_1072_dlancer": [1,1,0,271,37150],
"enemy_1165_duhond": [1,1,0,0,17337],
"enemy_1165_duhond": [1,1,0,86,17337],
"enemy_1196_msfyin_2": [1,1,0,0,9],
"enemy_1209_sfden_2": [1,1,0,2344,111451],
"enemy_1210_msfden_2": [1,0,1,0,13],
"enemy_1273_stmgun_2": [1,0,1,23833,36689],
"enemy_1209_sfden_2": [1,1,0,781,111451],
"enemy_1210_msfden_2": [1,0,1,0,36],
"enemy_1273_stmgun_2": [1,1,0,26361,111451],
"enemy_1355_mrfly": [1,1,0,0,37150],
"enemy_1433_dsbasi_2": [1,1,0,0,35293],
"enemy_2001_duckmi_2": [1,1,0,0,37150],
"enemy_9006_actoxi": [1,0,1,0,5530]
"enemy_9006_actoxi": [1,0,1,0,25174]
},
"hooks": [1,151,6792,1051,1131,7506,7729,62877,111,138,41,38,29,39389,1162,40,127,23,1,120,2,9,8],
"events": {"atk":2382,"bounty":5,"deploy":24,"die":115,"dmg":7649,"engage":10,"fx":578,"heal":102,"layer":2,"leak":23,"skill":79,"spawn":144,"status":2786},
"fx": {"aoe":7,"bombard":29,"bombardShell":29,"burst":9,"crit":56,"dodge":8,"explode":29,"firewall":2,"garrison":2,"iceSpike":99,"lightning":127,"lock":29,"lure":3,"revive":1,"snow":75,"sp":2,"storm":5,"summon":1,"talent":1,"telegraph":8,"tide":4,"wanted":47,"weightless":5},
"snaps": "fe3def4e d483c136 ee2f3c0d 07a1e547 9d76e528 885dce23 cc4899ef 0f9faea8 eff043fe 32300c6f 2224c6d6 e3df2d18 9d122a08 27bee743 0d07fc4f f4421c12 c5ec3c4a fe540660 e802505f c9d74e16 6b47afbe e6a0a4fc 8246b490"
"hooks": [1,148,6900,1084,1158,7800,8054,66853,109,134,43,38,29,40854,1160,49,127,21,1,125,2,12,7],
"events": {"atk":2485,"bounty":5,"deploy":21,"die":113,"dmg":7974,"engage":10,"fx":604,"heal":118,"layer":2,"leak":21,"skill":81,"spawn":144,"status":2763},
"fx": {"aoe":8,"bombard":29,"bombardShell":29,"burst":12,"crit":66,"dodge":7,"explode":30,"firewall":3,"garrison":2,"iceSpike":99,"lightning":139,"lock":29,"lure":3,"revive":1,"snow":74,"soul":1,"sp":1,"storm":5,"summon":1,"talent":1,"telegraph":7,"tide":4,"wanted":48,"weightless":5},
"snaps": "fe3def4e 60ce0e98 68e4eff1 0ab18079 e3445176 db32929f bf23ff70 1142d3b6 bc663bbd dde23a5f 8df8a873 85d69b81 c70cdc4f 94132718 683de6ff 1eccc1af f1c61b7b 2bf8e444 50898a85 e25629e3 913e8ab6 2f3a3189 fa6f8200"
},
"roster-017": {
"about": "pass 0 band 6: chess_char_6_15_a chess_char_6_19_a chess_char_6_07_a chess_char_6_17_a chess_char_6_08_a chess_char_6_09_a chess_char_6_11_a chess_char_6_12_a chess_char_6_13_a chess_char_6_14_a chess_char_6_16_a chess_char_6_18_a",
@@ -2195,7 +2195,7 @@
"hooks": [1,142,5560,344,344,550,908,981,125,128,57,54,6,14497,442,7,125,0,1,126,2,25,0],
"events": {"atk":520,"bounty":4,"deploy":17,"die":128,"dmg":908,"engage":6,"fx":229,"heal":14,"layer":2,"skill":111,"spawn":142,"status":726},
"fx": {"bombard":2,"bombardShell":2,"burst":25,"copy":1,"expose":118,"frostNova":1,"garrison":2,"heal":3,"phase":1,"pulse":2,"shieldBreak":1,"snow":14,"soul":2,"sp":39,"talent":1,"wanted":15},
"snaps": "1fd81580 e8b29c39 8fe3be2e 22869cd5 83901ef4 36107212 007246d4 0fbda2dd d9aefee2 c69d102c cac8d601 30f7a8ad 606c1bdc d241a31d d8ce3067 1c139be5 14565097 4a7b95ab ecf99e3e"
"snaps": "1fd81580 e8b29c39 8fe3be2e 22869cd5 83901ef4 e9e63622 d75e0fd3 81f144f2 93d80511 36f4b653 603069de 9337b18e 35d5c75b f92e33e2 ae44a508 733b9e86 63b04f00 a1c2df3c f8192841"
},
"roster-036": {
"about": "pass 1 band 7: chess_char_6_03_b chess_char_6_15_a chess_char_6_19_a chess_char_6_17_a chess_char_6_12_a chess_char_6_13_a chess_char_6_14_a chess_char_6_16_a chess_char_6_18_a chess_char_6_20_a chess_char_6_01_b chess_char_6_02_b",
@@ -2262,7 +2262,7 @@
"hooks": [1,157,6221,639,638,1374,1624,8342,92,147,56,54,59,23902,3684,26,130,55,1,92,2,4,0],
"events": {"atk":680,"bounty":2,"deploy":24,"die":92,"dmg":1417,"engage":9,"fx":644,"heal":524,"layer":2,"leak":55,"skill":110,"spawn":145,"status":871},
"fx": {"airstrike":15,"aoe":3,"burst":4,"displace":2,"explode":16,"expose":460,"frostNova":17,"garrison":2,"healField":15,"link":1,"phase":1,"snow":37,"sunBurst":2,"talent":7,"telegraph":2,"wanted":60},
"snaps": "352a6117 5197ba48 10f9a2ae 33f679df 3665a8ee 49550c0d 3f360174 ce1f9cce 89c5196c 39a34bf7 31facd72 20cbae52 17caf576 03e5ee75 5a29cf38 cd4bf8d3 6a8928c3 7ccff12b 527fbb07 bf017b13 a9045a61"
"snaps": "352a6117 5197ba48 22ff25c2 16105f43 67bd4112 04c5a2b1 e4e63a95 9087d64d 41e697b3 8e3b24fc fa002205 4a75e62c 71798688 e3c0247f 3b14b2c2 04aa6c52 2d90b642 4764ab7a 541b8b1e 598e0a94 ca28421b"
},
"roster-037": {
"about": "pass 1 band 7: chess_char_6_06_b chess_char_6_15_b chess_char_6_07_b chess_char_6_04_b chess_char_6_05_b chess_char_6_08_b chess_char_6_09_b chess_char_6_11_b chess_char_6_12_b chess_char_6_13_b chess_char_6_14_b chess_char_6_16_b token_10017_skadi2_dedant token_10030_mlyss_wtrman",
@@ -2790,9 +2790,9 @@
"leaks": 0,
"leaksUncounted": 0,
"coins": 8,
"dmg": 1238376,
"dmg": 1238096,
"bossDmg": 0,
"heal": 9730,
"heal": 9576,
"deaths": 0,
"layerGains": {"lateranoShip":12,"preciShip":8}
}
@@ -2801,15 +2801,15 @@
["p1",1,"op","chess_char_6_03_a",1,null,5054.61,1,7,0,0,0,0,0,0],
["p1",2,"op","chess_char_6_06_a",1,null,2445.3,1,9,1,1,0,0,1,1],
["p1",3,"op","chess_char_6_07_a",1,null,2420,1,10,0,0,0,0,0,0],
["p1",4,"op","chess_char_6_01_a",1,null,1273.8,1,4,26,302286,0,0,36,3],
["p1",4,"op","chess_char_6_01_a",1,null,1273.8,1,4,31,302479,0,0,39,3],
["p1",5,"op","chess_char_6_02_a",1,null,1855.7,1,5,0,0,0,0,0,0],
["p1",6,"op","chess_char_6_04_a",1,null,1322.2,1,11,0,0,0,0,0,1],
["p1",7,"op","chess_char_6_05_a",1,null,1336.5,1,13,5,85739,0,0,19,2],
["p1",7,"op","chess_char_6_05_a",1,null,1336.5,1,13,5,87114,0,0,19,2],
["p1",8,"op","chess_char_6_08_a",1,null,1497.1,1,6,0,0,0,0,0,0],
["p1",9,"op","chess_char_6_09_a",2,null,1029.6,1,14,11,378876,864,864,111,2],
["p1",10,"op","chess_char_6_11_a",1,null,1634.6,1,12,6,173885,0,0,95,3],
["p1",11,"op","chess_char_6_12_a",2,null,4367.19,1,15,18,228756,5384,5403,45,2],
["p1",12,"op","chess_char_6_13_a",2,null,1892,1,8,1,68833,3462,3462,0,0],
["p1",9,"op","chess_char_6_09_a",2,null,1029.6,1,14,11,371732,711,711,110,2],
["p1",10,"op","chess_char_6_11_a",1,null,1634.6,1,12,7,173044,0,0,95,3],
["p1",11,"op","chess_char_6_12_a",2,null,4367.19,1,15,13,223002,5384,5403,46,2],
["p1",12,"op","chess_char_6_13_a",2,null,1892,1,8,0,80724,3462,3462,0,0],
["p1",13,"token","token_10017_skadi2_dedant",null,null,100,0,16,0,0,0,0,0,null],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
@@ -2825,18 +2825,18 @@
"enemy_10073_mpcar": [1,1,0,0,3110],
"enemy_1023_jmage": [1,1,0,1159,3421],
"enemy_1045_hammer_2": [12,12,0,6631,373248],
"enemy_1061_zomshd": [48,48,0,940,788876],
"enemy_1158_divman": [1,1,0,285,5132],
"enemy_1061_zomshd": [48,48,0,940,788596],
"enemy_1158_divman": [1,1,0,131,5132],
"enemy_1199_sfjin": [1,1,0,0,10109],
"enemy_1200_msfjin": [1,1,0,0,47],
"enemy_1270_nhstlk_2": [1,1,0,0,24883],
"enemy_1402_tgshd_2": [1,1,0,54,20218],
"enemy_2001_duckmi_2": [1,1,0,0,9331]
},
"hooks": [1,90,5499,356,338,701,1128,8573,68,74,14,12,41,25781,515,20,68,0,1,68,10,51,0],
"events": {"atk":361,"bounty":4,"deploy":19,"die":74,"dmg":945,"engage":6,"fx":193,"layer":10,"skill":26,"spawn":90,"status":1102},
"fx": {"airstrike":12,"burst":51,"crit":28,"dp":3,"expose":6,"garrison":6,"link":1,"lock":28,"snow":5,"summon":3,"summonStun":3,"talent":1,"wanted":46},
"snaps": "a85a8369 0a33b2f2 724f8cee 96cdeaea 2a60b953 251ce27e ef31d396 4fd327c7 e1fcf4f3 2413fe96 23f1c1b9 e60d68c2 414b5196 26676467 18daab40 3c5e3c0d 5fcd0834 02715784 017438eb"
"hooks": [1,90,5499,357,339,694,1119,8499,68,74,14,12,41,25781,509,19,68,0,1,68,10,50,0],
"events": {"atk":362,"bounty":4,"deploy":19,"die":74,"dmg":936,"engage":6,"fx":192,"layer":10,"skill":26,"spawn":90,"status":1088},
"fx": {"airstrike":12,"burst":50,"crit":28,"dp":3,"expose":6,"garrison":6,"link":1,"lock":28,"snow":5,"summon":3,"summonStun":3,"talent":1,"wanted":46},
"snaps": "a85a8369 6b6410a1 1af1f862 32a99902 bdbc1150 56475174 2f96ad8a 1db64d03 21d24dd9 2db9fdb3 1c302c59 053458d5 efcdeffa 11f04efa c2d50d10 498289e0 092a22da 8661ea58 38a6f6ff"
},
"roster-046": {
"about": "pass 2 band 7: chess_char_6_03_b chess_char_6_15_a chess_char_6_19_a chess_char_6_17_a chess_char_6_14_a chess_char_6_16_a chess_char_6_18_a chess_char_6_20_a chess_char_6_01_b chess_char_6_02_b chess_char_6_04_b chess_char_6_05_b token_10017_skadi2_dedant",