feedback5 WE1: 「同时攻击阻挡的所有敌人」 takes up to the block count of targets from the range, blocked first (the queued centurion question; Mon3tr S3)

PRTS 分支特性信息 强攻手 / 重剑手 / 推击手 "普通攻击最大目标数等于阻挡数(不会低于1)"; PRTS 作战机制 §AOE "锁定人数的无弹道AOE攻击
(例如近卫分支“强攻手”)…在抬手时选取范围内的全体目标(不超过其攻击目标上限)"; PRTS 忍冬 S3 备注 "可对空". The client's selectors of
the branch traits and of every kit skill marked hitAllBlocked carry _limitedMaxTargetNumToBlockedCnt (_allowZeroBlockCntLimit
off) — charpacks extracted 2026-10-06.

- ai.js: hitAllBlocked no longer returns just the blocked enemies; targetCount = max(1, block count) (+ maxTargets mods)
  of targets from the range and the blocked enemies, blocked first. Mon3tr S3 drops maxTargets 1; 凯尔希's Mon3tr under
  S2 picks its targets the same way. [ASSUMED] maxTargets mods add; 忍冬 S3's range-only note not modelled.

Golden: 52 scenarios, each with a hitAllBlocked attacker (probe-checked) — roster-001, -003, -004, -007, -009, -011,
-013, -014, -015, -016, -020, -022, -023, -024, -030, -032, -038, -040, -041, -042, -043, -049; bond-sargonShip-high,
bond-soloShip-low, bond-soloShip-high, bond-yanShip-low; boss-boss_4-solo, boss-boss_6-solo, boss-boss_7-solo,
hidden-boss_9-solo, hidden-boss_10-solo; matches solo-NORMAL-1, solo-ABYSS-1, coop3-ABYSS-5, coop4-FUNNY-6,
coop4-ABYSS-7, coop2-NORMAL-70-diy; diy-013, -014, -033, -034, -035, -037, -038, -039, -051, -053, -076, -078, -109,
-127, -130. standins unchanged.

Tests: test/sim/feedback5-block-targets.test.js (new, 2). Updated on purpose: feedback1-transform.test.js (its real round
relied on 百炼嘉维尔 — a 强攻手 — falling; the ember-walks-on check is now a deterministic sub-test). test/content and
test/sim pass. Docs: SIM.md centurion row, professions.js header.
This commit is contained in:
sganggs committed 2026-10-06 16:28:31 +08:00
1 parent b2d3964478
commit 97454d8cda
12 files changed
+860 -776

No files matched your search

