820 lines
26 KiB
JavaScript
820 lines
26 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();
|
||
}
|
||
};
|
||
})();
|