arisa-grimoire/www/js/plugins/BattleParallelEvent.js
2024-05-09 21:39:44 -05:00

69 lines
2 KiB
JavaScript

//=============================================================================
// - BattleParallelEvent
// BattleParallelEvent.js
//=============================================================================
//=============================================================================
/*:
* @plugindesc 戦闘中でも「並列処理」のコモンイベントを実行する為のプラグインです。
* @author 名無し蛙
*
*
* Version 1.0:
* 2016/06/29 - リリース
*/
//=============================================================================
(function () {
//
var _Game_Switches_onChange = Game_Switches.prototype.onChange;
Game_Switches.prototype.onChange = function () {
_Game_Switches_onChange.call(this);
if ($gameParty.inBattle()) {
$gameTroop.refreshCommonEvents();
}
};
//
var _Game_Troop_setup = Game_Troop.prototype.setup;
Game_Troop.prototype.setup = function (troopId) {
_Game_Troop_setup.call(this, troopId);
this._commonEvents = this.parallelCommonEvents().map(function (
commonEvent
) {
return new Game_CommonEvent(commonEvent.id);
});
};
//
Game_Troop.prototype.parallelCommonEvents = function () {
return $dataCommonEvents.filter(function (commonEvent) {
return commonEvent && commonEvent.trigger === 2;
});
};
//
Game_Troop.prototype.refreshCommonEvents = function () {
this._commonEvents.forEach(function (event) {
event.refresh();
});
};
//
Game_Troop.prototype.updateCommonEvents = function () {
this._commonEvents.forEach(function (event) {
event.update();
});
};
//
var _Scene_Battle_update = Scene_Battle.prototype.update;
Scene_Battle.prototype.update = function () {
$gameTroop.updateCommonEvents();
_Scene_Battle_update.call(this);
};
})();
//=============================================================================
// End of File
//=============================================================================