【解決済】装備による属性アニメーションの追加

返信する
KOHAKU
記事: 25
登録日時: 2021年12月04日(土) 14:09

【解決済】装備による属性アニメーションの追加

投稿記事 by KOHAKU »

お世話になっております。

現在、装備によってアニメーション演出を変えれるようにコモンイベントを作成しています。
例えば、炎の指輪を装備していると、『切り払い』というスキルを使用した際に、通常の斬撃のアニメーションが出て、最後に炎のアニメーションが再生されるようになる、という風にしたいのです。
炎属性は、パッシブスキルプラグインで属性装備をした際に、自動で属性付与のステートがバトルアクターに発動するようにしています。
コモンイベントは属性攻撃が付与される各スキルに設定する予定です。

コモンイベントの変数の操作としてまず

変数0005₌$gameParty.inBattle() ? BattleManager._subject._actorId : $gameParty.menuActor()._actorId
でスキルの使用者の変数を取得し
変数0006₌$gameTroop.members()[BattleManager._subject._lastTargetIndex]
で攻撃を受けたエネミーを変数で取得する

そして条件分岐で
スクリプト $gameParty.battleMembers()[$gameVariables.Value(5)].isStateAffected(20)
※炎属性付与のステート番号が20です

その条件分岐の中にスクリプトで
this.iterateEnemyIndex($gameVariables.value(6), function(enemy) {
if (enemy.isAlive()) {
enemy.startAnimation(67, false, 10)
}
})

とアニメーションを再生するように組んでみたのですが……

『スキル使用者』のIDを取得しようとすると変な数値が変数に返されてしまいます。
パーティ先頭のキャラクターは変数が5で返され、2番目のキャラクターは10……となってしまっているようです。

またその後の変数6も、きちんと変数が返されていないように感じます。

まだまだ初心者で至らないところがありますが、ご教授いただければ幸いです。
最後に編集したユーザー KOHAKU [ 2022年1月10日(月) 09:44 ], 累計 2 回
KOHAKU
記事: 25
登録日時: 2021年12月04日(土) 14:09

Re: 装備による属性アニメーションの追加

投稿記事 by KOHAKU »

すみません、追記です。
変化してしまう変数ですが、おそらくアクターそのもののIDが取得されてしまっているのではないかと思い至りました。

ですが、バトルに出ているメンバーのIDを改めて取得する方法が今現在わかりません。
KOHAKU
記事: 25
登録日時: 2021年12月04日(土) 14:09

Re: 装備による属性アニメーションの追加

投稿記事 by KOHAKU »

すみません、もしかしたら自己解決ができたかもしれません

条件分岐のスクリプトを
条件分岐=$gameActors.actor($gameVariables.value(5)).isStateAffected(20)
と書き直し、

また敵IDの取得の変数も
変数0006=BattleManager._subject._lastTargetIndex;
と書き直したところ、ほぼ思った通りの挙動をしてくれるようになりました。


あとは属性演出のアニメーションが少し遅いので、コモンイベントの発動を早められる方法を考えたいと思います。
ありがとうございました。
返信する

“MV:質問”に戻る