かさたな日記

主にUnityを使った制作記録。書いてる人は初心者です。一緒に頑張ろう。

SRC-Tips

以前やっていたSRCというフリーゲームエンジン関連のTips
ニッチ過ぎてもはや需要はないだろうけど、ネットの海に放流しておこう。
イカの情報はSRC Ver 2.2.33 時点でのものです。

ユニットコマンドとマップコマンドラベルの条件式

ユニットコマンド コマンド名 ユニット名 (Call(条件式)):
マップコマンド コマンド名 (Call(条件式)):

ユニットコマンドとマップコマンドラベルの条件式は
それぞれコマンドを開くタイミングで判定されるが、
そこにはサブルーチンを入れることも出来る。
これを利用することでコマンドを開いたタイミングで実行される操作を
仕込んでおくことが出来る。
例えば何かのゲージを表示してみるとか。音を鳴らすとか。

条件式:
  PlaySound WindowOpen.wav
Return 0

そのコマンド自体を表示しないようにするには
戻り値に"0"を設定しておけばいいのです。


不要なステータス表示を消す

RenameTermや特殊能力『用語名』に空欄を指定してやることで
ステータス欄から表示を追い出すことが出来る。
ただし、左側に表示されている項目だけを消すことは出来ない。
また、用語名に別名指定が出来ない項目も消すことは出来ない。
あとHPやENもバーは消えません。


アイテムの解説

実は3行目以降も設定できる。
でも解説がスクロールしちゃうんでおススメはしない。


性格

サポートされてない性格を設定してもエラーにはならない。
気力の変動は『普通』として扱われる。
Info()で取得することは可能。


援護攻撃とかのエフェクト

汎用戦闘アニメに入っている、
『戦闘アニメ_援護攻撃発動』『戦闘アニメ_カウンター発動』などの
サブルーチンと同名のサブルーチンがシナリオフォルダ側にあると
そちらの実行が優先される。

これを利用することで、各種行動の際のエフェクトを無くしたり、
別の物に差し替えることが出来る。


効果音とか

上と同じようなネタで、
同名の効果音がシナリオフォルダ側にあるとそちらが優先される。
本体側で演奏される物であっても、である。
UnitOn.wavなんかを差し替えるとちょっと新鮮になるかも。


Setstatusコマンド

SetStatus コマンドはサポートされていない状態を付加することも出来る。

  Setstatus ライバルマシーン HP30%以下で撤退 -1

こんな感じで付加してもちゃんと表示はされる。
(むしろ表示しないで欲しい場合もあるだろうケド)

こうして付加した状態に対しても
Condition関数による判定は有効。


すかんぴん状態

『盗』属性によってアイテム(あるいは資金)を奪われたユニットには
「すかんぴん」なる状態が非表示で付加される。
これは同じ敵から複数回アイテムを盗めるのを防止するための操作なのだが
状態扱いなので必要技能に設定することが出来る。
アイテムを奪われると弱体化する、あるいは逆に強くなる敵などを表現できる…かも。

ちなみにClearStatusしてやるともう1回盗める……。


持続ターン数0

これはヘルプに書いてあるが、

各種特殊効果属性(Sとか縛とか凍とか)のレベル、
あるいはSetstatus の持続ターン数に0(または少数)を指定することで
1戦限りの状態を付加することが出来る。
(ここで言う『1戦』とは攻撃⇒反撃終了まで)

あんまり使い道はないのだが、
『SL0』でクリティカルすると反撃をキャンセルさせる武器などを作ることが出来る。


攻撃されると回復する

バリアやフィールドなどの消費ENをマイナス指定してやると
対象となる攻撃を受けた際にENが回復する。

敵の魔法を自分の魔力に変換するみたいな能力の表現に使えるかも。

余談だけど  バリアLv0=マホキテ 魔 -10  みたいにすれば
ダメージは受けるけれどもENは回復できるみたいな能力にすることも出来ます。


『非操作』状態

インターミッション画面中のユニットには
『非操作』という状態が非表示で付加されている。
非操作状態のユニットは移動・攻撃・スペシャルパワーなどのコマンドが表示されない。
(普通の戦闘中に付加した場合の動作は試してません)


マップの移動コスト

実は少数も指定できる。
SRCの基本移動力は4であるため、
スト2では重いと感じたら1.5にしてみるといいかも。


余談だが、空の地形にも移動コストは設定できる。
(デフォルトでは空地形はすべて1になっている)
気流や雲なんかで動きづらいのを表現できるかも。


スペシャルパワー自動発動

存在しないSPを指定してもエラーにならない。
意図的に見逃してるのかどうかは不明。



以上です。