バトルハック


ここではバトルハックの解説をしていきます
基本的にはTRZEのGuidesを日本語でわかりやすく書いていきます


今回のバトルハックでは、VSヒートマンかアクアマンで行なわれます
(ファルザー版の場合はアクアマンのオペレーターと対戦します)


最初に


VBAを起動し、ツール→メモリビュアーを開いてください
使用バージョンに従い、以下のアドレスを入力しジャンプします
グレイガ
080B2CA0

ファルザー
080B1430

すると、以下の画像のようになります

一番上の列に注目してください、これが今回のバトルハックに関するデータの値となり、大部分はこの値を弄っていきます
00 64 16 00 FF 00 38 00 D7 98 41 00 16 18 0B 08

大前提として、メモリを書き換えてからバトルに突入すると変更が適用されます。
バトルに突入してから値を変えても何も変化しないので気をつけてください。



前から順に、以下のデータが格納されています

00 バトルフィールド
64 不明
16 BGM
00 バトルモード
FF 背景
00 バトルカウント
38 自パネル敵パネル範囲
00 不明
D7 88 41 00 バトルエフェクト (4バイト)
36 3D 0B 08 オブジェクト設定ポインタ(4バイト)

バトルフィールド

初期値は00であり、こちらから各ステージの画像をダウンロードできます

  • 不明
不明値

BGM

初期値は16であり、それぞれのBGMが下記の値になります
00 = No Music
01 = Title Screen
02 = WWW Theme
03 = Cyber City Theme
04 = Indoors Theme
05 = School Theme
06 = Seaside Town Theme
07 = Sky Town Theme
08 = Green Town Theme
09 = Graveyard Area Theme
0A = Mr. Weather Comp Theme
0B = Event Occurance
0C = Crisis Theme
0D = Sad Theme
0E = Hero Theme
0F = Transmission
10 = Robo Control Comp
11 = Aquarium Comp
12 = Judge Tree Comp
13 = Network Theme
14 = Undernet Theme
15 = Virus Battle
16 = Boss Battle
17 = Final Battle
18 = Pavilion Theme
19 = Winner Theme
1A = Loser Theme
1B = Game Over
1C = Boss Prelude
1D = Credits
1E = Navi Customizer Theme
1F = Winnter Theme (short version)
20 = Pavilion Comp
21 = Theme of the CyberBeasts
22 = Crossover Battle Theme
23 = Shark Chase Theme
24 = ACDC Town
25 = Expo Theme

バトルモード

初期値は00であり、以下の値によりバトルモードを変更できます
00 = Normal Battle
01 = Crossover Battle
02 = Tutorial 1
03 = Tutorial 2
04 = Tutorial 3
05 = Beast Out Tutorial
06 = Virus Battler
07 = TomahawkMan Mini Game
08 = Cross Tutorial
09 = DustMan Mini Game
0A = Hakushaku's Invincible Mode
0B = Hakushaku's Defeat

背景

初期値はFFであり、以下の値により背景を変えることができます
00 = Lan's HP BG
01 = ACDC HP BG
02 = Nothing
03 = Seaside HP BG
04 = Sky HP BG
05 = Green HP BG
06 = Robo Control Comp BG
07 = Generic Comp Green BG
08 = Generic Comp Purple BG
09 = Central Area BG
0A = Aquarium Comp BG
0B = Seaside Area BG
0C = Judgement Tree BG
0D = Green Area BG
0E = Sky Area BG
0F = Undernet BG
10 = Mr. Weather Comp BG
11 = Underground BG
12 = CyberBeast Comp BG
13 = ACDC Area BG
14 = Graveyard Area BG
15 = Mr. Weather Comp BG (storm)

バトルカウント

初期値は00であり、これはバトル数を示します。例えば05にしてバトルに入ると5戦目というのが表示されます。内部表示値は99までです。

自エリア敵エリア範囲

初期値は38であり、これはエリアの範囲を示します。16進数の38はバイナリ値で表すと111000となります。
この場合の0はロックマンのエリア、1は敵エリア
例えば 111111 → 3Fにすると全て敵のエリアとなります
下記のURLにてバイナリ値から16進数に変換できます
変換


不明
不明値

バトルエフェクト

初期値はD7 88 41 00の4バイトが使用されています。これも下記の値がそれぞれ設定されています

