//============================================================================= // RDM_MultiTarget.js //============================================================================= var Imported = Imported || {}; Imported.RDM_MultiTarget = true; var Radium = Radium || {}; Radium.MT = Radium.MT || {}; Radium.MT.version = 1.00; //============================================================================= /*: * @plugindesc v1.00 敵選択を複数化できるようにします。 * @author Radian Kakudo * * @help * ============================================================================ * Introduction * ============================================================================ * * このプラグインはターゲット選択時に複数(重複可能)の対象を指定することを可能にします。 * * ============================================================================ * Battle Messages * ============================================================================ * * Skill and Item Notetags: * * * x体を対象とします。記載しなかった場合は1体になります。 * * ============================================================================ * Changelog * ============================================================================ * * Version 1.00: * - 初版 */ //============================================================================= //============================================================================= // DataManager //============================================================================= Radium.MT.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded; DataManager.isDatabaseLoaded = function() { if (!Radium.MT.DataManager_isDatabaseLoaded.call(this)) return false; if (!Radium._loaded_RDM_MultiTarget) { this.processGetNoteTargetNum($dataSkills); this.processGetNoteTargetNum($dataItems); Radium._loaded_RDM_MultiTarget = true; } return true; }; DataManager.processGetNoteTargetNum = function(group) { var noteMt = /<(?:MultiTarget):[ ](\d+)>/i; for (var n = 1; n < group.length; n++) { var obj = group[n]; obj.targetNum = 1; var notedata = obj.note.split(/[\r\n]+/); for (var i = 0; i < notedata.length; i++) { var line = notedata[i]; if (line.match(noteMt)) { obj.targetNum = parseInt(RegExp.$1); } } } }; //============================================================================= // Game_Action //============================================================================= Radium.MT.Game_Action_initialize = Game_Action.prototype.initialize; Game_Action.prototype.initialize = function(subject, forcing) { this._multiTargets = []; this._selectedNum = 0; Radium.MT.Game_Action_initialize.call(this, subject, forcing); }; Radium.MT.Game_Action_targetsForFriends = Game_Action.prototype.targetsForFriends; Game_Action.prototype.targetsForFriends = function() { if (this._multiTargets != null && this._multiTargets.length > 1) { var targets = []; var unit = this.friendsUnit(); for (i=0; i 1) { var targets = []; var unit = this.opponentsUnit(); for (i=0; i