別表4 行動設定
行動設定
行動設定はほとんどのスプライトの変数$52で行われる。実体はフラグセットであり、実際には下位6ビットのみが意味を持つ。
なお、待機時間を指定する場合にはこれとは異なった方式で設定されるが詳細はよくわかっていない。

ビット 内容
5
重力の影響を受ける
4
移動範囲を2倍に拡大する
3
重力の影響を受けずに直進する
ビット1との併用時は円運動を行う
2
単独で使用した場合は床を貫通する
ビット0及びビット5と併用した場合はジャンプを行う
1
ビット2との併用時は上下往復
ビット5との併用時は壁に当たると引き返すようにする
0
ビット2との併用時は左右往復
ビット1及びビット5と併用した場合は普通に往復運動をする

属性指定
属性指定は変数$30で行われる。特殊機能の切り替えを行うためのものであり、フラグセットである。

ビット 内容 ビット 内容
15
未使用
7
未使用
14
未使用
6
未使用
13
未使用
5
投擲物による攻撃を有効にする
12
未使用
4
未使用
11
未使用
3
未使用
10
弾込めを有効にする/ キャノンの発射物による破壊を有効にする
2
未使用
9
未使用
1
スプライト足場への搭載を有効にする
8
爆風による攻撃を有効にする
0
掴みを有効にする

補注
1. ビット10は砲台および隠し壁のための設定である。一般的な敵などにこの属性を使用した場合、キャノンの発射物または砲弾が接触すると倒される。
2. ビット8はTNTバレルが直接当たった時の攻撃を無効化するものではない。あくまでもTNTバレルが破壊視されて生じる爆風の判定を切り替える設定である。
3. ビット5を無効にした場合は一切の投擲物の攻撃が通用しなくなる。ただし、チームアップの判定はヒットイベントで設定されるため影響を受けない。
4. ビット1を有効にした場合、熱気球やクロコヘッドなどへスプライトを置くことができる。
5. ビット0を有効にした場合はどのようなものであっても掴むことができる。ただし敵キャラに使用した場合にこちらがダメージを受けるかどうかは別の話である。
キャノンの発射ルーチン
キャノンの発射ルーチンはすべてバンク$FFに定義されており、変数$22を用いて呼び出されます。
発射ルーチンは4バイト単位の発射データの配列となります。

アドレス 内容
0-1
absolute
発射するスプライトの絶対アドレス
nullptrを指定した場合は発射ルーチンの終了宣言。
2
[flags] byte
発射方法。後述。
3
sbyte
次の発射データの実行までの待機時間。負数無効。

発射方法はフラグセットであり、その各ビットの機能は横撃ちタイプのキャノンと下撃ちタイプのキャノンで異なります。

ビット 内容
7
横: 高速で斜め下に発射。バウンドを伴う。
下: 高速左下に発射。バウンドを伴う。
6
高速で真上に発射
5
横: 高速で斜め下に発射
下: 右下に発射。バウンドを伴う。
4
横: 高速で斜め下に発射
下: 右下に発射。バウンドを伴わず、接地すると止まる。
3
弾速を上げる
2
弾速を下げる
1
横: 標準。通常はこのビットは必ずセットする。
下: 右に少しずらす
0
横: 斜め上に発射する
下: 左に少しずらす

追跡型キングBの行動ルーチン
キングBの行動ルーチンはバンク$FF内に定義されており、変数$4Eで呼び出されます。
行動ルーチンは通る座標の配列で表されますが、方向転換や速度変更などのためのコマンドが挿入されることがあります。
これらのコマンドはコマンドを作用させる地点の座標データの直前に置かれます。また、コマンドは複数を続けて作用させてもかまいません。

コマンド 文法 内容
FFFA
0xFFFA ushort, object
第一引数に指定した変数に第二引数で指定した値を書込みます。
もっぱら変数$22 (向き)に対して値を書込むために使用されます。
FFFB
0xFFFB ushort, ushort
変数$4Cに第一引数を、変数$50に第2引数を書込
用例がないため詳しい効果は不明。
FFFC
0xFFFC ushort
変数$4Aに値を書込
用例がないため詳しい効果は不明。
FFFD
0xFFFD absolute
指定されたアドレスにある行動ルーチンを実行する。いわゆるジャンプコマンド
FFFE
0xFFFE short
追跡速度を変更
FFFF
0xFFFF
行動ルーチンの終了宣言

樽大砲の初期設定
樽大砲の全機能は変数$46で設定される。これはコマンド$8A00の第1引数として渡される。

ビット 内容 ビット 内容
15
アニマルバレル (ビット13併用不可)
7
横移動
14
発射後の慣性を強める
6
入った後に移動開始
13
ステージ移動用 (ビット15併用不可)
5
常時往復
12
操作回転 (ビット2併用不可)
4
操作移動 (ビット12と併用。かつビット2併用不可)
11
回転停止
3
隠し樽大砲
10
縦移動反転
2
自動樽大砲
9
横移動反転
1
ディクシー不可
8
縦移動
0
ディディー不可

補注
1. ビット15及びビット13はアニマル設定と移動先・復帰先指定が同一の変数で行われるため併用してはならない。
2. ビット14を有効にすると、発射後の十字キーによる移動が強く反映されるようになる。原作タルタル鉱山の矢印バレルなどに使用例あり。
3. ビット10及びビット9は往復移動の向きを決める。樽大砲の往復速度は符号なしで指定されるため、いずれのフラグも有効にしない場合は右向きもしくは下向きに移動する。
4. ビット1及び0の両方を有効にした場合、ディディーでもディクシーでも入ることができなくなる。