兵器登録コード

1兵器あたり88(58h)バイトのアドレスで管理され、
1陣営あたり64兵器の計5632(1600h)バイト、
5陣営総計320兵器、28160(6E00)バイトで構成される。

アドレスは鋼鉄・作戦ともに共通で8000h~EDFF。アドレスが10000hを超えることはない。
このセクションの値の変更はセーブデータには一切記録されないため、変更内容を保持したければステートセーブ等が必要になる。

マップ毎に出現可能な兵器を定め、兵器ごとの詳細な仕様を定義している領域。
逆に言えば、ここに登録されていない兵器は、例え改造コードを駆使しても出すのが難しい。

このセクションの書き換えにより全く同名・同性能の兵器を作ることまではできるが、
兵器アイコン(マップ上の見た目)はマップファイルに直接格納されているため、
マップファイルに含まれていない兵器アイコンは出すことができないのである。

一応兵器アイコンのコードも発見しているが、1アイコンあたり512ドット(256バイト)を書き換えつつ
マップをロードする必要があるため、いずれにせよ非現実的といえる。

登録されている兵器であっても、自陣営に登録されていない兵器は輸送車・輸送機に格納することが許されず、
またその兵器に進化することもできない。
この仕様のため、同じ国の同じ兵器でも陣営が違えば陣営ごとに登録されているのが普通である。
ただし片方の陣営にしか登録されていない場合もある。

また生産可能な兵器=陣営あたり第30番目以内のものである可能性が高い。
よって下記88バイト内で生産可能かどうかを定義するコードはなさそうである。
空→陸→海の順に並んでいる必要はなく、兵器種別に応じて自動的に空陸海の生産リストに振り分けられる。
また生産リストの順番も兵器登録順である。

第1陣営 第1登録兵器のコード

アドレス 内容 備考
8000 兵器指定値
(2バイト)
無改造状態で、ここに目的の兵器指定値があるかどうかが、
その兵器が登録されているかどうかの条件となる。
なおここだけを書き換えても兵器性能は変化しないが、
新規でその兵器を出現させた際のポリゴンが変わる。
(既存部隊のポリゴンは部隊コードで定義されている。)

アイコンも変化するが条件があり、フェイズをまたぐ(あるいはロードの)必要がある他、
やはりそのマップに登録されている兵器指定値でなければ正常に変化しない。
(不正の場合、恐らくダミー(0000)用のアイコンになる。)
8001
8002 兵器名 ステータス 1文字目 通常1バイト/1文字だが、稀に2バイト分使って1文字を表現している場合もある。
なお10文字目まで指定できるが、文字が溢れてしまうため、通常9文字目までしか定義されない。

文字指定値一覧も参照。
8003 兵器名 ステータス 2文字目
8004 兵器名 ステータス 3文字目
8005 兵器名 ステータス 4文字目
8006 兵器名 ステータス 5文字目
8007 兵器名 ステータス 6文字目
8008 兵器名 ステータス 7文字目
8009 兵器名 ステータス 8文字目
800A 兵器名 ステータス 9文字目
800B 兵器名 ステータス 10文字目?
800C 兵器名 マップ 1文字目
(2バイト)
文字指定値一覧を参照。
800D
800E 兵器名 マップ 2文字目
(〃)
800F
8010 兵器名 マップ 3文字目
8011
8012 兵器名 マップ 4文字目
8013
8014 兵器名 マップ 5文字目
8015
8016 兵器名 マップ 6文字目
8017
8018 兵器名 マップ 7文字目
8019
801A 兵器名 マップ 8文字目
801B
801C 兵器名 マップ 9文字目
801D
801E 兵器名 マップ 10文字目? 通常FFFF。弄るとバグる。
801F
8020 兵器運用開始年(10進)? 現在のところ、以下が判明。
・アドレス8020、8022の値は30~50、
・アドレス8021、8023の値は1~12 のいずれかの値をとる。
・値にA~Fが一切含まれていない(10進法で記述している?)
・常に アドレス8020の値 ≦ アドレス8022の値
・新兵器ほどアドレス8020の値が大きい

つまり、これは新兵器開発、旧兵器破棄といった運用期間を10進で示している可能性が高い。
なおゲーム内で時期関係なく使われる兵器(例えば共通の兵器群など)は
39 01 50 01 となっていることが多い。

