「Monsters」の中には右の画像のように
.luaファイルが各敵ごとに用意するようになっています
今回は「Encounter Skeleton」のposeurを元に説明していきたいと思います。
変数[]
comments = {"Smells like the work\rof an enemy stand.", "Poseur is posing like his\rlife depends on it.", "Poseur's limbs shouldn't be\rmoving in this way."}
こちらはダイアログに表示するコメントを設定しています。
1回行動をした後はこの変数内からランダムで表示されるようになっています。
commands = {"Act 1", "Act 2", "Act 3"}
こちらはACTで表示するコマンド一覧です。
randomdialogue = {"Random\nDialogue\n1.", "Random\nDialogue\n2.", "Random\nDialogue\n3."}
こちらは敵のセリフをランダムで表示する際に設定する変数です。
セリフを自分で競ってしなかった場合にこの中からランダムで表示されます。
(「Encounter Skeleton」では表示前にセリフを設定しているため使われていません)
sprite = "poseur" --Always PNG. Extension is added automatically.
こちらは敵の絵を設定できる変数です。
sprite = "絵の名前"で設定することが出来ます。
例えばsans.pngの絵を使用する場合は"sans"と入れましょう。
name = "Poseur"
こちらは敵の名前です。敵選択時等に表示されます。
hp = 100
atk = 1
def = 1
こちらは敵のステータスを設定できます。
check = "Check message goes here."
こちらは敵をチェックした際に出てくるコメントです。
dialogbubble = "right" -- See documentation for what bubbles you have available.
こちらは敵の吹き出しの形を設定できます。
吹き出しは敵の会話毎に変更することも出来ます。
canspare = false
こちらはspareで終了するかどうかを判断するフラグです。
右の画像はtrueにした状態です。
cancheck = true
こちらは敵をcheckできる様にするかを判断するフラグです。
画像はfalseにした状態です。
関数(ファンクション)[]
function HandleAttack(attackstatus)
if attackstatus == -1 then
-- player pressed fight but didn't press Z afterwards
else
-- player did actually attack
end
end
こちらの関数はATTACKを選んだ後の攻撃をした後、スルーした後の処理を書いていく関数です。
if attackstatus == -1 then
else
の間に攻撃せずにスルーした場合の処理
else
end
の間に攻撃した場合の処理を書きます。
何も書かなくてもダメージ処理は自動で行われます。
function HandleCustomCommand(command)
if command == "ACT 1" then
currentdialogue = {"Selected\nAct 1."}
elseif command == "ACT 2" then
currentdialogue = {"Selected\nAct 2."}
elseif command == "ACT 3" then
currentdialogue = {"Selected\nAct 3."}
end
BattleDialog({"You selected " .. command .. "."})
end
こちらの関数はACTの処理を書いていく関数です。
commands変数の中身を基に作っていきます。
if command == "ACT 1" then
currentdialogue = {"Selected\nAct 1."}
elseif command == "ACT 2" then
currentdialogue = {"Selected\nAct 2."}
elseif command == "ACT 3" then
currentdialogue = {"Selected\nAct 3."}
end
上記の部分は上から
ACT1を選んだ場合、ACT2を選んだ場合、ACT3を選んだ場合
となっており、
currentdialogue = {"Selected\nAct 1."}は敵のセリフを設定しています
この場合は「Selected\nAct 1.」と喋らせることが出来ます。(\nは改行のこと)
if command == "ACT 1" thenの"ACT 1"の部分は
commands変数内の文字(コマンド名)をそのまま入れることで判定してくれます。
ただし、大文字でないと判定されないようなので注意。
大体こんな感じです