2024年9月29日日曜日

スキル発動条件追加(スキル関連処理拡張)の更新分

・2025/06/29

「MP(EP)&必殺ゲージ追加」の「攻撃」コマンド実行時にEP/FP消費の設定がある場合の処理を追加。
コマンドスキルについて待機型の場合は使用時に
再移動を持っていても再移動が発生しないように修正。

・2025/05/08

スキル発動条件用のユニークID生成時に特定の状況下でエラーが起こる可能性があったので修正。(こちらの環境では確認できなかったため、OSかエディターのバージョンが原因の可能性あり)

拠点時で初めてユニークIDが生成される場合は次のマップのIDをユニークIDに含めるように修正。 

・2025/05/04

コマンドスキルの武器選択リスト表示時、
もしくは特定の発動条件を設定したコマンドスキル所持の際の移動時に
装備している武器以外の武器の並び順が変わってしまう問題を修正。
    
一部の発動条件の設定時にスキル情報ウィンドウの縦幅が調整されなかったので修正。

・2025/03/26

支援スキルの処理について支援対象者の周囲にいる支援スキル保持者の確認時に
スキル保持者と支援対象者の距離が支援範囲外の場合でもスキルの発動条件チェックが行われていたため
支援スキルの効果範囲から外れてるのが分かってる場合は
スキル発動条件チェックが行われないように修正。

競合対策の「統合CalD-ECPatch.js」について
余計なスキル発動条件チェックを複数回行ってしまう可能性があったので処理を修正。

EC_SkillArrayPush関数で記述ミスがあったので修正。
更新した「統合CalD-ECPatch.js」使用時にスキル発動条件追加も更新しない場合
#DefineExtraConfigSkill.jsのEC_CommonClassSkillの設定が反映されないので注意。

AutoSetteing.jsで無駄な処理があったので修正。

ユニットメニュー下部のスキルアイコンについて
使用者の状態からスキル使用不可である場合にアイコンを薄暗くする機能をつけていたが、
このチェック処理を最低限のもの(ターン数と使用回数)だけにするか
あるいは薄暗くする機能をOFFにする事が可能に修正。
#DefineExtraConfigSkill.jsのEC_SkillListIconSelfConditionCheckLvで変更可能。

競合対策にCL_Growth-Skills.jsを追加。

敵AIの攻撃時のスコア算出時に「範囲内」か「全域」の支援スキルに
自身も対象となるカスパラを設定してた場合に二重でチェックを行ってしまってたため修正。

・2025/03/22

発動率から敵の特定ステータス分減算するカスパラEC_EnemyStatusSubPercentを追加。
ステータスやカスパラ等で加減算された発動率に指定値を乗算するカスパラEC_SecondCorrectionを追加。

スキル情報ウィンドウの横幅と発動率についての表示を調整。
EC_AddTriggerRateとEC_EnemyStatusSubPercentが設定された時に発動率の欄に表示が追記される用に修正。

EC_StateIDとEC_OpponentStateIDについて、
カスパラでAND条件かOR条件かの指定をデキるように修正。

EC_StateIDについて特定ステートに掛かっていないを条件にした場合に
ステートが一切掛かっていない状態だと条件未達扱いになってたので修正。
また、ANDかORの条件指定がなかった頃の動作が
'NON'を付けてないとOR条件、'NON'を付けてるとAND条件となるあべこべな動作を
デフォルトでOR条件にするように動作を統一。

戦闘後から再行動スキルが発動するまでの間まで
スキル発動条件のチェックで直近に戦闘を仕掛けた相手を参照できるよう処理を修正。
(ただし、戦闘後に再行動スキルが発動するまでの間に何かしらの要因で連続戦闘が起こった場合は最初に戦闘した相手か最後に戦闘した相手を参照)
これにより再移動スキルと再行動スキルに対して
EC_OverStatusやEC_Range等の戦闘相手との比較系のスキル発動条件を設定できるようになります。
WIP版のため問題があった場合は
#DefineExtraConfigSkill.jsのEC_CreateTmpCombatTargetActorDataをfalseにしてください。

