Skip to main content

MMBN2 Custom Battle Guide

Mega Man Battle Network 2 is the vastly improved sequel to the first Battle Network game. The battling in the game saw major improvements which allow you to create your own challenging battle with more freedom!

To follow this guide, you need VisualBoyAdvance (VBA) and a backup of the game. I do not condone piracy, but if you somehow already have a copy, follow along.

To create your battle in this game, the easiest way to do so is to overwrite the ToadMan freefight since its easily accessible and repeatable. You can download a save and state save for use with the US version of the game which is already at this part.

Download Battle Network 2 Saves

You should be at this dialog. Before you agree to the battle, you must customize it first.

Using VBA’s Memory Viewer window, the following steps will let you make temporary changes. Remember that any changes will be lost if the emulator is closed. You can make the changes permanent if the same steps are done in a hex editor such as HxD.

Go to the following offset depending on your version.

AE2E US
080E3838
AM2P EU
080E39A0
AE2J JP
080E365C
AE2J JP (v1.1)
080E3884

The offset above controls the settings and will be called Battle Settings. They will control other aspects of the battle but not the opponents or the player.

The default values are:
8C 5A 01 08 00 00 00 00 09 04 01 07 00 00 B8 FF 00 00 84 FF 00 00 40 01 FF 00 FF

The Battle Settings format is documented below. Use this as a guide for the following sections explaining the format.

0x00 Object Setup Pointer (4 bytes)
0x04 Optional Folder Pointer (4 bytes)
0x08 Background
0x09 Battle Mode
0x0A Folder Order
0x0B After Battle Animation
0x0C After Battle X-Coordinates (4 bytes)
0x10 After Battle Y-Coordinates (4 bytes)
0x18 Allow Running
0x19 Starting HP
0x1A Battlefield

Remember that you can add the value on the left side of the list to the first offset to accurately locate specific value you are looking for.

0x00 Object Setup Pointer

This pointer should reference the offset in the file where the enemy and player data is. You can create a battle in free space if you type in the new offset here.
Default varies by version.

0x04 Optional Folder Pointer

These 4 bytes are reserved for a pre-built folder you can use to override whatever folder the player has equipped. Normally this is used for the tutorial battle. Since this is optional, leaving as it is will have no effect on the battle.
Default is: 00 00 00 00

0x08 Background

Here, you can set what background the battle uses. Unlike in the previous game, the battlefield is unaffected since many other panel types were also created. The full list is below.
Default is: 09

00 = Den Area BG
01 = Gas Comp BG
02 = Bomb Comp BG
03 = Mother Brain Comp 1 BG
04 = Mother Brain Comp 3 BG
05 = Castle Comp BG
06 = Castle Comp 2 BG
07 = Castle Comp 3 BG
08 = Airplane Comp BG
09 = Lan's HP BG
0A = Mayl's HP BG
0B = Dex's HP BG
0C = Yai's HP BG
0D = Ribitta's HP BG
0E = Raul's HP BG
0F = Ms. Million's HP BG
10 = Generic Comp BG
11 = The Square BG
12 = UnderKoto BG
13 = Kotobuki Square BG
14 = Kotobuki Square 2 BG
15 = Yumland Area BG
16 = Yumland Square BG
17 = Treasure Room BG
18 = Netopia Area BG
19 = Netopia Square BG
1A = Undernet BG
1B = Apartment Comp BG
1C = Gospel Area BG
1D = Gospel Area 2 BG
1E = Static BG
1F = WWW Area BG
20 = Final Battle BG

Download all backgrounds.

0x09 Battle Mode

Battle Mode lets you play special battles like tutorials. It can also be used to play with the final boss defeat effect. The full list is below.
Default is: 04

00 = Normal Battle
01 = Tutorial 1
02 = Tutorial 2
03 = Tutorial 3
04 = Normal Battle
05 = Normal Battle
06 = Sequential Battle
07 = Normal Battle (No Results)
08 = Normal Battle (No Results)
09 = Gospel Battle End

Though this game introduces sequential battles, it is currently unknown how to trigger them.

0x0A Folder Order

This byte changes what order your folder comes in. By default, your folder comes in a random order. If the value is 00, your folder appears in whatever order it is in the folder screen (such as sorted by Code or ID). Below are the possible outcomes.

00 = Folder is in order
01 = Folder is randomized

Default is: 01

0X0B After Battle Animation

For set battles, you can change which animation Lan appears in after winning or losing the battle. This and the coordinates are not important for making your battle, so skip them for now. But know they’re there.
Default is: 07

