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

770 lines
25 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.
*
*/
/*:ja
* @target MZ
* @plugindesc (v1.0) 消滅エフェクトのアニメーションを拡張します。
* @author Moghunter
* @url https://raw.githubusercontent.com/harizumi/Moghunter-MZ-jp/main/MOG_CollapseEffects.js
*
* @param Default Collapse
* @text デフォルトの消滅エフェクト
* @desc 0から9 (-1 = なし / -2 = ランダム)
* @default 1
* @type select
* @option 粉砕(粒子化 + サイドアニメーション)
* @value 0
* @option 粉砕(粒子化)
* @value 1
* @option 粉砕(ストライプ + ウェーブ)
* @value 2
* @option 粉砕(ストライプ)
* @value 3
* @option フェード+水平ズーム
* @value 4
* @option フェード+垂直ズーム
* @value 5
* @option フェード+水平+垂直ズーム
* @value 6
* @option フェード+回転
* @value 7
* @option 水平スライス
* @value 8
* @option 垂直スライス
* @value 9
* @option ランダム
* @value -2
* @option なし
* @value -1
*
* @param Shatter Direction
* @text モード0での粉砕方向
* @desc 左 / 右
* @default 左
* @type select
* @option 左
* @value Left
* @option 右
* @value Right
*
* @help
* 翻訳:
* https://fungamemake.com/
*
* ===========================================================================
* ♦♦♦ MOG - Collapse Effects ♦♦♦ +++
* Author - Moghunter
* Version - 1.0
* Updated - 2021/04/05
* https://mogplugins.wordpress.com
* ===========================================================================
* 消滅エフェクトのアニメーションを拡張します。
*
* ===========================================================================
* - 消滅エフェクト (スキル & 敵)
* ===========================================================================
* エフェクトの設定は、スキル/敵のメモ欄に以下のタグを使用してください。
*
* Collapse Effect: EFFECT_ID
*
* EFFECT ID = エフェクトのタイプ (0 から 10)
* 0 - 粉砕 (粒子化 + サイドアニメーション)
* 1 - 粉砕 (粒子化)
* 2 - 粉砕 (ストライプ + ウェーブ)
* 3 - 粉砕 (ストライプ)
* 4 - フェード + 水平ズーム
* 5 - フェード + 垂直ズーム
* 6 - フェード + 水平 + 垂直ズーム
* 7 - フェード + 回転
* 8 - 水平スライス
* 9 - 垂直スライス
*
* ===========================================================================
* - アニメーション (スキル & 敵)
* ===========================================================================
* アニメーションの設定は、スキル/敵のメモ欄に以下のタグを使用してください。
*
* Collapse Animation: ANIMATION_ID
*
* ANIMATION_ID = データベースのアニメーションID
*
*/
//=============================================================================
// ** 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 = 100;
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();
};
};