feedback7 R22-FIELDS: an enemy whose route ends on a corner portal stays hidden 3 s inside it before it comes out of [5,10], like the explicit crossings of the same tiles (review of the #337 commit); golden: 7 fields, 4 matches — solo-NORMAL-1's Hidden Core still fails
The Grok review of fb7-fields (MEDIUM): portalPickup spliced DISAPPEAR and APPEAR with nothing between, so the enemy vanished on [1,3] / [1,17] and stood on [5,10] in the same tick, targetable at once, while the data's explicit crossings of the same tiles hide it: WAIT 3 s in 85 of the 95, 5 s in 9, 1 s in 1. portalPickup now splices a 3 s WAIT (PORTAL_WAIT, the modal explicit wait) between them; [ASSUMED] the 3 s, no source times this crossing. Docs: the SIM.md sentence and the portalPickup comment. Tests: test/sim/portal-appear.test.js — the two route-end tests record the test enemy's hidden spans: one crossing, entrance → [5,10], hidden 3 s (± a tick); both fail on the parent (0.000 s). 9/9. Golden (against the 0 s version; the rounds of every match unchanged): - matches solo-NORMAL-1 (Hidden Core boss_8 胄, act1autochess_h08_01_s): still failed — hiddenCleared false, team LP 0, 14 rounds — with the leader left at 63897 instead of 99894 (cleared with 26 LP in 0.2.1). The same course as with 0 s: the third vtsk, which leaked at the portal at 105 s in 0.2.1, comes out of [5,10] 3 s later, walks through the team's line and leaks at the door at 185.5 s (170.2 s before); 0–2 of the 8 operators stand between 100 and 320 s, the leader stalls near 108000 from 280 s, the overtime drain from 300 game s takes the 25 LP left by 350 s while the redeployed operators bring the leader to 63897 (notes trace-hidden*.mjs). - matches solo-HARD-1 (Hidden Core failed as before): pool left 2839368 → 2982555; solo-HARD-9-boosted (cleared): team LP 361 → 376 (383 in 0.2.1); coop2-NORMAL-14-standins (Final Assault lost as before): pool left 97588 → 108473. - fields boss-boss_2-solo (leader left 2763024 → 2757148), boss-boss_4-solo (3759921 → 3757752), boss-boss_6-pair (killed 6 → 5, one hllevi_2 still walking at the 200 s cap, both players still perfect; leader 6972383 → 6932482), boss-boss_6-solo (3904791 → 3907393), hidden-boss_8-pair (the vtsk that comes back near the cap is still inside the portal at 200 s: one appear fewer, the last snapshot hash), hidden-boss_8-solo (killed 8 → 6, leaks 10 → 12), hidden-boss_10-solo (killed 11 → 10, leader left 7323370 → 7333760). - unchanged by the wait: solo-FUNNY-2, coop2-ABYSS-10-boosted, the other fields, and the roster / bonds / standins / diy families.
This commit is contained in:
1 parent
8d896e40ea
commit
1205336a27
5 files changed
+161
-137
No files matched your search
+8
-7
@@ -701,13 +701,14 @@ function advanceRoute(b, e, dt, R, standing = false) {
|
||||
* exit and walks on to the blue door on the entrance's side, where it leaks. The boss / Hidden Core circuits end on
|
||||
* an entrance ([1,3] / [1,17]; 137 routes of data/waves.json); their mid-route crossings are the routes' own DISAPPEAR /
|
||||
* WAIT / APPEAR steps, every MOVE onto an entrance being followed by a DISAPPEAR, so only the route's end needs this.
|
||||
* Appends vanish → reappear → walk-to-door legs to the live route and returns true (false: not on an entrance, or no
|
||||
* exit in the field). The exit is the telout farthest from the entrance, the door the end tile nearest to it: every
|
||||
* explicit pair of the data (95, routes and extra routes) reads [1,3] / [1,17] → [5,10] — the farther of the two
|
||||
* telouts [5,10] / [2,10] of the battle stages — and the doors [2,2] / [2,18] stand beside the entrances.
|
||||
* [ASSUMED] the pairing (no tile carries a link) and no wait inside this portal (the explicit crossings write their
|
||||
* own: 3 s in 85 of the 95, 5 s in 9, 1 s in 1).
|
||||
* Appends vanish → wait → reappear → walk-to-door legs to the live route and returns true (false: not on an entrance,
|
||||
* or no exit in the field). The exit is the telout farthest from the entrance, the door the end tile nearest to it:
|
||||
* every explicit pair of the data (95, routes and extra routes) reads [1,3] / [1,17] → [5,10] — the farther of the two
|
||||
* telouts [5,10] / [2,10] of the battle stages — and the doors [2,2] / [2,18] stand beside the entrances. Inside the
|
||||
* portal the enemy stays hidden PORTAL_WAIT s, the wait of the explicit crossings of the same tiles (WAIT 3 s in 85 of
|
||||
* the 95; 5 s in 9, 1 s in 1). [ASSUMED] the pairing (no tile carries a link) and the 3 s (no source times this one).
|
||||
*/
|
||||
const PORTAL_WAIT = 3;
|
||||
function portalPickup(b, e) {
|
||||
const r = Math.round(e.y), c = Math.round(e.x);
|
||||
if (!b.grid.inBounds(r, c) || b.grid.tile(r, c).special !== 'telin') return false;
|
||||
@@ -716,7 +717,7 @@ function portalPickup(b, e) {
|
||||
const dist = (p) => hypot(p[0] - r, p[1] - c);
|
||||
const out = outs.reduce((a, x) => (dist(x) > dist(a) ? x : a));
|
||||
const R = e.route;
|
||||
R.legs.splice(R.legIdx + 1, 0, { t: 'disappear' }, { t: 'appear', r: out[0], c: out[1] });
|
||||
R.legs.splice(R.legIdx + 1, 0, { t: 'disappear' }, { t: 'wait', time: PORTAL_WAIT }, { t: 'appear', r: out[0], c: out[1] });
|
||||
const ends = b.grid.specialTiles('end');
|
||||
if (ends.length) {
|
||||
const door = ends.reduce((a, x) => (dist(x) < dist(a) ? x : a));
|
||||
|
||||
Reference in new issue
Block a user