00000001 = Boss Ranking Mode
00000002 = Show Results
00000004 = Start with Max HP
00000008 = Network Battle
00000010 = Recover to Max HP After Battle
00000020 = Allow Running and Keep Full Sync
00000040 = Keep HP After Battle
00000080 = Folder is Randomized
00000100 = Allow Game Over
00000200 = Unknown
00000400 = Multiplayer Sequence Battle
00000800 = Unknown
00001000 = Unknown
00004000 = Allow Locate Enemy SubChip and Keep Full Sync
00008000 = Force Low Enemy Level
00010000 = Unknown
00020000 = Unknown
00040000 = Unknown
00080000 = Unknown
00100000 = Disallow Dark Chips

今回のように4バイトが使用されている場合、VBAのメモリビュアーを8ビットから32ビットに変えましょう
そして、004188D7を上記のいずれかの値に変えることにより設定が変更されます

オブジェクト設定ポインタ

初期値は36 3D 0B 08、これも32ビット表示にします
#ref error : ファイルが見つかりません ()
すると080BD3D36という値がでてきました。これは、このアドレスに自キャラ、敵キャラの設定があるポインタを表しています。
080BD3D36 は080BD3D30の左から7番目を示しています(0番目スタート)、なので080BD3D30に飛んでみます

飛んだ先で8ビット表記に戻します。するとF0 00 22 00 00 11 25 03 01 F0という並びがありますね、これがオブジェクト設定の部分となります
上記の画像を見てください(ブルーさん作)、青枠がオブジェクトタイプ、黄枠が初期位置、緑枠が敵キャラの値になります。
左端と右端のF0は区切りを示しており、区切ることによって1つのオブジェクトの設定とみなされます。

これらの枠は以下の値が設定されています。



オブジェクトタイプ

00 = Player-Controlled Navi
01 = Opponent Player-Controlled Navi
10 = Fight on Red Side
11 = Fight on Blue Side
20 = Mystery Data
30 = Rock
70 = Flag
80 = Rock Cube
90 = Guardian
A0 = Metal Cube

初期位置

ロックマンと敵キャラの初期位置を示しています

[11][12][13][14][15][16]
[21][22][23][24][25][26]
[31][32][33][34][35][36]

これはエリアを表しており、22は従来のロックマンの位置、25であれば従来のボスキャラの初期位置となります

敵キャラの値

以下のリストが敵キャラの値になります
http://megaman.wikia.com/wiki/List_of_Mega_Man_Battle_Network_6_Viruses

