//============================================================================= // MOG_CharacterMotion.js //============================================================================= /*: * @target MZ * @plugindesc (v1.0) Sistema de animações dos sprites dos personagens. * @author Moghunter * @url https://mogplugins.wordpress.com * * @command CharIddleMotionEvent * @desc Define a animação para o evento. * @text Iddle Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @arg motion * @desc Define a animação do evento. * @text Motion * @default Breath Effect 1 * @type select * @option Breath Effect 1 * @value Breath Effect 1 * @option Breath Effect 2 * @value Breath Effect 2 * @option Float Effect * @value Float Effect * @option Swing Effect * @value Swing Effect * @option Ghost Effect * @value Ghost Effect * * @command CharIddleMotionPlayer * @desc Define a animação para o jogador e aliados. * @text Iddle Motion (Player) * * @arg id * @desc Define a Index do jogador. * @text Player Index * @default 1 * @type number * @min 1 * * @arg motion * @desc Define a animação do evento. * @text Motion * @default Breath Effect 1 * @type select * @option Breath Effect 1 * @value Breath Effect 1 * @option Breath Effect 2 * @value Breath Effect 2 * @option Float Effect * @value Float Effect * @option Swing Effect * @value Swing Effect * @option Ghost Effect * @value Ghost Effect * * @command CharShakeMotionEvent * @desc Ativa o efeito tremer no evento. * @text Shake Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @arg duration * @desc Duração do tempo de tremer. * @text Duration * @default 60 * @type number * @min 10 * * @command CharShakeMotionPlayer * @desc Ativa o efeito tremer no jogador. * @text Shake Motion (Player) * * @arg id * @desc Define a Index do jogador. * @text Player Index * @default 1 * @type number * @min 1 * * @arg duration * @desc Duração do tempo de tremer. * @text Duration * @default 60 * @type number * @min 10 * * @command CharRotationMotionEvent * @desc Ativa o efeito rotação no evento. * @text Rotation Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @arg angle * @desc Definição do ângulo. * @text Angle * @default 90 * * @command CharRotationMotionPlayer * @desc Ativa o efeito rotação no jogador. * @text Rotation Motion (Player) * * @arg id * @desc Define a Index do jogador. * @text Player Index * @default 1 * @type number * @min 1 * * @arg angle * @desc Definição do ângulo. * @text Angle * @default 90 * * @command CharZoomMotionEvent * @desc Ativa o efeito zoom no evento. * @text Zoom Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @arg zoom * @desc Define o valor do zoom. * @text Zoom (%) * @default 200 * @type number * @min 10 * @max 2000 * * @command CharZoomMotionPlayer * @desc Ativa o efeito zoom no jogador. * @text Zoom Motion (Player) * * @arg id * @desc Define a Index do jogador * @text Player Index * @default 1 * @type number * @min 1 * * @arg zoom * @desc Define o valor do zoom. * @text Zoom (%) * @default 200 * @type number * @min 10 * @max 2000 * * @command CharCollapseMotionEvent * @desc Ativa o efeito colapso no evento. * @text Collapse Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @arg collapse * @desc Define o efeito do colapso. * @text Effect * @default Vertical Collapse * @type select * @option Vertical Collapse * @value Vertical Collapse * @option Horizontal Collapse * @value Horizontal Collapse * @option Vert & Horiz Collapse * @value Vert & Horiz Collapse * * @command CharCollapseMotionPlayer * @desc Ativa o efeito colapso no jogador. * @text Collapse Motion (Player) * * @arg id * @desc Define a Index do jogador. * @text Player Index * @default 1 * @type number * @min 1 * * @arg collapse * @desc Define o tipo de colapso. * @text Effect * @default Vertical Collapse * @type select * @option Vertical Collapse * @value Vertical Collapse * @option Horizontal Collapse * @value Horizontal Collapse * @option Vert & Horiz Collapse * @value Vert & Horiz Collapse * * @command CharMotionEventRemove * @desc Define a animação para o evento. * @text Remove Motion (Event) * * @arg id * @desc Define a ID do evento. * @text Event ID * @default 1 * @type number * @min 1 * * @command CharMotionPlayerRemove * @desc Define a animação para o evento. * @text Remove Motion (Player) * * @arg id * @desc Define a ID do jogador e aliados. * @text Player ID * @default 1 * @type number * @min 1 * * @help * ============================================================================= * +++ MOG - Character Motion (v1.0) +++ * By Moghunter * https://mogplugins.wordpress.com * ============================================================================= * Sistema de animações dos sprites dos personagens. * ============================================================================= * UTILIZAÇÂO * ============================================================================= * Para ativar os efeitos nos eventos, basta usar esse comentários. * * Breath Motion 1 * * Breath Motion 2 * * Float Motion * * Swing Motion * * Ghost Motion * */ //============================================================================= // ** PLUGIN PARAMETERS //=============================================================================   var Imported = Imported || {};   Imported.MOG_CharacterMotion = true;   var Moghunter = Moghunter || {};  Moghunter.parameters = PluginManager.parameters('MOG_CharacterMotion'); //============================================================================= // ■■■ PluginManager ■■■ //============================================================================= PluginManager.registerCommand('MOG_CharacterMotion', "CharIddleMotionEvent", data => { var charID = Number(data.id); var char = $gameMap.event(charID); if (char) {$gameMap.charIddleMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharIddleMotionPlayer", data => { var charID = Number(data.id); var char = $gameMap.getCharPlayer(charID); if (char) {$gameMap.charIddleMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharShakeMotionEvent", data => { var charID = Number(data.id); var char = $gameMap.event(charID); if (char) {$gameMap.charShakeMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharShakeMotionPlayer", data => { var charID = Number(data.id); var char = $gameMap.getCharPlayer(charID); if (char) {$gameMap.charShakeMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharRotationMotionEvent", data => { var charID = Number(data.id); var char = $gameMap.event(charID); if (char) {$gameMap.charRotationMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharRotationMotionPlayer", data => { var charID = Number(data.id); var char = $gameMap.getCharPlayer(charID); if (char) {$gameMap.charRotationMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharZoomMotionEvent", data => { var charID = Number(data.id); var char = $gameMap.event(charID); if (char) {$gameMap.charZoomMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharZoomMotionPlayer", data => { var charID = Number(data.id); var char = $gameMap.getCharPlayer(charID); if (char) {$gameMap.charZoomMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharCollapseMotionEvent", data => { var charID = Number(data.id); var char = $gameMap.event(charID); if (char) {$gameMap.charCollapseMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharCollapseMotionPlayer", data => { var charID = Number(data.id); var char = $gameMap.getCharPlayer(charID); if (char) {$gameMap.charCollapseMotion(data,char)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharMotionEventRemove", data => { var eventID = Number(data.id) if ($gameMap.events(eventID)) {$gameMap.removeCharMotionEvent(eventID)}; }); PluginManager.registerCommand('MOG_CharacterMotion', "CharMotionPlayerRemove", data => { $gameMap.removeCharMotionPlayer(Number(data.id)) }); //============================================================================= // ■■■ Game Map ■■■ //============================================================================= //============================== // * Char Collapse Motion //============================== Game_Map.prototype.charCollapseMotion = function(data,char) { var coll = this.getCharCollapseMotion(String(data.collapse)) char._collapseData[0] = coll; char._charEffectChecked = true; }; //============================== // * get Char Collapse Motion //============================== Game_Map.prototype.getCharCollapseMotion = function(coll_name) { if (coll_name == "Vertical Collapse") {return 1; } else if (coll_name == "Horizontal Collapse") {return 2; } else if (coll_name == "Vert & Horiz Collapse") {return 3; }; return 0; }; //============================== // * Char Zoom Motion //============================== Game_Map.prototype.charZoomMotion = function(data,char) { var zoom = Number(data.zoom) * 0.01; char._zoomData[2] = zoom; char._zoomData[3] = zoom; char._charEffectChecked = true; }; //============================== // * Char Rotation Motion //============================== Game_Map.prototype.charRotationMotion = function(data,char) { var angle = Number(data.angle); char._rotationData[1] = angle * Math.PI / 180; char._charEffectChecked = true; }; //============================== // * Char Shake Motion //============================== Game_Map.prototype.charShakeMotion = function(data,char) { var duration = Number(data.duration); char._shakeData[0] = duration; char._charEffectChecked = true; }; //============================== // * Char Iddle Motion //============================== Game_Map.prototype.charIddleMotion = function(data,char) { var motionID = this.getCharMotionID(String(data.motion)); this.setCharIddleMotion(char,motionID); }; //============================== // * set Char Iddle Motion Player //============================== Game_Map.prototype.getCharPlayer = function(playerID) { var char = null; if (playerID == 1) { char = $gamePlayer } else { var followID = playerID - 2 char = $gamePlayer.followers().follower(followID) }; return char; }; //============================== // * set Char Iddle Motion //============================== Game_Map.prototype.setCharIddleMotion = function(char,motion) { char._charEffectChecked = true; if (motion <= 1) { char._breathData[0] = motion + 1; } else if (motion == 2) { char._floatData[0] = 1; } else if (motion == 3) { char._swingData[0] = 1; } else if (motion == 4) { char._ghostData[0] = 1; }; }; //============================== // * get Char Motion ID //============================== Game_Map.prototype.getCharMotionID = function(motion_name) { if (motion_name == "Breath Effect 1") {return 0; } else if (motion_name == "Breath Effect 2") {return 1; } else if (motion_name == "Float Effect") {return 2; } else if (motion_name == "Swing Effect") {return 3; } else if (motion_name == "Ghost Effect") {return 4; }; return 0; }; //============================== // * remove Char Motion Event //============================== Game_Map.prototype.removeCharMotionEvent = function(eventID) { var eventChar = this.event(eventID); if (eventChar) {eventChar.charEffectsClear()}; }; //============================== // * remove Char Motion Player //============================== Game_Map.prototype.removeCharMotionPlayer = function(playerID) { var playerChar = this.getCharPlayer(playerID); if (playerChar) {playerChar.charEffectsClear()}; }; //============================================================================= // ■■■ Game Character Base ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ InitMembers //============================== var _mog_spChar_initMembers = Game_CharacterBase.prototype.initMembers; Game_CharacterBase.prototype.initMembers = function() { _mog_spChar_initMembers.call(this) this.charEffectsClear(); }; //============================== // * spCharSetup //============================== Game_CharacterBase.prototype.charEffectsClear = function() { this._charEffectChecked = false; this._actionZoomData = {}; this._actionZoomData.enabled = false; this._actionZoomData.loop = true; this._actionZoomData.returnBack = false; this._actionZoomData.mode = 0; this._actionZoomData.zoom = 0; this._zoomData = [1.00,1.00,1.00,1.00]; this._rotationData = [0,0]; this._swingData = [0,0,0,0,0,0,false]; this._floatData = [0,0,0,0,0,0,false]; this._breathData = [0,0,0,0,0,0,false]; this._ghostData = [0,0,0,0,0,0,false]; this._shakeData = [0,0,0,0,0,0,false]; this._collapseData = [0,0,0,0,0,0,false]; }; //============================== // * char Zoom Act //============================== Game_CharacterBase.prototype.charZoomAct = function(enable,loop) { if (!this._actionZoomData.enabled) { this._actionZoomData.enabled = true }; var loop = loop != null ? loop : enable; this._actionZoomData.loop = loop; }; //============================== // * Base New Parameters //============================== Game_CharacterBase.prototype.baseParametersClear = function() { this._zoomData[2] = 1.00; this._zoomData[3] = 1.00; this._rotationData[1] = 0; }; //============================== // * Set New Parameters //============================== Game_CharacterBase.prototype.setNewParameters = function() { this._zoomData[0] = this.setCharNewPar(this._zoomData[0],this._zoomData[2],30); this._zoomData[1] = this.setCharNewPar(this._zoomData[1],this._zoomData[3],30); this._rotationData[0] = this.setCharNewPar(this._rotationData[0],this._rotationData[1],30); }; //============================== // * set New Par //============================== Game_CharacterBase.prototype.setCharNewPar = function(value,real_value,speed) { if (value == real_value) {return value}; var dnspeed = 0.001 + (Math.abs(value - real_value) / speed); if (value > real_value) {value -= dnspeed; if (value < real_value) {value = real_value};} else if (value < real_value) {value += dnspeed; if (value > real_value) {value = real_value}; }; return value; }; //============================== // * char Collapse Clear //============================== Game_CharacterBase.prototype.charCollapseClear = function(mode) { this._collapseData = [0,0,0,0,0,255,false]; if (mode === 1) {this._collapseData[5] = 0}; this._shakeData = [0,0,0,0,0,0,false]; }; //============================== // * is Swing //============================== Game_CharacterBase.prototype.isSwing = function() { return this._swingData[0] > 0; }; //============================== // * is Float Data //============================== Game_CharacterBase.prototype.isFlying = function() { return this._floatData[0] > 0; }; //============================== // * is Breathing //============================== Game_CharacterBase.prototype.isBreathing = function() { if (this._actionZoomData.enabled) {return false}; return this._breathData[0] > 0; }; //============================== // * is Breath Act //============================== Game_CharacterBase.prototype.isBreathAct = function() { return this._actionZoomData.enabled; }; //============================== // * is Ghost Mode //============================== Game_CharacterBase.prototype.isGhostMode = function() { return this._ghostData[0] > 0; }; //============================== // * is Shaking //============================== Game_CharacterBase.prototype.isShaking = function() { return this._shakeData[0] > 0; }; //============================== // * is Collapsing //============================== Game_CharacterBase.prototype.isCollapsing = function() { return this._collapseData[0] > 0; }; //============================== // * motionX //============================== Game_CharacterBase.prototype.motionX = function() { return this._shakeData[1]; }; //============================== // * motionY //============================== Game_CharacterBase.prototype.motionY = function() { return this._floatData[1]; }; //============================== // * motionR //============================== Game_CharacterBase.prototype.motionR = function() { var n = this._rotationData[0] + this._swingData[1] if (Imported.MOG_ChronoEngine) { n += this._user.rotation[0]; }; return n; }; //============================== // * motion ZX //============================== Game_CharacterBase.prototype.motionZX = function() { return this._zoomData[0] + this._breathData[1] + this._collapseData[1] + this._actionZoomData.zoom; }; //============================== // * motion ZY //============================== Game_CharacterBase.prototype.motionZY = function() { return this._zoomData[1] + this._breathData[2] + this._collapseData[2] + this._actionZoomData.zoom; }; //============================== // * motion OP //============================== Game_CharacterBase.prototype.motionOP = function() { return -(this._ghostData[1] + this._collapseData[5]); }; //============================================================================= // ■■■ Game Event ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Setup Page //============================== var _alias_mog_charmotion_gevent_setupPage = Game_Event.prototype.setupPage; Game_Event.prototype.setupPage = function() { _alias_mog_charmotion_gevent_setupPage.call(this); this._actionZoomData.loop = false; if (!this._charEffectChecked) {this.checkCharMotion()}; }; //============================== // * Check Char Motion //============================== Game_Event.prototype.checkCharMotion = function() { this.charEffectsClear() if (!this._erased && this.page()) {this.list().forEach(function(l) { if (l.code === 108) { if (l.parameters[0].toLowerCase() == "float motion"){ this._floatData[0] = 1; this._charEffectChecked = true; }; if (l.parameters[0].toLowerCase() == "swing motion"){ this._swingData[0] = 1; this._charEffectChecked = true; }; var comment = l.parameters[0].split(' : ') if (comment[0].toLowerCase() == "breath motion 1"){ this._breathData[0] = 1; this._charEffectChecked = true; } else if (comment[0].toLowerCase() == "breath motion 2"){ this._breathData[0] = 2; this._charEffectChecked = true; }; if (comment[0].toLowerCase() == "ghost motion"){ this._ghostData[0] = 1; this._charEffectChecked = true; }; }; }, this);}; }; //============================================================================= // ■■■ Sprite Character ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Update //============================== var mog_prChar_update = Sprite_Character.prototype.update; Sprite_Character.prototype.update = function() { mog_prChar_update.call(this); if (this._character) {this.updateSprEffect()}; }; //============================== // * Update Spr Effect //============================== Sprite_Character.prototype.updateSprEffect = function() { if (Imported.MOG_ChronoEngine && this._character._user.treasure[0]) { return }; if (this._character.isCollapsing()) {this.updateCollapseEffect() } else { if (this._character.isSwing()) {this.updateSwingEffect()}; if (this._character.isFlying()) {this.updateFloatEffect()}; if (this._character.isBreathAct()) { this.updateBreathActEffect(); } else if (this._character.isBreathing()) { this.updateBreathEffect()}; if (this._character.isShaking()) {this.updateShakeEffect()}; if (this._character.isGhostMode()) {this.updateGhostEffect()}; }; this.updateSprParameters(); }; //============================== // * Update Spr Parameters //============================== Sprite_Character.prototype.updateSprParameters = function() { this._character.setNewParameters(); this.x += this._character.motionX(); this.y += this._character.motionY(); this.opacity += this._character.motionOP(); this.rotation = this._character.motionR(); this.scale.x = this._character.motionZX(); this.scale.y = this._character.motionZY(); }; //============================== // * set Ghost Data //============================== Sprite_Character.prototype.setGhostData = function() { this._character._ghostData[6] = true; var rz = Math.randomInt(255); this._character._ghostData[1] = rz; this._character._ghostData[3] = 0; this._character._ghostData[5] = this._character._ghostData[0] === 1 ? 0 : 120; if (this._character._ghostData[1] < this._character._ghostData[5]) { this._character._ghostData[1] = this._character._ghostData[5]; }; }; //============================== // * Update Ghost Effect //============================== Sprite_Character.prototype.updateGhostEffect = function() { if (!this._character._ghostData[6]) {this.setGhostData()}; this.updateGhostEffect1(); }; //============================== // * Update Ghost Effect 1 //============================== Sprite_Character.prototype.updateGhostEffect1 = function() { if (this._character._ghostData[3] > 0) { this._character._ghostData[3] --; return; }; if (this._character._ghostData[4] === 0) { this._character._ghostData[1] -= 3; if (this._character._ghostData[1] <= this._character._ghostData[5]) { this._character._ghostData[4] = 1; this._character._ghostData[3] = 60; }; } else { this._character._ghostData[1] += 3; if (this._character._ghostData[1] >= 255) { this._character._ghostData[4] = 0; this._character._ghostData[3] = 60; }; }; }; //============================== // * set Swing Data //============================== Sprite_Character.prototype.setSwingData = function() { this._character._swingData[6] = true; var rz = Math.min(Math.max((Math.random() * 0.2).toFixed(3),0.1),0.2); this.rotation = -Number(rz); this._character._swingData[2] = Math.min(Math.max((Math.random() * 0.02).toFixed(3),0.015),0.02); this._character._swingData[3] = rz; this._character._swingData[4] = 0; this._character._swingData[5] = 0.005; }; //============================== // * Update Swing Effect //============================== Sprite_Character.prototype.updateSwingEffect = function() { if (!this._character._swingData[6]) {this.setSwingData()}; if (this._character._swingData[0] === 1) {this.updateSwingEffect1(); } else {this.updateSwingEffect2();}; }; //============================== // * Update Swing Effect 1 //============================== Sprite_Character.prototype.updateSwingEffect1 = function() { if (this._character._swingData[4] === 0) { this._character._swingData[1] += this._character._swingData[5]; if (this._character._swingData[1] >= this._character._swingData[3]) {this._character._swingData[4] = 1}; } else { this._character._swingData[1] -= this._character._swingData[5]; if (this._character._swingData[1] <= -this._character._swingData[3]) {this._character._swingData[4] = 0}; }; }; //============================== // * Update Swing Effect 2 //============================== Sprite_Character.prototype.updateSwingEffect2 = function() { this._character._swingData[1] += this._character._swingData[2]; this.anchor.x = 0.5; this.anchor.y = 0.5; }; //============================== // * set Float Data //============================== Sprite_Character.prototype.setFloatData = function() { this._character._floatData[6] = true; var rz = Math.min(Math.max((Math.random() * 30).toFixed(3),5),20); this._character._floatData[1] = -Number(rz); this._character._floatData[3] = Number(rz); var rz = Math.min(Math.max((Math.random() * 0.5).toFixed(2),0.1),0.3); this._character._floatData[5] = rz; this._character._floatData[4] = 1; }; //============================== // * Update Float Effect //============================== Sprite_Character.prototype.updateFloatEffect = function() { if (!this._character._floatData[6]) {this.setFloatData()}; if (this._character._floatData[4] === 0) { this._character._floatData[1] += this._character._floatData[5]; if (this._character._floatData[1] >= 0) {this._character._floatData[4] = 1}; } else { this._character._floatData[1] -= this._character._floatData[5]; if (this._character._floatData[1] <= -this._character._floatData[3]) {this._character._floatData[4] = 0}; }; }; //============================== // * Update Breath Effect //============================== Sprite_Character.prototype.updateBreathEffect = function() { if (!this._character._breathData[6]) {this.setBreathData()}; if (this._character._breathData[0] === 1) {this.updateBreathEffect1(); } else if (this._character._breathData[0] === 2) {this.updateBreathEffect2(); } else {this.updateBreathEffect3(); }; }; //============================== // * set Breath Data //============================== Sprite_Character.prototype.setBreathData = function() { this._character._breathData[6] = true; var rz = Math.min(Math.max((Math.random() * 0.1).toFixed(3),0.030),0.080); this.scale.y = 1.00 + Number(rz); this._character._breathData[3] = rz; this._character._breathData[4] = 0; this._character._breathData[5] = 0.0008; }; //============================== // * Update Breath Effect 1 //============================== Sprite_Character.prototype.updateBreathEffect1 = function() { if (this._character._breathData[4] === 0) { this._character._breathData[2] += this._character._breathData[5]; if (this._character._breathData[2] >= this._character._breathData[3]) {this._character._breathData[4] = 1}; } else { this._character._breathData[2] -= this._character._breathData[5]; if (this._character._breathData[2] <= 0) {this._character._breathData[4] = 0}; }; }; //============================== // * Update Breath Effect 2 //============================== Sprite_Character.prototype.updateBreathEffect2 = function() { if (this._character._breathData[4] === 0) { this._character._breathData[2] += this._character._breathData[5]; this._character._breathData[1] -= this._character._breathData[5]; if (this._character._breathData[2] >= this._character._breathData[3]) {this._character._breathData[4] = 1}; } else { this._character._breathData[2] -= this._character._breathData[5]; this._character._breathData[1] += this._character._breathData[5]; if (this._character._breathData[2] <= 0) {this._character._breathData[4] = 0}; }; }; //============================== // * Update Breath Effect 3 //============================== Sprite_Character.prototype.updateBreathEffect3 = function() { if (this._character._breathData[4] === 0) { this._character._breathData[2] += this._character._breathData[5]; this._character._breathData[1] += this._character._breathData[5]; if (this._character._breathData[2] >= this._character._breathData[3]) {this._character._breathData[4] = 1}; } else { this._character._breathData[2] -= this._character._breathData[5]; this._character._breathData[1] -= this._character._breathData[5]; if (this._character._breathData[2] <= 0) {this._character._breathData[4] = 0}; }; }; //============================== // * Update Breath Act Effect //============================== Sprite_Character.prototype.updateBreathActEffect = function() { if (Imported.MOG_ChronoEngine && this._character.isKnockbacking()) {return}; if (this._character._actionZoomData.mode === 0) { this._character._actionZoomData.zoom += 0.01; if (this._character._actionZoomData.zoom > 0.20) { this._character._actionZoomData.zoom = 0.20; this._character._actionZoomData.mode = 1; }; } else { this._character._actionZoomData.zoom -= 0.01; if (this._character._actionZoomData.zoom < 0) { this._character._actionZoomData.zoom = 0; this._character._actionZoomData.mode = 0; if (!this._character._actionZoomData.loop) { this._character._actionZoomData.enabled = false; this._character._actionZoomData.returnBack = false; }; }; }; if (this._character._actionZoomData.returnBack) { this._character._actionZoomData.loop = false; }; }; //============================== // * Update Shake Effect //============================== Sprite_Character.prototype.updateShakeEffect = function() { if (this._character._shakeData[0] > 0) {this._character._shakeData[0] -= 1}; this._character._shakeData[1] = Math.randomInt(5) if (this._character._shakeData[0] === 0) {this._character._shakeData[1] = 0}; this.x -= 2; }; //============================== // * Update Collapse //============================== Sprite_Character.prototype.updateCollapseEffect = function() { if (this._character._collapseData[0] === 1) {this.updateCollapse1(); } else if (this._character._collapseData[0] === 2) {this.updateCollapse2(); } else {this.updateCollapse3(); }; if (this._character._collapseData[5] < 255) {this._character._collapseData[5] += 5; if (this._character._collapseData[5] >= 255) { this._character.charCollapseClear(0); }; }; }; //============================== // * Update Collapse1 //============================== Sprite_Character.prototype.updateCollapse1 = function() { this._character._collapseData[2] += 0.3; if (this._character._collapseData[1] > -1) {this._character._collapseData[1] -= 0.1}; }; //============================== // * Update Collapse2 //============================== Sprite_Character.prototype.updateCollapse2 = function() { this._character._collapseData[1] += 0.1; if (this._character._collapseData[2] > -1) {this._character._collapseData[2] -= 0.1}; }; //============================== // * Update Collapse3 //============================== Sprite_Character.prototype.updateCollapse3 = function() { this._character._collapseData[3]++; if (this._character._collapseData[3] < 20) { this._character._collapseData[1] += 0.05; if (this._character._collapseData[2] > -0.8) {this._character._collapseData[2] -= 0.05}; } else if (this._character._collapseData[3] < 60) { if (this._character._collapseData[1] > -0.9) {this._character._collapseData[1] -= 0.2}; this._character._collapseData[2] += 0.8; }; };