上記の仕様追加に伴い、戦闘開始時点での相手との距離を判定するカスパラEC_CombatRangeを追加。
また、ユニットの行動時に戦闘を行っておりかつ敵のHPが0になっているかを判定するカスパラEC_CombatDefeatEnemyを追加。
主に再移動スキル、再行動スキルに設定するためのカスパラです。

OverStatus系のカスパラをパラメータボーナス系スキルに設定した場合に
処理の一部に問題がありエラーが発生する可能性があったので修正。

自軍が戦闘を仕掛けて返り討ちで死亡した場合に一部の後処理が実行されなかった問題を修正。

パッシブスキルの設定例.txtを更新。(再行動スキルでの例に追加)
設定例.txtも更新。(EC_EnemyStatusSubPercentの設定例)

・2025/02/21

古いVer(少なくとも1.287前)のSRPGStudioで
拠点で保存しようとすると起きるエラーと
拠点のデータをロードすると警告メッセージが出る問題を修正。

さんごぱん氏の「ウェイトターンシステム」を併用しない場合に
zWaitTurnSystemConflictAvoidance.jsを外す必要はないのだが
これを外した時にエラーが起こらないように修正。
 

・2025/02/14

2024/11/17に追加されたスキルの事前発動チェック機能用の一時的なデータが
ユニットメニューを開いた際に誤って生成されていた事が判明。
(本来、戦闘開始時に一瞬だけ生成されて戦闘終了後に破棄されるもの)

ユニットメニューを開いた後に戦闘をせずにセーブすると
ゴミデータがセーブデータに誤って保存されてしまい
そのセーブデータをロードして戦闘を行うとエラーが発生する問題があったので修正。
また、該当のゴミデータが出たセーブのロード時にゴミデータを削除するように修正。

敵がコマンドスキルを使用するかの判定で
本来使えない位置でコマンドスキルを使ってしまう可能性があったので修正。

readme.txtや一部のtxtファイルの中身を仮マニュアルに移動。
設定例.txt等もマニュアルに順次移す予定。
 

・2024/11/20

#DefineExtraConfigSkill.jsの自動優先度設定について、
スキル種類「再行動」についてのデフォルトの設定値を修正

マニュアル「既存処理の変更点.txt」を追加。
「他スキル発動禁止設定と発動型スキルの事前発動チェック設定について.txt」を修正。

EC_ExclusionSkillの発動禁止設定について特定グループを一括で禁止できるように修正。
それに伴い発動禁止リセットタイミング周りの仕様を調整。
発動禁止設定リセットのパフォーマンス改善。

事前発動チェックに成功したスキルが既存処理でちゃんと発動したかの確認時に
余分にチェックする可能性があったので修正。
 

・2024/11/17

スキルの事前発動チェック機能、またその機能を使う事を前提とした
スキル発動による別スキル発動禁止設定を追加。
(EC_InvalidCheckTiming、EC_ExclusionSkill)

EC_EnableAggregationsで指定できるカスパラに
AttackCount、TargetAttackCount、isSrcを追加。

EC_SupportSkillConfigで指定できるカスパラにCombatAggregationsを追加。それに伴い、戦闘中で攻撃を1回行うごとに支援効果対象チェックがされる処理を追加。これにより初撃のみダメージ増加や戦闘中にHP低下で支援対象外となる処理が行えるようになった。

#DefineExtraConfigSkill.jsのEC_ContinuousAttackMultipleInvokeのデフォルトをfalseに修正。

#DefineExtraConfigSkill.jsのEC_IfEPFPIsLowCounterAttackPriorityを
falseに設定していても反撃を優先してた問題を修正。

反撃スキルに消費FPを設定してもFPが消費されなかった問題を修正。

常時発動型スキルにEC_isSrcを設定した時に一部のスキルの挙動に反映されなかったのを修正。

readme.extのEC_SupportSkillConfigで設定できるカスパラ名に誤りがあったので修正。