00 = テストウイルス
01 = メットール
02 = メットール2
03 = メットール3
04 = メットール SP
05 = レア メットール
06 = レア メットール2
07 = アーバルボーイ
08 = アーバルボーイ2
09 = アーバルボーイ3
0A = アーバルボーイ SP
0B = レア アーバルボーイ
0C = レア アーバルボーイ2
0D = メガリアA
0E = メガリアH
0F = メガリアW
10 = メガリアE
11 = レア メガリア
12 = レア メガリア2
13 = スウォーディン
14 = スウォーディン2
15 = スウォーディン3
16 = スウォーディン SP
17 = レア スウォーディン
18 = レア スウォーディン2
19 = キラーズアイ
1A = デモンズアイ
1B = ジョーカーズアイ
1C = キラーズアイSP
1D = レア キラージアイ
1E = レア キラーズアイ2
1F = クエイカー
20 = クエイクドム
21 = クエイクダバ
22 = クエイカー SP
23 = レア クエイカー
24 = レア クエイカー2
25 = キャタック
26 = キャターリン
27 = キャタパルド
28 = キャタック SP
29 = レア キャタック
2A = レア キャタック2
2B = チャンプル
2C = チャンパー
2D = チャンプラナ
2E = チャンプル SP
2F = レア チャンプル
30 = レア チャンプル2
31 = ウインドボックス
32 = バキュームファン
33 = ウインドボックス2
34 = バキュームファン2
35 = レア ウィンドボックス
36 = レア バキュームファン
37 = ララパッパ
38 = ララチューバ
39 = ララボーン
3A = ララミュート
3B = ララホルン
3C = ララパッパ SP
3D = OldStove
3E = OldStove2
3F = OldStove3
40 = OldStove SP
41 = レア OldStove
42 = レア OldStove2
43 = HauntedCandle
44 = HauntedCandle2
45 = HauntedCandle3
46 = HauntedCandle SP
47 = レア HauntedCandle
48 = レア HauntedCandle2
49 = Kettle
4A = Kettle
4B = SuperKettle
4C = Kettle DX
4D = Kettle SP
4E = レア Kettle
4F = Puffy
50 = Puffy2
51 = Puffy3
52 = Puffy SP
53 = レア Puffy
54 = レア Puffy2
55 = StarFish
56 = StarFish2
57 = StarFish3
58 = StarFish SP
59 = レア StarFish
5A = レア StarFish2
5B = EarthDragon
5C = ThunderDragon
5D = WaterDragon
5E = WoodDragon
5F = WhiteDragon
60 = BlackDragon
61 = ScareCrow
62 = ScareCrow2
63 = ScareCrow3
64 = ScareCrow SP
65 = レア ScareCrow
66 = レア ScareCrow2
67 = PulseBulb
68 = PulseBulb2
69 = PulseBulb3
6A = PulseBulb SP
6B = レア PulseBulb
6C = レア PulseBulb2
6D = BigHat
6E = BigHat2
6F = BigHat3
70 = BigHat SP
71 = レア BigHat
72 = レア BigHat2
73 = BombCorn
74 = MegaCorn
75 = GigaCorn
76 = BombCorn SP
77 = レア BombCorn
78 = レア BombCorn2
79 = Shrubby
7A = Shrubby2
7B = Shrubby3
7C = Shrubby SP
7D = レア Shrubby
7E = レア Shrubby2
7F = HoneyBomber
80 = HoneyBomber2
81 = HoneyBomber3
82 = HoneyBomber SP
83 = レア HoneyBobmer
84 = レア HoneyBomber2
85 = Gunner
86 = Shooter
87 = Sniper
88 = Gunner SP
89 = レア Gunner
8A = レア Gunner2
8B = FighterPlane
8C = FighterPlane2
8D = FighterPlane3
8E = FighterPlane SP
8F = レア FighterPlane
90 = レア FighterPlane2
91 = DarkMech
92 = ElecMech
93 = DoomMech
94 = DarkMech SP
95 = レア DarkMech
96 = レア DarkMech2
97 = SnakeArm
98 = SnakeArm2
99 = SnakeArm3
9A = SnakeArm SP
9B = レア SnakeArm
9C = レア SnakeArm2
9D = Armadill
9E = Armadill2
9F = Armadill3
A0 = Armadill SP
A1 = レア Armadill
A2 = レア Armadill2
A3 = Cragger
A4 = MetalCragger
A5 = BigCragger
A6 = Cragger SP
A7 = レア Cragger
A8 = レア Cragger2
A9 = Nightmare
AA = BlackMare
AB = DarkMare
AC = Nightmare SP
AD = レア Nightmare
AE = レア Nightmare2
AF = Flying Garbage 1
B0 = Flying Garbage 2
B1 = Flying Garbage 3
B2 = Nothing
B3 = Nothing
B4 = Nothing
B5 = Totem Pole 1
B6 = Totem Pole 2
B7 = Totem Pole 3
B8 = Totem Pole 4
B9 = Totem Pole 5
BA = Totem Pole 6
BB = メットール
BC = メットール 2
BD = メットール 3
BE = メットール SP
BF = レア メットール
C0 = レア メットール2
C1 = メットール1
C2 = メットール1 EX
C3 = メットール2
C4 = メットール2 EX
C5 = メットール3
C6 = メットール3 EX
C7 = Tuby
C8 = Tuby EX
C9 = Tuby2
CA = Tuby2 EX
CB = Tuby3
CC = Tuby3 EX
CD = Flag
CE = Rock
CF = Otenko
D0 = RockCube
D1 = IceCube
D2 = Nothing
D3 = Nothing
D4 = BombCube
D5 = BlackBomb
D6 = Wind
D7 = Fan
D8 = TimeBomb
D9 = TimeBomb+
DA = Nothing
DB = Anubis
DC = PoisonPharoah
DD = Fanfare
DE = Discord
DF = Timpani
E0 = Silence
E1 = DarkSonic
E2 = VDoll
E3 = Guradian
E4 = Voltz
E5 = AirSpin
E6 = ChaosLord
E7 = RedFruit
E8 = ChemicalFlash
E9 = ModMegaman
EA = BassCrossMegaman

