【解決済み】自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月20日(日) 16:48

トリアコンタンさんさっそくの修正ありがとうございます。
問題のない動作を確認いたしました。

このたびはご助力いただきありがとうございました。

------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by 剣崎 宗二 » 2016年11月20日(日) 18:04

遅ればせながらこちらも追加で修正を施しました。
ご指摘いただいた点を「どちらかが全滅した場合、ステートによるスキル発動をその時点で停止する」として修正し、
また「複数のダメージステータスがある状態で実行中に死亡した場合、死亡ユニットに技を繰り出させようとしてエラーになる点」修正いたしました。

BB_TrunEndStateSkill.js
(4.6 KiB) ダウンロード数: 4 回


ご査収お願いいたします。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月20日(日) 19:03

剣崎宗二さん、修正ありがとうございます。

使用してみたところ問題なく動作していることを確認しました。
ただまだ少ししかいじっていないのでこれからいろいろやってみます。
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月20日(日) 21:07

トリアコンタンさん、剣崎宗二さん

不具合を発見したので報告させていただきます。

まずトリアコンタンさんの作られた方ですが、
同時に二つ以上のステートが付与されている場合ステートIDの若いステートだけがスキルを発動し、それ以外は発動しませんでした。
私の作成しているゲームではダメージを受けるステートが2つ欲しいと考えているので、二つのステートに対応していただけるとありがたいです。

剣崎宗二さんの作られた方は、
データベースで指定した”ステートが解除された時に表示されるメッセージ”がスキル発動前に表示されるので、治ったはずのステートでダメージを受けているように見えてしまいます。
スキル発動後にステート解除のバトルログが表示されるようにすることは可能でしょうか?

両方とも自分で修正できればよかったのですが、力が足りず。
何度も申し訳ないのですが、またご助力いただけると助かります。
よろしくお願いします。
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by トリアコンタン » 2016年11月21日(月) 02:32

では、もともとフラグだったアクターごとの実行済み情報を
ステートIDを要素に持つ配列にしましょう。
これで同一のアクターが複数のステートスキルを発動できます。

コード: 全て選択

//=============================================================================
// BattleManager
//  ターン終了直前にステートスキルの実行を呼び出します。
//=============================================================================
var _BattleManager_startTurn = BattleManager.startTurn;
BattleManager.startTurn = function() {
    _BattleManager_startTurn.apply(this, arguments);
    this.allBattleMembers().forEach(function(battler) {
        battler.clearExecuteTurnEndSkill();
    });
};

var _BattleManager_endTurn = BattleManager.endTurn;
BattleManager.endTurn = function() {
    this.allBattleMembers().some(function(battler) {
        return battler.applyTurnEndSkill();
    });
    // ステートスキルが実行された場合、本来のターン終了は行わずに終了する。
    if (this.isActionForced()) return;
    _BattleManager_endTurn.apply(this, arguments);
};

//=============================================================================
// Game_Battler
//  ターン終了ステートスキルを実行します。
//=============================================================================
Game_Battler.prototype.clearExecuteTurnEndSkill = function() {
    this._executeTurnEndSkills = [];
};

Game_Battler.prototype.applyTurnEndSkill = function() {
    for (var i = BBSmin; i < BBSmax + 1; i++) {//パラメータで指定したステートの範囲を判定
        if (this.isStateAffected(i) && !this._executeTurnEndSkills.contains(i)) {//判定中にそのステートにかかっているバトラーがいた場合
            var SkillID = $dataStates[i].meta.state_skill;//ステートのメモに書いてあるIDをSkillIDに
            this.forceAction(SkillID, -2);
            BattleManager.forceAction(this);
            this._executeTurnEndSkills.push(i);
            return true;
        }
    }
    return false;
};
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月21日(月) 16:25

トリアコンタンさん、変更ありがとうございました。

今のところ動作は完璧です。
このたびは何度も修正をお願いしてすみませんでした。
本当にありがとうございました。

それとこのプラグイン自体を配布する予定はないのですが、私の制作するゲームはできれば暗号化したくないと思っているので、プラグイン内のヘルプにトリアコンタンさんのお名前を書きたいのですが、了承いただけますか?
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by トリアコンタン » 2016年11月21日(月) 21:13

こんばんは!
こちらこそ、たびたびお手間をお掛けしました。

ヘルプの記載の件についても、もちろんOKです。
ありがとうございます!
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by 剣崎 宗二 » 2016年11月21日(月) 22:13

すみません。仕事帰りが遅くなってました。

ステート関係の処理を「真の」ターンエンドに移動させて問題点を解決してみました。
ご確認ください。
BB_TrunEndStateSkill.js
(4.96 KiB) ダウンロード数: 31 回
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月21日(月) 22:57

剣崎宗二さん
お仕事お疲れ様です。

さっそく動作確認し完璧な動作を確認しました。
何度もお付き合いいただき本当にありがとうございました。

私のゲームはできれば暗号化したくないと考えているので@author以外にも
こちらのプラグインのヘルプの欄に剣崎宗二さんの名前を書きたいのですが許可していただけますでしょうか?
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 自作プラグイン改変依頼(ターン終了時のステート関連のプラグインです)

投稿記事by ビービー » 2016年11月21日(月) 23:00

トリアコンタンさん

許可していただきありがとうございます。
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/

“MV:プラグイン素材のリクエスト” へ戻る