// Copyright (c) 2017 Tsukimi /*: * @plugindesc * @author Tsukimi * * @help */ var Imported = Imported || {}; (function(_global) { var _Game_Timer_onExpire = Game_Timer.prototype.onExpire; Game_Timer.prototype.onExpire = function() { _Game_Timer_onExpire.call(this); var cw = SceneManager._scene._messageWindow._choiceWindow; if(!!cw._timeLimit && !!cw._TLStarted) { cw._timeLimit = false; cw._TLStarted = false; cw.updateInputData(); cw.deactivate(); cw.callCancelHandler(); this.stop(); } } if(Imported.TKM_ChoiceList) { var _Window_TKMChoiceList_oked = Window_TKMChoiceList.prototype.oked; Window_TKMChoiceList.prototype.oked = function() { _Window_TKMChoiceList_oked.call(this); if(!!this._timeLimit) { this._timeLimit = false; this._TLStarted = false; $gameTimer.stop(); } }; } else { var _Window_ChoiceList_callOkHandler = Window_ChoiceList.prototype.callOkHandler; Window_ChoiceList.prototype.callOkHandler = function() { _Window_ChoiceList_callOkHandler.call(this); if(!!this._timeLimit) { this._timeLimit = false; this._TLStarted = false; $gameTimer.stop(); } } } var _Window_ChoiceList_start = Window_ChoiceList.prototype.start; Window_ChoiceList.prototype.start = function() { _Window_ChoiceList_start.call(this); if(!!this._timeLimit) { this._TLStarted = true; $gameTimer.start(this._limitedTime || 300); } } var _Window_ChoiceList_isCancelEnabled = Window_ChoiceList.prototype.isCancelEnabled; Window_ChoiceList.prototype.isCancelEnabled = function() { var normal = _Window_ChoiceList_isCancelEnabled.call(this); if(!!this._timeLimit) return false; else return normal; } var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand; Game_Interpreter.prototype.pluginCommand = function(command, args) { _Game_Interpreter_pluginCommand.call(this, command, args); switch(command) { case "TLChoice": var cw = SceneManager._scene._messageWindow._choiceWindow; cw._timeLimit = true; if(!args) cw._limitedTime = 300; else if(parseInt(args[0]) == 0) cw._limitedTime = 300; else cw._limitedTime = parseInt(args[0]); break; } }; })(this);