0101 = HeatMan
0102 = HeatMan EX
0103 = HeatMan SP
0104 = HeatMan RV
0105 = HeatMan BX
0106 =
0107 = ElecMan
0108 = ElecMan EX
0109 = ElecMan SP
010A = ElecMan RV
010B = ElecMan BX
010C =
010D = SlashMan
010E = SlashMan EX
010F = SlashMan SP
0110 = SlashMan RV
0111 = SlashMan BX
0112 =
0113 = KillerMan
0114 = KillerMan EX
0115 = KillerMan SP
0116 = KillerMan RV
0117 = KillerMan BX
0118 =
0119 = ChargeMan
011A = ChargeMan EX
011B = ChargeMan SP
011C = ChargeMan RV
011D = ChargeMan BX
011E =
011F = AquaMan
0120 = AquaMan EX
0121 = AquaMan SP
0122 = AquaMan RV
0123 = AquaMan BX
0124 =
0125 = TomahawkMan
0126 = TomahawkMan EX
0127 = TomahawkMan SP
0128 = TomahawkMan RV
0129 = TomahawkMan BX
012A =
012B = TenguMan
012C = TenguMan EX
012D = TenguMan SP
012E = TenguMan RV
012F = TenguMan BX
0130 =
0131 = GroundMan
0132 = GroundMan EX
0133 = GroundMan SP
0134 = GroundMan RV
0135 = GroundMan BX
0136 =
0137 = DustMan
0138 = DustMan EX
0139 = DustMan SP
013A = DustMan RV
013B = DustMan BX
013C =
013D = ProtoMan
013E = ProtoMan EX
013F = ProtoMan SP
0140 = ProtoMan FZ
0141 = ProtoMan BX
0142 =
0143 = BlastMan
0144 = BlastMan EX
0145 = BlastMan SP
0146 = BlastMan RV
0147 = BlastMan BX
0148 =
0149 = DiveMan
014A = DiveMan EX
014B = DiveMan SP
014C = DiveMan RV
014D = DiveMan BX
014E =
014F = CircusMan
0150 = CircusMan EX
0151 = CircusMan SP
0152 = CircusMan RV
0153 = CircusMan BX
0154 =
0155 = JudgeMan
0156 = JudgeMan EX
0157 = JudgeMan SP
0158 = JudgeMan RV
0159 = JudgeMan BX
015A =
015B = ElementMan
015C = ElementMan EX
015D = ElementMan SP
015E = ElementMan RV
015F = ElementMan BX
0160 =
0161 = Hakushaku
0162 = Hakushaku EX
0163 = Hakushaku SP
0164 = Hakushaku RV
0165 = Hakushaku BX
0166 =
0167 = Colonel
0168 = Colonel EX
0169 = Colonel SP
016A = Colonel RV
016B = Colonel BX
016C =
016D = Bass
016E = Bass BX
016F = Bass SP
0170 = Bass SP
0171 = Bass BX *
0172 = Bass XX
0173 = Gregar
0174 = Gregar EX
0175 = Gregar SP
0176 = Gregar RV
0177 = Gregar BX
0178 =
0179 = Falzar
017A = Falzar EX
017B = Falzar SP
017C = Falzar RV
017D = Falzar BX
017E =
017F = Hakushaku
0180 = Hakushaku EX
0181 = Hakushaku SP
0182 = Hakushaku RV
0183 = Hakushaku BX
0184 =
0185 = Gregar Beast
0186 = Gregar Beast EX
0187 = Gregar Beast SP
0188 = Gregar Beast RV
0189 = Gregar Beast BX
018A =
018B = Falzar Beast
018C = Falzar Beast EX
018D = Falzar Beast SP
018E = Falzar Beast RV
018F = Falzar Beast BX
0190 =
0191 = MegaMan
0192 = MegaMan
0193 = MegaMan
0194 = MegaMan
0195 = MegaMan
0196 = MegaMan
0197 = MegaMan
0198 = MegaMan
0199 = MegaMan
019A = MegaMan
019B = MegaMan
019C = MegaMan
019D = MegaMan
019E = MegaMan
019F = MegaMan
01A0 = MegaMan
01A1 = HeatMan
01A2 = ElecMan
01A3 = SlashMan
01A4 = KillerMan
01A5 = ChargeMan
01A6 = AquaMan
01A7 = TomahawkMan
01A8 = TenguMan
01A9 = GroundMan
01AA = DustMan
01AB = ProtoMan


敵キャラの値を入力するときに注意すべきことがあります。それは数値は右から入力していくことです。
例えば、01AAのダストマンに変更したいときは、0301という値を AA01と入力しないといけません。間違えやすいので気をつけてください。



以上の値を変更することにより、自分の好きなようにバトルの状況を構築できます。

参考程度に1例を紹介して見たいと思います

00 64 16 00 FF 00 38 00 D7 98 41 00 16 18 0B 08
          ↓
05 64 1D 00 14 FF 30 00 D7 98 41 00 50 F5 7F 08

バトルフィールドを05、BGMを1D、背景を14、パネル範囲を30、オブジェクト設定ポインタを51 F5 7F 08(087FF551)にそれぞれ変更

ポインタ先の08FFF551(FF~)を以下のように変更
VSフォルテXX 4体

できました。


このような流れでバトルハックは行われます。