| >ゲームを以下のような仕様にする場合、バトルコンフィグやインクルでどう設定したらいいのでしょうか?ヘルプを見たとこを以下の仕様に出来ない他、過去の書き込みを利用しても上手くいきません。
>・ユニットがいる地形の適応に応じて自身の命中・回避率が変動(陸に適応Aのユニットがいれば等倍、Bなら0.8倍) > >・射撃武器の地形適応による攻撃側のダメージの変動が武装の地形適応と攻撃相手がいる地形だけに依存する。 >(空中適応Cのユニットが陸の相手に射撃攻撃をした際、命中率は変わらないのに与えるダメージが適応Aの陸で攻撃した際より少なくなる現象を回避したいのです…)
地形適応の戦闘への影響を変更したいという事ですね。
● 地形適応関係はバトルコンフィグデータを利用しないでも、Optionコマンドで多少は変更できます。
親記事の説明だけではカバディさんのやりたい仕様の全容がわかりませんが、
>地形適応修正繰り下げ >地形適応による修正量が繰り下げられます。具体的には適応Aの値が1に設定されます。 > "S"=1.2, "A"=1, "B"=0.8, "C"=0.6, "D"=0.4, "-"=0
>地形適応命中率修正 >地形適応が命中率の計算に適用され、逆にダメージ計算の式から幾つかの地形適応による修正が削除されます。 >具体的には攻撃力に対する地形適応が武器の地形適応のみから計算されるようになり、防御力に対して地形適応による修正が適用されなくなります(防御力 = 装甲 × 気力/100)。 >また、ジャンプ攻撃の際の命中率修正がなくなります(地形適応による修正が二重に適用されてしまうのを防ぐため)。
このあたりのオプションの効果に似てるような感じがしますが、これらのオプション(の組み合わせ)ではダメという事で良いでしょうか。 (他にも 地形適応総和計算・地形適応修正緩和を利用する事で地形適応の影響を変更できます)
● 地形適応の効果をこれらのオプションを組み合わせた以外に変更したいのであれば、バトルコンフィグデータを利用することになります。
実現したい地形適応の計算式が全部わからないと、なかなか具体的なものは書きにくいので、とりあえず考えられる大まかな方針を
1.バトルコンフィグデータの地形適応部分を、計算用に用意した通常ラベルのCall関数に置き換える 2.その通常ラベル内で、空陸水宇のうちどの地形適応が使うかを判定し、地形適応を取得する。 3.取得した地形適応に応じた値をReturnする。 という流れになると思います
単純な例を挙げれば 防御側の地形適応がAなら表示される命中率は常にちょうど60%、 Bなら80% C:90% D:100% E:200% S:40% …という仕様にするなら
battle.txtに #===== 最終命中率 Call(相手地形適応修正命中,防御側ユニットID) #=====
Dataフォルダのinclude.eveあたりに #===== 相手地形適応修正命中: #Args(1)=ユニットID
#Args(1)の地形適応を調べる local 全地形適応 = info("ユニット",Args(1),"地形適応") //「AACA」など if 全地形適応 = "" then //Args(1)が適切じゃなかった場合。エラー防止用その1 return 0 endif
#Args(1)が今どの地形にいるか調べる local 現在地形適応 switch Area(Args(1)) case "空中" //適応は1文字目 現在地形適応 = mid(全地形適応,1,1) case "地上" "水上" //適応は2文字目 現在地形適応 = mid(全地形適応,2,1) case "水中" //適応は3文字目 現在地形適応 = mid(全地形適応,3,1) case "宇宙" //適応は4文字目 現在地形適応 = mid(全地形適応,4,1) case else //"地中"もしくはArgs(1)が適切じゃなかった場合。エラー防止用その2、念のため return 0 endsw
#Talk #$(Unit(Args(1)))の$(Area(Args(1)))における地形適応は[$(現在地形適応)]です。 #Suspend
#地形適応の値によって結果を変える。 switch 現在地形適応 Case "S" Return 40 Case "A" Return 60 Case "B" Return 80 Case "C" Return 90 Case "D" Return 100 Case Else //"E" "-" Return 200 EndSw Return 0 //万が一のエラー防止
#===== のように書けば実現できます。
このような方法の他に、実現したい戦闘計算式によっては、 実現したいものと多少似た計算式になる地形適応関係のオプションとバトルコンフィグ変数「地形適応」とを組み合わせる方法も取れるかもしれません。 こっちの方法が取れるならもっと短く書けるでしょう。
|