バトルコンフィグその3?

だったっけ?
数を度忘れしたけどそのままレッツゴー。


前々回に書いた特殊能力補正について記述してみる。


Battle.txtにはこう記述
最終ダメージ
終値 * Call("ダメージ特殊能力",攻撃側ユニットID,防御側ユニットID)


色々省いたが割愛。
終値はそのまま、攻撃補正防御補正を計算した値が入ってくる。
では、特殊能力補正について。


ダメージ特殊能力:
Local Damage = 1
If Skill(PilotID(Args(1)),"特殊能力所有",リベンジ) And Not Party(Args(1)) = フェイズ Then
Incr Damage 0.3
EndIf
If Skill(PilotID(Args(2)),"特殊能力所有",ガード) And Morale(PilotID(Args(2))) >= 130 Then
Incr Damage -0.2
EndIf
Return Damage

リベンジについては、攻撃側のユニットが『リベンジ』を持っており、かつ所属がフェイズではない事。
フェイズは変数で現在のフェイズの陣営名が入るので、Notが入っているから必然的に反撃時限定になる。
仮にここでリベンジが発生していると、最終ダメージの1.3倍になる。


そしてガードについては、逆のパターン。気力が130以上になっていたら最終ダメージを0.8倍にしている。


そちらも言える事は、初期値で1にしているので、乗算なので何も無かったらスルーされているのと同じ。
代わりに1.3、1.4倍等にしたかったらIncrで0.3,0.4に。
下げたかったら-0.2とかにすればOK.


実は結構考えれば楽なほう。

明日はSRWJ方式のラムダ・ドライバ実装を試みてみる。
ただし、そのままだと攻撃力がバカになるので下げた状態。

SRC

現在67kbに行く。しかしまだプロローグ……。
予想は130kbくらいかなぁ。


そういえば、俺のシナリオは少し詰めすぎの傾向にある。
まぁ、それは重々承知だが。
実際に100kb超えるシナリオってそこまで多くないし。
まぁ、それだけ新しい事も増えれば新たに出来る可能性もあるので、色々とやってて楽しくなる。
少なくとも妥協したらそこまでなので、突き詰めていきたいと思った。