brainwashing-school/js/plugins/MOG_BattlerMotion.js
2025-05-30 08:36:40 -05:00

2028 lines
77 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//=============================================================================
// MOG_BattlerMotion.js
//=============================================================================
/*:
* @target MZ
* @plugindesc (v1.0) Adiciona efeitos animados nos battlers.
* @author Moghunter
* @url https://mogplugins.wordpress.com
*
* @param Default Damage Motion
* @desc Definição da animação ao receber dano.
* @default 0
* @type select
* @option Shake
* @value 0
* @option Zoom
* @value 1
* @option Knockback (Left)
* @value 2
* @option Knockback (Right)
* @value 3
*
* @param Damage Motion Actor
* @desc Ativar o efeito tremer no aliado.
* @default true
* @type boolean
*
* @param Damage Motion Enemy
* @desc Ativar o efeito tremer no aliado.
* @default true
* @type boolean
*
* @param Disable Blink Damage
* @desc Desativar o efeito de piscar o battler no dano.
* @default true
* @type boolean
*
* @param Actor Action Motion
* @desc Ativar o Motion de ação para no grupo.
* @default false
* @type boolean
*
* @param Enemy Action Motion
* @desc Ativar o Motion de ação para nos inimigos.
* @default true
* @type boolean
*
* @param Shadow (Float Motion)
* @desc Ativar a sombra no movimento de levitar.
* @default true
* @type boolean
*
* @param Shadow Opacity
* @desc Definição da transparência da sombra.
* @default 170
* @type boolean
*
* @param Shadow Zoom Effect
* @desc Ativar o efeito de zoom na sombra.
* @default true
* @type boolean
*
* @param Battleback Ground Height
* @desc O valor define o limite Y-axis da sombra baseado no battleback.
* @default 200
* @type number
*
* @help
* =============================================================================
* =============================================================================
* ♦♦♦ MOG - Battler Motion ♦♦♦
* Author - Moghunter
* Version - 1.0
* Updated - 2021/04/17
* https://mogplugins.wordpress.com
* =============================================================================
* Adiciona efeitos animados nos battlers.
*
* =============================================================================
* - IDLE MOTION - (Enemy Notetags)
* =============================================================================
* Para ativar os esfeitos de animações em posição de espera use as Tags abaixo
* na caixa de notas dos battlers.
*
* breath motion : X
*
* 0 - Vertical Zoom
* 1 - Vertical & Horizontal Zoom
* 2 - Vertical & Horizontal Zoom (Strong/Slime Mode)
* 3 - Horizontal Zoom (Strong)
* 4 - Diagonal Breath (Right)
* 5 - Diagonal Breath (Left)
*
* float motion : X
*
* 0 - Vertical
* 1 - Vertical Right
* 2 - Vertical Left
* 3 - Vertical Right & Left
*
* swing motion : X
*
* 0 - Swing Left & Right
* 1 - Rotation 360
*
* damage motion : X
*
* 0 - Shake
* 1 - Slime Mode
* 2 - Move Left
* 3 - Move Right
*
* =============================================================================
* - X & Y Offset - (Enemy Notetags)
* =============================================================================
* Use as tags abaixo para forçar a posição dos battlers.
*
* X Offset : X
* Y Offset : Y
*
* =============================================================================
* - ACTION MOTION - (Skill Notetags)
* =============================================================================
* Para ativar os esfeitos de animações de ação use as Tags abaixo na caixa
* de notas das habilidades.
*
* Action Motion : X
*
* 0 - Zoom
* 1 - Round Attack Right
* 2 - Round Attack Left
* 3 - Jump Attack
* 4 - Jump Attack (Rotation)
* 5 - Jump Slime
* 6 - Rotation Attack
* 7 - Move Down
* 8 - Wave Attack
* 9 - Shake
* 10 - Swing Right
* 11 - Swing Right (Double)
* 12 - Move Right
* 13 - Charged Attack Right
*
*/
//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
  var Imported = Imported || {};
  Imported.MOG_BattlerMotion = true;
  var Moghunter = Moghunter || {};
