snext1220/stext

enemy要素のhp属性に内部パラメーターを指定可能に

Closed this issue · 8 comments

以下のような記述を可能にします。

<enemy hp="p01">

このようにしておくことで、hpが内部パラメーターp01と連動するようになります(生命力の初期値は内部パラメーター側で指定します)。
内部パラメーターは複数のシーンで共有できるので、複数のシーンで共有可能なhpが表現可能になります(恐らく、これで以前 @Salvadors-cabin さんから戴いていたBattleSheetの要件が満たせるのではないかと)。

ありがとうございますー。
こちらも試してみます。

ご確認ありがとうございます!(是非ラミディアなどにお役立てください)
ただ、スミマセン、こちら実装はこれからになるため、暫しお待ちを。
恐らく大きな問題でなければ、近日中に対応できるかと思います~

上記件対応致しまして、GitHub Onlyで反映しております。
お手すきの折にもご確認くださいませ~

Win10+Edgeでhpがp01と連動することを確認しました。
ありがとうございました!

ご要望戴いてから随分時間が経ってしまいましたが;、内部パラメーター実装でなんとか実現にこぎつけました。活用してやってくださいませ~

chromeで確認。

敵HPが内部パラメーターと紐づくことを確認しました。

気になる点が2つほど。

・flowからp~が入力できない?
敵HPの項目に、数字はいつもどおり入力できるのですが、
p01等は赤枠になってしまい入力できませんでした。
editorの方は機能しています。

・戦闘では内部パラメーターの最小値が無視される
例えばp01の最小値を12にして、敵HPに指定すると、
戦闘では12未満まで値が下がります。
そのまま次のシーンに移ると、内部パラメーターの計算処理が走るのか、
最小値の12に変更されました。

敵HP用ということで最小値をわざわざ0以外にすることも
少ないのかもしれませんが、設定できてしまう以上、挙動が少し気になりました。

@cocotori さん:

ご確認ありがとうございます!

・flowからp~が入力できない?

失礼しました;こちら整数型チェックが働いてしまっていたので解除しました。

最小値

こちらは完全に仕様漏れでしたね。。
ただ、最小値をゼロ以外にしてしまうのは少々違和感もあるので、そもそも敵HPでの最小値は0とする、とルール決めしてしまいましょうかね(例外ルールを作ってしまうくらいならば統一しておけ、という気もしますが…)。
スミマセン、別途コードを見ながら考えますので少々お時間ください。
# もちろん、ご意見大歓迎です。

追記

とりあえず規則を増やしてしまうのも避けたかったので、内部パラメーターの最小値ガードをかける、で修正いたしました。ご確認いただけますと幸いです。

Win 8.1/Chrome 92.0.4515.131(64bit)にて動作確認。
p01に指定した値が敵HPにも反映されているのを確認しました!