ここでやること
- 勝利判定及び敗北判定の定義(キーワードlast breath,die, endlevelタグ,result)
勝利判定、敗北判定を定義する
一応、「
シナリオファイルを作る(2)」までで、とりあえず Battle for Wesnoth のキャンペーンとしては動きます。
敵将を倒すと自動的に勝利となり、主人公が倒されるか時間切れとなると自動的に敗北となります。これでもう完成ですね。パチパチパチ・・・
・・・ん?敗北条件がもうひとつありましたね。そう「副官(Lulu)の死」です。
やはり、面倒ですが、勝利判定、敗北判定を定義しましょう。
基本的に書く要素
勝った負けたも「イベント」ですので、[event]~[/event] の中に記述していきます。
書く要素は次のようなものです。
:name
|イベントの種類を書きます。
ユニットが倒されるのは、die か last breath です。die の場合は倒されるとすぐにそのユニットの画像が消滅し、last breath の場合は倒されても、そのイベントが終了するまでは画像が残っています。ですから、息絶える前に一言言わせたい場合は、敵味方関係なく last breath の方が適当でしょう。
時間切れは time over です。
:[filter]~[/filter]
|この中に、「誰」に発生したかなどを書きます。
:[message]~[message]
|必須ではありませんが、たいてい死ぬ前に何か言い残したりしますからね。「誰」がと「メッセージ」の内容を書いていきます。
:[endlevel]~[/endlevel]
|result= の後に勝利なら victory、敗北なら defeat と書きます。
勝利の場合は、他に次のシナリオに持ち越すボーナスなども書きますが、今回は次のシナリオはないので、ボーナスもありません。
まとめると
[event]
name=
[filter]
id=
[/filter]
[message]
speaker=
message=
[/message]
[endlevel]
result=
[/endlevel]
[/event]
となります。
以下の作例では、デフォルトの勝敗と区別できるよう、負けたユニットに一言ずつ遺言を言ってもらいました。
Gutor-Teng を倒す(勝利)
name=die 、[filter]〜[/filter] は、Gustor-Teng 、result=victory となります。
作例
[event]
name=last breath
[filter]
id=Gustor-Teng
[/filter]
[message]
speaker=Gustor-Teng
message= _ "無念なり!"
[/message]
[endlevel]
result=victory
[/endlevel]
[/event]
味方の死
同じ調子で作ってしまいましょう。name=last breath 、result=defeat になります。
Kerolyn の死
[event]
name=last breath
[filter]
id=Kerolyn
[/filter]
[message]
speaker=Kerolyn
message= _ "さらばだ!"
[/message]
[endlevel]
result=defeat
[/endlevel]
[/event]
Lulu の死
[event]
name=last breath
[filter]
id=Lulu
[/filter]
[message]
speaker=Lulu
message= _ "さよなら!"
[/message]
[endlevel]
result=defeat
[/endlevel]
[/event]
時間切れは、自動的に負けになりますので、今回は定義省略します。
完成品は
こちら
最終更新:2017年06月04日 14:27