ES
← Digimon World 2003 Data

Digimon World 2003 — bugs in the original game

Bugs and oddities of the original European version (SLES-03936) found by reading its decompiled code (dw3_decomp). Each entry names the code it comes from. The native PC port is built from that same code, so it has them too unless noted.

Confirmed bugs

1. Every elemental field boosts Thunder

boostFieldElement — src/fightstg/tech_action.c

The field's element is taken from the technique's icon field (boostElement = tech->icon), which is 6 (Thunder) for all seven field techniques, instead of its element. So Fire Field, Water Field, … Dark Field all boost Thunder and weaken Dark. The message still names the right element (it uses tech->element).

Fixed by: the Harmony mod (Fixed Field Moves).

2. A growth of 5 grows less than a growth of 4 (stats)

STFGTREP_raiseStats — src/stfgtrep/growth.c

Each level, a stat gains STFGTREP_statGains[tier][growth + random(0–4)]. The table has 9 columns (0–8), so a growth of 5 can ask for column 9, which doesn't exist; the PlayStation reads the first value of the next row instead, which is 0 or 1. One level-up in five, the stat that should grow the most gains almost nothing:

Levels Average gain, growth 4 Average gain, growth 5
2–4 11.4 10.0
5–19 8.8 7.6
20–39 5.6 4.8
40–59 4.6 4.0
60–79 3.0 2.6

From level 80 the last row reads past the whole table, into the resistance gains, whose first value is also 0.

Affected Rookies: Kumamon (Strength and Defense), Renamon (Spirit), Monmon (Speed), Veemon (Wisdom and Charisma). The very stats each was designed to excel at grow about 13% slower than a 4 would.

3. A growth of 5 grows less than a growth of 4 (resistances)

STFGTREP_raiseStats — src/stfgtrep/growth.c

Up to level 40, each resistance gains STFGTREP_resistGains[growth + random(0–3)], a table of 8 values (0 0 0 1 1 1 2 2). A growth of 5 can ask for value 8, past the end; on the disc the next word is 0. A growth of 5 averages 1.25 a level, a growth of 4 1.5.

Seven of the eight Rookies have one resistance with growth 5: Kotemon (Water), Monmon (Machine), Agumon (Fire), Veemon (Ice), Guilmon (Wind), Renamon (Thunder), Patamon (Dark). Kumamon has none.

4. Magic without an element reads the target's Speed as a resistance

FIGHTSTG_rollMagicCritical — src/fightstg/rolls.c

The magic critical chance is min(64, ElementStrength × 100 / resist[element − 2]) + 4. For a technique with no element, element − 2 is −1, and the value read is the one stored just before the resistances: the target's Speed. So the critical chance of element-less magic depends on the target's Speed:

Oddities

Behaviour that looks unintended, or at least surprising, but may be by design.

Fixed in the European version

Latent

Reported elsewhere