ここでやること
- moveto イベントで勝利となるようにする
- [and]~[/and] と [or]~[/or] を使ってみる。
シナリオファイルを書き換える
マップができましたので、シナリオファイルを書き換えましょう。
[objectives]~[objectives] の中をを書き換える
と言っても、これは、 description= _ "すべての敵将を倒す" を description= _ "洞窟の出口に到達する" に変えるだけです。
記載例
[event]
name=prestart
[objectives]
[objective]
description= _ "洞窟の出口に到達する"
condition=win
[/objective]
[objective]
description= _ "Kerolyn の死"
condition=lose
[/objective]
[objective]
description= _ "Lulu の死"
condition=lose
[/objective]
[objective]
description= _ "時間切れ"
condition=lose
[/objective]
[/objectives]
[/event]
すべての敵将を倒してもゲームが終了しないようにする
これも簡単です。
元のシナリオの "enemies defeated" イベントから
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
を取り除くだけです。
目的地に到達したら、勝利となりゲームが終了するようにする。
「ある場所に到達したら発動するイベント」は、既にやってますね。そう、moveto イベントです。
洞窟の出口は広いので、1マスだけではなく3マスのどれかについたら、到着したことにしましょう。
また、イベントを発生させられるのは、主人公の Kerolyn か副官の Lulu だけにしましょう。
イベントがはつどうするのは、ある場所に到達する、「かつ」、Kerolyn、「または」LUlu という条件なので、それを満たすように [filter]~[/filter] タグの書き方を工夫します。
[and]~[/and] タグ
「かつ」は、英語では and なので、そのまま [and]~[/and] を使えばいいです。
例
[filter]
side=1
x=7,8,9
y=1,1,1
[and]
id=Kerolyn
[/and]
[/filter]
でも、Kerolyn、「または」LUlu としたいので、 [and]~[/and] の中にさらに [or]~[/or] を入れ子にします。
例
[filter]
side=1
x=7,8,9
y=1,1,1
[and]
id=Kerolyn
[or]
id=Lulu
[/or]
[/and]
[/filter]
出来上がった勝利判定
ここまでできたら、あとは moveto イベントの最後に [endlevel]~[/endlevel] を入れるだけですね。
というわけで、次のようになります。
#本当の勝利
[event]
name=moveto
[filter]
side=1
x=7,8,9
y=1,1,1
[and]
id=Kerolyn
[or]
id=Lulu
[/or]
[/and]
[/filter]
[message]
speaker=Kerolyn
message= _ "ついに洞窟を抜け出したぞ。こんなところにオーク共がひそんでいたとはな。"
[/message]
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/event]
最終更新:2011年09月04日 21:56