ご存じの通り、コードで日付を弄っても生産開発可能な兵器が変化するわけではないし、
この値の操作がゲーム内で何らかの影響を与えるかどうかは不明。
CPの途中で強制進化、処分される兵器の後半2バイトが50 01だったり、
逆に43 12なのに最終マップ(46年)でも生産出来たり、実際のゲームとの不一致も多い。
わざわざ10進表記してあることから、開発者のためのメモという位置づけなのかもしれない。
8021 兵器運用開始月(10進)?
8022 兵器運用終了年(10進)?
8023 兵器運用終了月(10進)?
8024 進化1
(2バイト)
兵器指定値を用いる。ここの値を書き換えることで、任意の兵器に進化可能になる。
マップエディット目的では一番活躍するであろうコード。
8025
8026 進化2
(〃)
8027
8028 進化3
8029
802A 進化4
802B
802C 価格 10$単位
(2バイト)
正確にはユニットの1補充あたりの価格。なので生産時(10ユニット)なら10倍になる。
802D
802E 開発表上の位置
(2バイト)
開発表のどの位置に兵器が載るかを示す。値が増える毎に、左上からИ字型に移動する。
カテゴリごとに以下の値を示す。

掲載なし:0000 戦闘機:0065~0074 攻撃機:00C9~00D8 爆撃機:012D~013C
牽引砲:0191~01A0 軽戦車:01F5~0204 中戦車:0259~0268 重戦車:02BD~02CC
歩兵:0321~0330 艦艇:0385~0394

ただし、開発表上でNOTとなっている位置を指定しても無効。
また見ての通り、カテゴリごとに値が飛び飛びになっている。

同じ位置が指定されている兵器が2つ以上ある場合、アドレス8020~8021の2バイト値が
大きい方が優先される。(結果、新兵器になる程優先される)
アドレス8020~8021も同値の場合、兵器登録順が後ろのものが優先されるものと思われる。
802F
8030 兵器種 ここの値が歩兵系(18~1A)の場合のみ、アイコンが歩行アニメーションを行う。
逆に、歩兵系を指定すると強制的にアニメーションとなる。
他にも移動時の効果音(エンジン音など)を決定していたりする。

値の種類がかなり多いので、詳細は別表(下記参照)にまとめた。
8031 移動力
8032 燃料上限
8033 全兵器共通で値01が適用されている模様。(兵器指定値0000:ダミー のみ00)
8034 最大補充量 1ターンあたりのユニット補充の上限を指定。
例えば歩兵系は殆どの場合5、戦艦系や一部の超兵器などは1に指定されている。
なお資金が少ない場合、補充量はこれより少なくなる場合がある。
8035 移動タイプ 地形(地形効果)における移動コストに影響を与える。
空中待機時の燃料消費、輸送機・輸送車への変形などの付随仕様はこちらの管理下ではなく、
兵器種など他のコードに依存していると思われる。

00:ダミー 01:航空 02:装軌基 03:装軌弱 04:装軌基(渡河可) 05:半軌 06:半軌弱 07:装輪路
08:歩兵車 09:補給 0A:歩兵基 0B:歩兵雪 0C:固定 0D:艦艇 0E:輸送艦 0F:予備

・00:ダミーは01:航空と同じ性能と思われる。
・0F:予備 は使用未確認。
・値10以降は兵器性能画面がバグる。
動員兵(日)(改造コードでしか出現しない)のみ、値31が適用されている。
(こちらも性能画面がバグっている)
8036 索敵 6が最大。7以上を指定すると、性能画面は設定値通りだが、索敵0と同じ仕様になってしまう。
(索敵0の場合、未索敵領域に入ると自らの姿が見えなくなり、その後は選択もできない。)
対潜索敵>索敵の場合、未索敵領域の中に潜水艦だけが表示されたりする。
8037 対潜索敵
8038 搭載可能数 4が最大。
8039 進化ランク値 この値を基に、進化に必要な経験値が計算される。
進化前兵器のこの値をX、進化後兵器のこの値をYとすると、

Y-X≦0 の場合、必要経験値 50
Y-X≧4 の場合、必要経験値 250
それ以外の場合、必要経験値 50×(Y-X+1) となる。
要は差が1つ大きくなるにつれ必要経験値が50ずつ加算される。

例えばすべての兵器を一律同じ値にすると、常に経験値50のみで進化可能になる。
また値がどれだけかけ離れていても、進化コード(アドレス8024~802A)
さえ設定されていれば、経験値MAXで進化できる。

