//=============================================================================
// TMPlugin - 通常攻撃スキル拡張
// バージョン: 1.1.0
// 最終更新日: 2019/04/15
// 配布元 : [url]https://hikimoki.sakura.ne.jp/[/url]
//-----------------------------------------------------------------------------
// Copyright (c) 2016 tomoaky
// Released under the MIT license.
// [url]http://opensource.org/licenses/mit-license.php[/url]
//=============================================================================
/*:
* @plugindesc 攻撃コマンドや防御コマンドで使用するスキルを
* アクターや装備ごとに変更できるようにします。
*
* @author tomoaky ([url]https://hikimoki.sakura.ne.jp/[/url])
*
* @param skillNameCommand
* @type boolean
* @desc コマンドにスキル名を適用する。
* @default true
*
* @help
* TMPlugin - 通常攻撃スキル拡張 Ver1.1.0
*
* 使い方:
*
* アクター、職業、武器、防具、ステートのメモ欄にタグを設定することで
* 通常攻撃や防御のスキルを変更することができます。
* タグが設定された装備やステートが複数適用されている場合の優先度は
* ステート > 武器 > 防具 > 職業 > アクター
* となっています。
*
* このプラグインは RPGツクールMV Version 1.6.1 で動作確認をしています。
*
* このプラグインはMITライセンスのもとに配布しています、商用利用、
* 改造、再配布など、自由にお使いいただけます。
*
*
* メモ欄タグ(アクター、職業、武器、防具、ステート):
*
* <attackSkill:3>
* アクターが攻撃コマンドで使用するスキルを3番のものに変更します。
*
* <guardSkill:7>
* アクターが防御コマンドで使用するスキルを7番のものに変更します。
*/
var Imported = Imported || {};
Imported.TMAttackSkillEx = true;
(function() {
var parameters = PluginManager.parameters('TMAttackSkillEx');
var skillNameCommand = JSON.parse(parameters['skillNameCommand'] || 'true');
//-----------------------------------------------------------------------------
// Game_Actor
//
var _Game_Actor_attackSkillId = Game_Actor.prototype.attackSkillId;
Game_Actor.prototype.attackSkillId = function() {
var a = this.traitObjectsTMASE().filter(function(obj) {
return obj.meta.attackSkill;
});
return a[0] ? +a[0].meta.attackSkill : _Game_Actor_attackSkillId.call(this);
};
var _Game_Actor_guardSkillId = Game_Actor.prototype.guardSkillId;
Game_Actor.prototype.guardSkillId = function() {
var a = this.traitObjectsTMASE().filter(function(obj) {
return obj.meta.guardSkill;
});
return a[0] ? +a[0].meta.guardSkill : _Game_Actor_guardSkillId.call(this);
};
// ステート、武器、防具、職業、アクターの順で並ぶ効果オブジェクト配列を返す
Game_Actor.prototype.traitObjectsTMASE = function() {
var objects = Game_Battler.prototype.traitObjects.call(this);
var equips = this.equips();
for (var i = 0; i < equips.length; i++) {
var item = equips[i];
if (item) {
objects.push(item);
}
}
objects = objects.concat([this.currentClass(), this.actor()]);
return objects;
};
//-----------------------------------------------------------------------------
// Window_ActorCommand
//
var _Window_ActorCommand_addAttackCommand = Window_ActorCommand.prototype.addAttackCommand;
Window_ActorCommand.prototype.addAttackCommand = function() {
_Window_ActorCommand_addAttackCommand.call(this);
if (skillNameCommand) {
var skill = $dataSkills[this._actor.attackSkillId()];
this._list[this.maxItems() - 1].name = skill.name;
}
};
var _Window_ActorCommand_addGuardCommand = Window_ActorCommand.prototype.addGuardCommand;
Window_ActorCommand.prototype.addGuardCommand = function() {
_Window_ActorCommand_addGuardCommand.call(this);
if (skillNameCommand) {
var skill = $dataSkills[this._actor.guardSkillId()];
this._list[this.maxItems() - 1].name = skill.name;
}
};