V1.06

反映は木曜の夜なのかな? まだ配信されていなかったので、こっそり更新。
無駄なpalcolorを見つけて削除したら8Bytes減ったので、敵の爆炎色(palcolor命令で指定)について、撃破時と母艦到達時で異なるようにしました。
敵と味方でも変えたかったけどサイズに余裕がなかった。


なんで8Bytesで色の切替ができるのかについて、圧縮ネタをちょっと解説
各キャラクターは、オブジェクト管理テーブル(配列名eobj)上に状態値(dup変数名eep)を持っています。
この値が0なら不在、1〜999は破壊シーケンス、1000以上は耐久値ありとして扱います。
破壊シーケンスでは、状態値が1〜499の場合には爆炎表示(状態値で爆炎の大きさを表現)後、常に状態値を1減算します。
オブジェクト健在の場合は、ダメージを受けた時に、耐久値すなわち状態値を1減算します。
ダメージ蓄積により状態値が1000を切ると破壊シーケンスに入り、キャラクター種別にあった爆炎初期サイズ(母艦:200、敵ミサイル:50、その他:100)になるように状態値を強制変更します。(敵の場合は併せて点数計算、資金加算を実施。)
また、別の場所でやっている敵艦および敵ミサイルの母艦到達チェックでは、状態値を100へ強制変更します。(点数計算、資金加算なし)
で、都合の良いことに、オブジェクト管理テーブルにおける状態値の次要素が射撃間隔(dup変数名eeq)となっており、破壊されたら用済みなので、ここを爆炎色として使えます。
スクリプト上では、eep=状態値 → eep=状態値,色指定 と、オペランドを1個追加するだけで、爆炎初期サイズと一緒に爆炎色を指定でき、これが2カ所あるので8Bytes増。
爆炎の円を描画するときの色指定は敵味方共通。palcolor 15 固定だったのをpalcolor eeqとしただけなので、こちらはサイズ増加なしです。
ちなみに、母艦はID=0でオブジェクト管理テーブルの先頭オブジェクト、さらに状態値は配列の先頭要素なので、母艦が生きているかどうかの判別は、eobjを1変数として値を見れば分かります。