「スキル発動条件でパラメータボーナスを考慮する」が未チェックで
HPを増加するパラメータボーナススキルとHPが最大HP以内である事を条件にしたスキル
(EC_NowStatus:{HP:'50-100%'}、またはEC_NowStatus:{HP:'10-M'}等)を所有していた時、パラメータボーナス込みによる現在HPがパラメータボーナス無しの最大HPを超えてしまうとスキル発動条件が未達成となっていたので、最大範囲を最大HPに指定していた場合は最大HPを超えても条件達成になるように修正。

ユニットメニューのスキル一覧の表示パフォーマンスを改善。

杖使用時のカスタムスキルについて対象を参照するカスパラ(EC_EnableAggregations.TargetNowStatus等)を設定した時に条件が反映されるように修正。

EC_SupportSkillConfigのOverStatus、UnderStatusにHPを指定した時にエラーが起こる可能性があった部分を修正。

#DefineExtraConfigSkill.jsの共通スキルに統合Cal用のスキルを設定した時や統合Cal用のスキルにスキル発動条件追加のカスパラを設定した時に内容が反映されるパッチを作成。

「他スキル発動禁止設定と発動型スキルの事前発動チェック設定について.txt」
「常時発動型のカスタムスキルへの設定例.txt」を追加。
「設定例.txt」、「パッシブスキルの設定例.txt」についても中身修正。

・2024/11/08

スキル発動条件追加とさんごぱん氏の「ウェイトターンシステム」を併用した時の
処理落ち対策で作ったWTのキャッシュについて、「ウェイトターンシステム」側の更新でユニットのWT取得の関数名が変更されたので修正。

追加スキルの後手攻撃のカスタムスキルが正常に動作していなかったので修正。
NormalAttackOrderBuilder._isDefaultPriorityの処理について統合Calを先に読み込ませる事を前提に修正。

このプラグインより前に読み込んだプラグインによるNormalAttackOrderBuilder._isDefaultPriorityの処理の結果、カスタムスキル等で攻撃側の先制攻撃より優先されるタイプの待ち伏せが発生していた場合、あるいは受け側の先制攻撃が発動されてたのに無効にされた形跡があればそちらの結果を優先するよう修正。(統合Cal対策)

zTemporaryDataVirtualAttackLoadAfter.jsにて事前準備で変数やカスパラに設定を行うものについてScriptCall_Reset内で動的宣言を行うように修正。

・2024/11/03

2024/09/29の更新時から発生していた以下の問題を修正。

EC_Priorityの自動設定について#DefineExtraConfigSkill.jsのEC_AutoPrioritySetting.ForceCommandSkillHighPriorityをtrueにすると以下の問題が発生する。
-非コマンドスキルでない場合でもEC_Priorityに値が加算されてしまう。
-リセットする度に全てのスキルのEC_Priorityの値が増えてしまう。

同種類の発動型のスキルを所有していた際に優先度が高い順から発動チェックする処理についてカスタムスキルの場合だと一番優先度が高いものだけしかチェックされていなかった。

・2024/10/25

カスタムパラメータEC_ConditionTextEnableを設定してもスキルウィンドウの発動条件の表示が非表示にならなかった問題を修正。
(内部で使うカスパラ名が誤ってEC_ConditionTextになっていたため修正)
 

・2024/10/14

スキル「盗む」、スキル「行動回復」を複数所持していた時のユニットメニューに表れるコマンドの挙動を改変。
発動可能なスキル「盗む」を複数所持している場合は「盗む[選択]」となり、
スキルを選択した後に盗むを実行します。スキルの使用回数制限の設定と併用する事で
「アイテムだけしか盗めないけど何度も実行可能」、「武器も盗めるけど使用回数に制限あり」、「武器も含めた複数のアイテムを盗めるけど1MAP1回のみ」
という風に盗むの使い分けができるようになりました。
発動可能なスキル「行動回復」も同様に複数所持している場合は「行動回復[選択]」となります。(#DefineExtraConfigSkill.jsで名称変更可能)

「行動回復」で対象を周囲に設定されてる場合について、
公式処理では選択時に即座に使用でしたが、使用直前に対象の確認と確認メッセージが出るように改変しました。

「競合対策」の「戦闘後盗む_ECPatch.js」について、
盗むスキルを複数所持していた時に盗めるアイテムの種類について別スキルを参照する可能性があった問題を修正。

コマンドスキルの選択一覧の使用回数について、使用回数制限がマップのみに設定したスキルの残り使用回数が正常に表示されない不具合を修正。

敵側の行動回復スキルの対象選択の判定処理や使用回数増減の処理に関するものを
誤って消しており機能していなかったので修正。

AroundSelfやAroundTarget等の周囲のユニットの存在を条件にするカスパラにて
Rangeが未設定だった時の挙動に誤りがあった(範囲が無限になってた)ので修正。

一部の関数(EC_GetSkillObjectExtraConfigCheck、EC_GetSkillObjectPassiveSkillArray)の引数の指定の仕方を修正。
関数名変更(EC_CommandPlusSkillAfterSetting→EC_PassiveSkillAfterSetting)
windowmanager-skillselectmenu.jsのオブジェクト宣言を修正およびCommandSkill.jsの使用するオブジェクト名の修正。
CommandSkill.jsにて意図せずにグローバル変数として扱ってた変数を修正。

・2024/10/06

キュウブ氏の敵対勢力支援プラグインの改変について、
古いファイルを元に改変していたので修正対応。元のファイルを改変したものを上書きする形式はやめて改変用プラグインを読み込ませる方式に変更。
(このため、キュウブ氏の敵対勢力支援プラグインは元のファイルが必要になります)

名前未定(仮)氏の「戦闘後盗む」について導入時に使用時に使用回数をカウントするように処理追加。キュウブ氏の一部のプラグインについて競合回避策を追加。
「競合対策」フォルダに競合対策用のファイルを置きました。
「(プラグイン名)_ECPatch.js」という名前のファイルは
該当するプラグインと同じ場所に設置してください。(元ファイルが必要になります)
現時点で競合対応しているもの
・キュウブ氏
    「ターン開始時に範囲回復、範囲ダメージができるようになるスクリプト ver 2.3」
    「敵対勢力に支援効果を与えるスクリプト Ver1.8」
    「倒れると発動する支援スキル Ver 1.0」
    「スキル発動条件攻撃回数(FEHカウント)」
・名前未定(仮)氏
    「戦闘後盗む」
・さんごぱん氏
    「ウェイトターンシステム」
 
ログの出力可否をスキルタイプ別に設定可能に修正。
#DefineExtraConfigSkill.jsで設定が行えます。
(負荷対策のためパラメータボーナスと支援のログはデフォルトで非表示に設定しています)
『戦闘相手の』スキル発動率が上昇するカスパラ(EC_OpponentAddPercent)を追加。
強力だけど所有すると相手のスキル発動率が上がる諸刃の刃的なスキルの作成ができます。


・2024/09/29

処理を大幅に修正。設定できるカスタムパラメータを大幅追加。
常時発動型のスキルでEP・FP消費を使用したい場合はMP(EP)&必殺ゲージ追加の更新をしてください。
(改変して使っている場合もUnitEP.jsとUnitFP.jsで修正した内容は反映してください。)

さんごぱん氏の『ウェイトターンシステム』に互換性を持たせるための設定を追加。
『ウェイトターンシステム』併用時にパラメータボーナススキルを持ってると処理落ちする問題に対応。
(「OT_ExtraConfigSkill」フォルダの#DefineExtraConfigSkill.js参照)
キュウブ氏の『スキル発動条件攻撃回数(FEHカウント)』を併用した時に競合しないように修正。

キュウブ氏の敵対勢力支援プラグインの取得経験値増幅を使用したい場合は処理部分をマージしたものを別途用意しております。「$キュウブ氏の敵対勢力支援マージフォルダ」のrival_support.jsで上書きしてください。
(SRPG Studioのwikiにあったものを改変したのですがどうやら古いVerのものでした…近日中に最新Verに合わせたものに修正予定)

所持すると他のスキルの発動確率を上昇させるカスパラ(EC_EtcSkillAddPercent)を追加。

スキル発動条件に周囲にいるユニットを条件に加えられるようになりました。
特定ユニットが隣接している、周囲に味方が何人かいる、
敵の周囲に味方がいる等の条件を追加できます。

一部の設定はコマンドスキル発動前の使用条件、
使用後からの持続ターン中の間で有効となる条件を分けれるようになりました。

攻撃型のコマンドスキルについて敵側も使用するようになりました。
(待機型のコマンドスキルは現状では敵側は使用しません。)

エディタの「有効相手」の設定があるスキルのID、またはオリジナルデータを指定する事で
自身と相手両方に対して「有効相手」の設定から条件判定ができるカスパラを追加しました。
これによりスキル所持者の判定について
「種族」、「どの地形にいるか」、「男性か女性か」等、
今までこのプラグインのカスパラで設定できていなかった条件を設定できるようになりました。

スキル使用回数の設定について戦闘毎、ターン毎、マップ毎の3種類から
戦闘毎、ターン毎、マップ毎、コマンドスキル毎の4種類別々設定ができるようになりました。
(従来ではコマンドスキルの使用回数はマップ毎の方に設定する形だった。)
この仕様変更によりEC_TriggerCountMap(マップ毎の使用回数)に設定されてる値が
旧Verの設定だった場合、ゲーム起動時に互換性のため新Ver用の設定に自動的に変換されます。

支援やパラメータボーナススキル以外の常時発動型スキル(確率での発動判定がなく常時有効なスキル)で
コマンドスキル化しなくても発動条件追加の設定が可能になりました。
また、従来では常時発動型スキルは戦闘毎、ターン毎、マップ毎の使用回数を設定できるのは
盗むや行動回復等のコマンド追加型のスキルだけでしたが、
常時発動型スキル全てに設定ができるようになりました。
(自然回復スキル等、戦闘毎、ターン毎の使用回数を設定しても意味がないものがあります)

スキル種類「支援」について射程を「指定範囲」、「全域」にすると自身は対象外となりましたが
カスパラ「EC_SelfSupport」を設定する事で自身も対象にできます。
また、支援効果を与える勢力についての指定も可能になりました。
(自分以外の周囲の敵味方に悪影響を及ぼすスキルみたいな事が可能)
また、支援対象者のステータス(例えばHPが)スキル所持者より高いか低い場合のみ支援効果を受けれる設定が可能になりました。
(EC_SupportOverStatus、EC_SupportUnderStatus)

所持するだけで常時発動する(戦闘時の発動率チェックがない)タイプのカスタムスキルについて
EC_CustomPassiveSkillやEC_CustomSkillConditionTypeを設定する事で
スキル発動条件追加の条件チェックを受けれるようになったり、
エディタの「有効相手」が設定されていた時に条件チェックを受けれるようになりました。
※全ての常時発動型のカスタムスキルで動作する保証はありません。
  カスタムスキル側の処理の仕方によっては
  これを設定しても動作しないものもあります。ご了承ください。

ランタイムスキルについて、EC_Priorityが未設定だとスキル効力に応じて自動的に設定されるようになりました。
これにより、ダメージガード等の一部のスキルを複数所持していた時に
最も効力が大きいものから順に発動チェックが行われるようになります。

「OT_ExtraConfigSkill」フォルダの#DefineExtraConfigSkill.jsで下記の設定が行えるようになりました。
・特定のスキルを全ユニットに所持させる(反撃可能スキルに発動条件を設定してそれを持たせる等、ゲーム設定的な感じで使う)
・クラスタイプや種族ごとに特定のスキルを所持させる(特定の兵種や種族で特殊なスキルを持たせるというのを一括で設定したい時)
・スキルのクールタイム等について『さんごぱん氏のウェイトターンシステム』を使う場合に互換性を持たせるための設定
・武器やアイテムについているパラメータボーナススキルを考慮するかの設定(公式では非推奨扱いのためデフォルトOFF)
・その他、デバッグログ関係

readme.txtと設定例.txtも修正。(特に設定例.txtは一部廃止されてたものが使われていた)