pkug111
This commit is contained in:
@@ -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}
|
||||
]
|
||||
}
|
||||
@@ -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
2562
RPG project 2019/js/plugins/YEP_X_BattleSysATB.js
Normal file
2562
RPG project 2019/js/plugins/YEP_X_BattleSysATB.js
Normal file
File diff suppressed because it is too large
Load Diff
728
RPG project 2019/js/plugins/YEP_X_BattleSysSTB.js
Normal file
728
RPG project 2019/js/plugins/YEP_X_BattleSysSTB.js
Normal 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
|
||||
1244
RPG project 2019/js/plugins/YEP_X_TurnOrderDisplay.js
Normal file
1244
RPG project 2019/js/plugins/YEP_X_TurnOrderDisplay.js
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
NoOwrgNhA0DeBEBzCB7ARgQwgSQCbwC54AlABQHEBZANXmngBcBLBiAU0JIoAIAHAJxQArNgGMG3AEwAGAIwBOOvFEALDPwzi2/AM6FgweAEFxKfrLrSAutEMmGZi9ADsNu6f4BmOq9vGPknSeVjbwAGaabHoEBv4O5pZucY4+SfZm3i5pHpnBobwQGACezAC2HETS0gTSngSSmYxM5ToMGKW8hLIArM6yABwALIOyg/IAbNLjAL5WQA
|
||||
NoOwrgNhA0DeBEBzCB7ARgQwgSQCbwC54AlABQHEBZANXmngBcBLBiAU0JIoAIAHAJxQArNgGMG3AEwAGAIwBOOvFEALDPwzi2/AM6FgweAEFxKfrLrSAutEMmGZi9ADsNu6f4BmOq9vGPknSeVjbwAGaabHoEBv4O5pZucY4+SfZm3i5pHpnBobwQGACezAC2HETS0gTSngQALIH0ZVEMGKW8hLIArM6S8vXOAGwKQ90AHAC+VkAA==
|
||||
Reference in New Issue
Block a user