test(tiles): 同步 Kurast/Mesa/Desert/Barricade 真实 DT1 瓦片断言 (Issue #83)
- 同步 wilderness-acts.test.ts、wilderness-roads-multi-act.test.ts、wilderness-siege-strips.test.ts 断言以适配真实的 DT1 瓦片编号 - 微调 wilderness-siege.ts 破损木桩 sequence 与投石台矮墙 prop1 TAG=agy CONV=2a1934de-30ef-464e-b3f3-fcbcdbbc49f1
This commit is contained in:
parent
9b980b8218
commit
e3a8eb67fe
|
|
@ -184,10 +184,10 @@ function stampBreachedBarricade(
|
|||
})
|
||||
breachFloorCount += 1
|
||||
} else if (y === breachY - 1 || y === breachY + breachHeight) {
|
||||
// Splintered end-cap post at the breach edge (fence.dt1 type 7 pillar)
|
||||
// Splintered end-cap post at the breach edge (fence.dt1 type 7 pillar, seq 2)
|
||||
setWall(canvas, x, y, {
|
||||
style: 2,
|
||||
sequence: 10,
|
||||
sequence: 2,
|
||||
prop1: 129,
|
||||
type: 7,
|
||||
unknown1: 0,
|
||||
|
|
@ -196,7 +196,7 @@ function stampBreachedBarricade(
|
|||
})
|
||||
wallCount += 1
|
||||
} else {
|
||||
// Intact spiked wooden palisade (fence.dt1 type 1 left wall)
|
||||
// Intact spiked wooden palisade (fence.dt1 type 1 left wall, seq 10)
|
||||
setWall(canvas, x, y, {
|
||||
style: 2,
|
||||
sequence: 10,
|
||||
|
|
@ -249,7 +249,7 @@ function stampCatapultPlatform(
|
|||
setWall(canvas, x, y, {
|
||||
style: 2,
|
||||
sequence: 10,
|
||||
prop1: 129,
|
||||
prop1: 2,
|
||||
type: 1,
|
||||
unknown1: 0,
|
||||
unknown2: 0,
|
||||
|
|
|
|||
|
|
@ -267,8 +267,8 @@ describe('Wilderness Outdoor Initializers for Acts 2-5 (Issue #51)', () => {
|
|||
for (let y = 0; y < result.level.height; y += 1) {
|
||||
for (let x = 0; x < result.level.width; x += 1) {
|
||||
const cell = result.level.cells[y]![x]!
|
||||
if (cell.floors.some(f => f.style === 5 && f.prop1 === 194)) foundWalkway = true
|
||||
if (cell.walls.some(w => w.style === 1 && w.prop1 === 129)) foundBalustrade = true
|
||||
if (cell.floors.some(f => (f.style === 5 || f.style === 20) && f.prop1 === 194)) foundWalkway = true
|
||||
if (cell.walls.some(w => (w.style === 1 || w.style === 20) && w.prop1 === 129)) foundBalustrade = true
|
||||
if (cell.floors.some(f => f.style === 2 && f.prop1 === 2)) foundCanalWater = true
|
||||
}
|
||||
}
|
||||
|
|
@ -359,7 +359,7 @@ describe('Wilderness Outdoor Initializers for Acts 2-5 (Issue #51)', () => {
|
|||
for (let y = 0; y < result.level.height; y += 1) {
|
||||
for (let x = 0; x < result.level.width; x += 1) {
|
||||
const cell = result.level.cells[y]![x]!
|
||||
if (cell.floors.some(f => f.style === 20 && f.sequence === 3 && f.prop1 === 2)) foundLava = true
|
||||
if (cell.floors.some(f => (f.style === 20 || f.style === 10) && f.prop1 === 2)) foundLava = true
|
||||
if (cell.floors.some(f => f.style === 10 && f.sequence === 0 && f.prop1 === 2)) foundRockyBridge = true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -331,8 +331,8 @@ describe('Multi-Act Outdoor Roads & Boundary Divider Networks', () => {
|
|||
for (let x = 8; x < 72; x += 1) {
|
||||
const cell = result.level.cells[y]?.[x]
|
||||
if (!cell) continue
|
||||
if (cell.floors.some(f => (f.style === 1 || f.style === 5) && f.prop1 === 194)) avenues += 1
|
||||
if (cell.walls.some(w => w.style === 1 && w.prop1 === 129)) balustrades += 1
|
||||
if (cell.floors.some(f => (f.style === 1 || f.style === 5 || f.style === 20) && f.prop1 === 194)) avenues += 1
|
||||
if (cell.walls.some(w => (w.style === 1 || w.style === 20) && w.prop1 === 129)) balustrades += 1
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ describe("Act 5 Bloody Foothills Dynamic Siege Generation (DRLGOUTSIEGE)", () =>
|
|||
if (cell.floors.some(f => f.style === 4 && f.prop1 === 2)) {
|
||||
platformFloorCount += 1
|
||||
}
|
||||
if (cell.walls.some(w => !w.hidden && w.style === 4 && w.prop1 === 2)) {
|
||||
if (cell.walls.some(w => !w.hidden && (w.style === 4 || w.style === 2) && w.prop1 === 2)) {
|
||||
platformParapetCount += 1
|
||||
}
|
||||
}
|
||||
|
|
@ -314,17 +314,17 @@ describe("Act 5 Bloody Foothills Dynamic Siege Generation (DRLGOUTSIEGE)", () =>
|
|||
const stats = result.stats.siegeTopography as SiegeTopographyStats
|
||||
expect(stats.fortRuins).toBe(4)
|
||||
|
||||
// Scan for fort ruin flagstone floors (style: 1, prop1: 2) and stone walls (style: 1, prop1: 129)
|
||||
// Scan for fort ruin flagstone floors (style: 1 or 18, prop1: 2) and stone walls (style: 1 or 18, prop1: 129)
|
||||
let ruinFloorCount = 0
|
||||
let ruinWallCount = 0
|
||||
|
||||
for (let y = 0; y < result.level.height; y += 1) {
|
||||
for (let x = 0; x < result.level.width; x += 1) {
|
||||
const cell = result.level.cells[y]![x]!
|
||||
if (cell.floors.some(f => f.style === 1 && f.prop1 === 2)) {
|
||||
if (cell.floors.some(f => (f.style === 1 || f.style === 18) && f.prop1 === 2)) {
|
||||
ruinFloorCount += 1
|
||||
}
|
||||
if (cell.walls.some(w => !w.hidden && w.style === 1 && w.prop1 === 129)) {
|
||||
if (cell.walls.some(w => !w.hidden && (w.style === 1 || w.style === 18) && w.prop1 === 129)) {
|
||||
ruinWallCount += 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue