📑BonusManager
Temporary and scheduled server bonuses (e.g., double EXP during a weekend or increased Excellent item drop rates on holidays). Supports up to 30 independent bonuses (Index from 0 to 29), each with its own schedule. The file is divided into 3 blocks, each starting with the block number (0, 1, or 2) on its own line and ending with end.
Section 0 — bonus start schedule
Index
Number from 0 to 29
Which bonus this schedule entry belongs to.
Year / Month / Day / DoW / Hour / Minute / Second
Number or *
A scheduled start time. * = any value (cron-style schedule). The same Index can have multiple schedule entries.
Section 1 — bonus messages and duration
Index
Number from 0 to 29
Which bonus this entry belongs to.
StartMessage
Message number or *
Message broadcast to all players when the bonus starts. * = no message.
FinalMessage
Message number or *
Message broadcast to all players when the bonus ends. * = no message.
BonusTime
Number, in seconds
Bonus duration. Note that this value is in seconds, unlike BloodCastle.dat, which uses minutes.
Section 2 — bonus effects
Index
Number from 0 to 29
Which bonus this rule belongs to. The same Index may have multiple entries—all of them are active at the same time while the bonus is running.
BonusIndex
Number from 0 to 8 (see table below)
The type of bonus granted by this entry.
BonusValue_AL0 / AL1 / AL2 / AL3
Number
Bonus value for Free / VIP1 / VIP2 / VIP3. The meaning of this value depends on the BonusIndex—see the notes.
ItemIndex
Item number or *
Restricts the bonus to a specific item. * = any item.
ItemLevel
Number or *
Restricts the bonus to a specific item level. * = any level.
MapNumber
Map number or *
Restricts the bonus to a specific map. * = any map.
MonsterClass
Monster class number or *
Restricts the bonus to a specific monster. * = any monster.
MonsterLevelMin / MonsterLevelMax
Number or *
Restricts the bonus by the defeated monster's level. * = no limit on that side.
BonusIndex values
0
Experience rate
Percentage added on top of the current value (e.g., 50 = +50%).
1
Master Experience rate
Percentage added on top of the current value.
2
Item drop rate
Percentage added on top of the current value.
3
Normal item drop chance
Not a simple percentage—moves the current chance closer to the maximum possible chance by the specified proportion (see notes).
4
Excellent item drop chance
Same behavior as BonusIndex 3.
5
Ancient/Set item drop chance
Same behavior as BonusIndex 3.
6
Goblin Points
Added as a flat value (not a percentage).
7
Reset count
Added as a flat value (not a percentage).
8
Master Reset count
Added as a flat value (not a percentage).
Notes
BonusValue_AL0–AL3behaves in three different ways depending on theBonusIndex. This is hardcoded in the server:BonusIndex0,1, or2: adds a percentage to the current value (+50= 50% more than the current value).BonusIndex3,4, or5: not a regular percentage—the value moves the current drop chance closer to the maximum possible chance by the specified proportion. High values can result in a much larger increase than a simple "+X%", especially when the current chance is already high, so test carefully before using large numbers.BonusIndex6,7, or8: adds a flat value, with no percentage involved.
A single bonus (
Index) can have multiple entries in Block 2—for example, one entry for +Experience and another for +Normal Item Drop Rate, both active simultaneously, each with different item, map, or monster filters.As in
BloodCastle.dat,*in Block 0 means "any value". IfDayis*andBonusTimelasts less than one full day, the bonus can reactivate every day within the scheduled period. This is how you would configure, for example, a bonus that is active throughout the entire month of April:Month = 4,Day = *,BonusTime = 86400.
Last updated