feedback7 R22-UNBAL: 失衡 review fixes — a pulled 静态刚体 is held for the pull's window, 弧光锋卫 bleeds 400 every 0.066 s while the state lasts, no enemy skill / blink / scripted move during it, a route APPEAR or a 逐火 重生 ends it, every push row holds its exact frames; golden: 32 move, 8 in outcomes (below)
Branch review of fb7-unbalance (MERGE AFTER FIXES): 1. A 静态刚体 pulled got the 0.1 s floor: _staticForce now knows push from pull — a push's force is instant (推与拉), so 0.1 s; a pull's lasts its window (pullUnbalance: 1 s, 0.5 s below −1) — PRTS 特殊机制 静态刚体 「在失去施力后立刻」 out, 「0.1 秒保底」. pull() checks the puller's own block before the static case. 2. 弧光锋卫 (PRTS 天赋 「处于失衡状态时,每0.066s受到400点无来源真实持续伤害」, data unbalanced_bleed): a tick bleed of 400 every 0.066 s while unbalancedNow holds; the per-tile one-shot from the position jump ([ASSUMED], UNBALANCE_SPEED) is gone. A 受力等级 0 push (0.8 s) → 12 hits = 4800 (was 2037), a 急停 pull with no movement (1 s) → 15 = 6000 (was 0), a wall-shortened slide keeps the 0.8 s row → 4800. 3. 失衡免疫 「失衡期间无法自主移动、发动攻击、使用技能」: enemies/helpers.js unbalancedNow; canCast(e, sil, battle) refuses while it runs (content skills; the boss parts' calls pass the battle), blinkForward returns null, 枯朽之种's dive / blast and the 铳 / 碎铳之簧 charges wait, 乌顶巨角卢鲁's clash waits for its end. A route APPEAR relocation clears it (a forced state switch, 失衡位移机制). Left running on purpose (docs/SIM.md): 水遁忍者's damage check (异常效果 「仍然能正常造成伤害」), passive auras and terrain / periodic effects, death / damage-taken triggers, skill cooldowns, 弧光锋卫's bleed itself. 4. husk() (逐火 余烬 重生) clears the state like reborn(). 5. The 35/30 row held 36 frames (t0 + 35/30 overshoots in floats): every check compares with 1e-9; the frames are asserted. Tests: test/sim/unbalance.test.js +6 (exact frames 6 / 12 / 24 / 27 / 32 / 35 with the walk on the next frame; static pull 1 s / 0.5 s, push 0.1 s; 弧光锋卫 4800 / 6000 / 4800; canCast / blinkForward refused, 枯朽之种 held then diving; the elk's clash after the state; APPEAR and a 逐火 重生 clear it — all six fail on the parent); enemies_bosses (失衡 kit test) and feedback1d-solvent (BUFF damage) updated to the state bleed. test/sim + test/content + test/render pass. Docs: SIM.md (push / pull row), PLAYING.md, design/engine.md (helpers, enemy AI), constants / displacement comments. Golden against the previous commit — outcome moves: roster-010 (歌蕾蒂娅 pulls 妖怪 drones, now held 1 s: killed 44→45, leaks 58→57), roster-040 (static pulls of 妖怪: killed 28→25, leaks 37→40, deaths 29→30), roster-043 / 044 (山: deaths 14→16 / 14→13), hidden-boss_9-pair (锏: boss HP 3636991→3586929), coop4-ABYSS-7 (ai_2 LP +1 from round 5), diy-115 (黑键: leaks 70→75), diy-116 (黑键: killed 2→3, leaks 121→120) — the static pulls (probe) and the 1e-9 end (a frame shorter where the float sum overshot: the 35/30 row, some pull windows); other moves (damage / snapshots only): roster-008 / 017 / 039, 9 bonds, boss-boss_4-pair / boss_6-pair / hidden-boss_10-pair, coop2-NORMAL-14-standins / coop2-NORMAL-3 / solo-ABYSS-1 / solo-HARD-1 / solo-HARD-9-boosted / solo-NORMAL-1, diy-053 / 085 / 102.
This commit is contained in:
1 parent
cdf2bd5c88
commit
1db84d799d
20 files changed
+440
-301
No files matched your search
+38
-38
@@ -435,15 +435,15 @@
|
||||
"rngDraws": 586,
|
||||
"errors": {"count":0,"kinds":[]},
|
||||
"players": {
|
||||
"p1": {"killed":12,"total":14,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1051588,"bossDmg":348531,"heal":24590,"deaths":18,"layerGains":{}},
|
||||
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1024342,"bossDmg":675841,"heal":11551,"deaths":18,"layerGains":{}}
|
||||
"p1": {"killed":12,"total":14,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1051583,"bossDmg":348531,"heal":24590,"deaths":18,"layerGains":{}},
|
||||
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1024346,"bossDmg":675841,"heal":11551,"deaths":18,"layerGains":{}}
|
||||
},
|
||||
"units": [
|
||||
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",1529.8,1,60,3,127646,6704,420,23,1],
|
||||
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",1529.8,1,60,3,127644,6704,420,23,1],
|
||||
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3313.03,1,59,1,18993,8260,1117,13,2],
|
||||
["p1",3,"op","chess_char_5_14_b",1,"none",0,0,49,0,54350,11582,2258,18,11],
|
||||
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,57,0,16983,9470,33,10,1],
|
||||
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,58,2,402657,4059,549,98,15],
|
||||
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,58,2,402655,4059,549,98,15],
|
||||
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,55,1,85045,10014,2086,30,4],
|
||||
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,117239,4097,2126,150,4],
|
||||
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1058.29,1,62,4,118723,2559,395,35,12],
|
||||
@@ -456,7 +456,7 @@
|
||||
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2322.43,1,63,1,270484,5747,2514,55,5],
|
||||
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,53,0,148207,3584,462,128,2],
|
||||
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3934,1521,0,0],
|
||||
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,20,0,63317,5817,3585,73,4],
|
||||
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,20,0,63322,5817,3585,73,4],
|
||||
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1501.32,1,64,0,62705,2825,348,61,18],
|
||||
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1105.8,1,65,0,162943,2741,594,71,13],
|
||||
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null],
|
||||
@@ -502,7 +502,7 @@
|
||||
"weightless": 4,
|
||||
"zone": 296
|
||||
},
|
||||
"snaps": "98983314 a631783a ccc2dc9a bfd1a9d0 9c652c81 40f8d98e 08d313bf e5981c81 697be22d b0240d7c 1d954142 c60f8007 a74df9a8 9f265f02 2eea5c29 3ceddda5 818cf4b3 d569afac 20be7df9 ac07bc57"
|
||||
"snaps": "ed484d33 33f3d6da 7870ff24 543fba69 70391f85 d04365ca 03abfe93 22b9a98d 175f4779 bef63720 45719c56 008d21fb f4323e9c 87f82a06 a6f06b4d 059aa061 d70a0dbf ab69ce90 7b447a0d 0f2d7bfb"
|
||||
},
|
||||
"boss-boss_4-solo": {
|
||||
"about": "盐风主教昆图斯 solo pool 4200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b",
|
||||
@@ -720,9 +720,9 @@
|
||||
"units": [
|
||||
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,0,141185,0,0,30,2],
|
||||
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,1,0,0,0,0,0,0],
|
||||
["p1",3,"op","chess_char_5_14_b",1,"none",2174,1,5,1,34607,0,0,0,13],
|
||||
["p1",3,"op","chess_char_5_14_b",1,"none",2174,1,5,1,35215,0,0,0,13],
|
||||
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,1,25069,1974,1974,15,1],
|
||||
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,341600,0,0,82,15],
|
||||
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,340992,0,0,82,15],
|
||||
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,197578,0,0,73,6],
|
||||
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,15,0,28546,1629,0,52,2],
|
||||
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,51,0,161857,3453,231,51,17],
|
||||
@@ -749,10 +749,10 @@
|
||||
"enemy_1010_demon": [4,4,0,14161,200612],
|
||||
"enemy_9032_aclionk": [1,0,0,41978,1094757]
|
||||
},
|
||||
"hooks": [1,63,6000,1187,1211,2290,2305,620,39,41,111,106,0,34547,890,9,19,0,1,27,0,3,0],
|
||||
"events": {"atk":1274,"deploy":44,"die":41,"dmg":2220,"engage":15,"fx":723,"heal":7,"skill":217,"spawn":41,"status":1221},
|
||||
"hooks": [1,63,6000,1187,1211,2289,2304,620,39,41,111,106,0,34547,890,9,19,0,1,27,0,3,0],
|
||||
"events": {"atk":1274,"deploy":44,"die":41,"dmg":2219,"engage":15,"fx":723,"heal":7,"skill":217,"spawn":41,"status":1221},
|
||||
"fx": {"aoe":38,"appear":6,"blink":2,"burst":3,"crit":109,"dilemma":6,"disappear":6,"displace":21,"equip":15,"explosion":7,"frostNova":15,"garrisonGrant":1,"iceSpike":44,"overclock":1,"pull":4,"quadShot":3,"revive":2,"ripple":25,"sentry":4,"shadowWeave":6,"shield":1,"soul":3,"sp":15,"stealth":6,"swordRain":44,"swordStorm":8,"telegraph":20,"tornado":5,"tornadoPulse":20,"vest":8,"weightless":6,"zone":269},
|
||||
"snaps": "8ef2441b 1f0b7d9b 358031de d7fac848 6bc45581 c14c05ea 9d45ac22 41b0826b f08fb48f f40bdbfc 557a25e0 2ffc6990 e3eab3cd 4805839b 41854b5c efd95f41 8e8c177f 7bd3b7ee 5f3edf58 060ad10f"
|
||||
"snaps": "8ef2441b 1f0b7d9b 358031de 8a0737dd 27c06d84 de465885 9fcdeb44 e64e7283 1d9ca8dc 20a1c85b 97a58b2f 7e7bb35b 2ad9878a 7dc14844 c16a38c3 a7024372 85516100 60b95b21 2b2dc4a3 176abd14"
|
||||
},
|
||||
"boss-boss_6-solo": {
|
||||
"about": "阿利斯泰尔,帝国余晖 solo pool 3980000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b",
|
||||
@@ -1081,18 +1081,18 @@
|
||||
"killed": 8,
|
||||
"total": 8,
|
||||
"unspawned": 0,
|
||||
"bossHpLeft": 3636991,
|
||||
"rngDraws": 1645,
|
||||
"bossHpLeft": 3586929,
|
||||
"rngDraws": 1615,
|
||||
"errors": {"count":0,"kinds":[]},
|
||||
"players": {
|
||||
"p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1813003,"bossDmg":790560,"heal":15516,"deaths":4,"layerGains":{}},
|
||||
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":3233639,"bossDmg":1129525,"heal":130347,"deaths":10,"layerGains":{}}
|
||||
"p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1675683,"bossDmg":739063,"heal":15516,"deaths":4,"layerGains":{}},
|
||||
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":3543901,"bossDmg":1230964,"heal":126078,"deaths":10,"layerGains":{}}
|
||||
},
|
||||
"units": [
|
||||
["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",2601.77,1,66,0,0,11336,7438,0,2],
|
||||
["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,11,0,25365,227,0,37,1],
|
||||
["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",2535.79,1,17,0,53146,4017,0,51,2],
|
||||
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",204.28,1,7,1,1363387,2333,0,58,8],
|
||||
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",1217.02,1,7,1,1226067,1320,0,58,8],
|
||||
["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",1933,1,9,0,33316,9693,0,46,2],
|
||||
["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",954.58,1,55,0,35830,12093,529,0,4],
|
||||
["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",2451.4,1,13,1,69554,0,0,0,11],
|
||||
@@ -1101,16 +1101,16 @@
|
||||
["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,60,0,50598,9393,349,84,3],
|
||||
["p1",11,"token","token_10017_skadi2_dedant",null,null,138,0,28,0,0,0,0,0,null],
|
||||
["p1",12,"token","token_10030_mlyss_wtrman",null,null,0,0,24,0,0,1640,318,4,1],
|
||||
["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",2057.07,1,67,4,707045,24024,0,312,3],
|
||||
["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",0,0,67,4,730915,26081,0,317,3],
|
||||
["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",0,0,59,0,231858,17841,0,41,4],
|
||||
["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,65,0,4091,6660,1695,24,2],
|
||||
["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",0,0,58,1,483793,26213,0,71,3],
|
||||
["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",173.1,1,8,0,687440,10444,0,73,3],
|
||||
["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",0,0,14,0,742766,9295,4040,242,5],
|
||||
["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",1662.91,1,20,0,0,1375,14267,80,1],
|
||||
["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",0,0,10,0,95777,1439,0,122,3],
|
||||
["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1680.1,1,41,0,217704,24241,0,59,4],
|
||||
["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1662.1,1,25,0,0,14000,110345,83,2],
|
||||
["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,65,0,16117,7380,2415,28,2],
|
||||
["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",0,0,58,1,602101,26213,0,80,3],
|
||||
["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",1332.47,1,8,0,674466,3109,0,73,3],
|
||||
["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",1727.29,1,14,0,924004,6580,2751,263,5],
|
||||
["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",0,0,20,0,0,3038,8952,78,1],
|
||||
["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1439,1,10,0,96068,0,0,126,3],
|
||||
["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1203.55,1,41,0,205207,26966,0,59,4],
|
||||
["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1588.6,1,25,0,0,14000,111960,83,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],
|
||||
@@ -1127,33 +1127,33 @@
|
||||
["p1","~4","token","token_10030_mlyss_wtrman",null,null,1322,1,61,0,0,155,92,0,1],
|
||||
["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,62,0,0,0,0,0,null],
|
||||
["p1","~2","token","token_10040_siege2_vlion",null,null,4000,0,63,0,0,0,0,0,null],
|
||||
["p2","~3","token","token_10019_nearl2_sword",null,null,0,0,64,0,33414,6564,0,16,null],
|
||||
["p2","~3","token","token_10019_nearl2_sword",null,null,1351.68,0,64,0,33413,5212,0,12,null],
|
||||
["p1","~3","token","token_10017_skadi2_dedant",null,null,100,1,68,0,0,0,0,0,null]
|
||||
],
|
||||
"enemies": {
|
||||
"enemy_1267_nhpbr_2": [6,6,0,1500,141894],
|
||||
"enemy_9007_acelem": [2,2,0,18532,309587],
|
||||
"enemy_9017_achunt_2": [2,0,0,58104,1963009],
|
||||
"enemy_9018_actrpa": [1,0,0,51655,811529],
|
||||
"enemy_9019_actrpb": [1,0,0,30033,718108],
|
||||
"enemy_9020_actrpc": [1,0,0,24632,1185793]
|
||||
"enemy_9017_achunt_2": [2,0,0,58672,2013071],
|
||||
"enemy_9018_actrpa": [1,0,0,40802,832791],
|
||||
"enemy_9019_actrpb": [1,0,0,32263,746620],
|
||||
"enemy_9020_actrpc": [1,0,0,25887,1259125]
|
||||
},
|
||||
"hooks": [1,66,6000,1727,1727,7189,13487,2668,28,39,95,89,277,48035,2985,15,13,0,1,29,0,16,0],
|
||||
"events": {"atk":2084,"deploy":47,"die":39,"dmg":12976,"engage":22,"fx":2157,"heal":966,"skill":184,"spawn":53,"status":821},
|
||||
"hooks": [1,66,6000,1768,1768,7069,13203,2682,27,39,95,90,292,48490,2998,15,13,0,1,28,0,12,0],
|
||||
"events": {"atk":2132,"deploy":47,"die":39,"dmg":12703,"engage":22,"fx":2158,"heal":961,"skill":185,"spawn":53,"status":790},
|
||||
"fx": {
|
||||
"airstrike": 84,
|
||||
"beam": 26,
|
||||
"airstrike": 85,
|
||||
"beam": 31,
|
||||
"blessing": 1,
|
||||
"blink": 5,
|
||||
"bombard": 72,
|
||||
"bombardShell": 72,
|
||||
"burst": 16,
|
||||
"burst": 12,
|
||||
"camouflage": 1,
|
||||
"copy": 3,
|
||||
"dash": 24,
|
||||
"displace": 14,
|
||||
"dp": 3,
|
||||
"drone": 320,
|
||||
"drone": 319,
|
||||
"droneLock": 14,
|
||||
"drones": 4,
|
||||
"extraAttack": 5,
|
||||
@@ -1181,7 +1181,7 @@
|
||||
"wanted": 6,
|
||||
"zone": 6
|
||||
},
|
||||
"snaps": "2a921421 57801ce9 e8f35705 fba04fd7 d2a6440c a3b24855 a2d10035 e394b69f 7de21c75 bd6caaad ea4accdc 41ef5240 67c52051 5cd402c4 583f7ecc 859a9f1c 2c2aa8dd d206cf4c 4b695b81 674f683a"
|
||||
"snaps": "2a921421 57801ce9 e8f35705 fba04fd7 d2a6440c a3b24855 a2d10035 e394b69f 7de21c75 bd6caaad ea4accdc 41ef5240 67c52051 5cd402c4 583f7ecc 859a9f1c a9cf2775 721d01e9 c30e073b 203814c0"
|
||||
},
|
||||
"hidden-boss_9-solo": {
|
||||
"about": "假想敌:铳 solo pool 2800000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b",
|
||||
@@ -1327,7 +1327,7 @@
|
||||
"weightless": 2,
|
||||
"zone": 160
|
||||
},
|
||||
"snaps": "f891236c f6672d61 f9ae299a bd864733 a34ff855 ee6e490a 8d637482 2808cda1 b8ebc810 72052abe c42b6edb 8a1ce86d f52b121e 6ec9eb74 6a1199ed 05aa4e08 5d012397 6fee9656 361ddec2 24e36087"
|
||||
"snaps": "f891236c f6672d61 f9ae299a 38137066 7529d68c 7ccc83e3 76a143d3 bd5434d4 792d5035 9a6514ef 4a121dc2 3e3ba3e8 f714ce47 869d9185 409dfa84 85fb9505 93086aba 52a21bef dd22d89f b852066e"
|
||||
},
|
||||
"hidden-boss_10-solo": {
|
||||
"about": "假想敌:管 solo pool 7600000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b",
|
||||
|
||||
Reference in new issue
Block a user