DoubleGoer.dat

Double Goer event: entry timing, per-difficulty AI unit references, and the per-level-band scaling table that controls monster strength based on the top player's level and party size.

File Location#

Data/Event/DoubleGoer.dat

Loaded once at GameServer startup. Gated by Event.dat DoubleGoerEvent. Changes require a restart.

Sections#

Section 0 - Timing#

0
//NotifyTime   EventTime   CloseTime
1              10          4
end

Minutes. NotifyTime is the pre-match stand window after a player enters and the entrance gate locks. EventTime is the wave length; monsters must be prevented from reaching the final tile for this long. CloseTime is the post-match result window.

There is no separate warning / alarm window; the event is player-initiated, not scheduled.

Section 1 - AI Unit References#

1
//MonsterAIUnitNumber1   MonsterAIUnitNumber2   MonsterAIUnitNumber3   MonsterAIUnitNumber4
74                       75                     76                     77
end

One AI unit per difficulty level (1 to 4). The entered party is randomly dropped onto one of four sub-maps and the matching AI unit drives the stage bosses and spawned mobs. Each referenced unit must exist in MonsterAIUnit.xml.

Section 2 - Per-Level-Band Scaling#

Row Index selects a level band of ten character levels: band 0 covers levels 1-10, band 1 covers 11-20, ... band 59 covers 591-600. Selection uses the highest combined (level + master level) among party members, capped at 600. Each row holds five multipliers per stat (Level, MaxLife, Damage, Defense); the applied column is party size - 1 (1 player uses column 1, 5 players use column 5).

2
//Index  Level1..5  MaxLife1..5  Damage1..5  Defense1..5
0        1.00 1.00 1.00 1.00 1.00   1.00 2.00 3.00 3.80 4.80   1.00 2.00 3.00 3.70 4.70   1.00 2.00 3.00 3.70 4.50
...
59       ...
end
BlockColumnsEffect
Level1-55Monster level multiplier, by party size 1 to 5
MaxLife1-55Monster HP multiplier, by party size 1 to 5
Damage1-55Monster physical damage multiplier (min and max use the same column), by party size 1 to 5
Defense1-55Monster defense multiplier, by party size 1 to 5

Multipliers compound with the monster's base stats from Monster.xml. Event.dat DoubleGoerDifficultRate applies after the table as a final percentage scale on Life, Damage, and Defense (100 = no change). Level multiplier is not affected by DoubleGoerDifficultRate.

The shipped file ships 60 rows (Index 0 through 59) covering the full 1-600 level span. All five party-size columns must be present per row.

Inside the match the server spawns three waves of bosses: Slaughterer at 75% time remaining, Mad Slaughterer at 50%, and Ice Walker at 25%. Background mobs spawn roughly every five seconds. Reaching the final tile counts against the party (raises the reached counter); 3 such breaches ends the match as a loss. Killing Ice Walker before any monster breaks through yields the Golden reward chest; Slaughterer and Mad Slaughterer drop Silver chests on kill. Chest tier is chosen by the highest-level player's band ((highest - 1) / 100, clamped to tiers 1-5).

Cross-File Dependencies#

ValueRelated in
Enable flagEvent.dat DoubleGoerEvent
Final difficulty scaleEvent.dat DoubleGoerDifficultRate
AI unitsMonsterAIUnit.xml
Reward bags (Silver tiers 37-41, Golden tiers 42-46)EventItemBag
Maps 65-68 (DoubleGoer1-4)MapManager.xml

Common Issues#

  • Event feels too easy / too hard - adjust DoubleGoerDifficultRate in Event.dat first (global scale on Life/Damage/Defense), then tune individual rows if specific level bands stay off
  • AI unit errors at startup - section 1 references an AI unit number that does not exist in MonsterAIUnit.xml
  • Monsters have wrong stats - per-band rows not aligned with shipped Monster.xml base stats after an item or monster rebalance; multipliers stack on top of whatever Monster.xml reports
  • Entry fails with "map not ready" - one of the four DoubleGoer sub-maps (65, 66, 67, 68) is not configured in MapServerInfo; all four must be available on the calling GameServer

Last updated April 21, 2026