0x0C After Battle X-Coordinates

Set the x-coordinates for after battle.
Default is: 00 00 B8 FF

0x10 After Battle Y-Coordinates

Set y-coordinates for after battle.
Default is: 00 00 84 FF

0x18 Allow Running

All this value does is allow or disallow running. If the value is 00, you can run away. Otherwise, you can’t.
Default is: 01

0x19 Starting HP

When this value is not 00, you start the battle with max HP. Since by default this value is FF, you always start with max HP.
Default is: FF

0x1A Battlefield

Panel types are new in this game and battles can now start with a certain arrangement of panel types. There are about 123 different battlefield layouts to choose from.
Default is: 00

Download all stages.

 

Up next is the Object Setup data. Here is where you can change where the player and enemy starts. Take the pointer at 0x00 from above and use that to get to the next step.
Default values are: 00 02 02 00 01 05 02 01 FF

To read the Object Setup data, follow the documentation below.

0x00 Enemy Value
0x01 X-Position
0x02 Y-Position
0x03 Object Type

These 4 bytes must be repeated for every enemy or object you add. Each new entry counts as a “slot”. The game stops reading at FF and anything after that doesn’t count towards the slots. You can only have a maximum of 4 enemies at once. The fourth enemy also won’t have its HP displayed.

0x00 Enemy Value

This value determines the enemy you encounter. The full list is below.

00 = MegaMan
01 = Mettaur
02 = Mettaur2
03 = Mettaur3
04 = Cannodumb
05 = Cannodum2
06 = Cannodumb3
07 = Beetank
08 = Beetank2
09 = Beetank3
0A = Fishy
0B = Fishy2
0C = Cloudy
0D = Cloudy2
0E = Cloudy3
0F = Spooky
10 = Spooky2
11 = Spooky3
12 = Handy
13 = Handy2
14 = Handy3
15 = Bunny
16 = TuffBunny
17 = MegaBunny
18 = MettFire
19 = FullFire
1A = DeathFire
1B = Puffy
1C = Buffy
1D = HardHead
1E = HardHead2
1F = HardHead3
20 = CanDevil
21 = CanDevil2
22 = CanDevil3
23 = Mushy
24 = Mashy
25 = Moshy
26 = Swordy
27 = Swordy2
28 = Swordy3
29 = Mole
2A = Mole2
2B = Poofy
2C = Fishy3
2D = Flappy
2E = Flappy2
2F = Flappy3
30 = Ratty
31 = Ratty2
32 = Ratty3
33 = Twisty
34 = Twisty2
35 = Twisty3
36 = Popper
37 = Popper2
38 = Popper3
39 = Spikey
3A = Spikey2
3B = Spikey3
3C = Flamey
3D = Flamey2
3E = Flamey3
3F = Shrimpy
40 = Shrimpy2
41 = Shrimpy3
42 = PuffBall
43 = PoofBall
44 = GoofBall
45 = Sparky
46 = Sparkler
47 = Sparknoid
48 = Octon
49 = Octor
4A = Octovian
4B = Yort
4C = Yurt
4D = Yart
4E = Shellgeek
4F = Shellnerd
50 = Shellman
51 = KillPlant
52 = KillWeed
53 = KillFleur
54 = Dominerd
55 = Dominerd2
56 = Dominerd3
57 = Protecto
58 = Protecto2
59 = Protecto3
5A = Null
5B = Void
5C = Null&Void
5D = Magneaker
5E = Magmacker
5F = Magnoid
60 = Shadow
61 = RedDevil
62 = BlueDemon
63 = WindBox
64 = VacuumFan
65 = StormBox
66 = RedUFO
67 = BlueUFO
68 = GreenUFO
69 = Snapper
6A = Snapper2
6B = Snapper3
6C = Brushman
6D = Brushman2
6E = Brushman3
6F = Lavagon
70 = Bluegon
71 = Yellowgon
72 = Scutz
73 = Scuttle
74 = Scuttler
75 = Scuttzer
76 = Scuttlest
77 = MegalianA
78 = MegalianH
79 = MegalianW
7A = MegalianE
7B = AirMan
7C = AirMan
7D = AirMan
7E = AirMan
7F = AirMan
80 = AirMan
81 = AirManV2
82 = AirManV3
83 = QuickMan
84 = QuickManV2
85 = QuickManV3
86 = CutMan
87 = CutManV2
88 = CutManV3
89 = ShadowMan
8A = ShadowManV2
8B = ShadowManV3
8C = KnightMan
8D = KnightManV2
8E = KnightManV3
8F = MagnetMan
90 = MagnetManV2
91 = MagnetManV3
92 = FreezeMan
93 = FreezeManV2
94 = FreezeManV3
95 = Gospel
96 = HeatMan
97 = HeatMan
98 = HeatMan
99 = HeatManV2
9A = HeatManV3
9B = ToadMan
9C = ToadManV2
9D = ToadManV3
9E = ThunderMan
9F = ThunderManV2
A0 = ThunderManV3
A1 = SnakeMan
A2 = SnakeManV2
A3 = SnakeManV3
A4 = GutsMan
A5 = GutsManV2
A6 = GutsManV3
A7 = ProtoMan
A8 = ProtoManV2
A9 = ProtoManV3
AA = GateMan
AB = GateManV2
AC = GateManV3
AD = PlanetMan
AE = PlanetManV2
AF = PlanetManV3
B0 = NapalmMan
B1 = NapalmManV2
B2 = NapalmManV3
B3 = PharaohMan
B4 = PharaohManV2
B5 = PharaohManV3
B6 = Bass
B7 = BassV2
B8 = Bass Deluxe

