スキル計算式の事で質問です

ささき
記事: 39
登録日時: 2021年4月05日(月) 23:53

スキル計算式の事で質問です

投稿記事by ささき » 2021年12月02日(木) 18:24

いつもお世話になっております。
スキル計算式で例えば

(b.isStateAffected(3) ? 2 : 1)*100

上記の場合対象がステート3状態の時は2倍、そうでない時は100ダメージというような式ですが

b.isStateAffected(3) ? 2 : 1

この条件部分に「ステート3の時は2倍+別ステート付与、そうでない時は100ダメージ」のように効果を増やしたいと思ってます。
無い頭を絞って

(b.isStateAffected(3) ? 2 ; b.addState(5) : 1)*100

(b.isStateAffected(3) ? 2 & b.addState(5) : 1)*100

のようにしてみたのですが別ステート付与もしくは2倍効果が同時には発揮されませんでした。
正しい書き方が分かる方が居ましたら教えて下さい。

名無し蛙
記事: 302
登録日時: 2015年11月23日(月) 02:46

Re: スキル計算式の事で質問です

投稿記事by 名無し蛙 » 2021年12月04日(土) 15:48

多分、初期に広めた一人かもしれないので訂正させてください。
ささき さんが書きました:正しい書き方が分かる方が居ましたら教えて下さい。

ダメージ計算式でダメージ計算以外の処理をしようとしている時点で正しくありません。
元はこの欄はevalで処理をしている、つまりJavaScriptの構文を使用可能であり
正しい知識を磨けば色々と悪用が出来ますよという一例で話が広まっただけで
実用性に関してはあまり考慮しておらず、ましてや
テクニックとして生兵法が広まった事に関しては完全に想定外の出来事だったと思います。

例えばオート戦闘で最適なスキルを選定する時に
事前に使用可能な全てスキルをダメージ計算式を利用して最大効率を試算します。
この時にダメージ計算以外の処理が紛れると思わぬ誤爆が発生しますし、
また同様の理由でプラグイン等でも問題が発生する可能性が生じます。

ステート付与かつダメージ分岐だけならこういった資料を確認すれば実装出来ると思いますけど
根本的にダメージ計算式欄を利用するべきではないです。他の手段を検討してください。

“MV:質問” へ戻る