797 lines
25 KiB
JavaScript
797 lines
25 KiB
JavaScript
//=============================================================================
|
||
// TMVplugin - リングコマンド
|
||
// 作者: tomoaky (http://hikimoki.sakura.ne.jp/)
|
||
// Version: 0.4b
|
||
// 最終更新日: 2016/04/13
|
||
//=============================================================================
|
||
|
||
/*:
|
||
* @plugindesc マップシーンで使えるリングコマンドを追加します。
|
||
*
|
||
* @author tomoaky (http://hikimoki.sakura.ne.jp/)
|
||
*
|
||
* @param useEscape
|
||
* @desc Escキーなどによるメニュー処理を乗っ取る
|
||
* 初期値: 0 ( 1 にするとデフォルトのメニューは使えません)
|
||
* @default 0
|
||
*
|
||
* @param useCaption
|
||
* @desc リングコマンドにコマンド名を字幕で表示する
|
||
* 初期値: 1 ( 0 で非表示)
|
||
* @default 1
|
||
*
|
||
* @param saveLastIndex
|
||
* @desc 最後に選択したコマンドを記憶する
|
||
* 初期値: 0 ( 1 で前回決定したコマンドが初期位置になります)
|
||
* @default 0
|
||
*
|
||
* @param openResetIndex
|
||
* @desc リングコマンド開閉のたびにカーソル位置を初期化する
|
||
* 初期値: 0 ( 1 で開閉のたびに初期化)
|
||
* @default 0
|
||
*
|
||
* @param openGoldWindow
|
||
* @desc リングコマンドと一緒に所持金ウィンドウも開閉する
|
||
* 初期値: 1 ( 0 で開閉しない)
|
||
* @default 1
|
||
*
|
||
* @param goldWindowX
|
||
* @desc 所持金ウィンドウのX座標
|
||
* 初期値: 576
|
||
* @default 576
|
||
*
|
||
* @param goldWindowY
|
||
* @desc 所持金ウィンドウのY座標
|
||
* 初期値: 0
|
||
* @default 0
|
||
*
|
||
* @param seOpenCommand
|
||
* @desc リングコマンドを開くときに鳴らす効果音
|
||
* 初期値: {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
|
||
* @default {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
|
||
*
|
||
* @param seCloseCommand
|
||
* @desc リングコマンドを閉じるときに鳴らす効果音
|
||
* 初期値: {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
|
||
* @default {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
|
||
*
|
||
* @param commandIconItem
|
||
* @desc アイテムコマンドのアイコン番号
|
||
* 初期値: 176
|
||
* @default 176
|
||
*
|
||
* @param commandIconSkill
|
||
* @desc スキルコマンドのアイコン番号
|
||
* 初期値: 76
|
||
* @default 76
|
||
*
|
||
* @param commandIconEquip
|
||
* @desc 装備コマンドのアイコン番号
|
||
* 初期値: 135
|
||
* @default 135
|
||
*
|
||
* @param commandIconStatus
|
||
* @desc ステータスコマンドのアイコン番号
|
||
* 初期値: 84
|
||
* @default 84
|
||
*
|
||
* @param commandIconFormation
|
||
* @desc 並び替えコマンドのアイコン番号
|
||
* 初期値: 75
|
||
* @default 75
|
||
*
|
||
* @param commandIconOptions
|
||
* @desc オプションコマンドのアイコン番号
|
||
* 初期値: 83
|
||
* @default 83
|
||
*
|
||
* @param commandIconSave
|
||
* @desc セーブコマンドのアイコン番号
|
||
* 初期値: 225
|
||
* @default 225
|
||
*
|
||
* @param commandIconGameEnd
|
||
* @desc ゲーム終了コマンドのアイコン番号
|
||
* 初期値: 82
|
||
* @default 82
|
||
*
|
||
* @param commandIconGoldLevelUp
|
||
* @desc お金でレベルアップコマンドのアイコン番号
|
||
* 初期値: 236 ( TMGoldLevelUp.js 導入時のみ有効)
|
||
* @default 236
|
||
*
|
||
* @param rotateDuration
|
||
* @desc アイコンの移動にかける時間
|
||
* 初期値: 4(フレーム数)
|
||
* @default 4
|
||
*
|
||
* @param iconDistX
|
||
* @desc アイコンの広がり(横方向)
|
||
* 初期値: 16
|
||
* @default 16
|
||
*
|
||
* @param iconDistY
|
||
* @desc アイコンの広がり(縦方向)
|
||
* 初期値: 12
|
||
* @default 12
|
||
*
|
||
* @param iconSelectScale
|
||
* @desc 選択中アイコンの拡大率補正
|
||
* 初期値: 1.5
|
||
* @default 1.5
|
||
*
|
||
* @param captionWidth
|
||
* @desc キャプションの幅
|
||
* 初期値: 200
|
||
* @default 200
|
||
*
|
||
* @param captionHeight
|
||
* @desc キャプションの高さ
|
||
* 初期値: 48
|
||
* @default 48
|
||
*
|
||
* @param captionShiftX
|
||
* @desc キャプションのX座標補正値
|
||
* 初期値: 0
|
||
* @default 0
|
||
*
|
||
* @param captionShiftY
|
||
* @desc キャプションのY座標補正値
|
||
* 初期値: -96
|
||
* @default -96
|
||
*
|
||
* @help
|
||
* マップシーンで Ctrl または Alt を押している間、リングコマンドが表示され
|
||
* ←, → でリングの回転、Z, Enter, Space で各シーンへ移行できます。
|
||
*
|
||
* useEscape に 1 を設定すると Ctrl(Alt) での操作は無効化され、
|
||
* デフォルトメニューと同様に Esc / X / Insert / Num 0 / 右クリック などで
|
||
* リングコマンドを開閉することができるようになります。
|
||
* この場合、キーを押しっぱなしにする必要はありません。
|
||
*
|
||
* マウスで操作する場合は、プレイヤーよりも左あるいは右をクリックすると
|
||
* それぞれの方向へリングを回転させることができ、プレイヤーの近くを
|
||
* クリックすれば正面にあるコマンドアイコンに対応するシーンへ移行します。
|
||
* クリックの座標判定は横方向のみです、画面のどこをクリックしても反応します。
|
||
*
|
||
* プラグインコマンドはありません。
|
||
*
|
||
* TMGoldLevelUp.js(お金でレベルアップ)と併用する場合、TMGoldLevelUp.jsの
|
||
* バージョンが Ver1.11 以上である必要があります。
|
||
*
|
||
*/
|
||
|
||
var Imported = Imported || {};
|
||
Imported.TMRingCommand = true;
|
||
|
||
(function() {
|
||
|
||
var parameters = PluginManager.parameters('TMRingCommand');
|
||
var useEscape = parameters['useEscape'] === '1' ? true : false;
|
||
var useCaption = parameters['useCaption'] === '1' ? true : false;
|
||
var saveLastIndex = parameters['saveLastIndex'] === '1' ? true : false;
|
||
var openResetIndex = parameters['openResetIndex'] === '1' ? true : false;
|
||
var openGoldWindow = parameters['openGoldWindow'] === '1' ? true : false;
|
||
var goldWindowX = Number(parameters['goldWindowX']);
|
||
var goldWindowY = Number(parameters['goldWindowY']);
|
||
var seOpenCommand = (new Function("return " + parameters['seOpenCommand']))();
|
||
var seCloseCommand = (new Function("return " + parameters['seCloseCommand']))();
|
||
var commandIcon = {};
|
||
commandIcon['item'] = Number(parameters['commandIconItem']);
|
||
commandIcon['skill'] = Number(parameters['commandIconSkill']);
|
||
commandIcon['equip'] = Number(parameters['commandIconEquip']);
|
||
commandIcon['status'] = Number(parameters['commandIconStatus']);
|
||
commandIcon['formation'] = Number(parameters['commandIconFormation']);
|
||
commandIcon['options'] = Number(parameters['commandIconOptions']);
|
||
commandIcon['save'] = Number(parameters['commandIconSave']);
|
||
commandIcon['gameEnd'] = Number(parameters['commandIconGameEnd']);
|
||
commandIcon['goldLevelUp'] = Number(parameters['commandIconGoldLevelUp']);
|
||
var rotateDuration = Number(parameters['rotateDuration']);
|
||
var iconDistX = Number(parameters['iconDistX']);
|
||
var iconDistY = Number(parameters['iconDistY']);
|
||
var iconSelectScale = Number(parameters['iconSelectScale']);
|
||
var captionWidth = Number(parameters['captionWidth']);
|
||
var captionHeight = Number(parameters['captionHeight']);
|
||
var captionShiftX = Number(parameters['captionShiftX']);
|
||
var captionShiftY = Number(parameters['captionShiftY']);
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Game_Temp
|
||
//
|
||
|
||
Game_Temp.prototype.isRingCommandVisible = function() {
|
||
if (this._ringCommandVisible === undefined) {
|
||
this._ringCommandVisible = false;
|
||
}
|
||
return this._ringCommandVisible;
|
||
};
|
||
|
||
Game_Temp.prototype.setRingCommandVisible = function(flag) {
|
||
this._ringCommandVisible = flag;
|
||
};
|
||
|
||
Game_Temp.prototype.ringCommandLastIndex = function() {
|
||
if (this._ringCommandLastIndex === undefined) {
|
||
this._ringCommandLastIndex = 0;
|
||
}
|
||
return this._ringCommandLastIndex;
|
||
};
|
||
|
||
Game_Temp.prototype.setRingCommandLastIndex = function(index) {
|
||
this._ringCommandLastIndex = index;
|
||
};
|
||
|
||
Game_Temp.prototype.calledByRingCommand = function() {
|
||
if (this._calledByRingCommand === undefined) {
|
||
this._calledByRingCommand = false;
|
||
}
|
||
return this._calledByRingCommand;
|
||
};
|
||
|
||
Game_Temp.prototype.setCalledByRingCommand = function(flag) {
|
||
this._calledByRingCommand = flag;
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Game_Player
|
||
//
|
||
|
||
var _Game_Player_canMove = Game_Player.prototype.canMove;
|
||
Game_Player.prototype.canMove = function() {
|
||
if ($gameTemp.isRingCommandVisible()) {
|
||
return false;
|
||
}
|
||
return _Game_Player_canMove.call(this);
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Sprite_TMRingCommandIcon
|
||
//
|
||
|
||
function Sprite_TMRingCommandIcon() {
|
||
this.initialize.apply(this, arguments);
|
||
}
|
||
|
||
Sprite_TMRingCommandIcon.prototype = Object.create(Sprite.prototype);
|
||
Sprite_TMRingCommandIcon.prototype.constructor = Sprite_TMRingCommandIcon;
|
||
|
||
Sprite_TMRingCommandIcon.prototype.initialize = function(name) {
|
||
Sprite.prototype.initialize.call(this);
|
||
this.anchor.x = 0.5;
|
||
this.anchor.y = 0.5;
|
||
this._commandName = name;
|
||
this.bitmap = ImageManager.loadSystem('IconSet');
|
||
var bx = commandIcon[name] % 16 * Window_Base._iconWidth;
|
||
var by = Math.floor(commandIcon[name] / 16) * Window_Base._iconHeight;
|
||
this.setFrame(bx, by, Window_Base._iconWidth, Window_Base._iconHeight);
|
||
this._targetPosAngle = 0;
|
||
this._posAngle = 0;
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.setIndex = function(index) {
|
||
this._targetPosAngle = Math.PI * 2 / this.parent._commandSprites.length * index;
|
||
var r = this._targetPosAngle - this._posAngle;
|
||
r -= Math.floor(r / (Math.PI * 2)) * (Math.PI * 2);
|
||
if (r > Math.PI) {
|
||
r -= Math.PI * 2;
|
||
}
|
||
this._rotationCount = rotateDuration;
|
||
this._va = r / this._rotationCount;
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.name = function() {
|
||
return this._commandName;
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.isEnabled = function() {
|
||
switch (this._commandName) {
|
||
case 'save':
|
||
return this.isSaveEnabled();
|
||
case 'options':
|
||
return this.isOptionsEnabled();
|
||
case 'gameEnd':
|
||
return this.isGameEndEnabled();
|
||
default:
|
||
return this.areMainCommandsEnabled();
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.areMainCommandsEnabled = function() {
|
||
return $gameParty.exists();
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.isFormationEnabled = function() {
|
||
return $gameParty.size() >= 2 && $gameSystem.isFormationEnabled();
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.isOptionsEnabled = function() {
|
||
return true;
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.isSaveEnabled = function() {
|
||
return !DataManager.isEventTest() && $gameSystem.isSaveEnabled();
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.isGameEndEnabled = function() {
|
||
return true;
|
||
};
|
||
|
||
Sprite_TMRingCommandIcon.prototype.update = function() {
|
||
Sprite.prototype.update.call(this);
|
||
if (this._rotationCount > 0) {
|
||
this._posAngle += this._va;
|
||
this._rotationCount--;
|
||
if (this._rotationCount === 0) {
|
||
this._posAngle = this._targetPosAngle;
|
||
}
|
||
}
|
||
var r = this._posAngle + Math.PI / 2;
|
||
this.x = Math.cos(r) * this.parent._commandRadius * iconDistX;
|
||
this.y = Math.sin(r) * this.parent._commandRadius * iconDistY - 24;
|
||
var scale = (this.y + 56) / 256 + 0.75;
|
||
if (this.parent.currentCommandName() === this.name()) {
|
||
scale *= iconSelectScale;
|
||
}
|
||
this.scale.set(scale, scale);
|
||
this.opacity = this.isEnabled() ? 255 : 160
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Sprite_TMRingCommandCaption
|
||
//
|
||
|
||
function Sprite_TMRingCommandCaption() {
|
||
this.initialize.apply(this, arguments);
|
||
}
|
||
|
||
Sprite_TMRingCommandCaption.prototype = Object.create(Sprite.prototype);
|
||
Sprite_TMRingCommandCaption.prototype.constructor = Sprite_TMRingCommandCaption;
|
||
|
||
Sprite_TMRingCommandCaption.prototype.initialize = function() {
|
||
Sprite.prototype.initialize.call(this);
|
||
this.anchor.x = 0.5;
|
||
this.anchor.y = 0.5;
|
||
this.x = captionShiftX;
|
||
this.y = captionShiftY;
|
||
this._commandName = '';
|
||
this.bitmap = new Bitmap(captionWidth, captionHeight);
|
||
};
|
||
|
||
Sprite_TMRingCommandCaption.prototype.update = function() {
|
||
if (this._commandName !== this.parent.currentCommandName()) {
|
||
this._commandName = this.parent.currentCommandName();
|
||
this.refresh();
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommandCaption.prototype.refresh = function() {
|
||
this.bitmap.clear();
|
||
this.bitmap.paintOpacity = 160;
|
||
this.bitmap.fillRect(0, 0, 240, 48, '#000000');
|
||
this.bitmap.paintOpacity = 255;
|
||
this.bitmap.drawText(TextManager[this._commandName], 0, 0,
|
||
captionWidth, captionHeight, 'center');
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Sprite_TMRingCommand
|
||
//
|
||
|
||
function Sprite_TMRingCommand() {
|
||
this.initialize.apply(this, arguments);
|
||
}
|
||
|
||
Sprite_TMRingCommand.prototype = Object.create(Sprite.prototype);
|
||
Sprite_TMRingCommand.prototype.constructor = Sprite_TMRingCommand;
|
||
|
||
Sprite_TMRingCommand.prototype.initialize = function() {
|
||
Sprite.prototype.initialize.call(this);
|
||
this._commandIndex = saveLastIndex ? $gameTemp.ringCommandLastIndex() : 0;
|
||
this._commandRadius = 0;
|
||
this.makeCommandList();
|
||
this.makeCaption();
|
||
this.refresh();
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.makeCommandList = function() {
|
||
this._commandSprites = []
|
||
this.addMainCommands();
|
||
this.addFormationCommand();
|
||
this.addOptionsCommand();
|
||
this.addOriginalCommand();
|
||
this.addSaveCommand();
|
||
this.addGameEndCommand();
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.currentCommandName = function() {
|
||
return this._commandSprites[this._commandIndex].name();
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addMainCommands = function() {
|
||
if (this.needsCommand('item')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('item');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
if (this.needsCommand('skill')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('skill');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
if (this.needsCommand('equip')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('equip');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
if (this.needsCommand('status')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('status');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addFormationCommand = function() {
|
||
if (this.needsCommand('formation')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('formation');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addOriginalCommand = function() {
|
||
if (Imported.TMGoldLevelUp && TextManager.goldLevelUp) {
|
||
var sprite = new Sprite_TMRingCommandIcon('goldLevelUp');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addOptionsCommand = function() {
|
||
var sprite = new Sprite_TMRingCommandIcon('options');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addSaveCommand = function() {
|
||
if (this.needsCommand('save')) {
|
||
var sprite = new Sprite_TMRingCommandIcon('save');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.addGameEndCommand = function() {
|
||
var sprite = new Sprite_TMRingCommandIcon('gameEnd');
|
||
this._commandSprites.push(sprite);
|
||
this.addChild(sprite);
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.needsCommand = function(name) {
|
||
var flags = $dataSystem.menuCommands;
|
||
if (flags) {
|
||
switch (name) {
|
||
case 'item':
|
||
return flags[0];
|
||
case 'skill':
|
||
return flags[1];
|
||
case 'equip':
|
||
return flags[2];
|
||
case 'status':
|
||
return flags[3];
|
||
case 'formation':
|
||
return flags[4];
|
||
case 'save':
|
||
return flags[5];
|
||
}
|
||
}
|
||
return true;
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.makeCaption = function() {
|
||
if (useCaption) {
|
||
this._captionSprite = new Sprite_TMRingCommandCaption();
|
||
this.addChild(this._captionSprite);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.update = function() {
|
||
Sprite.prototype.update.call(this);
|
||
this.updateVisible();
|
||
if ($gameTemp.isRingCommandVisible()) {
|
||
if (this._commandRadius < 4) {
|
||
if (this._commandRadius === 0) {
|
||
if (openResetIndex) {
|
||
this._commandIndex = saveLastIndex ? $gameTemp.ringCommandLastIndex() : 0;
|
||
this.refresh();
|
||
}
|
||
AudioManager.playSe(seOpenCommand);
|
||
}
|
||
if (openGoldWindow && this.parent.parent) {
|
||
var goldWindow = this.parent.parent._messageWindow._goldWindow;
|
||
goldWindow.x = goldWindowX;
|
||
goldWindow.y = goldWindowY;
|
||
goldWindow.open();
|
||
}
|
||
this._commandRadius++;
|
||
}
|
||
this.updateInput();
|
||
this.x = $gamePlayer.screenX();
|
||
this.y = $gamePlayer.screenY();
|
||
} else {
|
||
if (this._commandRadius > 0) {
|
||
if (this._commandRadius === 4) {
|
||
if (openGoldWindow) {
|
||
this.parent.parent._messageWindow._goldWindow.close();
|
||
}
|
||
AudioManager.playSe(seCloseCommand);
|
||
}
|
||
this._commandRadius--;
|
||
}
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.updateVisible = function() {
|
||
if (SceneManager._scene.isBusy() || $gameMap.isEventRunning() ||
|
||
!$gameSystem.isMenuEnabled()) {
|
||
$gameTemp.setRingCommandVisible(false);
|
||
} else if (useEscape) {
|
||
} else {
|
||
$gameTemp.setRingCommandVisible(Input.isPressed('control'));
|
||
}
|
||
|
||
this.visible = this._commandRadius > 0;
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.updateInput = function() {
|
||
if (Input.isRepeated('left') || (TouchInput.isRepeated() &&
|
||
TouchInput.x < $gamePlayer.screenX() - 24)) {
|
||
this._commandIndex--
|
||
if (this._commandIndex < 0) {
|
||
this._commandIndex = this._commandSprites.length - 1;
|
||
}
|
||
this.refresh();
|
||
SoundManager.playCursor();
|
||
}
|
||
if (Input.isRepeated('right') || (TouchInput.isRepeated() &&
|
||
TouchInput.x > $gamePlayer.screenX() + 24)) {
|
||
this._commandIndex++;
|
||
if (this._commandIndex >= this._commandSprites.length) {
|
||
this._commandIndex = 0;
|
||
}
|
||
this.refresh();
|
||
SoundManager.playCursor();
|
||
}
|
||
if (Input.isTriggered('ok') || (TouchInput.isTriggered() &&
|
||
TouchInput.x >= $gamePlayer.screenX() - 24 &&
|
||
TouchInput.x <= $gamePlayer.screenX() + 24)) {
|
||
var sprite = this._commandSprites[this._commandIndex];
|
||
if (sprite.isEnabled()) {
|
||
switch (sprite.name()) {
|
||
case 'item':
|
||
$gameTemp.setCalledByRingCommand(true);
|
||
SceneManager.push(Scene_Item);
|
||
break;
|
||
case 'skill':
|
||
$gameTemp.setCalledByRingCommand(true);
|
||
SceneManager.push(Scene_Skill);
|
||
break;
|
||
case 'equip':
|
||
SceneManager.push(Scene_Equip);
|
||
break;
|
||
case 'status':
|
||
$gameTemp.setCalledByRingCommand(true);
|
||
SceneManager.push(Scene_Status);
|
||
break;
|
||
case 'formation':
|
||
SceneManager.push(Scene_RCFormation);
|
||
break;
|
||
case 'options':
|
||
SceneManager.push(Scene_Options);
|
||
break;
|
||
case 'save':
|
||
SceneManager.push(Scene_Save);
|
||
break;
|
||
case 'gameEnd':
|
||
SceneManager.push(Scene_GameEnd);
|
||
break;
|
||
case 'goldLevelUp':
|
||
SceneManager.push(TMParam.Scene_GoldLevelUp);
|
||
break;
|
||
}
|
||
this._commandRadius = 0;
|
||
if (openGoldWindow) {
|
||
this.parent.parent._messageWindow._goldWindow.hide();
|
||
}
|
||
$gameTemp.setRingCommandLastIndex(this._commandIndex);
|
||
$gameTemp.setRingCommandVisible(false);
|
||
SoundManager.playOk();
|
||
} else {
|
||
SoundManager.playBuzzer();
|
||
}
|
||
}
|
||
if (useEscape && this._commandRadius === 4 &&
|
||
(Input.isTriggered('menu') || TouchInput.isCancelled())) {
|
||
$gameTemp.setRingCommandVisible(false);
|
||
}
|
||
};
|
||
|
||
Sprite_TMRingCommand.prototype.refresh = function() {
|
||
for (var i = 0; i < this._commandSprites.length; i++) {
|
||
var sprite = this._commandSprites[i];
|
||
var index = (this._commandIndex - i) % this._commandSprites.length;
|
||
sprite.setIndex(index);
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Spriteset_Map
|
||
//
|
||
|
||
var _Spriteset_Map_createLowerLayer = Spriteset_Map.prototype.createLowerLayer;
|
||
Spriteset_Map.prototype.createLowerLayer = function() {
|
||
_Spriteset_Map_createLowerLayer.call(this);
|
||
this.createRingCommand();
|
||
};
|
||
|
||
Spriteset_Map.prototype.createRingCommand = function() {
|
||
this._ringCommand = new Sprite_TMRingCommand();
|
||
this.addChild(this._ringCommand);
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_MenuActor
|
||
//
|
||
|
||
var _Window_MenuActor_refresh = Window_MenuActor.prototype.refresh;
|
||
Window_MenuActor.prototype.refresh = function() {
|
||
if (!$gameTemp.calledByRingCommand()) {
|
||
_Window_MenuActor_refresh.call(this);
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_SkillStatus
|
||
//
|
||
|
||
var _Window_SkillStatus_refresh = Window_SkillStatus.prototype.refresh;
|
||
Window_SkillStatus.prototype.refresh = function() {
|
||
if (!$gameTemp.calledByRingCommand()) {
|
||
_Window_SkillStatus_refresh.call(this);
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_Status
|
||
//
|
||
|
||
var _Window_Status_refresh = Window_Status.prototype.refresh;
|
||
Window_Status.prototype.refresh = function() {
|
||
if (!$gameTemp.calledByRingCommand()) {
|
||
_Window_Status_refresh.call(this);
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_Message
|
||
//
|
||
|
||
var _Window_Message_updatePlacement = Window_Message.prototype.updatePlacement;
|
||
Window_Message.prototype.updatePlacement = function() {
|
||
_Window_Message_updatePlacement.call(this);
|
||
this._goldWindow.x = Graphics.boxWidth - this._goldWindow.width;
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Item
|
||
//
|
||
|
||
var _Scene_Item_start = Scene_Item.prototype.start;
|
||
Scene_Item.prototype.start = function() {
|
||
_Scene_Item_start.call(this);
|
||
if ($gameTemp.calledByRingCommand()) {
|
||
$gameTemp.setCalledByRingCommand(false);
|
||
this._actorWindow.refresh();
|
||
}
|
||
}
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Skill
|
||
//
|
||
|
||
var _Scene_Skill_start = Scene_Skill.prototype.start;
|
||
Scene_Skill.prototype.start = function() {
|
||
_Scene_Skill_start.call(this);
|
||
if ($gameTemp.calledByRingCommand()) {
|
||
$gameTemp.setCalledByRingCommand(false);
|
||
this._actorWindow.refresh();
|
||
this._statusWindow.refresh();
|
||
}
|
||
}
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Status
|
||
//
|
||
|
||
var _Scene_Status_start = Scene_Status.prototype.start;
|
||
Scene_Status.prototype.start = function() {
|
||
_Scene_Status_start.call(this);
|
||
if ($gameTemp.calledByRingCommand()) {
|
||
$gameTemp.setCalledByRingCommand(false);
|
||
this._statusWindow.refresh();
|
||
}
|
||
}
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Map
|
||
//
|
||
|
||
var _Scene_Map_callMenu = Scene_Map.prototype.callMenu;
|
||
Scene_Map.prototype.callMenu = function() {
|
||
if (useEscape) {
|
||
$gameTemp.setRingCommandVisible(true);
|
||
this.menuCalling = false;
|
||
} else {
|
||
_Scene_Map_callMenu.call(this);
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_RCFormation
|
||
//
|
||
|
||
function Scene_RCFormation() {
|
||
this.initialize.apply(this, arguments);
|
||
}
|
||
|
||
Scene_RCFormation.prototype = Object.create(Scene_MenuBase.prototype);
|
||
Scene_RCFormation.prototype.constructor = Scene_RCFormation;
|
||
|
||
Scene_RCFormation.prototype.initialize = function() {
|
||
Scene_MenuBase.prototype.initialize.call(this);
|
||
};
|
||
|
||
Scene_RCFormation.prototype.create = function() {
|
||
Scene_MenuBase.prototype.create.call(this);
|
||
this.createStatusWindow();
|
||
};
|
||
|
||
Scene_RCFormation.prototype.start = function() {
|
||
Scene_MenuBase.prototype.start.call(this);
|
||
this._statusWindow.refresh();
|
||
this._statusWindow.setFormationMode(true);
|
||
this._statusWindow.selectLast();
|
||
this._statusWindow.activate();
|
||
this._statusWindow.setHandler('ok', this.onFormationOk.bind(this));
|
||
this._statusWindow.setHandler('cancel', this.onFormationCancel.bind(this));
|
||
};
|
||
|
||
Scene_RCFormation.prototype.createStatusWindow = function() {
|
||
this._statusWindow = new Window_MenuStatus(0, 0);
|
||
this._statusWindow.x = (Graphics.boxWidth - this._statusWindow.width) / 2;
|
||
this.addWindow(this._statusWindow);
|
||
};
|
||
|
||
Scene_RCFormation.prototype.onFormationOk = function() {
|
||
var index = this._statusWindow.index();
|
||
var actor = $gameParty.members()[index];
|
||
var pendingIndex = this._statusWindow.pendingIndex();
|
||
if (pendingIndex >= 0) {
|
||
$gameParty.swapOrder(index, pendingIndex);
|
||
this._statusWindow.setPendingIndex(-1);
|
||
this._statusWindow.redrawItem(index);
|
||
} else {
|
||
this._statusWindow.setPendingIndex(index);
|
||
}
|
||
this._statusWindow.activate();
|
||
};
|
||
|
||
Scene_RCFormation.prototype.onFormationCancel = function() {
|
||
if (this._statusWindow.pendingIndex() >= 0) {
|
||
this._statusWindow.setPendingIndex(-1);
|
||
this._statusWindow.activate();
|
||
} else {
|
||
this.popScene();
|
||
}
|
||
};
|
||
|
||
})();
|