+41 -41
View File
@@ -1092,8 +1092,8 @@
"round": 10,
"seed": 366142181,
"waveId": "act1autochess_h03",
"time": 115.23,
"ticks": 3457,
"time": 107.17,
"ticks": 3215,
"reason": "cleared",
"killed": 30,
"total": 30,
@@ -1101,22 +1101,22 @@
"bossHpLeft": null,
"rngDraws": 45,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":261171,"bossDmg":0,"heal":2449,"deaths":2,"layerGains":{}}},
"players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":262083,"bossDmg":0,"heal":1774,"deaths":2,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_1_12_b",1,"uniequip_002_estell",3725.8,1,2,0,0,0,239,0,0],
["p1",2,"op","chess_char_2_08_b",1,"uniequip_002_bubble",4709.8,1,3,0,0,0,302,0,0],
["p1",3,"op","chess_char_3_06_b",1,"uniequip_002_philae",5606.8,1,4,1,24013,2355,1801,4,1],
["p1",4,"op","chess_char_4_23_b",2,"uniequip_002_gvial2",0,0,5,15,153388,2811,0,91,1],
["p1",1,"op","chess_char_1_12_b",1,"uniequip_002_estell",3725.8,1,2,0,0,0,74,0,0],
["p1",2,"op","chess_char_2_08_b",1,"uniequip_002_bubble",4709.8,1,3,0,0,0,93,0,0],
["p1",3,"op","chess_char_3_06_b",1,"uniequip_002_philae",6058.8,1,4,1,10213,1356,1575,4,1],
["p1",4,"op","chess_char_4_23_b",2,"uniequip_002_gvial2",0,0,5,15,168100,2811,0,95,1],
["p1",5,"op","chess_char_4_22_b",2,"uniequip_002_svrash",2569,1,39,14,46565,2569,0,29,1],
["p1",6,"op","chess_char_2_06_b",0,"uniequip_002_papyrs",1639,1,7,0,0,0,0,0,0],
["p1",7,"op","chess_char_3_13_b",1,"uniequip_002_malist",1375,1,8,0,37205,0,0,45,11],
["p1",8,"op","chess_char_4_25_b",2,"uniequip_002_cetsyr",1671,1,1,0,0,0,107,0,2]
["p1",8,"op","chess_char_4_25_b",2,"uniequip_002_cetsyr",1671,1,1,0,0,0,33,0,2]
],
"enemies": {"enemy_1006_shield_3":[3,3,0,5144,138240],"enemy_1043_zomsbr":[23,23,0,27,70867],"enemy_1402_tgshd_2":[4,4,0,1710,59904]},
"hooks": [1,39,3457,189,189,497,658,1966,32,32,16,14,0,6431,0,15,30,0,1,46,0,1,0],
"events": {"atk":223,"deploy":9,"die":32,"dmg":658,"engage":4,"fx":139,"skill":30,"spawn":38,"status":58},
"fx": {"aoe":5,"burst":1,"expose":63,"jungleSoul":1,"mote":20,"redistribute":26,"reweave":2,"slash":20,"truesilver":1},
"snaps": "2c6321b4 cd26a52a 35d00153 768015bd a713b34d 0b4964a8 90977dae 1025594f ae168eba 200c4ff8 fb80b1c9 d239668a"
"enemies": {"enemy_1006_shield_3":[3,3,0,4529,138240],"enemy_1043_zomsbr":[23,23,0,0,70299],"enemy_1402_tgshd_2":[4,4,0,1411,59904]},
"hooks": [1,39,3215,187,187,459,661,1687,32,32,16,14,0,6627,0,9,30,0,1,46,0,1,0],
"events": {"atk":235,"deploy":9,"die":32,"dmg":661,"engage":4,"fx":133,"skill":30,"spawn":38,"status":51},
"fx": {"aoe":2,"burst":1,"expose":66,"jungleSoul":1,"mote":18,"redistribute":22,"reweave":2,"slash":20,"truesilver":1},
"snaps": "2c6321b4 cd26a52a 35d00153 bf3bff60 b69e4296 fde5eeb3 102b572c e4ced46f b17c5537 712cd538 fa291588"
},
"bond-siracusaShip-low": {
"about": "叙拉古 low: tier 1 layers 1; chess_char_3_06_a chess_char_1_08_a chess_char_2_16_a chess_char_3_02_a chess_char_3_03_a chess_char_3_04_a chess_char_3_05_a chess_char_1_07_a",
@@ -1274,8 +1274,8 @@
"round": 5,
"seed": 2364080280,
"waveId": "act1autochess_05",
"time": 55.27,
"ticks": 1658,
"time": 49.93,
"ticks": 1498,
"reason": "cleared",
"killed": 17,
"total": 17,
@@ -1300,22 +1300,22 @@
},
"units": [
["p1",1,"op","chess_char_3_16_a",1,null,2716.25,1,3,0,0,0,0,0,0],
["p1",2,"op","chess_char_4_01_a",2,null,490.03,1,5,5,18622,3731,0,21,1],
["p1",3,"op","chess_char_1_08_a",1,null,0,0,6,2,12261,2377,0,21,1],
["p1",4,"op","chess_char_3_18_a",2,null,0,0,10,4,25010,1851,0,39,1],
["p1",2,"op","chess_char_4_01_a",2,null,0,0,5,2,12361,4221,0,16,1],
["p1",3,"op","chess_char_1_08_a",1,null,0,0,6,0,3876,2377,0,11,1],
["p1",4,"op","chess_char_3_18_a",2,null,924.43,1,10,7,47345,927,0,49,2],
["p1",5,"op","chess_char_3_19_a",2,null,1798.75,1,7,3,11486,0,0,25,1],
["p1",6,"op","chess_char_3_20_a",1,null,1401.25,1,9,0,1027,0,0,9,1],
["p1",7,"op","chess_char_3_21_a",2,null,1705,1,11,1,17937,0,0,26,1],
["p1",8,"op","chess_char_4_02_a",2,null,1785,1,4,1,38572,0,0,11,1],
["p1",8,"op","chess_char_4_02_a",2,null,1785,1,4,3,30882,0,0,8,1],
["p1",9,"token","token_10028_vigil_wolf",null,null,852.9,1,8,1,1229,27,0,3,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]
],
"enemies": {"enemy_1116_liprr":[11,11,0,81,69696],"enemy_1116_liprr_2":[4,4,0,597,34560],"enemy_1118_lidbox_2":[2,2,0,7308,21888]},
"hooks": [1,28,1658,195,195,307,307,0,19,19,7,5,8,7042,23,23,17,0,1,23,4,0,0],
"events": {"atk":227,"deploy":9,"die":19,"dmg":304,"engage":8,"fx":46,"layer":4,"skill":12,"spawn":28,"status":82},
"fx": {"aoe":1,"camouflage":1,"counter":8,"displace":16,"dp":3,"garrison":4,"liberate":3,"ripple":5,"sermon":1,"shield":3,"wolfShadow":1},
"snaps": "d8f99986 bbaac23c 1944ea9b 8b8991ea 554e517e e669d3b2"
"enemies": {"enemy_1116_liprr":[11,11,0,68,69696],"enemy_1116_liprr_2":[4,4,0,886,34560],"enemy_1118_lidbox_2":[2,2,0,6598,21888]},
"hooks": [1,28,1498,188,188,328,328,0,19,19,8,5,8,6842,40,21,17,0,1,25,4,0,0],
"events": {"atk":236,"deploy":9,"die":19,"dmg":324,"engage":8,"fx":43,"layer":4,"skill":13,"spawn":28,"status":116},
"fx": {"aoe":1,"camouflage":1,"counter":8,"displace":14,"dp":3,"garrison":4,"liberate":4,"ripple":4,"sermon":1,"shield":2,"wolfShadow":1},
"snaps": "d8f99986 287fd6f2 d2481758 e00d8e59 1fbeb62a"
},
"bond-soloShip-high": {
"about": "独行 high: tier 1 layers 999; chess_char_5_19_b chess_char_1_08_b chess_char_5_13_b chess_char_5_14_b chess_char_5_17_b chess_char_5_12_b chess_char_5_15_b chess_char_5_20_b",
@@ -1340,11 +1340,11 @@
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,6,14,30475,0,0,18,1],
["p1",2,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,5,3785,3184,49,15,2],
["p1",3,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3364.8,1,8,4,15438,6038,339,21,1],
["p1",4,"op","chess_char_5_14_b",1,"none",1994,1,78,10,19726,1994,0,15,6],
["p1",5,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,77,11,24513,3763,1025,28,1],
["p1",4,"op","chess_char_5_14_b",1,"none",1994,1,78,6,19723,1994,0,14,6],
["p1",5,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,77,15,24518,3763,1025,28,1],
["p1",6,"op","chess_char_5_12_b",0,"uniequip_002_dusk",1787,1,4,4,11386,0,0,9,7],
["p1",7,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,5,10,18019,0,1048,11,3],
["p1",8,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,9,6,25353,0,0,21,2],
["p1",8,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,9,6,25351,0,0,21,2],
["-","~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],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
@@ -1357,10 +1357,10 @@
"enemy_1207_sfji": [2,1,1,13786,47793],
"enemy_1208_msfji": [1,1,0,0,25]
},
"hooks": [1,78,2626,155,155,302,300,516,67,68,23,23,0,7240,51,17,65,1,1,76,0,0,2],
"events": {"atk":196,"deploy":10,"die":67,"dmg":300,"engage":8,"fx":92,"heal":10,"leak":1,"skill":46,"spawn":76,"status":134},
"hooks": [1,78,2626,154,154,302,300,516,67,68,23,23,0,7240,49,17,65,1,1,76,0,0,2],
"events": {"atk":200,"deploy":10,"die":67,"dmg":300,"engage":8,"fx":92,"heal":10,"leak":1,"skill":46,"spawn":76,"status":133},
"fx": {"aoe":9,"crit":5,"dodge":2,"dp":2,"sp":3,"substitute":2,"summon":20,"swap":1,"weightless":2,"zone":46},
"snaps": "99559343 52eb516e 8c8b7ef6 281371a1 630aa06b de79dc33 4dcfb40f def3e521 70c5b535"
"snaps": "99559343 38c0d1a5 4c359c39 82e6b34e fe2582dc d30cdc48 04b1e430 0f96ba1e 89fac4be"
},
"bond-steadShip-low": {
"about": "坚守 low: tier 1 layers 1; chess_char_1_02_a chess_char_1_10_a chess_char_4_11_a chess_char_4_04_a chess_char_4_07_a chess_char_4_09_a chess_char_4_06_a chess_char_4_10_a token_10041_cathy_catsld token_10041_cathy_catsld",
@@ -1761,8 +1761,8 @@
"round": 5,
"seed": 1009948961,
"waveId": "act1autochess_05",
"time": 68.2,
"ticks": 2046,
"time": 61.97,
"ticks": 1859,
"reason": "cleared",
"killed": 22,
"total": 22,
@@ -1773,23 +1773,23 @@
"players": {"p1":{"killed":22,"total":22,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":91008,"bossDmg":0,"heal":152,"deaths":1,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_3_16_a",1,null,2173,1,8,0,0,0,0,0,0],
["p1",2,"op","chess_char_3_03_a",1,null,315.44,1,9,6,21318,1063,0,41,1],
["p1",3,"op","chess_char_3_18_a",2,null,0,0,10,8,18495,1633,152,44,2],
["p1",4,"op","chess_char_1_03_a",1,null,1041,1,4,0,11440,0,0,14,1],
["p1",2,"op","chess_char_3_03_a",1,null,978.64,1,9,10,18910,399,0,35,0],
["p1",3,"op","chess_char_3_18_a",2,null,0,0,10,4,23899,1633,152,43,2],
["p1",4,"op","chess_char_1_03_a",1,null,1041,1,4,1,9079,0,0,9,1],
["p1",5,"op","chess_char_2_04_a",1,null,977,1,5,0,0,0,0,0,0],
["p1",6,"op","chess_char_3_14_a",1,null,1251,1,11,3,8198,0,0,37,1],
["p1",7,"op","chess_char_3_17_a",1,null,2246,1,12,5,31559,0,0,48,3],
["p1",6,"op","chess_char_3_14_a",1,null,1251,1,11,1,7634,0,0,33,1],
["p1",7,"op","chess_char_3_17_a",1,null,2246,1,12,6,31486,0,0,48,3],
["p1",8,"op","chess_char_3_19_a",2,null,1439,1,6,0,0,0,0,0,1],
["p1",9,"token","token_10028_vigil_wolf",null,null,880,1,7,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],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
],
"enemies": {"enemy_1166_dusbr":[15,15,0,190,51840],"enemy_1169_duphlx":[5,5,0,116,23040],"enemy_1170_dushld":[2,2,0,2390,16128]},
"hooks": [1,34,2046,213,213,315,315,77,23,23,9,7,0,7419,63,18,22,0,1,29,0,0,0],
"events": {"atk":268,"deploy":9,"die":23,"dmg":315,"engage":5,"fx":8,"skill":16,"spawn":34,"status":159},
"enemies": {"enemy_1166_dusbr":[15,15,0,163,51840],"enemy_1169_duphlx":[5,5,0,87,23040],"enemy_1170_dushld":[2,2,0,1783,16128]},
"hooks": [1,34,1859,191,191,299,299,77,23,23,8,7,0,7045,59,19,22,0,1,25,0,0,0],
"events": {"atk":248,"deploy":9,"die":23,"dmg":299,"engage":5,"fx":8,"skill":15,"spawn":34,"status":150},
"fx": {"camouflage":1,"dp":3,"volley":3,"wolfShadow":1},
"snaps": "597235cf 9f561b3b e1db7f6a 1ef5a32b ee620be8 38fd1ac1 b44da1ec"
"snaps": "597235cf dd7dc4c1 9453a8aa c14bf7c3 8cea5518 9135a94b 3e0d971b"
},
"bond-yanShip-high": {
"about": "炎 high: tier 3 layers 999; chess_char_4_17_b chess_char_6_03_b chess_char_3_03_b chess_char_3_04_b chess_char_1_03_b chess_char_2_04_b chess_char_5_03_b chess_char_5_12_b chess_char_5_23_b",