| 回答ありがとうございます。
その後、2.2.21以降のSRC更新情報(新機能&変更点)をもう一度よく見直したところ、 『攻撃属性能力でレベル指定に小数点を含む属性が正しく付加されないことがあるバグを直した』 という記述を発見しました。見落としていました。
そこで最新版の2.2.27をダウンロードして試してみたところ…… 「銭L0.1」はやはり「銭L1」として動くようです。そして「銭L1.5」は「銭L2」として動きました。 「銭L-1」は「銭L1」として動き、「銭L1」以上の整数値については指定どおりの動作を確認しました。
これはもう、やはり「そういう仕様だ」と理解した方が良いのですね。 ただ、これは私のPCだけに起こっている問題かもしれませんので、是非、他の方に動作確認をお願いしたいです。
> 結論からいえば、全ての属性レベルに小数が使えるわけではありません。
勿論、それは承知しています。「縛L1.2」などと指定されても困りますものね。 しかし、同じ『使用時のペナルティに関する属性』にて、「気L0.2(気力1消費)」が使えて「銭L0.1(修理費の1%消費)」が使えないのも変だなぁ思った次第です。
現在作成中のシナリオでは、敵味方全ての(敵は実質的に無意味ですが、ガンダムの両軍で使われるMSのように、データを敵味方共用とする関係上)ユニットの全武装に「銭L0.1」、全アビリティに「銭L0.2」を標準装備させています。
※全てのユニットがこのような感じのデータです。 # 仮ユニット名称 # 仮ユニット愛称, 仮データ, 1, 2 # 陸, 4, M, 6000, 150 # 特殊能力 # シールド # 4500, 150, 1500, 150 # AABA, -.bmp # バルカン砲, 1000, 1, 1, +20, 10, -, -, AABA, -20, 射先連L10|銭L0.1 # ビームサーベル, 1500, 1, 1, +10, -, -, -, AAAA, +0, 武|銭L0.1 # ビームライフル, 1500, 1, 4, -10, 10, -, -, AA-A, +10, B|銭L0.1 # === # 修理装置, 回復Lv4, 1, -, -, -, 援|銭L0.2 # 補給装置, 補給Lv2 装填, 1, -, -, -, 援|銭L0.2
「資金を消費しながら戦い、資金が足りない場合は武器&アビリティを使用できない」 という状況を表現したいのです。 つまり、特定の武器やアビリティだけに「銭」属性を指定しているというデータではありません。
なので今回の状況に限っては、イベントラベルにて使用武器や属性等を特定する必要は無いと考えました。 武器&アビリティ使用による資金消費はダミー特殊能力で解説することとし、武器&アビリティデータから銭属性を取り払い、実験をしてみました。
> 攻撃後・破壊ラベルで使用武器の属性を確認して、レベルに応じて資金を減らすことで再現可能だと思われます。
試しに、以下のような「攻撃後」イベントを作ってみました。
# *攻撃後 味方 敵: # *攻撃後 味方 中立: # Talk システム # 「攻撃後 味方→敵」イベント;_ # 今回のユニットの修理費=$(Info(ユニット,対象ユニットID,修理費));_ # 消費資金=$(0.01 * (Info(ユニット,対象ユニットID,修理費))) # End # Money (-0.01 * (Info(ユニット,対象ユニットID,修理費))) # Exit # # *攻撃後 敵 味方: # *攻撃後 中立 味方: # Talk システム # 「攻撃後 敵→味方」イベント;_ # 今回のユニットの修理費=$(Info(ユニット,相手ユニットID,修理費));_ # 消費資金=$(0.01 * (Info(ユニット,相手ユニットID,修理費))) # End # Money (-0.01 * (Info(ユニット,相手ユニットID,修理費))) # Exit
正常に動作しました。全武装で銭L0.1の効果が再現されました。
同様に、「破壊」イベントも作ってみました。
# *破壊 敵: # *破壊 中立: # If Party(相手ユニットID) = 味方 Then # Talk システム # 「破壊 敵」イベント;_ # 今回のユニットの修理費=$(Info(ユニット,相手ユニットID,修理費));_ # 消費資金=$(0.01 * (Info(ユニット,相手ユニットID,修理費))) # End # Money (-0.01 * (Info(ユニット,相手ユニットID,修理費))) # EndIf # Exit
正常に動作しました。全武装で銭L0.1の効果が再現されました。 中立勢力が敵勢力を破壊したような場合に、味方の資金が減るようなこともありませんでした。
また同時に、アビリティ用に以下のような「使用後」イベントを作ってみました。
# *使用後 味方 全: # Talk システム # 「使用後」イベント;_ # 今回のユニットの修理費=$(Info(ユニット,対象ユニットID,修理費));_ # 消費資金=$(0.02 * (Info(ユニット,対象ユニットID,修理費))) # End # Money (-0.02 * (Info(ユニット,対象ユニットID,修理費))) # Exit
これも正常に動作しました。全アビリティで銭L0.2の効果が再現されました。
しかしここで、3つほど問題が発生しました。
1つめは、アビリティを使用した場合は通常どおり「銭L0.2」の効果ですが、 攻撃をした場合は「攻撃イベント」と「使用後イベント」、あるいは「破壊イベント」と「使用後イベント」の両方が適用されて「銭L0.3」の効果になってしまうことです。
2つめは、「破壊」イベントの場合は良いのですが、「攻撃後」イベントで指定すると味方が攻撃を防御したり射程外で反撃不能(=資金を消費する武器で反撃しない)だった場合でも、とにかく戦闘が起きると資金が消費されてしまうことです。
3つめは、銭属性の効果である「資金が足りない場合は攻撃できない」という状況の再現です。 銭属性を指定すると、資金が足りない場合は武装が赤く表示されて使用不能ですが、これをどう再現するか難儀しています。 現状(銭属性削除)だと、現在資金がゼロであっても問題なく攻撃が行え、資金消費が実質ゼロで戦闘を行えてしまいます。 攻撃不能状況を作るためにダミーの「|銭L1」を付けてみると、実際は修理費の5%分の資金(上記の仮ユニットの場合、資金300)があって攻撃可能な状況でも、銭L1(資金600必要)のために攻撃不能になります。
毎行動後に現在資金を調べ、ユニットごとに修理費をチェックして、現在資金に足りていない場合はその度に「禁属性」を追加するアイテムでもつけるしかないかなと考えているのですが、他に何か良い方法はありますでしょうか。 なるべく簡単な記述、少ないデータ量でなんとかしたいと考えています。
それと、このツリーの話題とは直接関係の無い愚痴のようなもので大変申し訳ないのですが、そもそも銭属性の小数がヘルプの解説どおりに適用されていればこんな七面倒くさい指定をする必要は無い訳でして……
「SRC本体へのリクエスト」において銭属性も含めて「○Lxで表される全属性に小数点指定可能(他には例えば、AL0.5と指定すると味方ターンに使った武器のチャージが敵ターン開始時に解除される)」という属性の仕様の変更をお願いする(意見交換掲示板での討議等も含めて)ということはしてもいいものでしょうか。
|