680 lines
No EOL
23 KiB
JavaScript
680 lines
No EOL
23 KiB
JavaScript
//=============================================================================
|
||
// MOG_CollapseEffects.js
|
||
//=============================================================================
|
||
|
||
/*:
|
||
* @target MZ
|
||
* @plugindesc (v1.0) Adiciona efeitos de colapsos animados.
|
||
* @author Moghunter
|
||
* @url https://mogplugins.wordpress.com
|
||
*
|
||
* @param Default Collapse
|
||
* @desc Definição do colapso padrão;
|
||
* (0 a 9) (-1 = No Effect / -2 = Random Effects)
|
||
* @default 1
|
||
* @type select
|
||
* @option Shatter Effect 1 (Horizontal)
|
||
* @value 0
|
||
* @option Shatter Effect 2 (Vertical)
|
||
* @value 1
|
||
* @option Shatter Effect 3 (Stripes / Horizontal / Vertical)
|
||
* @value 2
|
||
* @option Shatter Effect 4 (Stripes / Vertical)
|
||
* @value 3
|
||
* @option Fade + Horizontal Zoom (Melting)
|
||
* @value 4
|
||
* @option Fade + Vertical Zoom
|
||
* @value 5
|
||
* @option Fade + Horizontal + Vertical Zoom
|
||
* @value 6
|
||
* @option Fade + Rotation
|
||
* @value 7
|
||
* @option Horizontal Slice
|
||
* @value 8
|
||
* @option Vetical Slice
|
||
* @value 9
|
||
* @option Random
|
||
* @value -2
|
||
* @option No Effect
|
||
* @value -1
|
||
*
|
||
* @param Shatter Direction
|
||
* @desc Definição da direção do Collapso no modo 0;
|
||
* (Left / Right)
|
||
* @default Left
|
||
* @type select
|
||
* @option Left
|
||
* @value Left
|
||
* @option Right
|
||
* @value Right
|
||
*
|
||
* @help
|
||
* =============================================================================
|
||
* ♦♦♦ MOG - Collapse Effects ♦♦♦ +++
|
||
* Author - Moghunter
|
||
* Version - 1.0
|
||
* Updated - 2021/04/05
|
||
* https://mogplugins.wordpress.com
|
||
* =============================================================================
|
||
* Adiciona efeitos de colapsos animados.
|
||
*
|
||
* =============================================================================
|
||
* - COLLAPSE EFFECT (SKILL & ENEMY)
|
||
* =============================================================================
|
||
* Para forçar um efeito use use as tags abaixo na caixa de notas do inimigo
|
||
* ou SKILLs.
|
||
*
|
||
* Collapse Motion : EFFECT_ID
|
||
*
|
||
* EFFECT ID = Tipo de efeito(0 a 10)
|
||
* 0 - Shatter Effect (Particles + Side Animation)
|
||
* 1 - Shatter Effect (Particles)
|
||
* 2 - Shatter Effect (Stripes + Wave)
|
||
* 3 - Shatter Effect (Stripes)
|
||
* 4 - Fade + Horizontal Zoom.
|
||
* 5 - Fade + Vertical Zoom.
|
||
* 6 - Fade + Horizontal + Vertical Zoom.
|
||
* 7 - Fade + Rotation.
|
||
* 8 - Horizontal Slice.
|
||
* 9 - Vetical Slice.
|
||
*
|
||
* =============================================================================
|
||
* - ANIMATION (SKILL & ENEMY)
|
||
* =============================================================================
|
||
* Para forçar uma animação use use as tags abaixo na caixa de notas do inimigo
|
||
* ou SKILLs.
|
||
*
|
||
* Collapse Animation : ANIMATION_ID
|
||
*
|
||
* ANIMATION_ID = Definição da ID da animação do banco de dados.
|
||
*
|
||
*/
|
||
|
||
//=============================================================================
|
||
// ** PLUGIN PARAMETERS
|
||
//=============================================================================
|
||
var Imported = Imported || {};
|
||
Imported.MOG_CollapseEffects = true;
|
||
var Moghunter = Moghunter || {};
|
||
|
||
Moghunter.parameters = PluginManager.parameters('MOG_CollapseEffects');
|
||
Moghunter.collShatterDirection = String(Moghunter.parameters['Shatter Direction'] || "Left");
|
||
Moghunter.collDefaultCollapse = Number(Moghunter.parameters['Default Collapse'] || 0);
|
||
|
||
//=============================================================================
|
||
// ■■■ Game Battler ■■■
|
||
//=============================================================================
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ initMembers
|
||
//==============================
|
||
var _mog_cefc_gbat_initMembers = Game_Battler.prototype.initMembers;
|
||
Game_Battler.prototype.initMembers = function() {
|
||
_mog_cefc_gbat_initMembers.call(this);
|
||
this._collpaseData = [-1,-1];
|
||
};
|
||
|
||
//==============================
|
||
// * 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]+/)};
|
||
};
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ Perform Collapse
|
||
//==============================
|
||
var _mog_colefct_gbattler_performCollapse = Game_Battler.prototype.performCollapse;
|
||
Game_Battler.prototype.performCollapse = function() {
|
||
_mog_colefct_gbattler_performCollapse.call(this);
|
||
if (this.isEnemy()) {this.checkCollapseEffect()};
|
||
};
|
||
|
||
//==============================
|
||
// * Check Collapse Effect
|
||
//==============================
|
||
Game_Battler.prototype.checkCollapseEffect = function() {
|
||
const animationID = this._collpaseData[1];
|
||
if (animationID > 0) {$gameTemp.requestAnimation([this],animationID,true); this._collpaseData[0] = -1;this.performCollapseSoundMG()};
|
||
if (this._collpaseData[0] == -1) {this.setDefaultCollapse()};
|
||
};
|
||
|
||
//==============================
|
||
// * set Default Collapse
|
||
//==============================
|
||
Game_Battler.prototype.setDefaultCollapse = function() {
|
||
var coltype = Math.min(Math.max(Number(Moghunter.collDefaultCollapse),-2),9);
|
||
if (coltype === -1) {
|
||
this.performCollapseSoundMG();
|
||
return;
|
||
};
|
||
if (coltype === -2) {
|
||
this._collpaseData[0] = Math.randomInt(7);
|
||
} else {
|
||
this._collpaseData[0] = coltype;
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * perform Collapse Sound
|
||
//==============================
|
||
Game_Battler.prototype.performCollapseSoundMG = function() {
|
||
switch (this.collapseType()) {
|
||
case 0:
|
||
SoundManager.playEnemyCollapse();
|
||
break;
|
||
case 1:
|
||
SoundManager.playBossCollapse1();
|
||
break;
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * Load Collapse Notetags
|
||
//==============================
|
||
Game_Battler.prototype.loadCollapseNotetags = function() {
|
||
this.notetags().forEach(function(note) {
|
||
var note_data = note.split(' : ')
|
||
if (note_data[0].toLowerCase() == "collapse motion"){
|
||
var effect = Math.min(Math.max(Number(note_data[1]),0),9);
|
||
this._collpaseData[0] = effect;
|
||
} else if (note_data[0].toLowerCase() == "collapse animation"){
|
||
var animation_id = Math.min(Math.max(Number(note_data[1]),0),2000);
|
||
this._collpaseData[1] = animation_id;
|
||
};
|
||
},this);
|
||
if (this._collpaseData[1] > 0) {this._collpaseData[0] = -1};
|
||
};
|
||
|
||
//=============================================================================
|
||
// ■■■ Game Enemy ■■■
|
||
//=============================================================================
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ Setup
|
||
//==============================
|
||
var _mog_coleft_genmy_setup = Game_Enemy.prototype.setup;
|
||
Game_Enemy.prototype.setup = function(enemyId, x, y) {
|
||
_mog_coleft_genmy_setup.call(this,enemyId, x, y);
|
||
this.loadCollapseNotetags();
|
||
};
|
||
|
||
//==============================
|
||
// * perform Collapse *Overwrite
|
||
//==============================
|
||
Game_Enemy.prototype.performCollapse = function() {
|
||
Game_Battler.prototype.performCollapse.call(this);
|
||
switch (this.collapseType()) {
|
||
case 0:
|
||
this.requestEffect('collapse');
|
||
break;
|
||
case 1:
|
||
this.requestEffect('bossCollapse');
|
||
break;
|
||
case 2:
|
||
this.requestEffect('instantCollapse');
|
||
break;
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// ■■■ Game Action ■■■
|
||
//=============================================================================
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ Apply
|
||
//==============================
|
||
var _alias_mog_colefct_gaction_apply = Game_Action.prototype.apply;
|
||
Game_Action.prototype.apply = function(target) {
|
||
_alias_mog_colefct_gaction_apply.call(this,target);
|
||
if (target.isDead() && this._item) {
|
||
if (target.isEnemy()) {this.setCollapseEffect(target)};
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * Set Collapse Effect
|
||
//==============================
|
||
Game_Action.prototype.setCollapseEffect = function(target) {
|
||
if (!this._item || !this._item.object()) {return};
|
||
var item_notes = this._item.object().note.split(/[\r\n]+/);
|
||
item_notes.forEach(function(note) {
|
||
var note_data = note.split(' : ')
|
||
if (note_data[0].toLowerCase() == "collapse motion"){
|
||
var effect = Math.min(Math.max(Number(note_data[1]),0),10);
|
||
target._collpaseData[0] = effect;
|
||
} else if (note_data[0].toLowerCase() == "collapse animation"){
|
||
var animation_id = Math.min(Math.max(Number(note_data[1]),0),2000);
|
||
target._collpaseData[1] = animation_id;
|
||
};
|
||
},this);
|
||
if (target._collpaseData[1] > 0) {target._collpaseData[0] = -1};
|
||
};
|
||
|
||
//=============================================================================
|
||
// ■■■ Sprite Enemy ■■■
|
||
//=============================================================================
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ set Battler
|
||
//==============================
|
||
var _mog_colefct_sprEnemy_setBattler = Sprite_Enemy.prototype.setBattler;
|
||
Sprite_Enemy.prototype.setBattler = function(battler) {
|
||
_mog_colefct_sprEnemy_setBattler.call(this,battler)
|
||
if (this.isEnemyP()) {this._colpsBitmap = this.bitmap};
|
||
};
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ Update
|
||
//==============================
|
||
var _mog_cefc_sprtenemy_update = Sprite_Enemy.prototype.update;
|
||
Sprite_Enemy.prototype.update = function() {
|
||
_mog_cefc_sprtenemy_update.call(this);
|
||
if (this._spriteCol != null) {this.setFrame(0,0,0,0)};
|
||
};
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ update Collapse
|
||
//==============================
|
||
var _mog_cefc_sprtenmy_updateCollapse = Sprite_Enemy.prototype.updateCollapse;
|
||
Sprite_Enemy.prototype.updateCollapse = function() {
|
||
if (this._battler._collpaseData[0] != -1 && this._battler._collpaseData[1] <= 0) {this.updateCollapseEffects(); return};
|
||
_mog_cefc_sprtenmy_updateCollapse.call(this)
|
||
};
|
||
|
||
//=============================================================================
|
||
// ■■■ Sprite Battler ■■■
|
||
//=============================================================================
|
||
|
||
//==============================
|
||
// ♦ ALIAS ♦ init Members
|
||
//==============================
|
||
var _mog_sprtBat_initMembers = Sprite_Battler.prototype.initMembers;
|
||
Sprite_Battler.prototype.initMembers = function() {
|
||
_mog_sprtBat_initMembers.call(this);
|
||
this._collEffectWait = 0;
|
||
};
|
||
|
||
//==============================
|
||
// * is Enemy P
|
||
//==============================
|
||
Sprite_Battler.prototype.isEnemyP = function() {
|
||
if (!this._battler) {return false};
|
||
if (!Imported.MOG_EnemyPoses) {return false};
|
||
if (!this._battler.isBPose()) {return false};
|
||
return true;
|
||
};
|
||
|
||
//==============================
|
||
// * collapse Type
|
||
//==============================
|
||
Sprite_Battler.prototype.collapseType = function() {
|
||
return this._battler._collpaseData[0];
|
||
};
|
||
|
||
//==============================
|
||
// * Record Pre Collapse
|
||
//==============================
|
||
Sprite_Battler.prototype.recordPreCollapse = function() {
|
||
this._collData = [0,this.width,this.height,this.rotation,this.scale.x,this.scale.y];
|
||
};
|
||
|
||
//==============================
|
||
// * load Pre Collapse
|
||
//==============================
|
||
Sprite_Battler.prototype.loadPreCollapse = function() {
|
||
this.rotation = this._collData[3];
|
||
this.scale.x = this._collData[4];
|
||
this.scale.y = this._collData[5];
|
||
this.setFrame(0,0,this._collData[1],this._collData[2]);
|
||
};
|
||
|
||
//==============================
|
||
// * remove Collapse Effects
|
||
//==============================
|
||
Sprite_Battler.prototype.removeCollapseEffects = function() {
|
||
this._effectDuration = 0;
|
||
this.filters = null;
|
||
if (this._spriteCol) {
|
||
for (var i = 0; i < this._spriteCol.length; i++) {
|
||
this.removeChild(this._spriteCol[i]);
|
||
this._spriteCol[i] = null;
|
||
};
|
||
};
|
||
this.loadPreCollapse();
|
||
this.revertToNormal();
|
||
this.opacity = 0;
|
||
this._collData = null;
|
||
this._spriteCol = null;
|
||
this._collapseMode = false;
|
||
};
|
||
|
||
//==============================
|
||
// * setup Collapse Effects
|
||
//==============================
|
||
Sprite_Battler.prototype.setupCollapseEffect = function() {
|
||
if (Imported.MOG_BattlerMotion && this._battler) {this._battler.clearBdamage(0)};
|
||
if (this._stateIconSprite) {this._stateIconSprite.visible = false};
|
||
if (this.collapseType() < 4 || this.collapseType() > 7) {
|
||
if (this._colpsBitmap) {this.bitmap = this._colpsBitmap;};
|
||
} else {
|
||
this._collapseMode = true;
|
||
};
|
||
this._effectDuration = 400;
|
||
this._collEffectWait = 1;
|
||
if (Imported.MOG_FlashDamage) {
|
||
this._collEffectWait = $gameTemp._flashDamage ? 22 : 1;
|
||
};
|
||
this.recordPreCollapse();
|
||
if (this.collapseType() == -1) {
|
||
} else if (this.collapseType() <= 1) {
|
||
this.setupColShatterPoint();
|
||
} else if (this.collapseType() === 2 || this.collapseType() === 3) {
|
||
this.setupColShatterLine();
|
||
} else if (this.collapseType() === 4 || this.collapseType() === 5 ||
|
||
this.collapseType() === 6 || this.collapseType() === 7) {
|
||
this.setupColFadeZoom();
|
||
} else if (this.collapseType() === 8) {
|
||
this.setupColSliceHorz();
|
||
} else if (this.collapseType() === 9) {
|
||
this.setupColSliceVert();
|
||
} else if (this.collapseType() === 10) {
|
||
this.setupColStone();
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * setColSpritePar
|
||
//==============================
|
||
Sprite_Battler.prototype.setColSpritePar = function(sprite) {
|
||
sprite.anchor.x = this.anchor.x;
|
||
sprite.anchor.y = this.anchor.y;
|
||
sprite.width = this.width;
|
||
sprite.height = this.height;
|
||
sprite.scale.x = 1.00;
|
||
sprite.scale.y = 1.00;
|
||
sprite.rotation = this.rotation;
|
||
};
|
||
|
||
//==============================
|
||
// * setup Coll Shatter Point
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColShatterPoint = function() {
|
||
this._spriteCol = [];
|
||
this._shatterDCol = String(Moghunter.collShatterDirection) == "Left" ? 0 : 1;
|
||
var w = this.isEnemyP() ? this.bitmap.width / 4 : this.width;
|
||
var fz = 32;
|
||
var x2 = this.isEnemyP() ? w * 3 : 0;
|
||
var frag_size = Math.floor((this.height + w) / 40);
|
||
var xi = Math.floor(-w / 2) + Math.floor(frag_size / 2);
|
||
var yi = Math.floor(-this.height + frag_size);
|
||
var f = 0
|
||
for (var i = 0; i >= 0; i++) {
|
||
this._spriteCol[i] = new Sprite(this.bitmap);
|
||
this.setColSpritePar(this._spriteCol[i]);
|
||
this._spriteCol[i].sx = (Math.random() * 0.5) + 1
|
||
this._spriteCol[i].op = (Math.random() * 2) + 2.5;
|
||
var x = Math.floor(i % fz) * frag_size
|
||
var y = Math.floor(i / fz) * frag_size;
|
||
this._spriteCol[i].x = xi + x;
|
||
this._spriteCol[i].y = yi + y;
|
||
this._spriteCol[i].setFrame(x + x2,y,frag_size,frag_size);
|
||
this.addChild(this._spriteCol[i]);
|
||
if (this._spriteCol[i].y > 0) {break};
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Shatter Point
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseShatterPoint= function() {
|
||
var coldone = true;
|
||
for (var i = 0; i < this._spriteCol.length; i++) {
|
||
if (this.collapseType() === 0) {
|
||
if (this._shatterDCol === 0) {
|
||
this._spriteCol[i].x -= this._spriteCol[i].sx;
|
||
} else {
|
||
this._spriteCol[i].x += this._spriteCol[i].sx;
|
||
};
|
||
};
|
||
this._spriteCol[i].y -= this._spriteCol[i].sx;
|
||
this._spriteCol[i].opacity -= this._spriteCol[i].op;
|
||
if (this._spriteCol[i].opacity > 0) {coldone = false};
|
||
};
|
||
if (coldone) {this.removeCollapseEffects()};
|
||
};
|
||
|
||
//==============================
|
||
// * setup Coll Shatter Line
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColShatterLine = function() {
|
||
var w = this.isEnemyP() ? this.bitmap.width / 4 : this.width;
|
||
var fz = 32;
|
||
var x2 = this.isEnemyP() ? w * 3 : 0;
|
||
this._spriteCol = [];
|
||
var frag_size = 6;
|
||
var xi = Math.floor(-w / 2) + Math.floor(frag_size / 2);
|
||
var yi = Math.floor(-this.height + frag_size)
|
||
for (var i = 0; i >= 0; i++) {
|
||
this._spriteCol[i] = new Sprite(this.bitmap);
|
||
this.setColSpritePar(this._spriteCol[i]);
|
||
this._spriteCol[i].sx = (Math.random() * 0.5) + 1 - (i * 0.01);
|
||
this._spriteCol[i].op = (Math.random() * 2) + 2.5;
|
||
var y = Math.floor(i * frag_size);
|
||
this._spriteCol[i].y = yi + y;
|
||
this._spriteCol[i].setFrame(x2,y,this.width,frag_size);
|
||
this.addChild(this._spriteCol[i]);
|
||
if (this._spriteCol[i].y > 0) {break};
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Shatter Line
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseShatterLine= function() {
|
||
var coldone = true;
|
||
var d = this.collapseType() === 2 ? 0 : null;
|
||
for (var i = 0; i < this._spriteCol.length; i++) {
|
||
if (d != null) {
|
||
d = d === 0 ? 1 : 0;
|
||
if (d === 0) {this._spriteCol[i].x -= this._spriteCol[i].sx;
|
||
} else {this._spriteCol[i].x += this._spriteCol[i].sx;
|
||
};
|
||
};
|
||
this._spriteCol[i].y -= this._spriteCol[i].sx
|
||
this._spriteCol[i].opacity -= this._spriteCol[i].op
|
||
if (this._spriteCol[i].opacity > 0) {coldone = false};
|
||
};
|
||
if (coldone) {this.removeCollapseEffects()};
|
||
};
|
||
|
||
//==============================
|
||
// * setup Col Slice Horz
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColSliceHorz = function() {
|
||
var w = this.isEnemyP() ? this.bitmap.width / 4 : this.width;
|
||
var fz = 32;
|
||
var x2 = this.isEnemyP() ? w * 3 : 0;
|
||
this._spriteCol = [];
|
||
var frag_size = Math.floor(this.height / 2);
|
||
var yi = Math.floor(-this.height + frag_size)
|
||
for (var i = 0; i < 2; i++) {
|
||
this._spriteCol[i] = new Sprite(this.bitmap);
|
||
this.setColSpritePar(this._spriteCol[i]);
|
||
var y = Math.floor(i * frag_size);
|
||
this._spriteCol[i].y = yi + y;
|
||
this._spriteCol[i].setFrame(x2,y,w,frag_size);
|
||
this.addChild(this._spriteCol[i]);
|
||
this._spriteCol[i].sx = Math.floor(frag_size / 2);
|
||
this._spriteCol[i].sp = (this._spriteCol[i].sx / 40) + 0.01;
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Slice Horz
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseSliceHorz = function() {
|
||
var coldone = false;
|
||
if (this._spriteCol[0].x >= this._spriteCol[0].sx) {
|
||
this._spriteCol[0].opacity -= 5;
|
||
this._spriteCol[1].opacity -= 5;
|
||
if (this._spriteCol[0].opacity <= 0) {coldone = true;};
|
||
} else {
|
||
this._spriteCol[0].x += this._spriteCol[0].sp;
|
||
this._spriteCol[1].x -= this._spriteCol[1].sp;
|
||
};
|
||
if (coldone) {this.removeCollapseEffects()};
|
||
};
|
||
|
||
//==============================
|
||
// * setup Col Slice Vert
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColSliceVert = function() {
|
||
var w = this.isEnemyP() ? this.bitmap.width / 4 : this.width;
|
||
var fz = 32;
|
||
var x2 = this.isEnemyP() ? w * 3 : 0;
|
||
this._spriteCol = [];
|
||
var frag_size = Math.floor(w / 2);
|
||
var xi = Math.floor(-w / 2) + Math.floor(frag_size / 2);
|
||
for (var i = 0; i < 2; i++) {
|
||
this._spriteCol[i] = new Sprite(this.bitmap);
|
||
this.setColSpritePar(this._spriteCol[i]);
|
||
var x = Math.floor(i * frag_size);
|
||
this._spriteCol[i].x = xi + x;
|
||
this._spriteCol[i].setFrame(x + x2,0,frag_size,this.height);
|
||
this.addChild(this._spriteCol[i]);
|
||
this._spriteCol[i].sx = Math.floor(frag_size / 2);
|
||
this._spriteCol[i].sp = (this._spriteCol[i].sx / 40) + 0.01;
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Slice Vert
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseSliceVert = function() {
|
||
var coldone = false;
|
||
if (this._spriteCol[0].y >= this._spriteCol[0].sx) {
|
||
this._spriteCol[0].opacity -= 5;
|
||
this._spriteCol[1].opacity -= 5;
|
||
if (this._spriteCol[0].opacity <= 0) {coldone = true;};
|
||
} else {
|
||
this._spriteCol[0].y += this._spriteCol[0].sp;
|
||
this._spriteCol[1].y -= this._spriteCol[1].sp;
|
||
};
|
||
if (coldone) {this.removeCollapseEffects()};
|
||
};
|
||
|
||
//==============================
|
||
// * setup Col Fade Zoom
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColFadeZoom = function() {
|
||
this._animeDuration = 0;
|
||
};
|
||
|
||
//==============================
|
||
// * update Col Fade Zoom
|
||
//==============================
|
||
Sprite_Battler.prototype.updateColFadeZoom = function() {
|
||
this._animeDuration ++;
|
||
if (this.collapseType() === 4) {
|
||
this.updateColFazeZoom1();
|
||
} else if (this.collapseType() === 5) {
|
||
this.updateColFazeZoom2();
|
||
} else if (this.collapseType() === 6) {
|
||
this.updateColFazeZoom3();
|
||
} else {
|
||
this.updateColFazeZoom4();
|
||
};
|
||
if (this.scale.x < 0) {this.scale.x = 0};
|
||
if (this.scale.y < 0) {this.scale.y = 0};
|
||
if (this.opacity === 0) {this.removeCollapseEffects()};
|
||
};
|
||
|
||
//==============================
|
||
// * update Col Fade Zoom1
|
||
//==============================
|
||
Sprite_Battler.prototype.updateColFazeZoom1 = function() {
|
||
this.scale.x += 0.03;
|
||
this.scale.y -= 0.01;
|
||
this.opacity -= 3;
|
||
};
|
||
|
||
//==============================
|
||
// * update Col Fade Zoom2
|
||
//==============================
|
||
Sprite_Battler.prototype.updateColFazeZoom2 = function() {
|
||
this.scale.x -= 0.01;
|
||
this.scale.y += 0.03;
|
||
this.opacity -= 3;
|
||
};
|
||
|
||
//==============================
|
||
// * update Col Fade Zoom3
|
||
//==============================
|
||
Sprite_Battler.prototype.updateColFazeZoom3 = function() {
|
||
if (this._animeDuration < 30) {
|
||
this.scale.x += 0.08;
|
||
this.scale.y -= 0.04;
|
||
} else if (this._animeDuration < 120) {
|
||
this.scale.x -= 0.10;
|
||
this.scale.y += 0.15;
|
||
this.opacity -= 5;
|
||
};
|
||
};
|
||
|
||
//==============================
|
||
// * update Col Fade Zoom4
|
||
//==============================
|
||
Sprite_Battler.prototype.updateColFazeZoom4 = function() {
|
||
this.scale.x -= 0.01;
|
||
this.scale.y += 0.04;
|
||
this.rotation -= 0.1;
|
||
this.opacity -= 2;
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Base
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseBase = function() {
|
||
};
|
||
|
||
//==============================
|
||
// * setup Col Stone
|
||
//==============================
|
||
Sprite_Battler.prototype.setupColStone = function() {
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Stone
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseStone = function() {
|
||
};
|
||
|
||
//==============================
|
||
// * update Collapse Effects
|
||
//==============================
|
||
Sprite_Battler.prototype.updateCollapseEffects = function() {
|
||
if (!this._collData) {this.setupCollapseEffect()};
|
||
if (this._collEffectWait > 0) {
|
||
this._collEffectWait--
|
||
if (this._collEffectWait == 0) {this._battler.performCollapseSoundMG()}
|
||
return;
|
||
};
|
||
if (this.collapseType() == -1) {
|
||
this.updateCollapseBase();
|
||
} else if (this.collapseType() <= 1) {
|
||
this.updateCollapseShatterPoint();
|
||
} else if (this.collapseType() === 2 || this.collapseType() === 3) {
|
||
this.updateCollapseShatterLine();
|
||
} else if (this.collapseType() === 4 || this.collapseType() === 5 ||
|
||
this.collapseType() === 6 || this.collapseType() === 7) {
|
||
this.updateColFadeZoom();
|
||
} else if (this.collapseType() === 8) {
|
||
this.updateCollapseSliceHorz();
|
||
} else if (this.collapseType() === 9) {
|
||
this.updateCollapseSliceVert();
|
||
} else if (this.collapseType() === 10) {
|
||
this.updateCollapseStone();
|
||
};
|
||
}; |