Some things to note (starting from the top):
Fishy3 and Poofy are oddly placed on the list.
The Candevil virus always creates its candle on the last panel behind it. Because of this, you should not place this virus on the back row because it will have very limited movement.
For the Lavagon virus family, you need to have hole panels on the field. The virus only moves around holes and if there are no holes, it would simply appear and reappear on the panel it started on.
For 7B-7F, these are broken placeholder enemies. Though it says AirMan, they appear as WindBoxes which have unintended effects.
The same thing happens for enemies 96 and 97.

0x01 X-Position

This second byte specifies the X-position of the enemy. Values represent whole panels on rows. Use the table below.

[01][02][03][04][05][06]

0x02 Y-Position

Combine this byte with the previous byte to place the enemy on any panel on the field. Values represent whole panels on columns. Use the table below.

[01]
[02]
[03]

0x03 Object Type

This byte determines if you’re fighting an enemy or not. The object slots can be used to create objects instead of enemies which don’t count against the maximum enemy count. Below is the full list of object types.

00 = Player MegaMan
01 = Enemy
02 = Rock
03 = Rock Cube
04 = Metal Cube
05 = Ice Cube
06 = Guardian
07 = Black Bomb

A few things to note.
You can only have 2 objects of any type on the field. Any more and they will simply vanish.
Never use 00 since it only creates a copy of yourself and prevents chip use.
Metal Cube is simply a stronger Rock Cube.
Guardian faces opposite the side of the battlefield it is placed on. If its placed on red, it looks towards blue, but this doesn’t affect its behavior.
Black Bomb explodes when it is hit with fire, but only explodes on the side of the battlefield it is placed on.

Finally, though music isn’t in the format, it is still possible to modify what music plays during this battle. Use your version’s corresponding address.

AE2E US
080E3DBC
AM2P EU
080E3F24
AE2J JP
080E3C18
AE2J JP (v1.1)
080E3E08

The 1C value means its using the Boss Battle theme for this. Use any of the values below to change the music in the battle.

00 = No Music
01 = Mysterious Theme
02 = ACDC Theme
03 = School Theme
04 = Indoors Theme
05 = Okuden Theme
06 = Beach Theme
07 = Official Center Theme
08 = Airport Theme
09 = Netopia Theme
0A = Netopia Castle Theme
0B = Airplane Theme
0C = Kotobuki Town
0D = Event Occurrence
0E = Crisis Theme
0F = Sad Theme
10 = Hero Theme
11 = Transmission
12 = Gas Comp Theme
13 = Bomb Comp Theme
14 = Mother Brain Comp
15 = Castle Comp Theme
16 = Airplane Comp Theme
17 = Kotobuki Tower Theme
18 = Internet Theme
19 = Undernet Theme
1A = Final Area Theme
1B = Virus Battle
1C = Boss Battle Theme
1D = Gospel Battle Theme
1E = Winner Theme
1F = Style Change
20 = Loser Theme
21 = Game Over
22 = Enemy Encounter
23 = Alley Theme
24 = Boss Prelude
25 = Credits Theme

And that concludes the MegaMan Battle Network 2 Custom Battle Guide! This only covers the basics of what you can do.
Here is a sample video demonstrating what this guide lets you do!

Discussion topic on the TREZ Forums