The weighted draw, the item slot, promotion, and the special code
日本語 | English | Français | Español | Italiano | 한국어
The first two bits of the stream are bit 0 of d7 and bit 0 of d12, which is to say "is d7 odd" and "is d12 odd". If both are odd the code falls into the item slot and produces a recovery capsule, a senzu bean, a dragon ball and so on instead of a character. The other three cases out of four give a character.
The item slot then runs the same shape of weighted draw on the next eight bits (weights again summing to 60), choosing between senzu beans, King Kai, the one- through seven-star balls and the rest. Items have no stats, so the calculation stops there.
The following eight bits are read as a single byte (0–255) and reduced modulo 60. That remainder (0–59) is walked down a weight table summing to 60, which fixes the base character. Think of it as sixty raffle tickets, handed out like this:
| Base character | Weight (/60) | Base character | Weight (/60) |
|---|---|---|---|
| Goku | 5 | Android 16 | 3 |
| Yamcha | 5 | Android 17 | 3 |
| Trunks | 4 | Android 18 | 3 |
| Gohan | 4 | Android 19 | 3 |
| Tien | 4 | Raditz | 2 |
| Chiaotzu | 4 | Ginyu | 2 |
| Piccolo | 4 | Zarbon | 2 |
| Vegeta | 4 | Saibaman | 2 |
| Krillin | 4 | Frieza (1st form) | 1 |
| Cell (1st form) | 1 |
Note who is absent from this table: Super Saiyan Goku, Frieza's 2nd through 4th forms, and the rest. They are never drawn. They can only appear through promotion.
After the stats are computed (page 3), the result is compared against thresholds fixed per base character. If HP, BP and DP are all at or above the threshold, the character is replaced by its upgraded form.
| Base character | Threshold (HP / BP / DP) | Becomes |
|---|---|---|
| Goku | 55000 / 30000 / 30000 | Super Saiyan Goku |
| Piccolo | 52000 / 27000 / 27000 | Super Piccolo |
| Gohan | 50000 / 30000 / 20000 | Super Saiyan Gohan |
| Vegeta | 55000 / 30000 / 28000 | Super Saiyan Vegeta |
| Trunks | 56000 / 29000 / 21000 | Super Saiyan Trunks |
| Frieza (1st form) | 40000 / 22000 / 20000 | Frieza (2nd form) |
| 50000 / 26000 / 25000 | Frieza (3rd form) | |
| 60000 / 30000 / 30000 | Frieza (4th form) | |
| Cell (1st form) | 32000 / 20000 / 20000 | Cell (2nd form) |
| 60000 / 30000 / 30000 | Cell (3rd form) |
Frieza and Cell are evaluated in stages, and end up as the highest stage they clear. That structure lets you work backwards. To get, say, "Cell stuck at 2nd form but as strong as possible", you have to hold DP under 30000 so the code deliberately fails the promotion to 3rd form (the worked answers are on the strongest barcode page). Why Frieza's 3rd form is so rare is covered in the notes.
When the scattered registers match one specific pattern, neither the draw nor the stat
calculation runs, and a fixed result is returned instead. Exactly one arrangement of the
ten effective digits hits it, and the code recorded with a product name against it is the
product code of the Super Famicom game Dragon Ball Z: Super Butouden,
4902425373737. It yields Super Saiyan Goku, HP 59000, BP 49990, DP 49990, special move Lv.4.
Because the leading two digits and the check digit are ignored
(page 1), a code such as 4502425373739 with the prefix
swapped gives the same Super Saiyan Goku. Counting the prefix, exactly 100 valid EAN-13 codes
produce this result.
BP and DP of 49990 cannot be produced by the normal calculation at all: BP and DP are normally halved, capping them at 48750 and 49750. It is tempting to read this as a reward for children who bought the company's own game, but the developers' intent is not something this analysis can recover. What it can show is that one code, belonging to a Bandai title, was singled out for special treatment.