Pokemon Emerald - Battle Dome
Competitors
Trainers for this tournament are chosen in tournaments from two groups: 9 from Group 1 and 6 from Group 2 for a total of 15 trainers in each tournament, as well as the player.
| Consecutive Tournament Wins | Group 1 | Group 2 |
|---|---|---|
| 0 | No.000 - No.099 | No.080 - No.119 |
| 1 | No.080 - No.119 | No.100 - No.139 |
| 2 | No.100 - No.139 | No.120 - No.159 |
| 3 | No.120 - No.159 | No.140 - No.179 |
| 4 | No.140 - No.179 | No.160 - No.199 |
| 5 | No.160 - No.199 | No.180 - No.219 |
| 6 | No.180 - No.219 | No.200 - No.299 |
| 7 or more | No.200 - No.299 | No.200 - No.299 |
Individual Values
| Trainers | Individual Values |
|---|---|
| No.000 - No.099 | 3 |
| No.100 - No.119 | 6 |
| No.120 - No.139 | 9 |
| No.140 - No.159 | 12 |
| No.160 - No.179 | 15 |
| No.180 - No.199 | 18 |
| No.200 - No.219 | 21 |
| No.220 - No.299 | 31 |
Ranking the Trainers
To determine a trainer's rank, the game uses this formula.
X = A + (B*C/20)
- A = Sum of all base stats (HP, Attack, Defense, Speed, Special Attack, Special Defense) of all Pokemon
- B = Number of different types represented by all Pokemon
- C = Highest level among all Pokemon
The ranks for each trainer are thus determined by their values for X. (If more than one trainer has the same values for X, ties are broken by their trainer numbers. The Dome Ace has a trainer number of 1022, and the player's trainer number is 1023.)
Each trainer is placed on the tournament tree in this order (the numbers below indicate rank -- the lower the rank number, the higher the rank):
Left side 1 9 13 5 8 16 12 4 Right side 3 11 15 7 6 14 10 2
See Battle Styles for how the game determines a trainer's battle style.
Stat Evaluation
The game evaluates each trainer's stat potential using his or her Pokemon's effort values.
For the purposes of this process, each effort value is modified beforehand by multiplying that value by 1.1 or 0.9 depending on whether the Pokemon's nature gives the Pokemon an advantage or disadvantage in that stat.
Then, for each stat, the game adds the modified effort values of all Pokemon. We will call the result EVSums. A variable, EVSumSum, is set to the sum of all EVSums. Finally, the EVSums are modified by multiplying by 100 and dividing by max(1,EVSumSum).
In addition, for each stat, the number of Pokemon who have a disadvantage in that stat is recorded. We will use StatDis to name these values.
The "emphasis" is found by finding up to two EVSums that are 30 or greater. The "neglect" is found by finding up to two EVSums that equal 0. The process below gives much more detail on what the game does at this point.
Neglect = 0
Emphasis = 0
For each stat
If EVSum(stat) >= 30
If Emphasis < 2
EmphasisEVSumStat(Emphasis) = stat
Emphasis = Emphasis + 2
Else
EmphasisEVSumStat(0)=EmphasisEVSumStat(1)
EmphasisEVSumStat(1)=stat
End If
End If
If EVSum(stat) = 0
If Neglect < 2
NeglectEVSumStat(Neglect) = stat
Neglect = Neglect + 2
Else If StatDis(stat) = 1
If StatDis(NeglectEVSumStat(0)) = 0
NeglectEVSumStat(0)=NeglectEVSumStat(1)
NeglectEVSumStat(1)=stat
Else If StatDis(NeglectEVSumStat(1)) = 0
NeglectEVSumStat(1)=stat
End If
Else If StatDis(stat) > 1
NeglectEVSumStat(0)=NeglectEVSumStat(1)
NeglectEVSumStat(1)=stat
End If
End If
End For
The process above considers each stat in the order of HP, Attack, Defense, Speed, Special Attack, and Special Defense.
After the process, if Emphasis is greater than 0, the message shown is "Emphasizes X and Y", where X and Y are the appropriate stats in EmphasisEVSumStat. Otherwise, if Neglect is greater than 0, the message shown is "Neglects X and Y", where X and Y are the appropriate stats in NeglectEVSumStat. Otherwise, the message shown is "Raises Pokemon in a well-balanced way."
Pokemon Chosen by the Opponent
When deciding which Pokemon the opponent chooses in the Battle Dome, the game chooses one of two scoring methods at random. Each Pokemon the opponent has receives a score, where, for each damaging attack that Pokemon has, the effectiveness of that attack is checked against the three Pokemon the player has.
| Effectiveness | Scoring A | Scoring B |
|---|---|---|
| Ineffective | 0 | 8 |
| 1/4 damage | 0 | 4 |
| 1/2 damage | 0 | 2 |
| Normal | 2 | 0 |
| Double damage | 4 | -2 |
| Quadruple damage | 8 | -4 |
Notes:
- In both scoring methods, Ground-type attacks against a Pokemon with Levitate are treated as having normal effectiveness. (In Scoring A, they should have been treated as ineffective; this is likely a bug.)
- Against a Pokemon with Wonder Guard, type matchups which are not super effective are ignored when calculating the effectiveness. For example, against a Water-Ground Pokemon with Wonder Guard, if the attack is of Water type, the Water-type matchup is ignored, but the Ground-type matchup is considered.
- Only damaging attacks count in the calculation. All other attacks have a score of 0.
- Struggle has type Normal.
If all three Pokemon have the same score in one scoring method, the other scoring method is used. If all three Pokemon have the same score in that method as well, two Pokemon are chosen at random.
If the scores are different, the game performs a simple bubble sort, comparing the first and second scores, the first and third scores, and finally the second and third scores. Upon each comparison it makes, the game checks the following below. After the sort the first two Pokemon in the new order are selected.
- If the first score compared is less than the second score compared, the order of the scores is swapped.
- If the first score compared is equal to the second score compared, the order of the scores may be swapped (a 50% chance).
As the last step, there is a 60% chance that the game will reverse the order of the chosen Pokemon.
Who Wins a CPU Battle?
When two trainers are CPU players, instead of simulating a Pokemon battle, the game appraises the trainers' Pokemon for their likelihood of winning the battle.
X = A + B + C + D
- A = Type effectiveness of attacks. For each damaging attack the trainer has, the
effectiveness of that attack is checked against each Pokemon the opponent has.
The score begins at 0 and is modified thus:
- Ineffective: -16
- 1/4: -8
- 1/2: 0
- Normal: 4
- Double: 12
- Quadruple: 20
- B = For each Pokemon, the game sets BX to the sum of all base stats (HP, Attack, Defense, Speed, Special Attack, Special Defense) for each Pokemon and divides BX by 10; then it adds BX to B.
- C = Tournament rank minus 1
- D = Random number from 0 through 31
If both trainers have an equal value for X, the tie is broken with the higher tournament rank.
If a match in which the player participated ends in a double knockout, the winner is the trainer with the higher tournament rank.