pastime/js/plugins/MOG_CharacterMotion.js
2026-03-15 16:45:22 -05:00

999 lines
No EOL
31 KiB
JavaScript
Raw 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_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;
};
};