あくまで進化に用いるランク値であって、兵器性能そのものとは必ずしも比例しない点は注意。
ご存じの通り、(Y>Xにも関わらず)進化改良後に性能が下がる場合もある。
ちなみに正規の最高値はヤークトティーガーの16h(10進で22)。
803A 武装指定値I
(2バイト)
武器指定値とは仕様が異なり、1つの2バイトコードで武器1~4の種類・弾数上限を
まとめて管理している。新規生産兵器の武器種類・弾数はこちらに依存する。
I~IVは航空機における武装切替用であり、航空機以外はII~IVが0000になる。
803B
803C 武装指定値II
(〃)
803D
803E 武装指定値III
803F
8040 武装指定値IV
8041
8042 対空防御
8043 対地防御
8044 対艦防御
8045 回復タイプ ビットフラグ形式で補給可能箇所を定義。
01:空港、艦船搭載 02:都市、補給車 04:港 08:補給不可 10:?
キャンペーン自軍の補給車はここが08になっている。
二式飛行艇は01+04で05になっているため、空港と港の両方で補給可
8046 空母:01、補給車:02、他の兵器:00 と設定されている模様。
8047 防御タイプ ここの値を編集することで防御タイプが変化する。
01:司令部 02:航空 04:装甲 08:非装甲 10:艦船 20:潜水

これによってZOC特性も当然変化するし、
値によっては生産可能兵器が生産不可能になったりする副作用がある。
これも見ての通りビットフラグ形式と思われるので、
複数の防御タイプを兼ねることも可能かもしれないが、何が起こるかは不明。
8048 搭載可能兵器(海) ビットフラグ形式で搭載可能兵器を定義。下のアドレス8049の値と対応。
例えば10+01で11にすると、8049の値が10の兵器と01の兵器を搭載可。

輸送船は3E、空母系は01になっている。3Fに変更すると空母兼輸送船になるが、
搭載時補給が行われるかどうかはアドレス8045(回復タイプ)による。
8049 着艦・乗船タイプ 詳細は上記参照。
00:着艦・乗船不可 01:艦載機 02:補給車 04:装甲 08:非装甲(歩兵除く)
10:歩兵(トラック変形可除く) 20:トラック変形可(輸送車自体も含む)
804A
 ~
8053
8054 アイコン(マップ上の姿)
(2バイト)
登録されている兵器の範囲内で、兵器アイコンを変えることができるが、
登録されていない兵器のアイコンに変える手段はない。
アイコングラフィックはマップファイル側に格納されており、その数も限られているためである。
また0000~00AFは(恐らく)メニューアイコンなどのために確保されている領域であり、
実際の兵器アイコンが出現するのは00B0以降である。
基本的には兵器登録通りの順番であることが多く、
歩兵系は歩行アニメのため、アイコン枠を3枠使用する。
登録アイコン領域の後は、何も見えなくなるか、グラフィック断片などが出現する。
なお、ここでアイコンを変更しても、コード実行停止後ターンやフェイズをまたぐと、
兵器指定値(アドレス8000)通りの姿に戻る。
8055
8056 アイコンのパレットアニメ、
陣営色など
兵器アイコンのパレットアニメーションや色などを管理。
なお、歩兵の歩行アニメはこちらでは管理していない。

00:点滅(航空機のプロペラ、牽引砲の砲口など) 01:静止
02:キャタピラ駆動(車両、戦車など) 03:静止
04:水面の波表現(艦艇など) 05:静止 06:静止

以上に+07h:第2陣営の色、以下第5陣営まで。
8057
  • 兵器種詳細
兵器種 兵器種 兵器種 兵器種
00 - 10 TD 駆逐戦車 20 BC 巡洋戦艦 30 ES 補給・工作車
01 FC 艦上戦闘機 11 R 対空戦車 21 CA 重巡洋館 31 G トーチカ
02 F 戦闘機 12 RU 自走高射砲 22 CL 軽巡洋艦 32 A ダミー
03 FD 局地戦闘機 13 U 自走榴弾砲 23 DD 駆逐艦 33~ 以降は画面がバグる
04 FA 戦闘攻撃機 14 - 24 Z 潜水艦
05 DB 急降下爆撃機 15 QT 牽引対戦車砲 25 CV 空母
06 AC 艦上攻撃機 16 QR 牽引高射砲 26 CVL 軽空母
07 A 陸上攻撃機 17 QU 牽引榴弾砲 27 -
08 B 爆撃機 18 I 歩兵 28 -
09 - 19 MI 機械化歩兵 29 C 輸送機
0A - 1A AI 空挺兵 2A T 輸送車
0B SC 偵察車 1B - 2B HQ 司令部
0C LT 軽戦車 1C - 2C TR 輸送船
0D MT 中戦車 1D - 2D FCA 重巡
0E HT 重戦車 1E - 2E FBB 戦艦
0F AG 突撃砲 1F BB 戦艦 2F FCV 空母

他の登録兵器のコード

  • 第1陣営 第2登録兵器のコード
→上記アドレスに+58h
 第3登録兵器以降も同様
 以下陣営ごとに第64登録兵器まで

  • 第2陣営 第1登録兵器のコード
→上記アドレスに+1600h
 第3陣営以降も同様

以下第5陣営 登録第64登録兵器まで
最終更新:2021年08月12日 12:59