Moghunter.parameters = PluginManager.parameters('MOG_BattlerMotion');
Moghunter.b_motion_shake_effect_actor = String(Moghunter.parameters['Damage Motion Actor'] || "true");
Moghunter.b_motion_shake_effect_enemy = String(Moghunter.parameters['Damage Motion Enemy'] || "true");
Moghunter.b_motion_disable_blink_damage = String(Moghunter.parameters['Disable Blink Damage'] || "true");
Moghunter.b_motion_shadow = String(Moghunter.parameters['Shadow (Float Motion)'] || "true");
Moghunter.b_motion_shadowOpacity = Number(Moghunter.parameters['Shadow Opacity'] || 170);
Moghunter.b_motion_shadowZoom = String(Moghunter.parameters['Shadow Zoom Effect'] || "true");
Moghunter.b_motion_defaultDamage = Number(Moghunter.parameters['Default Damage Motion'] || 0);
Moghunter.b_motion_actorAction = String(Moghunter.parameters['Actor Action Motion'] || "false");
Moghunter.b_motion_enemyAction = String(Moghunter.parameters['Enemy Action Motion'] || "true");
Moghunter.b_motion_groundHeight = Number(Moghunter.parameters['Battleback Ground Height'] || 200);
//=============================================================================
// ■■■ Game System ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _mog_bmotion_sys_initialize = Game_System.prototype.initialize
Game_System.prototype.initialize = function() {
_mog_bmotion_sys_initialize.call(this);
this._bmotion = [false,false,false,false];
if (String(Moghunter.b_motion_shake_effect_actor) == "true") {this._bmotion[0] = true};
if (String(Moghunter.b_motion_shake_effect_enemy) == "true") {this._bmotion[1] = true};
if (String(Moghunter.b_motion_actorAction) == "true") {this._bmotion[2] = true};
if (String(Moghunter.b_motion_enemyAction) == "true") {this._bmotion[3] = true};
};
//=============================================================================
// ■■■ Game Action ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Prepare
//==============================
var _mog_bmotion_gaction_prepare = Game_Action.prototype.prepare
Game_Action.prototype.prepare = function() {
_mog_bmotion_gaction_prepare.call(this);
if (this.canBmotionAction(this._item)){
this.subject().prepareBmotionAction(this._item,0)
this.subject(). clearBwalk();
};
};
//==============================
// * can Bmotion Action
//==============================
Game_Action.prototype.canBmotionAction = function(item) {
if (this.subject().isActor() && !$gameSystem._bmotion[2]) {return false};
if (this.subject().isEnemy() && !$gameSystem._bmotion[3]) {return false};
return true;
};
//==============================
// * need Set Bmotion Damage
//==============================
Game_Action.prototype.needSetBmotionDamage = function(target,oldhp) {
if (target._bmotion.damage.mode == -1) {return false};
if (target.hp >= oldhp) {return false};
if (target.isActor() && !$gameSystem._bmotion[0]) {return false};
if (target.isEnemy() && !$gameSystem._bmotion[1]) {return false};
return true;
};
//==============================
// ♦ ALIAS ♦ Apply
//==============================
var _mog_bMotion_apply = Game_Action.prototype.apply
Game_Action.prototype.apply = function(target) {
var oldHP = target.hp;
_mog_bMotion_apply.call(this,target);
if ($dataSystem.optSideView) {target.clearBwalk()};
if (this.needSetBmotionDamage(target,oldHP)) {target.setBmotionDamageApply(target)}
};
//=============================================================================
// ■■■ Game Battler ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ iniMembers
//==============================
var _mog_bmotion_gbattler_initMembers = Game_Battler.prototype.initMembers;
Game_Battler.prototype.initMembers = function() {
_mog_bmotion_gbattler_initMembers.call(this);
this.setMotionData();
};
//==============================
// * Notetags
//==============================
Game_Battler.prototype.notetags = function() {
if (this.isEnemy()) {return this.enemy().note.split(/[\r\n]+/)};
if (this.isActor()) {return this.actor().note.split(/[\r\n]+/)};
};
//==============================
// ** Set Motion Data
//==============================
Game_Battler.prototype.setMotionData = function() {
this._bmotion = {};
this._bmotion.action = {};
this.clearBaction();
this._bmotion.idle = {};
this._bmotion.idle.mode = -1;
this._bmotion.idle.wait = false;
this._bmotion.idle.walk = {};
this._bmotion.idle.walk.enable = false;
this._bmotion.idle.walk.start = true;
this._bmotion.idle.walk.rangeReal = 40;
this._bmotion.x_Offset = 0;
this._bmotion.y_Offset = 0;
this._bmotion.breathEffect = {};
this._bmotion.breathEffect.phase = 0;
this._bmotion.breathEffect.duration;
this._bmotion.breathEffect.rangeMax = 0.00100;
this._bmotion.breathEffect.range = 0;
this._bmotion.breathEffect.speed = 0;
this._bmotion.breathEffect.scale = 0;
this._bmotion.idle.float = {};
this._bmotion.idle.float.mode = 0;
this._bmotion.idle.float.enable = false;
this._bmotion.idle.float.shadow = Moghunter.b_motion_shadow == "true" ? true : false;
this._bmotion.idle.float.range = 1.00;
this._bmotion.idle.float.speed = 0.02;
this._bmotion.idle.float.animation = [0,0,0,0,0,0,0,0,0,0,0];
this._bmotion.idle.float.x = 0;
this._bmotion.idle.float.y = 0;
this._bmotion.idle.float.groundH = Moghunter.b_motion_groundHeight;
if (Imported.MOG_BattleCameraFrontal) {
this._bmotion.idle.float.groundH -= Moghunter.b_motion_groundHeight * 50 / 100
};
this._bmotion.idle.swing = {};
this._bmotion.idle.swing.mode = 0;
this._bmotion.idle.swing.enable = false;
this._bmotion.idle.swing.range = 0.30;
this._bmotion.idle.swing.rotation = 0;
this._bmotion.idle.swing.speed = 0.005;
this._bmotion.idle.swing.animation = [0,0,0,0,0,0,0,0,0,0,0];
this._bmotion.idle.swing.y = 0;
this.clearBidle();
this._bmotion.damage = {};
this._bmotion.damage.mode = Math.min(Math.max(Moghunter.b_motion_defaultDamage,0),3);
this._bmotion.damage.wait = false;
this.clearBdamage();
};
//==============================
// ** clear Baction
//==============================
Game_Battler.prototype.clearBaction = function() {
this._bmotion.action.mode = -1;
this._bmotion.action.initial = true;
this._bmotion.action.wait = false;
this._bmotion.action.x = 0;
this._bmotion.action.y = 0;
this._bmotion.action.y2 = 0;
this._bmotion.action.orgX = 0;
this._bmotion.action.orgY = 0;
this._bmotion.action.scaleX = 0;
this._bmotion.action.scaleY = 0;
this._bmotion.action.rotation = 0;
this._bmotion.action.animation = [0,0,0,0,0,0];
if (this._batPoses && this._batPoses[2] > 0) {this._batPoses[2] = 1};
};
//==============================
// ** clear idle
//==============================
Game_Battler.prototype.clearBidle = function() {
this._bmotion.idle.wait = false;
this._bmotion.idle.x = 0;
this._bmotion.idle.y = 0;
this._bmotion.idle.orgX = 0;
this._bmotion.idle.orgY = 0;
this._bmotion.idle.walk.x = 0
this._bmotion.idle.walk.y = 0
this._bmotion.idle.walk.wait = 0;
this._bmotion.idle.walk.scaleX = 0;
this._bmotion.idle.walk.phase = 0;
this._bmotion.idle.walk.duration = 0;
this._bmotion.idle.walk.frequence = 20;
this._bmotion.idle.walk.sX = 0;
this._bmotion.idle.walk.sY = 0;
this._bmotion.idle.walk.speed = 0.007;
this._bmotion.idle.walk.skip = 0;
this._bmotion.idle.walk.skipN = false;
this.clearBidleWalk();
this._bmotion.idle.scaleX = 0;
this._bmotion.idle.scaleY = 0;
this._bmotion.idle.rotation = 0;
this._bmotion.idle.animation = [0,0,0,0,0,0,0,0,0,0,0];
};
//==============================
// ** clear Bidle Walk
//==============================
Game_Battler.prototype.clearBidleWalk = function() {
this._bmotion.idle.walk.rangeRealM = this._bmotion.idle.walk.rangeReal * 70 / 100;
this._bmotion.idle.walk.rangeX1 = -this._bmotion.idle.walk.rangeReal;
this._bmotion.idle.walk.rangeX2 = this._bmotion.idle.walk.rangeReal;
this._bmotion.idle.walk.rangeX3 = Graphics.boxWidth;
this._bmotion.idle.walk.rangeY1 = -this._bmotion.idle.walk.rangeReal;
this._bmotion.idle.walk.rangeY2 = this._bmotion.idle.walk.rangeReal;
this._bmotion.idle.walk.rangeY3 = Graphics.boxHeight - 160;
};
//==============================
// ** clear B walk
//==============================
Game_Battler.prototype.clearBwalk = function() {
this._bmotion.idle.walk.sX = 0;
this._bmotion.idle.walk.sY = 0;
this._bmotion.idle.walk.wait = 5;
this._bmotion.idle.walk.duration = 30;
this._bmotion.idle.walk.scaleX = 0;
this._bmotion.idle.walk.scaleY = 0;
this._bmotion.idle.walk.start = true;
};
//==============================
// ** clear idle
//==============================
Game_Battler.prototype.clearBdamage = function() {
this._bmotion.damage.wait = false;
this._bmotion.damage.duration = 0;
this._bmotion.damage.x = 0;
this._bmotion.damage.y = 0;
this._bmotion.damage.orgX = 0;
this._bmotion.damage.orgY = 0;
this._bmotion.damage.scaleX = 0;
this._bmotion.damage.scaleY = 0;
this._bmotion.damage.rotation = 0;
this._bmotion.damage.animation = [0,0,0,0,0,0];
};
//==============================
// ** need Refresh Bmotion Walk
//==============================
Game_Battler.prototype.needRefreshBmotionWalk = function(x,y) {
if (this._bmotion.idle.walk.skip > 0) {return false};
if (this._bmotion.idle.walk.x < this._bmotion.idle.walk.rangeX1) {return true};
if (this._bmotion.idle.walk.x > this._bmotion.idle.walk.rangeX2) {return true};
if (this._bmotion.idle.walk.y < this._bmotion.idle.walk.rangeY1) {return true};
if (this._bmotion.idle.walk.y > this._bmotion.idle.walk.rangeY2) {return true};
if (x < 0) {return true};
if (x > this._bmotion.idle.walk.rangeX3) {return true};
if (y < 0) {return true};
if (y > this._bmotion.idle.walk.rangeY3) {return true};
if (this._bmotion.idle.walk.duration <= 0) {return true};
return false;
};
//==============================
// ** setBmotionWalkD
//==============================
Game_Battler.prototype.setBmotionWalkD = function(value,x,y) {
if (x > this._bmotion.idle.walk.rangeX3) {return 1};
if (x < 0) {return 0};
if (y > this._bmotion.idle.walk.rangeY3) {return 1};
if (y < 0) {return 0};
if (value > this._bmotion.idle.walk.rangeRealM) {return 1};
if (value < -this._bmotion.idle.walk.rangeRealM) {return 0};
return Math.randomInt(2)
};
//==============================
// ** refreshBmotionWalk
//==============================
Game_Battler.prototype.refreshBmotionWalk = function(x,y) {
this._bmotion.idle.walk.duration = 60 + Math.randomInt(60);
var wait = Math.randomInt(100);
if (!this._bmotion.idle.walk.start && wait < this._bmotion.idle.walk.frequence) {
this._bmotion.idle.walk.sX = 0;
this._bmotion.idle.walk.sY = 0;
this._bmotion.idle.walk.wait = this._bmotion.idle.walk.duration;
return;
};
this._bmotion.idle.walk.start = false;
var preD = this._bmotion.idle.walk.sX
var sx = (Math.randomInt(100) * this._bmotion.idle.walk.speed);
var d = this.setBmotionWalkD(this._bmotion.idle.walk.x,x,y);
this._bmotion.idle.walk.sX = d == 0 ? sx : -sx;
var sy = (Math.randomInt(100) * this._bmotion.idle.walk.speed);
var d = this.setBmotionWalkD(this._bmotion.idle.walk.y,x,y);
this._bmotion.idle.walk.sY = d == 0 ? sy : -sy;
this._bmotion.idle.walk.skip = 20
};
//==============================
// * update Bmotion Walk
//==============================
Sprite_Battler.prototype.updateBmotionWalk = function(x,y) {
if (this._battler._bmotion.idle.walk.wait > 0) {this._battler._bmotion.idle.walk.wait--;return};
if (this._battler._bmotion.idle.walk.skip > 0) {this._battler._bmotion.idle.walk.skip--};
this._battler._bmotion.idle.walk.duration--;
this._battler._bmotion.idle.walk.x += this._battler._bmotion.idle.walk.sX;
this._battler._bmotion.idle.walk.y += this._battler._bmotion.idle.walk.sY;
if (this._battler.needRefreshBmotionWalk(x,y)) {this._battler.refreshBmotionWalk(x,y)};
};
//==============================
// ** get Bmotion Idle
//==============================
Game_Battler.prototype.getBmotionIdle = function() {
this.notetags().forEach(function(note) {
var note_data = note.split(' : ')
if (note_data[0].toLowerCase() == "breath motion"){
var par = note_data[1].split(':');
this._bmotion.idle.mode = Math.min(Math.max(Number(par[0]),0),5);
} else if (note_data[0].toLowerCase() == "float motion"){
var par = note_data[1].split(':');
var floatMode = Math.min(Math.max(Number(par[0]),0),3)
this._bmotion.idle.float.mode = floatMode;
this._bmotion.idle.float.enable = true;
} else if (note_data[0].toLowerCase() == "float motion height"){
var par = note_data[1].split(':');
var floatHeight = Math.min(Math.max(Number(par[0]),0),20);
this._bmotion.idle.float.range = floatHeight * 0.1;
this._bmotion.idle.float.enable = true;
} else if (note_data[0].toLowerCase() == "float motion speed"){
var par = note_data[1].split(':');
var floatSpeed = Math.min(Math.max(Number(par[0]),1),10);
this._bmotion.idle.float.speed = floatSpeed * 0.01;
this._bmotion.idle.float.enable = true;
} else if (note_data[0].toLowerCase() == "swing motion"){
var par = note_data[1].split(':');
var mode = Math.min(Math.max(Number(par[0]),0),1);
this._bmotion.idle.swing.mode = mode;
this._bmotion.idle.swing.enable = true;
} else if (note_data[0].toLowerCase() == "swing motion speed"){
var par = note_data[1].split(':');
this._bmotion.idle.swing.speed = Number(par[0]) * 0.001;
this._bmotion.idle.swing.enable = true;
} else if (note_data[0].toLowerCase() == "swing motion rate"){
var par = note_data[1].split(':');
var rate = Math.min(Math.max(Number(par[0]),0),360);
this._bmotion.idle.swing.range = rate * 0.01;
this._bmotion.idle.swing.enable = true;
} else if (note_data[0].toLowerCase() == "walk motion speed") {
var par = note_data[1].split(':');
var walkSpeed = Math.min(Math.max(Number(par[0]),1),20);
this._bmotion.idle.walk.speed = walkSpeed * 0.001;
this._bmotion.idle.walk.enable = true;
} else if (note_data[0].toLowerCase() == "walk motion frequence") {
var par = note_data[1].split(':');
var walkfreq = Math.min(Math.max(Number(par[0]),0),100);
var walkfreqReal = 100 - walkfreq;
this._bmotion.idle.walk.frequence = walkfreqReal;
this._bmotion.idle.walk.enable = true;
} else if (note_data[0].toLowerCase() == "walk motion range") {
var par = note_data[1].split(':');
var walkRange = Math.min(Math.max(Number(par[0]),10),Graphics.boxWidth);
this._bmotion.idle.walk.rangeReal = walkRange;
this._bmotion.idle.walk.enable = true;
this.clearBidleWalk();
} else if (note_data[0].toLowerCase() == "damage motion") {
var par = note_data[1].split(':');
var mode = Math.min(Math.max(Number(par[0]),0),3);
this._bmotion.damage.mode = mode;
} else if (note_data[0].toLowerCase() == "x offset") {
var par = note_data[1].split(':');
this._bmotion.x_Offset = Number(par[0]);
} else if (note_data[0].toLowerCase() == "y offset") {
var par = note_data[1].split(':');
this._bmotion.y_Offset = Number(par[0]);
};
},this);
};
//==============================
// ** prepare Bmotion Action
//==============================
Game_Battler.prototype.prepareBmotionAction = function(item,mode) {
if (!item) {return};
if (mode == 1) {
var item_notes = item.note.split(/[\r\n]+/);
} else {
if (!item.object()) {return};
var item_notes = item.object().note.split(/[\r\n]+/);
};
item_notes.forEach(function(note) {
var note_data = note.split(' : ')
if (note_data[0].toLowerCase() == "action motion"){
var par = note_data[1].split(':');
this.clearBaction();
this.clearBdamage();
this._bmotion.action.mode = Math.min(Math.max(Number(par[0]),0),13);
};
},this);
};
//==============================
// ** b motion X
//==============================
Game_Battler.prototype.bmotionX = function() {
return this._bmotion.x_Offset + this._bmotion.action.x + this._bmotion.idle.x + Math.abs(this._bmotion.damage.x) + this._bmotion.idle.walk.x + this._bmotion.idle.float.x;
};
//==============================
// ** b motion Y
//==============================
Game_Battler.prototype.bmotionY = function() {
return this._bmotion.y_Offset + this.bmotionFlyY() + this._bmotion.action.y + this._bmotion.idle.y + this._bmotion.damage.y + this._bmotion.idle.walk.y + this._bmotion.idle.swing.y;
};
//==============================
// ** bmotion Fly Y
//==============================
Game_Battler.prototype.bmotionFlyY = function() {
return this._bmotion.idle.float.y + this._bmotion.action.y2
};
//==============================
// ** b motion scale X
//==============================
Game_Battler.prototype.bmotionScaleX = function() {
var n = this._bmotion.action.scaleX + this._bmotion.idle.scaleX + this._bmotion.damage.scaleX;
if (Imported.MOG_BattleCameraFrontal) {n += this.camScaleX()};
return n;
};
//==============================
// ** b motion scale Y
//==============================
Game_Battler.prototype.bmotionScaleY = function() {
var n = this._bmotion.action.scaleY + this._bmotion.idle.scaleY + this._bmotion.damage.scaleY;
if (Imported.MOG_BattleCameraFrontal) {n += this.camScaleY()};
return n;
};
//==============================
// ** b motion rotation
//==============================
Game_Battler.prototype.bmotionRotation = function() {
return this._bmotion.action.rotation + this._bmotion.idle.rotation + this._bmotion.idle.swing.rotation + this._bmotion.damage.rotation;
};
//==============================
// * Force Action
//==============================
var _mog_bmotion_gbattler_forceAction = Game_Battler.prototype.forceAction;
Game_Battler.prototype.forceAction = function(skillId, targetIndex) {
_mog_bmotion_gbattler_forceAction.call(this,skillId, targetIndex);
var itemD = $dataSkills[skillId]
this.prepareBmotionAction(itemD,1);
};
//==============================
// ** set Bmotion Damage Apply
//==============================
Game_Battler.prototype.setBmotionDamageApply = function(target) {
target.clearBdamage();
if (target._bmotion.damage.mode == 0) {
target._bmotion.damage.duration = 45;
} else {
target._bmotion.damage.duration = 20;
};
};
//=============================================================================
// ■■■ Sprite Enemy ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ init Visibility
//==============================
var _mog_bmotion_sprtEnemy_initVisibility = Sprite_Enemy.prototype.initVisibility;
Sprite_Enemy.prototype.initVisibility = function() {
_mog_bmotion_sprtEnemy_initVisibility.call(this);
this.refreshBmotionData();
};
//=============================================================================
// ■■■ Sprite Enemy ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ createStateIconSprite
//==============================
const _mog_battlerMotion_spriteEnemy_createStateIconSprite = Sprite_Enemy.prototype.createStateIconSprite;
Sprite_Enemy.prototype.createStateIconSprite = function() {
_mog_battlerMotion_spriteEnemy_createStateIconSprite.call(this);
this.removeChild(this._stateIconSprite);
};
//=============================================================================
// ■■■ Spriteset_Battle ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ create Enemies
//==============================
const _mog_battlerMotion_spriteset_battle = Spriteset_Battle.prototype.createEnemies;
Spriteset_Battle.prototype.createEnemies = function() {
_mog_battlerMotion_spriteset_battle.call(this);
this.createStateIconsEnemies();
};
//==============================
// * createStateIconsEnemies
//==============================
Spriteset_Battle.prototype.createStateIconsEnemies = function() {
for (const enemy of this._enemySprites) {
var enemySprite = new EnemyIconsSprites(enemy)
this._battleField.addChild(enemySprite);
};
};
//=============================================================================
// ■■■ EnemyIconsSprites ■■■
//=============================================================================
function EnemyIconsSprites() {
this.initialize.apply(this, arguments);
};
EnemyIconsSprites.prototype = Object.create(Sprite.prototype);
EnemyIconsSprites.prototype.constructor = EnemyIconsSprites;
//==============================
// * Initialize
//==============================
EnemyIconsSprites.prototype.initialize = function(enemy_sprite) {
Sprite.prototype.initialize.call(this);
this._enemy_sprite = enemy_sprite
this.addChild(this._enemy_sprite._stateIconSprite);
};
//==============================
// * Is Visible
//==============================
EnemyIconsSprites.prototype.isVisible = function() {
if (!this._enemy_sprite.visible) {return false};
if (!this._enemy_sprite._battler) {return false};
if (this._enemy_sprite._battler.allIcons().length == 0) {return false};
if (this._enemy_sprite._battler.isDead()) {return false};
return true;
};
//==============================
// * Update
//==============================
EnemyIconsSprites.prototype.update = function(update) {
Sprite.prototype.update.call(this);
this.x = this._enemy_sprite.x;
this.y = this._enemy_sprite.y;
this.opacity = this._enemy_sprite.opacity;
this.visible = this.isVisible();
};
//=============================================================================
// ■■■ Sprite Battler ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ init Members
//==============================
var _mog_bmotion_sprBat_initMembers = Sprite_Battler.prototype.initMembers;
Sprite_Battler.prototype.initMembers = function() {
_mog_bmotion_sprBat_initMembers.call(this);
this.initBmotion();
};
//==============================
// * init Bmotion
//==============================
Sprite_Battler.prototype.initBmotion = function() {
this._bmotion = {};
this._bmotion.initial = true;
this._bmotion.shadow = false;
};
//==============================
// * set Init Bmotion Data
//==============================
Sprite_Battler.prototype.setInitBmotionData = function() {
this._bmotion.initial = false;
this._bmotion.shadow = this._battler._bmotion.idle.float.shadow
this._battler.clearBaction();
this._battler.clearBidle();
this._battler.clearBdamage();
this._battler._bmotion.idle.orgX = this.x;
this._battler._bmotion.idle.orgY = this.y;
this.setBmotionIdle();
};
//==============================
// * set Init Bmotion Data
//==============================
Sprite_Battler.prototype.setBmotionIdle = function() {
this._battler.getBmotionIdle();
if (this._battler._bmotion.idle.float.enable) {
this.setupBmotionFloat();
} else if (this._battler._bmotion.idle.swing.enable) {
this.setupBmotionSwing()
};
if (this._battler._bmotion.idle.mode >= 0) {this.setupBmotionBreath()};
if (this._battler._bmotion.idle.walk.enable) {this._battler.refreshBmotionWalk()};
this._battler._bmotion.idle.animation[10] = Math.randomInt(25);
};
//==============================
// * setup Bmotion Breath
//==============================
Sprite_Battler.prototype.setupBmotionBreath = function() {
switch (this._battler._bmotion.idle.mode) {
case 0:
this.setupBMotionIdle1(); // Normal Breath Effect
break;
case 1:
this.setupBMotionIdle1();; // Normal Breath Effect 2
break;
case 2:
this.setupBMotionIdle3();; // Normal Breath Effect 3
break;
case 3:
this.setupBMotionIdle1();; // Normal Breath Effect 4
break;
case 4:
this.setupBMotionIdle4();; // Normal Breath Effect 5
break;
case 5:
this.setupBMotionIdle4();; // Normal Breath Effect 6
break;
default :
break
};
};
//==============================
// * update Idle Bmotion
//==============================
Sprite_Battler.prototype.updateIdleBmotion = function() {
if (this._battler._bmotion.idle.animation[10] > 0) {this._battler._bmotion.idle.animation[10]--;return};
if (this.canUpdateWalk()) {this.updateBmotionWalk(this.x,this.y)};
if (this.canUpdateFloat()) {
this.updateBMotionFloat();
} else if (this._battler._bmotion.idle.swing.enable) {
this.updateBmotionSwing()
};
this.updateBmotionBreathEffect();
};
//==============================
// * update Bmotion Breath Effect
//==============================
Sprite_Battler.prototype.updateBmotionBreathEffect = function() {
switch (this._battler._bmotion.idle.mode) {
case 0:
this.updateBMotionIdle1();
break;
case 1:
this.updateBMotionIdle2();
break;
case 2:
this.updateBMotionIdle3();
break;
case 3:
this.updateBMotionIdle4();
break;
case 4:
this.updateBMotionIdle5();
break;
case 5:
this.updateBMotionIdle6();
break
default :
break
};
};
//==============================
// * setupBmotionSwing
//==============================
Sprite_Battler.prototype.setupBmotionSwing = function() {
if (this._battler._bmotion.idle.swing.mode == 0) {
this.setupBmotionSwingWave()
} else if (this._battler._bmotion.idle.swing.mode == 1) {
this.setupBmotionSwing360()
};
};
//==============================
// * setupBmotionSwingWave
//==============================
Sprite_Battler.prototype.setupBmotionSwingWave = function() {
this._battler._bmotion.idle.swing.animation[0] = 0;
var rds = Math.randomInt(100);
var rds2 = rds * 0.0000001;
this._battler._bmotion.idle.swing.animation[2] = 0.00048 + (0.01 / this.bitmap.height) + rds2;
this._battler._bmotion.idle.swing.animation[3] = 0.0096 + (0.25 / this.bitmap.height);
var int = this._battler._bmotion.idle.swing.animation[3];
var int2 = (Math.randomInt(int) * 0.0001).toFixed(4);
this._battler._bmotion.idle.swing.animation[1] = int2;
};
//==============================
// * updateBmotionSwing
//==============================
Sprite_Battler.prototype.updateBmotionSwing = function() {
if (this._battler._bmotion.idle.swing.mode == 0) {
this.updateBmotionSwingWave();
} else if (this._battler._bmotion.idle.swing.mode == 1) {
this.updateBmotionSwing360();
};
};
//==============================
// * update Bmotion Swing Wave
//==============================
Sprite_Battler.prototype.updateBmotionSwingWave = function() {
var maxAngle = this._battler._bmotion.idle.swing.range;
if (this._battler._bmotion.idle.swing.animation[0] == 0) {
var speed = this._battler._bmotion.idle.swing.speed + Math.abs(this._battler._bmotion.idle.swing.rotation - maxAngle) * 0.015;
this._battler._bmotion.idle.swing.rotation += speed;
if (this._battler._bmotion.idle.swing.rotation >= maxAngle) {
this._battler._bmotion.idle.swing.rotation = maxAngle
this._battler._bmotion.idle.swing.animation[0] = 1;
};
} else {
var speed = this._battler._bmotion.idle.swing.speed + Math.abs(-this._battler._bmotion.idle.swing.rotation - maxAngle) * 0.01;
this._battler._bmotion.idle.swing.rotation -= speed;
if (this._battler._bmotion.idle.swing.rotation <= -maxAngle) {
this._battler._bmotion.idle.swing.rotation = -maxAngle
this._battler._bmotion.idle.swing.animation[0] = 0;
};
};
};
//==============================
// * setupBmotionSwing360
//==============================
Sprite_Battler.prototype.setupBmotionSwing360 = function() {
this._battler._bmotion.idle.swing.speed *= 3;
this._battler._bmotion.idle.swing.y = -(this.bitmap.height / 2);
this._battler._bmotion.idle.swing.rotation = Math.randomInt(360);
this.anchor.y = 0.5;
};
//==============================
// * update BmotionSwing360
//==============================
Sprite_Battler.prototype.updateBmotionSwing360 = function() {
this._battler._bmotion.idle.swing.rotation += this._battler._bmotion.idle.swing.speed;
};
//==============================
// * need Get Data Motion
//==============================
Sprite_Battler.prototype.needGetDataBmotion = function() {
if (!this._bmotion.initial) {return false};
if (!this._battler) {return false};
if (!this.bitmap) {return false};
if (!this.bitmap.isReady()) {return false};
return true;
};
//==============================
// * can Update Bmotion
//==============================
Sprite_Battler.prototype.canUpdateBmotion = function() {
if (!this._battler) {return false};
if (!this.visible) {return false};
return true;
};
//==============================
// * can Update Idle BMotion
//==============================
Sprite_Battler.prototype.canUpdateIdleBMotion = function() {
if (this.canUpdateActionBMotion()) {return false};
if (this._battler.isDead()) {return false}
return true;
};
//==============================
// * can Update Action BMotion
//==============================
Sprite_Battler.prototype.canUpdateActionBMotion = function() {
if (this._battler._bmotion.action.mode < 0) {return false};
return true;
};
//==============================
// * can Update Walk
//==============================
Sprite_Battler.prototype.canUpdateWalk = function() {
if (!this._battler._bmotion.idle.walk.enable) {return false};
if (BattleManager.isBusy()) {return false};
return true;
};
//==============================
// * can Update Float
//==============================
Sprite_Battler.prototype.canUpdateFloat = function() {
if (!this._battler._bmotion.idle.float.enable) {return false};
return true;
};
//==============================
// * setup BMotion Idle 1
//==============================
Sprite_Battler.prototype.setupBMotionIdle1 = function() {
this._battler._bmotion.idle.animation[0] = 0;
this._battler._bmotion.breathEffect = {};
this._battler._bmotion.breathEffect.phase = 0;
this._battler._bmotion.breathEffect.duration = 0;
this._battler._bmotion.breathEffect.rangeMax = 0.00170;
var sp = Number(Math.randomInt(170) * 0.00001).toFixed(5);
this._battler._bmotion.breathEffect.range = Number(sp);
var sp = Number(Math.randomInt(50) * 0.0000001).toFixed(7);
this._battler._bmotion.breathEffect.speed = 0.000060 + Number(sp);
this._battler._bmotion.breathEffect.scale = 0.000000
};
//==============================
// * update BMotion Idle 1
//==============================
Sprite_Battler.prototype.updateBMotionIdle1 = function() {
if (this._battler._bmotion.breathEffect.phase == 0) {
this._battler._bmotion.breathEffect.range -= this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range <= -this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = -this._battler._bmotion.breathEffect.rangeMax;
this._battler._bmotion.breathEffect.phase = 1;
};
} else {
this._battler._bmotion.breathEffect.range += this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range >= this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = this._battler._bmotion.breathEffect.rangeMax;
this._battler._bmotion.breathEffect.phase = 0;
};
};
this._battler._bmotion.breathEffect.scale -= this._battler._bmotion.breathEffect.range;
this._battler._bmotion.idle.scaleY = this._battler._bmotion.breathEffect.scale;
};
//==============================
// * update BMotionIdle 2
//==============================
Sprite_Battler.prototype.updateBMotionIdle2 = function() {
if (this._battler._bmotion.breathEffect.phase == 0) {
this._battler._bmotion.breathEffect.range -= this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range <= -this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = -this._battler._bmotion.breathEffect.rangeMax;
this._battler._bmotion.breathEffect.phase = 1;
};
} else {
this._battler._bmotion.breathEffect.range += this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range >= this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = this._battler._bmotion.breathEffect.rangeMax;
this._battler._bmotion.breathEffect.phase = 0;
};
};
this._battler._bmotion.breathEffect.scale -= this._battler._bmotion.breathEffect.range;
this._battler._bmotion.idle.scaleX = -this._battler._bmotion.breathEffect.scale;
this._battler._bmotion.idle.scaleY = this._battler._bmotion.breathEffect.scale;
};
//==============================
// * setup BMotion Idle 3
//==============================
Sprite_Battler.prototype.setupBMotionIdle3 = function() {
this._battler._bmotion.idle.animation[0] = 0;
var rds = Math.randomInt(100);
var rds2 = rds * 0.0000001;
this._battler._bmotion.idle.animation[2] = 0.00001 + (0.01 / this.bitmap.height) + rds2;
this._battler._bmotion.idle.animation[3] = 0.0002 + (0.25 / this.bitmap.height);
var int = this._battler._bmotion.idle.animation[3];
var int2 = (Math.randomInt(int) * 0.0001).toFixed(4);
this._battler._bmotion.idle.animation[1] = int2;
};
//==============================
// * update BMotionIdle 3
//==============================
Sprite_Battler.prototype.updateBMotionIdle3 = function() {
if (this._battler._bmotion.idle.animation[0] == 0) {
this._battler._bmotion.idle.animation[1] -= this._battler._bmotion.idle.animation[2];
var speed = this._battler._bmotion.idle.animation[1] * 5;
this._battler._bmotion.idle.scaleY += speed;
this._battler._bmotion.idle.scaleX -= speed * 1.5;
if (this._battler._bmotion.idle.animation[1] <= -this._battler._bmotion.idle.animation[3]) {
this._battler._bmotion.idle.animation[1] = -this._battler._bmotion.idle.animation[3];
this._battler._bmotion.idle.animation[0] = 1;
};
} else {
this._battler._bmotion.idle.animation[1] += this._battler._bmotion.idle.animation[2];
var speed = this._battler._bmotion.idle.animation[1] * 5;
this._battler._bmotion.idle.scaleY += speed;
this._battler._bmotion.idle.scaleX -= speed * 1.5;
if (this._battler._bmotion.idle.animation[1] >= this._battler._bmotion.idle.animation[3]) {
this._battler._bmotion.idle.animation[1] = this._battler._bmotion.idle.animation[3];
this._battler._bmotion.idle.animation[0] = 0;
};
};
};
//==============================
// * update BMotionIdle 4
//==============================
Sprite_Battler.prototype.updateBMotionIdle4 = function() {
if (this._battler._bmotion.breathEffect.phase == 0) {
this._battler._bmotion.breathEffect.range -= this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range <= -this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = -this._battler._bmotion.breathEffect.rangeMax;
this._battler._bmotion.breathEffect.phase = 1;
};
} else {
this._battler._bmotion.breathEffect.range += this._battler._bmotion.breathEffect.speed;
if (this._battler._bmotion.breathEffect.range >= this._battler._bmotion.breathEffect.rangeMax) {
this._battler._bmotion.breathEffect.range = this._battler._bmotion.breathEffect.rangeMax
this._battler._bmotion.breathEffect.phase = 0;
};
};
this._battler._bmotion.breathEffect.scale -= this._battler._bmotion.breathEffect.range;
this._battler._bmotion.idle.scaleX = -this._battler._bmotion.breathEffect.scale;
};
//==============================
// * setup BMotion Idle 4
//==============================
Sprite_Battler.prototype.setupBMotionIdle4 = function() {
this._battler._bmotion.idle.animation[1] = -Math.randomInt(60)
};
//==============================
// * updateBmotionDamageKnock
//==============================
Sprite_Battler.prototype.updateBMotionIdle5 = function() {
var speed = 2;
var speedScale = 0.003
var rot = 0.003;
var range = -80;
if (this._battler._bmotion.idle.animation[0] == 0) {
this._battler._bmotion.idle.animation[1] -= speed;
this._battler._bmotion.idle.rotation +=rot;
this._battler._bmotion.idle.scaleX -= speedScale;
this._battler._bmotion.idle.scaleY += speedScale;
if (this._battler._bmotion.idle.animation[1] <= range) {
this._battler._bmotion.idle.animation[1] = range;
this._battler._bmotion.idle.animation[0] = 1;
}
} else if (this._battler._bmotion.idle.animation[0] == 1) {
this._battler._bmotion.idle.animation[1] += speed;
this._battler._bmotion.idle.rotation -=rot;
this._battler._bmotion.idle.scaleX += speedScale;
this._battler._bmotion.idle.scaleY -= speedScale;
if (this._battler._bmotion.idle.animation[1] >= 0) {
this._battler._bmotion.idle.animation[0] = 0;
};
};
};
//==============================
// * updateBmotionDamageKnock
//==============================
Sprite_Battler.prototype.updateBMotionIdle6 = function() {
var speed = 2;
var speedScale = 0.003
var rot = 0.003;
var range = -80;
if (this._battler._bmotion.idle.animation[0] == 0) {
this._battler._bmotion.idle.animation[1] -= speed;
this._battler._bmotion.idle.rotation -=rot;
this._battler._bmotion.idle.scaleX -= speedScale;
this._battler._bmotion.idle.scaleY += speedScale;
if (this._battler._bmotion.idle.animation[1] <= range) {
this._battler._bmotion.idle.animation[1] = range;
this._battler._bmotion.idle.animation[0] = 1;
}
} else if (this._battler._bmotion.idle.animation[0] == 1) {
this._battler._bmotion.idle.animation[1] += speed;
this._battler._bmotion.idle.rotation +=rot;
this._battler._bmotion.idle.scaleX += speedScale;
this._battler._bmotion.idle.scaleY -= speedScale;
if (this._battler._bmotion.idle.animation[1] >= 0) {
this._battler._bmotion.idle.animation[0] = 0;
};
};
};
//==============================
// * setup BMotion Float
//==============================
Sprite_Battler.prototype.setupBmotionFloat = function() {
this._battler._bmotion.idle.animation[0] = 0;
var rds = Math.randomInt(100);
var rds2 = rds * 0.0001;
this._battler._bmotion.idle.float.animation[2] = this._battler._bmotion.idle.float.speed + rds2;
this._battler._bmotion.idle.float.animation[3] = this._battler._bmotion.idle.float.range;
var int = this._battler._bmotion.idle.float.animation[3] * 10000;
var int2 = Math.randomInt(int) * 0.01;
this._battler._bmotion.idle.animation[1] = int2;
this._battler._bmotion.idle.float.animation[9] = Math.randomInt(10);
this._battler._bmotion.idle.float.animation[5] = 0;
this._battler._bmotion.idle.float.animation[6] = Math.randomInt(2);
this._battler._bmotion.idle.float.animation[7] = Math.random(2);
this._d = [0,0];
};
//==============================
// * set Bmotion Float Mode
//==============================
Sprite_Battler.prototype.setBmotionFloatMode = function() {
if (this._battler._bmotion.idle.float.mode == 0) {return 0;
} else if (this._battler._bmotion.idle.float.mode == 1) {return -this._battler._bmotion.idle.float.animation[1] ;
} else if (this._battler._bmotion.idle.float.mode == 2) {return this._battler._bmotion.idle.float.animation[1] ;
} else if (this._battler._bmotion.idle.float.mode == 3) {
if (this._battler._bmotion.idle.float.animation[6] == 0) {
if (this._battler._bmotion.idle.float.animation[5] == 0) {
return -this._battler._bmotion.idle.float.animation[1];
} else {
return this._battler._bmotion.idle.float.animation[1];
};
} else {
if (this._battler._bmotion.idle.float.animation[5] == 0) {
return this._battler._bmotion.idle.float.animation[1];
} else {
return -this._battler._bmotion.idle.float.animation[1];
};
};
};
return this._battler._bmotion.idle.float.animation[1] ;
};
//==============================
// * update BMotion Float
//==============================
Sprite_Battler.prototype.updateBMotionFloat = function() {
if (this._battler._bmotion.idle.float.animation[9] > 0) {
this._battler._bmotion.idle.float.animation[9]--;
return
};
if (this._battler._bmotion.idle.float.animation[0] == 0) {
this._battler._bmotion.idle.float.animation[1] -= this._battler._bmotion.idle.float.animation[2];
this._battler._bmotion.idle.float.animation[4] = this.setBmotionFloatMode();
this._battler._bmotion.idle.float.y += this._battler._bmotion.idle.float.animation[1];
this._battler._bmotion.idle.float.x += this._battler._bmotion.idle.float.animation[4];
this._d[0] = 0;
if (this._battler._bmotion.idle.float.animation[1] <= -this._battler._bmotion.idle.float.animation[3]) {
this._battler._bmotion.idle.float.animation[1] = -this._battler._bmotion.idle.float.animation[3]
this._battler._bmotion.idle.float.animation[0] = 1;
};
} else {
this._battler._bmotion.idle.float.animation[1] += this._battler._bmotion.idle.float.animation[2];
this._battler._bmotion.idle.float.animation[4] = this.setBmotionFloatMode();
this._battler._bmotion.idle.float.y += this._battler._bmotion.idle.float.animation[1];
this._battler._bmotion.idle.float.x += this._battler._bmotion.idle.float.animation[4];
this._d[0] = 1;
if (this._battler._bmotion.idle.float.animation[1] >= this._battler._bmotion.idle.float.animation[3]) {
this._battler._bmotion.idle.float.animation[1] = this._battler._bmotion.idle.float.animation[3]
this._battler._bmotion.idle.float.animation[0] = 0;
};
};
this._d[0] = this._battler._bmotion.idle.float.animation[1] > 0 ? 0 : 1;
if (this._d[1] != this._d[0]){
this._d[1] = this._d[0]
this._battler._bmotion.idle.float.animation[5]++;
if (this._battler._bmotion.idle.float.animation[5] > 1) {
this._battler._bmotion.idle.float.animation[5] = 0;
this._battler._bmotion.idle.float.animation[6]++;
if (this._battler._bmotion.idle.float.animation[6] > 1) {
this._battler._bmotion.idle.float.animation[6] = 0
};
};
};
};
//==============================
// * update Action Bmotion
//==============================
Sprite_Battler.prototype.updateActionBmotion = function() {
if (this._battler._bmotion.action.initial) {this.setupInitialBmotionAction()};
if (this._battler._bmotion.action.animation[9] > 0) {
this._battler._bmotion.action.animation[9]--;
return;
};
switch (this._battler._bmotion.action.mode) {
case 0:
this.updateBMotionActionZoom1();
break;
case 1:
this.updateBMotionSwingRight();
break;
case 2:
this.updateBMotionSwingLeft();
break;
case 3:
this.updateBmotionJump();
break;
case 4:
this.updateBmotionJumpRoll();
break;
case 5:
this.updateBmotionJumpSlime();
break;
case 6:
this.updateBmotionRotation();
break;
case 7:
this.updateBmotionFrontalAttackCharge();
break;
case 8:
this.updateBmotionWaveAttack();
break;
case 9:
this.updateBmotionShakeAttack();
break;
case 10:
this.updateBmotionSideRightSlash();
break;
case 11:
this.updateBmotionSideRightSlashDouble();
break;
case 12:
this.updateBmotionSideAttack();
break;
case 13:
this.updateBmotionSideRightAttackCharge();
break;
default :
break
};
if (this.needBmotionResetZoomAction()) {
this._battler._bmotion.action.scaleX = 0;
this._battler._bmotion.action.scaleY = 0
};
};
//==============================
// * need Bmotion ResetZoom Action
//==============================
Sprite_Battler.prototype.needBmotionResetZoomAction = function() {
return false;
};
//==============================
// * is Jump Action?
//==============================
Sprite_Battler.prototype.isBJumpAction = function() {
if (this._battler._bmotion.action.mode == 3) {return true};
if (this._battler._bmotion.action.mode == 4) {return true};
if (this._battler._bmotion.action.mode == 10) {return true};
return false;
};
//==============================
// * setup Initial Bmotion Action
//==============================
Sprite_Battler.prototype.setupInitialBmotionAction = function() {
this._battler._bmotion.action.initial = false;
if (this._battler._bmotion.action.initial) {this.setupInitialBmotionAction()};
switch (this._battler._bmotion.action.mode) {
case 0:
this.setupBMotionActionZoom1();
break;
case 3:
this.setupBMotionActionJump1();
break;
case 4:
this.setupBMotionActionJumpRoll();
break;
case 5:
this.setupBmotionJumpSlime();
break;
case 8:
this.setupBmotionWaveAttack();
case 13:
this.setupBmotionSideRightSlashCharge();
break;
default :
break
};
};
//==============================
// * setup B motion Action Zoom 1
//==============================
Sprite_Battler.prototype.setupBMotionActionZoom1 = function() {
this._battler._bmotion.action.animation[1] = 0.005 + (1.00 / this.bitmap.height);
};
//==============================
// * update BMotion Action 1
//==============================
Sprite_Battler.prototype.updateBMotionActionZoom1 = function() {
this._battler._bmotion.action.animation[0]+= 0.5;
if (this._battler._bmotion.action.animation[0] < 15) {
this._battler._bmotion.action.scaleX += this._battler._bmotion.action.animation[1];
this._battler._bmotion.action.scaleY = this._battler._bmotion.action.scaleX;
} else if (this._battler._bmotion.action.animation[0] < 30) {
this._battler._bmotion.action.scaleX -= this._battler._bmotion.action.animation[1];
this._battler._bmotion.action.scaleY = this._battler._bmotion.action.scaleX;
} else {
this._battler.clearBaction();
};
};
//==============================
// * updateBMotionSwingRight
//==============================
Sprite_Battler.prototype.updateBMotionSwingRight = function() {
this._battler._bmotion.action.animation[0]++;
var speed = 8;
if (this._battler._bmotion.action.animation[0] < 10) {
this._battler._bmotion.action.x += speed;
this._battler._bmotion.action.y += speed;
if (Imported.MOG_BattleCameraFrontal) {
this._battler._bmotion.action.scaleX = -2.00 - this._battler.camScaleX() * 2.0;
} else {
this._battler._bmotion.action.scaleX = -2.00;
};
} else if (this._battler._bmotion.action.animation[0] < 30) {
this._battler._bmotion.action.x -= speed;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.scaleX = 0
this._battler._bmotion.action.x += speed;
this._battler._bmotion.action.y -= speed;
} else {
this._battler.clearBaction();
};
};
//==============================
// * updateBMotionSwingLeft
//==============================
Sprite_Battler.prototype.updateBMotionSwingLeft = function() {
this._battler._bmotion.action.animation[0]++;
var speed = 8;
if (this._battler._bmotion.action.animation[0] < 10) {
this._battler._bmotion.action.x -= speed;
this._battler._bmotion.action.y += speed;
} else if (this._battler._bmotion.action.animation[0] < 30) {
this._battler._bmotion.action.x += speed;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.x -= speed;
this._battler._bmotion.action.y -= speed;
if (Imported.MOG_BattleCameraFrontal) {
this._battler._bmotion.action.scaleX = -2.00 - this._battler.camScaleX() * 2.0;
} else {
this._battler._bmotion.action.scaleX = -2.00;
};
} else {
this._battler.clearBaction();
};
};
//==============================
// * setup B motion Action Jump 1
//==============================
Sprite_Battler.prototype.setupBMotionActionJump1 = function() {
this._battler._bmotion.action.animation[1] = -7;
};
//==============================
// * update BMotion Jump
//==============================
Sprite_Battler.prototype.updateBmotionJump = function() {
this._battler._bmotion.action.animation[1] += 0.30;
this._battler._bmotion.action.y2 += this._battler._bmotion.action.animation[1];
if (this._battler._bmotion.action.animation[1] >= 7) {
this._battler._bmotion.action.y2 = 0
this._battler.clearBaction()
};
};
//==============================
// * setup B motion Action Jump Roll
//==============================
Sprite_Battler.prototype.setupBMotionActionJumpRoll = function() {
this._battler._bmotion.action.animation[1] = -8;
};
//==============================
// * update BMotion Jump Roll
//==============================
Sprite_Battler.prototype.updateBmotionJumpRoll = function() {
this._battler._bmotion.action.animation[0]++;
this._battler._bmotion.action.animation[1] += 0.30;
this._battler._bmotion.action.y2 += this._battler._bmotion.action.animation[1];
if (this._battler._bmotion.action.animation[1] >= 8) {this._battler.clearBaction()};
if (this._battler._bmotion.action.animation[0] > 5) {
this._battler._bmotion.action.animation[0] = 0;
if (Imported.MOG_BattleCameraFrontal) {
var s = -2.00 - this._battler.camScaleX() * 2.0;
this._battler._bmotion.action.scaleX = this._battler._bmotion.action.scaleX == 0 ? s : 0;
} else {
this._battler._bmotion.action.scaleX = this._battler._bmotion.action.scaleX == 0 ? -2.00 : 0;
};
};
};
//==============================
// * setup B motion Action Jump Slime
//==============================
Sprite_Battler.prototype.setupBmotionJumpSlime = function() {
this._battler._bmotion.action.animation[1] = -14
this._battler._bmotion.action.wait = true;
this._movementDuration = 10
};
//==============================
// * update BMotion Jump Slime
//==============================
Sprite_Battler.prototype.updateBmotionJumpSlime = function() {
if (this._battler._bmotion.action.animation[0] == 0) {
this._battler._bmotion.action.animation[1] += 1;
this._battler._bmotion.action.y2 += this._battler._bmotion.action.animation[1];
if (this._battler._bmotion.action.scaleX >= -0.8) {
this._battler._bmotion.action.scaleX -= 0.02;
this._battler._bmotion.action.scaleY += 0.05;
};
if (this._battler._bmotion.action.animation[1] >= 14) {
this._battler._bmotion.action.animation[0] = 1;
this._battler._bmotion.action.y2 = 0;
};
} else if (this._battler._bmotion.action.animation[0] == 1) {
this._battler._bmotion.action.scaleX += 0.12;
this._battler._bmotion.action.scaleY -= 0.08;
if (this._battler._bmotion.action.scaleX >= 2.50) {
this._battler._bmotion.action.animation[0] = 2;
this._battler._bmotion.action.wait = false;
this._movementDuration = 0;
};
} else if (this._battler._bmotion.action.animation[0] == 2) {
if (this._battler._bmotion.action.scaleX >= 0.00) {
this._battler._bmotion.action.scaleX -= 0.14;
if (this._battler._bmotion.action.scaleX < 0.00) {this._battler._bmotion.action.scaleX = 0}
}
if (this._battler._bmotion.action.scaleY < 0.00) {
this._battler._bmotion.action.scaleY += 0.06;
if (this._battler._bmotion.action.scaleY >= 0.00) {this._battler._bmotion.action.scaleY = 0}
};
if (this._battler._bmotion.action.scaleX == 0 && this._battler._bmotion.action.scaleY == 0 ) {
this._battler.clearBaction();
this._movementDuration = 0;
};
};
};
//==============================
// * setup B motion Action Jump Frontal
//==============================
Sprite_Battler.prototype.setupBMotionActionJumpFrontal = function() {
this._battler._bmotion.action.animation[1] = -7;
this._battler._bmotion.action.wait = true;
this._movementDuration = 10
};
//==============================
// * update BMotion Jump Frontal
//==============================
Sprite_Battler.prototype.updateBmotionJumpFrontal = function() {
this._battler._bmotion.action.animation[1] += 0.30;
this._battler._bmotion.action.y2 += this._battler._bmotion.action.animation[1];
if (this._battler._bmotion.action.animation[1] > 4) {
this._battler._bmotion.action.wait = false;
this._movementDuration = 0
};
if (this._battler._bmotion.action.animation[1] >= 7) {
if (this._battler._bmotion.action.animation[0] == 0) {
this._battler._bmotion.action.animation[0] = 1;
this._battler._bmotion.action.animation[1] = -7;
this._battler._bmotion.action.animation[9] = 5;
} else {
this._battler.clearBaction();
};
};
if (this._battler._bmotion.action.animation[0] == 0) {
this._battler._bmotion.action.scaleX += 0.015;
this._battler._bmotion.action.y2 += 3;
} else {
this._battler._bmotion.action.scaleX -= 0.015;
this._battler._bmotion.action.y2 -= 3;
};
this._battler._bmotion.action.scaleY = this._battler._bmotion.action.scaleX;
};
//==============================
// * update BMotion Rotation
//==============================
Sprite_Battler.prototype.updateBmotionRotation = function() {
this._battler._bmotion.action.animation[1]++;
var speed = this._battler.isActor() ? -0.2 : 0.2;
this._battler._bmotion.action.rotation += speed;
if (this._battler._bmotion.action.animation[1] > 30) {
this._battler.clearBaction();
this._movementDuration = 0;
};
};
//==============================
// * update BMotion Side Right Slash
//==============================
Sprite_Battler.prototype.updateBmotionSideRightSlash = function() {
var speed = this._battler.isActor() ? -0.1 : 0.1;
this._battler._bmotion.action.animation[0]++;
if (this._battler._bmotion.action.animation[0] < 10) {
this._battler._bmotion.action.rotation -= speed;
} else if (this._battler._bmotion.action.animation[0] < 30) {
this._battler._bmotion.action.rotation += speed;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.rotation -= speed;
} else {
this._battler.clearBaction();
};
};
//==============================
// * update BMotion Frontal Side Slash Double
//==============================
Sprite_Battler.prototype.updateBmotionSideRightSlashDouble = function() {
var speed = this._battler.isActor() ? -0.2 : 0.2;
this._battler._bmotion.action.animation[0]++;
if (this._battler._bmotion.action.animation[0] < 5) {
this._battler._bmotion.action.rotation -= speed;
} else if (this._battler._bmotion.action.animation[0] < 15) {
this._battler._bmotion.action.rotation += speed;
} else if (this._battler._bmotion.action.animation[0] < 25) {
this._battler._bmotion.action.rotation -= speed;
} else if (this._battler._bmotion.action.animation[0] < 35) {
this._battler._bmotion.action.rotation += speed;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.rotation -= speed;
} else {
this._battler.clearBaction();
};
};
//==============================
// * update BMotion Side Attack
//==============================
Sprite_Battler.prototype.updateBmotionSideAttack = function() {
var speed = this._battler.isActor() ? -3 : 3;
this._battler._bmotion.action.animation[0]++
if (this._battler._bmotion.action.animation[0] < 20) {
this._battler._bmotion.action.x += speed;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.x -= speed;
} else {
this._battler.clearBaction();
};
};
//==============================
// * setup BMotion Frontal Side Slash Charge
//==============================
Sprite_Battler.prototype.setupBmotionSideRightSlashCharge = function() {
this._battler._bmotion.action.animation[1] = -8;
this._battler._bmotion.action.wait = true;
this._movementDuration = 10
};
//==============================
// * update BMotion Frontal Side Attack Charge
//==============================
Sprite_Battler.prototype.updateBmotionSideRightAttackCharge = function() {
if (this._battler._bmotion.action.animation[0] == 0) {
this._battler._bmotion.action.animation[1] += 0.45;
this._battler._bmotion.action.y += this._battler._bmotion.action.animation[1];
var speed = this._battler.isActor() ? -3 : 3;
this._battler._bmotion.action.x -= speed;
if (this._battler._bmotion.action.animation[1] >= 8) {
this._battler._bmotion.action.animation[0] = 1
this._battler._bmotion.action.y = 0;
};
} else if (this._battler._bmotion.action.animation[0] == 1) {
this._battler._bmotion.action.animation[0] = 2;
this._battler._bmotion.action.animation[3] = -this._battler._bmotion.action.x;
this._battler._bmotion.action.animation[9] = 10;
this._movementDuration = 0;
this._battler._bmotion.action.wait = false;
} else if (this._battler._bmotion.action.animation[0] == 2) {
this._battler._bmotion.action.scaleX = 0
if (this._battler.isActor()) {
this._battler._bmotion.action.x -= 24;
if (this._battler._bmotion.action.x <= this._battler._bmotion.action.animation[3] ) {
this._battler._bmotion.action.x = this._battler._bmotion.action.animation[3];
this._battler._bmotion.action.animation[0] = 3;
};
} else {
this._battler._bmotion.action.x += 24;
if (this._battler._bmotion.action.x >= this._battler._bmotion.action.animation[3] ) {
this._battler._bmotion.action.x = this._battler._bmotion.action.animation[3];
this._battler._bmotion.action.animation[0] = 3;
};
};
} else if (this._battler._bmotion.action.animation[0] == 3) {
if (this._battler.isActor()) {
var speed = this._battler.isActor() ? -3 : 3;
this._battler._bmotion.action.x -= speed;
if (this._battler._bmotion.action.x >= 0) {
this._battler.clearBaction()
};
} else {
var speed = this._battler.isActor() ? -3 : 3;
this._battler._bmotion.action.x -= speed;
if (this._battler._bmotion.action.x <= 0) {
this._battler.clearBaction();
};
};
};
};
//==============================
// * setup BMotion Wave Attack
//==============================
Sprite_Battler.prototype.setupBmotionWaveAttack = function() {
this._battler._bmotion.action.wait = true;
this._movementDuration = 10
};
//==============================
// * update BMotion Wave Attack
//==============================
Sprite_Battler.prototype.updateBmotionWaveAttack = function() {
this._battler._bmotion.action.animation[0]++;
var speed = 0.2;
if (this._battler._bmotion.action.animation[0] < 5) {
this._battler._bmotion.action.rotation += speed;
} else if (this._battler._bmotion.action.animation[0] < 15) {
this._battler._bmotion.action.rotation -= speed;
} else if (this._battler._bmotion.action.animation[0] < 25) {
this._battler._bmotion.action.rotation += speed;
this._battler._bmotion.action.wait = false;
this._movementDuration = 0;
} else if (this._battler._bmotion.action.animation[0] < 35) {
this._battler._bmotion.action.rotation -= speed;
} else if (this._battler._bmotion.action.animation[0] < 45) {
this._battler._bmotion.action.rotation += speed;
} else if (this._battler._bmotion.action.animation[0] < 50) {
this._battler._bmotion.action.rotation -= speed;
} else {
this._battler._bmotion.action.rotation = 0;
this._battler.clearBaction();
this._movementDuration = 0 ;
};
};
//==============================
// * update BMotion Shake Attack
//==============================
Sprite_Battler.prototype.updateBmotionShakeAttack = function() {
this._battler._bmotion.action.animation[0]++;
this._battler._bmotion.action.animation[1]++;
if (this._battler._bmotion.action.animation[1] < 2) {return};
this._battler._bmotion.action.animation[1] = 0
this._battler._bmotion.action.x = Math.randomInt(30) - 15;
this._battler._bmotion.action.y = Math.randomInt(30) - 15;
if (this._battler._bmotion.action.animation[0] > 40) {
this._battler.clearBaction();
this._movementDuration = 0 ;
};
};
//==============================
// * update BMotion Frontal Attack Charge
//==============================
Sprite_Battler.prototype.updateBmotionFrontalAttackCharge = function() {
this._movementDuration = 10 ;
this._battler._bmotion.action.wait = true;
this._battler._bmotion.action.animation[0]++;
if (this._battler._bmotion.action.animation[0] < 20) {
} else if (this._battler._bmotion.action.animation[0] < 30) {
this._battler._bmotion.action.scaleX = 0
this._battler._bmotion.action.y += 15
this._movementDuration = 0 ;
this._battler._bmotion.action.wait = false;
} else if (this._battler._bmotion.action.animation[0] < 40) {
this._battler._bmotion.action.y -= 15
} else {
this._battler.clearBaction();
this._movementDuration = 0 ;
};
};
//==============================
// * update Bmotion Base
//==============================
Sprite_Battler.prototype.updateBmotionBase = function() {
if (this.canUpdateIdleBMotion()) {this.updateIdleBmotion()};
if (this.canUpdateActionBMotion()) {this.updateActionBmotion()};
if (this.canUpdateDamageBmotion()) {this.updateDamageBmotion()};
};
//==============================
// * can Update Damage Bmotion
//==============================
Sprite_Battler.prototype.canUpdateDamageBmotion = function() {
if (this._battler._bmotion.damage.mode < 0) {return false};
if (this._battler._bmotion.damage.duration <= 0) {return false};
return true;
};
//==============================
// * update Damage Bmotion
//==============================
Sprite_Battler.prototype.updateDamageBmotion = function() {
if (this._battler._bmotion.damage.mode == 0) {
this.updateBmotionDamageShake();
} else if (this._battler._bmotion.damage.mode == 1) {
this.updateBmotionDamageZoom();
} else if (this._battler._bmotion.damage.mode == 2) {
this.updateBmotionDamageKnockBackRight();
} else if (this._battler._bmotion.damage.mode == 3) {
this.updateBmotionDamageKnockBackLeft();
};
};
//==============================
// * update Bmotion Damage Shake
//==============================
Sprite_Battler.prototype.updateBmotionDamageShake = function() {
this._battler._bmotion.damage.animation[0]++
if (this._battler._bmotion.damage.animation[0] < 1) {return};
this._battler._bmotion.damage.animation[0] = 0;
this._battler._bmotion.damage.x = -10 + Math.randomInt(20);
this._battler._bmotion.damage.duration--;
if (this._battler._bmotion.damage.duration <= 0) {
this._movementDuration = 0;
this._battler.clearBdamage();
};
};
//==============================
// * update Bmotion Damage Zoom
//==============================
Sprite_Battler.prototype.updateBmotionDamageZoom = function() {
var speed = 0.03;
var range = 0.40;
if (this._battler._bmotion.damage.animation[0] == 0) {
this._battler._bmotion.damage.scaleX -= speed;
this._battler._bmotion.damage.scaleY += speed
if (this._battler._bmotion.damage.scaleX <= -range) {
this._battler._bmotion.damage.scaleX = -range;
this._battler._bmotion.damage.scaleY = range;
this._battler._bmotion.damage.animation[0] = 1;
}
} else if (this._battler._bmotion.damage.animation[0] == 1) {
this._battler._bmotion.damage.scaleX += speed;
this._battler._bmotion.damage.scaleY -= speed;
if (this._battler._bmotion.damage.scaleX >= 0.00) {
this._battler.clearBdamage();
this._movementDuration = 0;
};
};
};
//==============================
// * updateBmotionDamageKnockBackLeft
//==============================
Sprite_Battler.prototype.updateBmotionDamageKnockBackLeft = function() {
var speed = 3;
var rot = 0.01;
var range = 40;
if (this._battler._bmotion.damage.animation[0] == 0) {
this._battler._bmotion.damage.x += speed;
this._battler._bmotion.damage.rotation +=rot;
if (this._battler._bmotion.damage.x >= range) {
this._battler._bmotion.damage.x = range;
this._battler._bmotion.damage.animation[0] = 1;
}
} else if (this._battler._bmotion.damage.animation[0] == 1) {
this._battler._bmotion.damage.x -= speed;
this._battler._bmotion.damage.rotation -=rot;
if (this._battler._bmotion.damage.x <= 0) {
this._battler.clearBdamage();
this._movementDuration = 0;
};
};
};
//==============================
// * updateBmotionDamageKnockBackRight
//==============================
Sprite_Battler.prototype.updateBmotionDamageKnockBackRight = function() {
var speed = 3;
var rot = 0.01;
var range = -40;
if (this._battler._bmotion.damage.animation[0] == 0) {
this._battler._bmotion.damage.x -= speed;
this._battler._bmotion.damage.rotation -=rot;
if (this._battler._bmotion.damage.x <= range) {
this._battler._bmotion.damage.x = range;
this._battler._bmotion.damage.animation[0] = 1;
}
} else if (this._battler._bmotion.damage.animation[0] == 1) {
this._battler._bmotion.damage.x += speed;
this._battler._bmotion.damage.rotation +=rot;
if (this._battler._bmotion.damage.x >= 0) {
this._battler.clearBdamage();
this._movementDuration = 0;
};
};
};
//==============================
// * init Members
//==============================
var _mog_bmotion_sprtEnemy_initMembers = Sprite_Enemy.prototype.initMembers;
Sprite_Enemy.prototype.initMembers = function() {
_mog_bmotion_sprtEnemy_initMembers.call(this);
this._skipBlink = String(Moghunter.b_motion_disable_blink_damage) == "true" ? true : false;
};
//==============================
// * startBlink
//==============================
var _mog_bmotion_srtenemy_startBlink = Sprite_Enemy.prototype.startBlink
Sprite_Enemy.prototype.startBlink = function() {
if (this._skipBlink) {this._effectDuration = 1;return};
_mog_bmotion_srtenemy_startBlink.call(this);
};
//==============================
// * can Update Battler Motion
//==============================
Sprite_Battler.prototype.canUpdateBattlerMotion = function() {
if (!this._battler) {return false};
if (Imported.MOG_EmergeMotion) {
if (this._battler._emergeMotion.enabled) {return false};
};
return true;
};
//==============================
// * update Battler Motion
//==============================
Sprite_Battler.prototype.updateBattlerMotion = function() {
if (this.needGetDataBmotion()) {this.setInitBmotionData()};
if (this.canUpdateBmotion()) {this.updateBmotionBase()};
if (this._battler) {this.updatepBmotionRealData()};
};
//==============================
// * update
//==============================
var _mog_bmotion_sptBat_update = Sprite_Battler.prototype.update;
Sprite_Battler.prototype.update = function() {
_mog_bmotion_sptBat_update.call(this);
if (this.canUpdateBattlerMotion()) {this.updateBattlerMotion()}
};
//==============================
// * Update Bmotion Real Data
//==============================
Sprite_Battler.prototype.updatepBmotionRealData = function() {
this.x += this._battler.bmotionX();
this.y += this._battler.bmotionY();
if (!this._battler.isDead()) {
this.scale.x = 1.00 + this._battler.bmotionScaleX();
this.scale.y = 1.00 + this._battler.bmotionScaleY();
this.rotation = this._battler.bmotionRotation();
};
if (this.scale.y < 0) {this.scale.y = 0};
};
//==============================
// * need Wait Update Move
//==============================
Sprite_Battler.prototype.needWaitUpdateMove = function() {
if (!this._battler) {return false};
if (this._battler._bmotion.action.wait) {return true};
if (this._battler._bmotion.idle.wait) {return true};
if (this._battler._bmotion.damage.wait) {return true};
return false;
};
//==============================
// * Update Move
//==============================
var _mog_battlerMotion_sprbtr_updateMove = Sprite_Battler.prototype.updateMove;
Sprite_Battler.prototype.updateMove = function() {
if (this.needWaitUpdateMove()) {return};
_mog_battlerMotion_sprbtr_updateMove.call(this);
};
//==============================
// * refresh Bmotion Data
//==============================
Sprite_Battler.prototype.refreshBmotionData = function() {
this._bmotion.initial = true;
this._bmotion.shadow = false;
if (this._bmotionShadow) {this.removeBShadow()};
this._battler.setMotionData();
};
//==============================
// * update Idle Bmotion
//==============================
var _mog_bmotion_sprtBattler_updateIdleBmotion = Sprite_Battler.prototype.updateIdleBmotion;
Sprite_Battler.prototype.updateIdleBmotion = function() {
_mog_bmotion_sprtBattler_updateIdleBmotion.call(this);
if (this.needCreateBmotionShadow()) {this.createBmotionShadow()}
};
//==============================
// * need Create Shadow
//==============================
Sprite_Battler.prototype.needCreateBmotionShadow = function() {
if (this._bmotionShadow) {return false}
if (!this._bmotion.shadow) {return false};
if (!this._battler._bmotion.idle.float.enable) {return false};
return true;
};
//==============================
// * create Bmotion Shadow
//==============================
Sprite_Battler.prototype.createBmotionShadow = function() {
this._bmotionShadow = new Sprite(this.bitmap)
this._bmotionShadow.anchor.x = 0.5
this._bmotionShadow.anchor.y = 0.5
this._bmotionShadow.y = 10;
this._bmotionShadow.org = [this._bmotionShadow.x,this._bmotionShadow.y];
this._bmotionShadow.zoomEffect = Moghunter.b_motion_shadowZoom == "true" ? true : false;
this._bmotionShadow.scale.y = 0.20;
this._bmotionShadow.opacity = Moghunter.b_motion_shadowOpacity;
this._bmotionShadow.scale.mv = (this.bitmap.height * 10 / 100);
this._bmotionShadow.setBlendColor([0, 0, 0, 255]);
this.addChild(this._bmotionShadow);
if (Imported.MOG_EnemyPoses && this._battler._batPoses[0]) {
w = this.bitmap.width / 4
h = this.bitmap.height;
this._bmotionShadow.setFrame(0,0,w,h)
};
};
//==============================
// * setBmotionFloatActionOffset
//==============================
Sprite_Battler.prototype.setBmotionFloatActionOffset = function() {
return 0
};
//==============================
// * update Bmotion Shadow
//==============================
Sprite_Battler.prototype.updateBmotionShadow = function() {
var mz = (this.bitmap.height * 10 / 100);
var nz = this.setBmotionFloatActionOffset()
var rz = 0
if (this.y < this._battler._bmotion.idle.float.groundH) {
rz = this._battler._bmotion.idle.float.groundH - this.y;
};
this._bmotionShadow.y = mz + this._bmotionShadow.org[1] - this._battler.bmotionFlyY() + nz + rz;
this._bmotionShadow.rotation = -this._battler._bmotion.action.rotation;
if (this._bmotionShadow.zoomEffect) {
var nz = Number((this._battler.bmotionFlyY() / 5) * 0.004);
this._bmotionShadow.scale.x = 1.0 + nz;
this._bmotionShadow.scale.y = 0.2 + nz;
};
};
//==============================
// * update Bmotion Base
//==============================
var _mog_bmotion_sprtBattler_updateBmotionBase = Sprite_Battler.prototype.updateBmotionBase;
Sprite_Battler.prototype.updateBmotionBase = function() {
_mog_bmotion_sprtBattler_updateBmotionBase.call(this);
if (this._bmotionShadow) {this.updateBmotionShadow()};
};
//==============================
// * remove BShadow
//==============================
Sprite_Battler.prototype.removeBShadow = function() {
this.removeChild(this._bmotionShadow);
this._bmotionShadow = null;
};