This commit is contained in:
alexpolo1
2019-11-05 12:54:48 +01:00
parent f00e0acb03
commit aea5335470
9 changed files with 4551 additions and 17 deletions

View File

@@ -6,7 +6,7 @@ null,
{"id":1,"name":"Shop","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster","direction":2,"pattern":0,"characterIndex":5},"list":[{"code":101,"indent":0,"parameters":["Monster",5,0,2]},{"code":401,"indent":0,"parameters":["Hi,"]},{"code":401,"indent":0,"parameters":["Welcome to the shop"]},{"code":102,"indent":0,"parameters":[["Shop","Exit"],1,0,2,0]},{"code":402,"indent":0,"parameters":[0,"Shop"]},{"code":302,"indent":1,"parameters":[0,6,0,0,false]},{"code":605,"indent":1,"parameters":[0,7,0,0]},{"code":605,"indent":1,"parameters":[0,8,0,0]},{"code":605,"indent":1,"parameters":[0,9,0,0]},{"code":605,"indent":1,"parameters":[0,10,0,0]},{"code":605,"indent":1,"parameters":[0,11,0,0]},{"code":605,"indent":1,"parameters":[0,3,0,0]},{"code":605,"indent":1,"parameters":[0,4,0,0]},{"code":0,"indent":1,"parameters":[]},{"code":402,"indent":0,"parameters":[1,"Exit"]},{"code":101,"indent":1,"parameters":["Monster",5,0,2]},{"code":401,"indent":1,"parameters":["Bye"]},{"code":0,"indent":1,"parameters":[]},{"code":404,"indent":0,"parameters":[]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":false}],"x":1,"y":6},
{"id":2,"name":"Shop","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster","direction":2,"pattern":0,"characterIndex":5},"list":[{"code":101,"indent":0,"parameters":["Monster",5,0,2]},{"code":401,"indent":0,"parameters":["Hi,"]},{"code":401,"indent":0,"parameters":["Welcome to the shop"]},{"code":102,"indent":0,"parameters":[["Shop","Exit"],1,0,2,0]},{"code":402,"indent":0,"parameters":[0,"Shop"]},{"code":302,"indent":1,"parameters":[1,7,0,0,false]},{"code":605,"indent":1,"parameters":[1,8,0,0]},{"code":605,"indent":1,"parameters":[1,10,0,0]},{"code":605,"indent":1,"parameters":[1,11,0,0]},{"code":605,"indent":1,"parameters":[1,13,0,0]},{"code":605,"indent":1,"parameters":[1,14,0,0]},{"code":605,"indent":1,"parameters":[1,16,0,0]},{"code":605,"indent":1,"parameters":[1,17,0,0]},{"code":605,"indent":1,"parameters":[1,19,0,0]},{"code":605,"indent":1,"parameters":[1,20,0,0]},{"code":605,"indent":1,"parameters":[1,22,0,0]},{"code":605,"indent":1,"parameters":[1,23,0,0]},{"code":0,"indent":1,"parameters":[]},{"code":402,"indent":0,"parameters":[1,"Exit"]},{"code":101,"indent":1,"parameters":["Monster",5,0,2]},{"code":401,"indent":1,"parameters":["Bye"]},{"code":0,"indent":1,"parameters":[]},{"code":404,"indent":0,"parameters":[]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":false}],"x":17,"y":15},
{"id":3,"name":"Shop","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster","direction":2,"pattern":0,"characterIndex":5},"list":[{"code":101,"indent":0,"parameters":["Monster",5,0,2]},{"code":401,"indent":0,"parameters":["Hi,"]},{"code":401,"indent":0,"parameters":["Welcome to the shop"]},{"code":102,"indent":0,"parameters":[["Shop","Exit"],1,0,2,0]},{"code":402,"indent":0,"parameters":[0,"Shop"]},{"code":302,"indent":1,"parameters":[2,1,0,0,false]},{"code":605,"indent":1,"parameters":[2,6,0,0]},{"code":605,"indent":1,"parameters":[2,7,0,0]},{"code":605,"indent":1,"parameters":[2,8,0,0]},{"code":605,"indent":1,"parameters":[2,9,0,0]},{"code":605,"indent":1,"parameters":[2,10,0,0]},{"code":0,"indent":1,"parameters":[]},{"code":402,"indent":0,"parameters":[1,"Exit"]},{"code":101,"indent":1,"parameters":["Monster",5,0,2]},{"code":401,"indent":1,"parameters":["Bye"]},{"code":0,"indent":1,"parameters":[]},{"code":404,"indent":0,"parameters":[]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":false}],"x":24,"y":5},
{"id":4,"name":"testbattle","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster","direction":8,"pattern":2,"characterIndex":2},"list":[{"code":301,"indent":0,"parameters":[0,3,false,false]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":13,"y":7},
{"id":4,"name":"testbattle","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster","direction":8,"pattern":2,"characterIndex":0},"list":[{"code":301,"indent":0,"parameters":[0,1,true,true]},{"code":601,"indent":0,"parameters":[]},{"code":0,"indent":1,"parameters":[]},{"code":602,"indent":0,"parameters":[]},{"code":0,"indent":1,"parameters":[]},{"code":603,"indent":0,"parameters":[]},{"code":0,"indent":1,"parameters":[]},{"code":604,"indent":0,"parameters":[]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":13,"y":7},
{"id":5,"name":"EV005","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"characterIndex":0,"characterName":"!Door1","direction":2,"pattern":1,"tileId":0},"list":[{"code":250,"indent":0,"parameters":[{"name":"Open1","pan":0,"pitch":100,"volume":90}]},{"code":205,"indent":0,"parameters":[0,{"list":[{"code":17},{"code":15,"parameters":[3]},{"code":18},{"code":15,"parameters":[3]},{"code":19},{"code":37},{"code":0}],"repeat":false,"skippable":false,"wait":true}]},{"code":505,"indent":0,"parameters":[{"code":17}]},{"code":505,"indent":0,"parameters":[{"code":15,"parameters":[3]}]},{"code":505,"indent":0,"parameters":[{"code":18}]},{"code":505,"indent":0,"parameters":[{"code":15,"parameters":[3]}]},{"code":505,"indent":0,"parameters":[{"code":19}]},{"code":505,"indent":0,"parameters":[{"code":37}]},{"code":205,"indent":0,"parameters":[-1,{"list":[{"code":12},{"code":0}],"repeat":false,"skippable":true,"wait":true}]},{"code":505,"indent":0,"parameters":[{"code":12}]},{"code":250,"indent":0,"parameters":[{"name":"Move1","pan":0,"pitch":100,"volume":90}]},{"code":201,"indent":0,"parameters":[0,4,7,23,0,0]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":1,"walkAnime":false}],"x":13,"y":0}
]
}

View File

@@ -1,7 +1,7 @@
[
null,
{"id":1,"expanded":true,"name":"MAP001","order":1,"parentId":0,"scrollX":1092,"scrollY":630},
{"id":2,"expanded":false,"name":"MAP003","order":3,"parentId":4,"scrollX":1508,"scrollY":881.3333333333334},
{"id":2,"expanded":false,"name":"MAP003","order":3,"parentId":4,"scrollX":1081.3333333333333,"scrollY":756.6666666666666},
null,
{"id":4,"expanded":true,"name":"MAP002","order":2,"parentId":1,"scrollX":832,"scrollY":640}
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,728 @@
//=============================================================================
// Yanfly Engine Plugins - Battle System - Standard Turn Battle
// YEP_X_BattleSysSTB.js
//=============================================================================
var Imported = Imported || {};
Imported.YEP_X_BattleSysSTB = true;
var Yanfly = Yanfly || {};
Yanfly.STB = Yanfly.STB || {};
Yanfly.STB.version = 1.05;
//=============================================================================
/*:
* @plugindesc v1.05 (Requires YEP_BattleEngineCore.js) Add STB (Standard
* Turn Battle) into your game using this plugin!
* @author Yanfly Engine Plugins
*
* @param ---General---
* @default
*
* @param Action Speed
* @parent ---General---
* @desc This is the formula used for an action's base speed.
* Default: agi + Math.randomInt(Math.floor(5 + agi / 4))
* @default agi
*
* @param Delay Status Adjust
* @parent ---General---
* @type boolean
* @on YES
* @off NO
* @desc Delay the time it takes for the Status Window to move towards
* the center. YES - true NO - false
* @default true
*
* @param ---Escape---
* @default
*
* @param Escape Ratio
* @parent ---Escape---
* @desc How STB calculates escape ratios.
* Default: 0.5 * $gameParty.agility() / $gameTroop.agility()
* @default 0.125 * $gameParty.agility() / $gameTroop.agility()
*
* @param Fail Escape Boost
* @parent ---Escape---
* @desc Each time the player fails escape, increase the success
* rate by this much. Default: 0.1
* @default 0.025
*
* @param ---Turn Order---
* @default
*
* @param Show Turn Window
* @parent ---Turn Order---
* @type boolean
* @on Show
* @off Hide
* @desc Show the turn order window?
* YES - true NO - false
* @default false
*
* @param Turn Window X
* @parent ---Turn Order---
* @desc The turn order window's x position.
* You can use a formula.
* @default Graphics.boxWidth - width
*
* @param Turn Window Y
* @parent ---Turn Order---
* @desc The turn order window's y position.
* You can use a formula.
* @default this.fittingHeight(2)
*
* @param Turn Window Width
* @parent ---Turn Order---
* @desc The turn order window's width.
* You can use a formula.
* @default 200
*
* @param Turn Window Height
* @parent ---Turn Order---
* @desc The turn order window's height.
* You can use a formula.
* @default Graphics.boxHeight - statusHeight - this.fittingHeight(2)
*
* @param Current Battler Color
* @parent ---Turn Order---
* @type number
* @min 0
* @max 31
* @desc The text color used for the current battler.
* @default 6
*
* @param Actor Battler Color
* @parent ---Turn Order---
* @type number
* @min 0
* @max 31
* @desc The text color used for the actors.
* @default 4
*
* @param Enemy Battler Color
* @parent ---Turn Order---
* @type number
* @min 0
* @max 31
* @desc The text color used for the enemies.
* @default 2
*
* @help
* ============================================================================
* Introduction
* ============================================================================
*
* This plugin requires YEP_BattleEngineCore. Make sure this plugin is located
* under YEP_BattleEngineCore in the plugin list.
*
* To use the STB system, go to the Battle Engine Core plugin and change the
* 'Default System' setting in the parameters to 'stb'.
*
* The Standard Turn Battle system functions off of the Default Turn Battle
* system's structure. Action orders are determined by the battlers' AGI values
* and they go from highest to lowest. However, actions are not selected at the
* start of the turn. Instead, the turn progresses and the actions are picked
* as each battler's turn appears, then proceeds to be executed immediately.
*
* Each battler is only allowed one action per battle turn, meaning a single
* battler cannot have twice the number of turns as another battler even if the
* battler's AGI value is double that of the other. This is to prevent any
* balancing issues that come from tick-based battle systems as they tend to be
* far more difficult to balance compared to turn-based battle systems.
*
* Because of the nature of the Standard Turn Battle System, an item or skill's
* action speed value found in the database will be disabled as it cannot push
* forward a battler's in the turn order.
*
* ============================================================================
* Plugin Commands
* ============================================================================
*
* To change your battle system to Standard Turn Battle if it isn't the default
* battle system, you can use the following Plugin Command:
*
* Plugin Command:
* setBattleSys STB Sets battle system to Standard Turn Battle.
* setBattleSys DTB Sets battle system to Default Turn Battle.
*
* Using the above Plugin Commands, you can toggle between the Default Battle
* System and Standard Turn Battle!
*
* ============================================================================
* Notetags
* ============================================================================
*
* The following are notetags that pertain to and affect the STB system.
*
* Skill and Item Notetags:
*
* <STB Help>
* text
* text
* </STB Help>
* For those planning on using multiple battle systems, sometimes you may
* have your skills perform differently while using STB. If so, using this
* notetag will allow skills and items to display different help text while
* STB is enabled.
*
* ============================================================================
* Changelog
* ============================================================================
*
* Version 1.05:
* - Fixed Forced Action endless bug and added compatibility with Instant Cast.
*
* Version 1.04:
* - Bypass the isDevToolsOpen() error when bad code is inserted into a script
* call or custom Lunatic Mode code segment due to updating to MV 1.6.1.
*
* Version 1.03:
* - Updated for RPG Maker MV version 1.5.0.
*
* Version 1.02:
* - Instant Cast compatibility update.
*
* Version 1.01:
* - Fixed a bug that caused escaping to crash the game if not using STB.
*
* Version 1.00:
* - Finished Plugin!
*/
//=============================================================================
if (Imported.YEP_BattleEngineCore) {
if (Yanfly.BEC.version && Yanfly.BEC.version >= 1.42) {
//=============================================================================
// Parameter Variables
//=============================================================================
Yanfly.Parameters = PluginManager.parameters('YEP_X_BattleSysSTB');
Yanfly.Param = Yanfly.Param || {};
Yanfly.Param.STBActionSpeed = String(Yanfly.Parameters['Action Speed']);
Yanfly.Param.STBDelayStatus = String(Yanfly.Parameters['Delay Status Adjust']);
Yanfly.Param.STBDelayStatus = eval(Yanfly.Param.STBDelayStatus);
Yanfly.Param.STBEscapeRatio = String(Yanfly.Parameters['Escape Ratio']);
Yanfly.Param.STBEscapeBoost = String(Yanfly.Parameters['Fail Escape Boost']);
Yanfly.Param.STBShowWindow = String(Yanfly.Parameters['Show Turn Window']);
Yanfly.Param.STBShowWindow = eval(Yanfly.Param.STBShowWindow);
Yanfly.Param.STBWindowX = String(Yanfly.Parameters['Turn Window X']);
Yanfly.Param.STBWindowY = String(Yanfly.Parameters['Turn Window Y']);
Yanfly.Param.STBWindowW = String(Yanfly.Parameters['Turn Window Width']);
Yanfly.Param.STBWindowH = String(Yanfly.Parameters['Turn Window Height']);
Yanfly.Param.STBWinSubject = Number(Yanfly.Parameters['Current Battler Color']);
Yanfly.Param.STBWinActor = Number(Yanfly.Parameters['Actor Battler Color']);
Yanfly.Param.STBWinEnemy = Number(Yanfly.Parameters['Enemy Battler Color']);
//=============================================================================
// DataManager
//=============================================================================
Yanfly.STB.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function() {
if (!Yanfly.STB.DataManager_isDatabaseLoaded.call(this)) return false;
if (!Yanfly._loaded_YEP_X_BattleSysSTB) {
this.processSTBNotetags1($dataSkills);
this.processSTBNotetags1($dataItems);
Yanfly._loaded_YEP_X_BattleSysSTB = true;
}
return true;
};
DataManager.processSTBNotetags1 = function(group) {
for (var n = 1; n < group.length; n++) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
var evalMode = 'none';
obj.stbHelp = undefined;
for (var i = 0; i < notedata.length; i++) {
var line = notedata[i];
if (line.match(/<(?:STB HELP)>/i)) {
evalMode = 'stb help';
obj.stbHelp = '';
} else if (line.match(/<\/(?:STB HELP)>/i)) {
evalMode = 'none';
} else if (evalMode === 'stb help') {
obj.stbHelp += line + '\n';
}
}
}
};
//=============================================================================
// BattleManager
//=============================================================================
BattleManager.isSTB = function() {
return this.isBattleSystem('stb');
};
Yanfly.STB.BattleManager_isTurnBased = BattleManager.isTurnBased;
BattleManager.isTurnBased = function() {
if (this.isSTB()) return true;
return Yanfly.STB.BattleManager_isTurnBased.call(this);
};
Yanfly.STB.BattleManager_makeEscapeRatio = BattleManager.makeEscapeRatio;
BattleManager.makeEscapeRatio = function() {
if (this.isSTB()) {
var code = Yanfly.Param.STBEscapeRatio;
try {
this._escapeRatio = eval(code);
} catch (e) {
this._escapeRatio = 0;
Yanfly.Util.displayError(e, code, 'STB ESCAPE RATIO ERROR');
}
var code = Yanfly.Param.STBEscapeBoost;
try {
this._escapeFailBoost = eval(code);
} catch (e) {
this._escapeFailBoost = 0;
Yanfly.Util.displayError(e, code, 'STB ESCAPE BOOST ERROR');
}
} else {
this._escapeFailBoost = 0.1;
Yanfly.STB.BattleManager_makeEscapeRatio.call(this);
}
};
Yanfly.STB.BattleManager_startInput = BattleManager.startInput;
BattleManager.startInput = function() {
Yanfly.STB.BattleManager_startInput.call(this);
if (this.isSTB() && this._phase !== 'turn') this.startTurn();
};
Yanfly.STB.BattleManager_startTurn = BattleManager.startTurn;
BattleManager.startTurn = function() {
if (this._stbFailedEscape) {
this.stbFailedEscape();
} else {
Yanfly.STB.BattleManager_startTurn.call(this);
}
};
BattleManager.stbFailedEscape = function() {
this._stbFailedEscape = false;
$gameParty.requestMotionRefresh();
};
Yanfly.STB.BattleManager_processTurn = BattleManager.processTurn;
BattleManager.processTurn = function() {
var subject = this._subject;
SceneManager._scene.refreshSTBTurnOrderWindow();
if (this.isSTB() && subject.isActor()) {
this.startSTBInput();
} else {
Yanfly.STB.BattleManager_processTurn.call(this);
}
};
BattleManager.startSTBInput = function() {
this._phase = 'input';
var battler = this._subject;
BattleManager.changeActor(battler.index(), 'undecided');
if (!battler.canInput()) {
battler.makeActions();
this.startAction();
}
};
Yanfly.STB.BattleManager_selectPreviousCommand =
BattleManager.selectPreviousCommand;
BattleManager.selectPreviousCommand = function() {
if (this.isSTB()) {
this._activeSTBActor = this._actorIndex;
this._subject = null;
this.changeActor(-1, 'undecided');
} else {
Yanfly.STB.BattleManager_selectPreviousCommand.call(this);
}
};
Yanfly.STB.BattleManager_displayEscapeFailureMessage =
BattleManager.displayEscapeFailureMessage;
BattleManager.displayEscapeFailureMessage = function() {
Yanfly.STB.BattleManager_displayEscapeFailureMessage.call(this);
if (this.isSTB()) {
this.endAction();
this._stbFailedEscape = true;
}
};
BattleManager.stbSetSubject = function() {
BattleManager.changeActor(this._activeSTBActor, 'undecided');
this._subject = this.actor();
};
Yanfly.STB.BattleManager_selectNextCommand = BattleManager.selectNextCommand;
BattleManager.selectNextCommand = function() {
if (this.isSTB()) {
if (this._subject) {
this.startAction();
} else {
this.stbSetSubject();
this.startSTBInput();
}
} else {
Yanfly.STB.BattleManager_selectNextCommand.call(this);
}
};
Yanfly.STB.BattleManager_startAction = BattleManager.startAction;
BattleManager.startAction = function() {
if (Imported.YEP_InstantCast) this.detectStbInstantCast();
Yanfly.STB.BattleManager_startAction.call(this);
};
Yanfly.STB.BattleManager_endAction = BattleManager.endAction;
BattleManager.endAction = function() {
if (this.isSTB()) {
this.endSTBAction();
} else {
Yanfly.STB.BattleManager_endAction.call(this);
}
};
BattleManager.endSTBAction = function() {
this._phase = 'turn';
if (this._stbInstantCast) {
this._stbInstantCast = false;
return Yanfly.BEC.BattleManager_endAction.call(this);
}
if (this._subject) {
this._performedBattlers.push(this._subject);
this._subject.spriteStepBack();
this._subject.onAllActionsEnd();
this._subject.removeCurrentAction();
}
if (this._processingForcedAction) {
this._phase = this._preForcePhase;
this._processingForcedAction = false;
}
if (this.loadPreForceActionSettings()) return;
this._subject = null;
Yanfly.BEC.BattleManager_endAction.call(this);
};
BattleManager.detectStbInstantCast = function() {
this._stbInstantCast = false;
if (!this.isSTB()) return;
if (!this._subject) return;
if (!this._subject.currentAction()) return;
if (!this._subject.currentAction().item()) return;
var item = this._subject.currentAction().item();
this._stbInstantCast = this._subject.isInstantCast(item);
};
//=============================================================================
// Game_Action
//=============================================================================
Yanfly.STB.Game_Action_speed = Game_Action.prototype.speed;
Game_Action.prototype.speed = function() {
if (BattleManager.isSTB()) {
var user = this.subject(); var a = user;
var maxhp = user.mhp; var mhp = user.mhp; var hp = user.hp;
var maxmp = user.mmp; var mmp = user.mmp; var mp = user.mp;
var maxtp = user.maxTp(); var mtp = user.maxTp(); var tp = user.tp;
var atk = user.atk; var def = user.def; var mat = user.mat;
var int = user.mat; var mdf = user.mdf; var res = user.res;
var agi = user.agi; var luk = user.luk;
var code = Yanfly.Param.STBActionSpeed;
try {
var speed = eval(code);
} catch (e) {
var speed = agi;
Yanfly.Util.displayError(e, code, 'STB ACTION SPEED FORMULA ERROR');
}
return speed;
} else {
return Yanfly.STB.Game_Action_speed.call(this);
}
};
//=============================================================================
// Scene_Battle
//=============================================================================
Yanfly.STB.Scene_Battle_createHelpWindow =
Scene_Battle.prototype.createHelpWindow;
Scene_Battle.prototype.createHelpWindow = function() {
if (BattleManager.isSTB()) this.createSTBTurnOrderWindow();
Yanfly.STB.Scene_Battle_createHelpWindow.call(this);
};
Scene_Battle.prototype.createSTBTurnOrderWindow = function() {
if (!Yanfly.Param.STBShowWindow) return;
var statusWindow = this._statusWindow;
this._stbTurnOrderWindow = new Window_STB_TurnOrder(statusWindow);
this.addWindow(this._stbTurnOrderWindow);
};
Scene_Battle.prototype.refreshSTBTurnOrderWindow = function() {
if (!this._stbTurnOrderWindow) return;
this._stbTurnOrderWindow.refresh();
};
Yanfly.STB.Scene_Battle_commandFight = Scene_Battle.prototype.commandFight;
Scene_Battle.prototype.commandFight = function() {
if (BattleManager.isSTB()) {
BattleManager.stbSetSubject();
BattleManager.startSTBInput();
} else {
Yanfly.STB.Scene_Battle_commandFight.call(this);
}
};
Yanfly.STB.Scene_Battle_commandEscape = Scene_Battle.prototype.commandEscape;
Scene_Battle.prototype.commandEscape = function() {
if (BattleManager.isSTB()) {
BattleManager.processEscape();
} else {
Yanfly.STB.Scene_Battle_commandEscape.call(this);
}
};
if (Yanfly.Param.STBDelayStatus) {
Yanfly.STB.Scene_Battle_updateWindowPositions =
Scene_Battle.prototype.updateWindowPositions;
Scene_Battle.prototype.updateWindowPositions = function() {
if (BattleManager.isSTB()) return this.updateWindowPositionsSTB();
Yanfly.STB.Scene_Battle_updateWindowPositions.call(this);
};
Scene_Battle.prototype.updateWindowPositionsSTB = function() {
if (this._STBWindowPosCount === undefined) this._STBWindowPosCount = 0;
if (this._partyCommandWindow.active) {
this._STBWindowPosCount = 16;
var statusX = 0;
statusX = this._partyCommandWindow.width;
if (this._statusWindow.x < statusX) {
this._statusWindow.x += 16;
if (this._statusWindow.x > statusX) this._statusWindow.x = statusX;
}
if (this._statusWindow.x > statusX) {
this._statusWindow.x -= 16;
if (this._statusWindow.x < statusX) this._statusWindow.x = statusX;
}
} else if (this._actorCommandWindow.active) {
this._STBWindowPosCount = 16;
Yanfly.STB.Scene_Battle_updateWindowPositions.call(this);
} else {
if (--this._STBWindowPosCount > 0) return;
Yanfly.STB.Scene_Battle_updateWindowPositions.call(this);
}
};
}; // Yanfly.Param.STBDelayStatus
//=============================================================================
// Window_Help
//=============================================================================
Yanfly.STB.Window_Help_setItem = Window_Help.prototype.setItem;
Window_Help.prototype.setItem = function(item) {
if (this.meetSTBConditions(item)) return this.setText(item.stbHelp);
Yanfly.STB.Window_Help_setItem.call(this, item);
};
Window_Help.prototype.meetSTBConditions = function(item) {
if (!item) return false;
if (!BattleManager.isSTB()) return false;
return item.stbHelp !== undefined;
};
//=============================================================================
// Window_STB_TurnOrder
//=============================================================================
function Window_STB_TurnOrder() {
this.initialize.apply(this, arguments);
}
Window_STB_TurnOrder.prototype = Object.create(Window_Base.prototype);
Window_STB_TurnOrder.prototype.constructor = Window_STB_TurnOrder;
Window_STB_TurnOrder.prototype.initialize = function(statusWindow) {
if (statusWindow) {
var statusHeight = statusWindow.height;
} else {
statusHeight = this.fittingHeight(4);
}
var code = Yanfly.Param.STBWindowW;
try {
var width = eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, 'STB TURN ORDER WINDOW WIDTH ERROR');
var width = 200;
}
var code = Yanfly.Param.STBWindowH;
try {
var height = eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, 'STB TURN ORDER WINDOW HEIGHT ERROR');
var height = Graphics.boxHeight - statusHeight - this.fittingHeight(2);
}
var code = Yanfly.Param.STBWindowX;
try {
var x = eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, 'STB TURN ORDER WINDOW X ERROR');
var x = Graphics.boxWidth - width;
}
var code = Yanfly.Param.STBWindowY;
try {
var y = eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, 'STB TURN ORDER WINDOW Y ERROR');
var y = this.fittingHeight(2);
}
Window_Base.prototype.initialize.call(this, x, y, width, height);
this.opacity = 0;
this.refresh();
};
Window_STB_TurnOrder.prototype.refresh = function() {
this.getTurnOrderData();
this.drawTurnOrders();
};
Window_STB_TurnOrder.prototype.getTurnOrderData = function() {
if (!BattleManager._actionBattlers) return;
if (!BattleManager._performedBattlers) return;
var array = BattleManager._actionBattlers;
this._actionBattlers = array.filter(Yanfly.Util.onlyUnique);
array = BattleManager._performedBattlers;
this._performedBattlers = array.filter(Yanfly.Util.onlyUnique);
};
Window_STB_TurnOrder.prototype.drawTurnOrders = function() {
if (!this._actionBattlers) return;
if (!this._performedBattlers) return;
this.contents.clear();
var dy = 0;
dy = this.drawPerformedActors(dy);
dy = this.drawSubject(dy);
dy = this.drawActionActors(dy);
};
Window_STB_TurnOrder.prototype.drawPerformedActors = function(dy) {
var dx = this.textPadding();
var dw = this.contents.width - this.textPadding() * 2;
this.resetFontSettings();
this.changePaintOpacity(false);
var array = this._performedBattlers;
var length = array.length;
for (var i = 0; i < length; ++i) {
var battler = array[i];
if (!battler) continue;
if (battler.isDead()) continue;
if (battler === BattleManager._subject) continue;
if (battler.isActor()) {
this.changeTextColor(this.textColor(Yanfly.Param.STBWinActor));
} else {
this.changeTextColor(this.textColor(Yanfly.Param.STBWinEnemy));
}
var text = this.getBattlerName(battler);
this.drawText(text, dx, dy, dw);
dy += this.lineHeight();
}
return dy;
};
Window_STB_TurnOrder.prototype.drawSubject = function(dy) {
if (!BattleManager._subject) return dy;
if (BattleManager._subject.isDead()) return dy;
var dx = this.textPadding();
var dw = this.contents.width - this.textPadding() * 2;
this.resetFontSettings();
this.changePaintOpacity(true);
this.changeTextColor(this.textColor(Yanfly.Param.STBWinSubject));
var battler = BattleManager._subject;
var text = this.getBattlerName(battler);
this.drawText(text, dx, dy, dw);
dy += this.lineHeight();
return dy;
};
Window_STB_TurnOrder.prototype.drawActionActors = function(dy) {
var dx = this.textPadding();
var dw = this.contents.width - this.textPadding() * 2;
this.resetFontSettings();
this.changePaintOpacity(true);
var array = this._actionBattlers;
var length = array.length;
for (var i = 0; i < length; ++i) {
var battler = array[i];
if (!battler) continue;
if (battler.isDead()) continue;
if (battler === BattleManager._subject) continue;
if (this._performedBattlers.contains(battler)) continue;
if (battler.isActor()) {
this.changeTextColor(this.textColor(Yanfly.Param.STBWinActor));
} else {
this.changeTextColor(this.textColor(Yanfly.Param.STBWinEnemy));
}
var text = this.getBattlerName(battler);
this.drawText(text, dx, dy, dw);
dy += this.lineHeight();
}
return dy;
};
Window_STB_TurnOrder.prototype.getBattlerName = function(battler) {
if (Imported.YEP_EnemyLevels && battler.isEnemy()) {
var text = Yanfly.ELV.Game_Enemy_name.call(battler);
} else {
var text = battler.name();
}
return text;
};
//=============================================================================
// Utilities
//=============================================================================
Yanfly.Util = Yanfly.Util || {};
Yanfly.Util.displayError = function(e, code, message) {
console.log(message);
console.log(code || 'NON-EXISTENT');
console.error(e);
if (Utils.RPGMAKER_VERSION && Utils.RPGMAKER_VERSION >= "1.6.0") return;
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
if (!require('nw.gui').Window.get().isDevToolsOpen()) {
require('nw.gui').Window.get().showDevTools();
}
}
};
Yanfly.Util.onlyUnique = function(value, index, self) {
return self.indexOf(value) === index;
};
//=============================================================================
// End of File
//=============================================================================
} else { // Yanfly.BEC.version
var text = '================================================================\n';
text += 'YEP_X_BattleSysSTB requires YEP_BattleEngineCore to be at the ';
text += 'latest version to run properly.\n\nPlease go to www.yanfly.moe and ';
text += 'update to the latest version for the YEP_BattleEngineCore plugin.\n';
text += '================================================================\n';
console.log(text);
require('nw.gui').Window.get().showDevTools();
} // Yanfly.BEC.version
}; // YEP_BattleEngineCore

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
NoOwrgNhA0DeBEBzCB7ARgQwgSQCbwC54AlABQHEBZANXmngBcBLBiAU0JIoAIAHAJxQArNgGMG3AEwAGAIwBOOvFEALDPwzi2/AM6FgweAEFxKfrLrSAutEMmGZi9ADsNu6f4BmOq9vGPknSeVjbwAGaabHoEBv4O5pZucY4+SfZm3i5pHpnBobwQGACezAC2HETS0gTSngSSmYxM5ToMGKW8hLIArM6yABwALIOyg/IAbNLjAL5WQA
NoOwrgNhA0DeBEBzCB7ARgQwgSQCbwC54AlABQHEBZANXmngBcBLBiAU0JIoAIAHAJxQArNgGMG3AEwAGAIwBOOvFEALDPwzi2/AM6FgweAEFxKfrLrSAutEMmGZi9ADsNu6f4BmOq9vGPknSeVjbwAGaabHoEBv4O5pZucY4+SfZm3i5pHpnBobwQGACezAC2HETS0gTSngQALIH0ZVEMGKW8hLIArM6S8vXOAGwKQ90AHAC+VkAA==