2821 lines
91 KiB
JavaScript
2821 lines
91 KiB
JavaScript
//=============================================================================
|
|
// MOG_PictureEffects.js
|
|
//=============================================================================
|
|
|
|
/*:
|
|
* @target MZ
|
|
* @plugindesc (v1.1) O plugin permite animar as imagens.
|
|
* @author Moghunter
|
|
* @url https://mogplugins.wordpress.com/
|
|
*
|
|
* @command set_breath_effect
|
|
* @desc Configura o efeito de respirar.
|
|
* @text Breath Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Tipo de animação.
|
|
* @text Animation Mode
|
|
* @type select
|
|
* @default Vertical & Horizontal
|
|
* @option Vertical
|
|
* @value Vertical
|
|
* @option Horizontal
|
|
* @value Horizontal
|
|
* @option Vertical & Horizontal
|
|
* @value Vertical & Horizontal
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc Poder do efeito da respiração (50..500)
|
|
* @text Power %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @command set_float_effect
|
|
* @desc Configura o efeito de flutuar.
|
|
* @text Float Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Tipo de animação.
|
|
* @text Animation Mode
|
|
* @type select
|
|
* @default Vertical
|
|
* @option Vertical
|
|
* @value Vertical
|
|
* @option Vertical Left
|
|
* @value Vertical Left
|
|
* @option Vertical Right
|
|
* @value Vertical Right
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc Poder do efeito da respiração (50..500)
|
|
* @text Speed %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @command set_swing_effect
|
|
* @desc Configura o efeito de sacudir.
|
|
* @text Swing Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Tipo de animação.
|
|
* @text Direction
|
|
* @type select
|
|
* @default Left
|
|
* @option Left
|
|
* @value Left
|
|
* @option Right
|
|
* @value Right
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc Poder do efeito da rotação (10..800)
|
|
* @text Speed %
|
|
* @default 100
|
|
* @type number
|
|
* @min 10
|
|
* @max 800
|
|
*
|
|
* @command set_shake_effect
|
|
* @desc Configura o efeito de Tremer.
|
|
* @text Shake Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Direção do efeito tremer
|
|
* @text Direction
|
|
* @type select
|
|
* @default Vertical
|
|
* @option Vertical
|
|
* @value Vertical
|
|
* @option Horizontal
|
|
* @value Horizontal
|
|
* @option Vertical & Horizontal
|
|
* @value Vertical & Horizontal
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc Poder do efeito de tremer (4..300)
|
|
* @text Power
|
|
* @default 6
|
|
* @type number
|
|
* @min 4
|
|
* @max 300
|
|
*
|
|
* @arg speed
|
|
* @desc Velocidade de tremer (1..7)
|
|
* @text Speed
|
|
* @default 6
|
|
* @type number
|
|
* @min 1
|
|
* @max 7
|
|
*
|
|
* @arg duration
|
|
* @desc Duração do efeito tremer. (20...9999999)
|
|
* @text Duration
|
|
* @default 60
|
|
* @type number
|
|
* @min 20
|
|
* @max 9999999
|
|
*
|
|
* @command set_flip_effect
|
|
* @desc Configura o efeito de girar.
|
|
* @text Flip Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Direção do giro
|
|
* @text Direction
|
|
* @type select
|
|
* @default Vertical
|
|
* @option Vertical
|
|
* @value Vertical
|
|
* @option Horizontal
|
|
* @value Horizontal
|
|
* @option Vertical & Horizontal
|
|
* @value Vertical & Horizontal
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg loop
|
|
* @desc O efeito fica em loop.
|
|
* @text Loop
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg speed
|
|
* @desc Velocidade do efeito rolar. (50..1000)
|
|
* @text Speed (%)
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 1000
|
|
*
|
|
* @arg twoFaces
|
|
* @desc Usa 2 lados da imagem.
|
|
* @text Two Sides (Sprite Sheet)
|
|
* @type boolean
|
|
* @default false
|
|
*
|
|
* @command set_fade_effect
|
|
* @desc Configura o efeito Fade.
|
|
* @text Fade Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Definição do modo de animação.
|
|
* @text Mode
|
|
* @type select
|
|
* @default Smooth
|
|
* @option Smooth
|
|
* @value Smooth
|
|
* @option Blinking
|
|
* @value Blinking
|
|
* @option - Remove -
|
|
* @value - Remove -
|
|
*
|
|
* @arg speed
|
|
* @desc Definição da velocidade do fade (1..50)
|
|
* @text Speed
|
|
* @default 3
|
|
* @type number
|
|
* @min 1
|
|
* @max 50
|
|
*
|
|
* @arg interval
|
|
* @desc Interval do fade (10..1000)
|
|
* @text Interval
|
|
* @default 10
|
|
* @type number
|
|
* @min 10
|
|
* @max 1000
|
|
*
|
|
* @command setPicCollapse
|
|
* @desc Ativa animação de colapso.
|
|
* @text Collapse Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Definição do modo de animação.
|
|
* @text Mode
|
|
* @type select
|
|
* @default Boss Collapse
|
|
* @option Boss Collapse
|
|
* @value Boss Collapse
|
|
* @option Vertical
|
|
* @value Vertical
|
|
* @option Horizontal
|
|
* @value Horizontal
|
|
* @option Vertical & Horizontal
|
|
* @value Vertical & Horizontal
|
|
* @option - Clear -
|
|
* @value - Clear -
|
|
*
|
|
* @arg blendMode
|
|
* @desc Definição do modo Blend.
|
|
* @text Blend Mode
|
|
* @type select
|
|
* @default Normal
|
|
* @option Normal
|
|
* @value Normal
|
|
* @option Additive
|
|
* @value Additive
|
|
* @option Multiply
|
|
* @value Multiply
|
|
*
|
|
* @arg speed
|
|
* @desc Definição da ID (30..300)
|
|
* @text Speed %
|
|
* @default 100
|
|
* @type number
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @command set_bind_effect
|
|
* @desc Posição da imagem baseado na posição do mapa.
|
|
* @text Bind Effect
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg enabled
|
|
* @desc Ativar o efeito
|
|
* @text Enabled
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @command set_quick_move
|
|
* @desc Movimento rápido para fazer cenas de conversas.
|
|
* @text Quick Move
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Definição da direção do movimento.
|
|
* @text Direction
|
|
* @type select
|
|
* @default Up
|
|
* @option Up
|
|
* @value Up
|
|
* @option Left
|
|
* @value Left
|
|
* @option Right
|
|
* @value Right
|
|
* @option Down
|
|
* @value Down
|
|
* @option - Clear -
|
|
* @value - Clear -
|
|
*
|
|
* @arg range
|
|
* @desc Distância do movimento. (1..600)
|
|
* @text Range
|
|
* @default 30
|
|
* @type number
|
|
* @min 1
|
|
* @max 600
|
|
*
|
|
* @arg speed
|
|
* @desc Velocidade do movimento. (1..100)
|
|
* @text Speed
|
|
* @default 2
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg times
|
|
* @desc Numero de vezes do movimento. (1..9999999)
|
|
* @text Number of Times
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 9999999
|
|
*
|
|
* @command set_quick_zoom
|
|
* @desc Zoom rápido para fazer cenas de conversas.
|
|
* @text Quick Zoom
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc Definição da animação do zoom.
|
|
* @text Animation
|
|
* @type select
|
|
* @default Zoom Out & In
|
|
* @option Zoom Out & In
|
|
* @value Zoom Out & In
|
|
* @option Zoom In
|
|
* @value Zoom In
|
|
* @option Zoom Out
|
|
* @value Zoom Out
|
|
* @option - Clear -
|
|
* @value - Clear -
|
|
*
|
|
* @arg speed
|
|
* @desc Velocidade do zoom. (50 - 500%)
|
|
* @text Speed %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @arg times
|
|
* @desc Numero de vezes da animação. (1..9999999)
|
|
* @text Number of Times
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 9999999
|
|
*
|
|
* @command set_anime_effect
|
|
* @desc Animação por sprite sheet.
|
|
* @text Animated (Sprite sheet)
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg frames
|
|
* @desc Quantidade de frames. (1..100)
|
|
* @text Number of Frames
|
|
* @default 4
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg speed
|
|
* @desc Definição da velocidade da animação. (1..7)
|
|
* @text Speed
|
|
* @default 4
|
|
* @type number
|
|
* @min 1
|
|
* @max 7
|
|
*
|
|
* @command set_camera_mode
|
|
* @desc Posição da imagem baseado na posição do mouse.
|
|
* @text Camera Mode
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg enabled
|
|
* @desc Ativar o efeito
|
|
* @text Enabled
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg range
|
|
* @desc Alcance da camera. (5..100)
|
|
* @text Range
|
|
* @default 30
|
|
* @type number
|
|
* @min 5
|
|
* @max 100
|
|
*
|
|
* @command set_char_mode
|
|
* @desc Ativa o modo personagem.
|
|
* @text Skit Mode (Sprite sheet)
|
|
*
|
|
* @arg id
|
|
* @desc Definição da ID (1.. 100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg blinkInterval
|
|
* @desc Intervalo de piscar (1..999)
|
|
* @text Blink Interval
|
|
* @default 160
|
|
* @type number
|
|
* @min 1
|
|
* @max 999
|
|
*
|
|
* @arg speaking
|
|
* @desc Ativar a animação de fala durante a menssagem de texto.
|
|
* @text Talking Animation
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @command set_ocean_effect
|
|
* @desc Ativa o modo personagem.
|
|
* @text Ocean Mode (All Pictures)
|
|
*
|
|
* @arg waveX
|
|
* @desc Ativar movimento na horizontal.
|
|
* @text Horizontal Move
|
|
* @type boolean
|
|
* @default false
|
|
*
|
|
* @arg waveSpeedX
|
|
* @desc Velocidade de movimento (30..300)
|
|
* @text Speed (100)
|
|
* @type number
|
|
* @default 100
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @arg waveY
|
|
* @desc Ativar movimento na vertical.
|
|
* @text Vertical Move
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg waveSpeedY
|
|
* @desc Velocidade de movimento (30..300)
|
|
* @text Speed (100)
|
|
* @type number
|
|
* @default 100
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @arg ignore
|
|
* @desc Desabilita o efeito wave nas imagens abaixo.
|
|
* EX 2,5,7,8,10,30
|
|
* @text Ignore (Pictures)
|
|
* @default 0
|
|
*
|
|
* @help
|
|
* =============================================================================
|
|
* ♦♦♦ MOG - Picture Effects ♦♦♦
|
|
* Author - Moghunter
|
|
* Version - 1.1
|
|
* Updated - 2021/04/30
|
|
* https://mogplugins.wordpress.com/
|
|
* =============================================================================
|
|
* O plugin permite animar as imagens.
|
|
*
|
|
* =============================================================================
|
|
* SKIT MODE (PICTURES)
|
|
* =============================================================================
|
|
* Será necessário ter uma apenas uma imagem contendo as três posições
|
|
* do personagem, nesta ordem.
|
|
*
|
|
* Parado/ Falando / Piscando
|
|
*
|
|
* =============================================================================
|
|
* HISTÓRICO
|
|
* =============================================================================
|
|
* (v1.1) - Adicionado Collapse Effects.
|
|
* - Adicionado Swing Effect.
|
|
* - Adicionado Ocean Mode.
|
|
* - Adicionado Camera Mode.
|
|
*/
|
|
/*:ja
|
|
* @target MZ
|
|
* @plugindesc (v1.1) ピクチャをアニメーション化できます。
|
|
* @author Moghunter
|
|
* @url https://raw.githubusercontent.com/harizumi/Moghunter-MZ-jp/main/MOG_PictureEffects.js
|
|
*
|
|
* @command set_breath_effect
|
|
* @desc 呼吸エフェクトを設定
|
|
* @text 呼吸エフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc アニメーションの種類
|
|
* @text アニメーションモード
|
|
* @type select
|
|
* @default Vertical & Horizontal
|
|
* @option 垂直
|
|
* @value Vertical
|
|
* @option 水平
|
|
* @value Horizontal
|
|
* @option 垂直および水平
|
|
* @value Vertical & Horizontal
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc 呼吸エフェクト強度(50..500)
|
|
* @text 強度 %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @command set_float_effect
|
|
* @desc フロートエフェクトを設定
|
|
* @text フロートエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc アニメーションの種類
|
|
* @text アニメーションモード
|
|
* @type select
|
|
* @default Vertical
|
|
* @option 垂直
|
|
* @value Vertical
|
|
* @option 垂直左
|
|
* @value Vertical Left
|
|
* @option 垂直右
|
|
* @value Vertical Right
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc 呼吸エフェクト速度(50..500)
|
|
* @text 速度 %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @command set_swing_effect
|
|
* @desc スイングエフェクトを設定
|
|
* @text スイングエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc アニメーションの方向
|
|
* @text 方向
|
|
* @type select
|
|
* @default Left
|
|
* @option 左
|
|
* @value Left
|
|
* @option 右
|
|
* @value Right
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc 回転エフェクト速度(10.、800)
|
|
* @text 速度 %
|
|
* @default 100
|
|
* @type number
|
|
* @min 10
|
|
* @max 800
|
|
*
|
|
* @command set_shake_effect
|
|
* @desc 揺れエフェクトを設定
|
|
* @text 揺れエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc 揺れエフェクトの方向
|
|
* @text 方向
|
|
* @type select
|
|
* @default Vertical
|
|
* @option 垂直
|
|
* @value Vertical
|
|
* @option 水平
|
|
* @value Horizontal
|
|
* @option 垂直および水平
|
|
* @value Vertical & Horizontal
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg power
|
|
* @desc 揺れエフェクトの強度(4..300)
|
|
* @text 強度
|
|
* @default 6
|
|
* @type number
|
|
* @min 4
|
|
* @max 300
|
|
*
|
|
* @arg speed
|
|
* @desc 揺れ速度(1..7)
|
|
* @text 速度
|
|
* @default 6
|
|
* @type number
|
|
* @min 1
|
|
* @max 7
|
|
*
|
|
* @arg duration
|
|
* @desc 揺れエフェクトの持続時間 (20 ... 999999)
|
|
* @text 間隔
|
|
* @default 60
|
|
* @type number
|
|
* @min 20
|
|
* @max 9999999
|
|
*
|
|
* @command set_flip_effect
|
|
* @desc フリップエフェクトを設定
|
|
* @text フリップエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc 回転方向
|
|
* @text 方向
|
|
* @type select
|
|
* @default Vertical
|
|
* @option 垂直
|
|
* @value Vertical
|
|
* @option 水平
|
|
* @value Horizontal
|
|
* @option 垂直および水平
|
|
* @value Vertical & Horizontal
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg loop
|
|
* @desc エフェクトのループ有効化
|
|
* @text ループ
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg speed
|
|
* @desc ロールエフェクトの速度 (50..1000)
|
|
* @text 速度 (%)
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 1000
|
|
*
|
|
* @arg twoFaces
|
|
* @desc 画像の両側を使用
|
|
* @text 両側(スプライトシート)
|
|
* @type boolean
|
|
* @default false
|
|
*
|
|
* @command set_fade_effect
|
|
* @desc フェードエフェクトを設定
|
|
* @text フェードエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc アニメーションモードの設定
|
|
* @text モード
|
|
* @type select
|
|
* @default Smooth
|
|
* @option スムーズ
|
|
* @value Smooth
|
|
* @option まばたき
|
|
* @value Blinking
|
|
* @option - 削除する -
|
|
* @value - Remove -
|
|
*
|
|
* @arg speed
|
|
* @desc フェード速度設定(1..50)
|
|
* @text 速度
|
|
* @default 3
|
|
* @type number
|
|
* @min 1
|
|
* @max 50
|
|
*
|
|
* @arg interval
|
|
* @desc フェード間隔(10..1000)
|
|
* @text 間隔
|
|
* @default 10
|
|
* @type number
|
|
* @min 10
|
|
* @max 1000
|
|
*
|
|
* @command setPicCollapse
|
|
* @desc 崩壊アニメーションを有効化
|
|
* @text 崩壊エフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc アニメーションモードの設定
|
|
* @text モード
|
|
* @type select
|
|
* @default Boss Collapse
|
|
* @option ボス崩壊
|
|
* @value Boss Collapse
|
|
* @option 垂直
|
|
* @value Vertical
|
|
* @option 水平
|
|
* @value Horizontal
|
|
* @option 垂直および水平
|
|
* @value Vertical & Horizontal
|
|
* @option - クリア -
|
|
* @value - Clear -
|
|
*
|
|
* @arg blendMode
|
|
* @desc ブレンドモードの設定
|
|
* @text ブレンドモード
|
|
* @type select
|
|
* @default Normal
|
|
* @option 普通
|
|
* @value Normal
|
|
* @option 添加剤
|
|
* @value Additive
|
|
* @option かける
|
|
* @value Multiply
|
|
*
|
|
* @arg speed
|
|
* @desc IDの定義(30..300)
|
|
* @text スピード %
|
|
* @default 100
|
|
* @type number
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @command set_bind_effect
|
|
* @desc 地図の位置に基づく画像の位置
|
|
* @text バインドエフェクト
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg enabled
|
|
* @desc エフェクトを有効にする
|
|
* @text 有効
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @command set_quick_move
|
|
* @desc 会話シーンで速く動作
|
|
* @text クイックムーブ
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc 移動方向の指定
|
|
* @text 方向
|
|
* @type select
|
|
* @default Up
|
|
* @option 上
|
|
* @value Up
|
|
* @option 左
|
|
* @value Left
|
|
* @option 右
|
|
* @value Right
|
|
* @option 下
|
|
* @value Down
|
|
* @option - クリア -
|
|
* @value - Clear -
|
|
*
|
|
* @arg range
|
|
* @desc 移動距離 (1..600)
|
|
* @text 範囲
|
|
* @default 30
|
|
* @type number
|
|
* @min 1
|
|
* @max 600
|
|
*
|
|
* @arg speed
|
|
* @desc 動きの速度 (1..100)
|
|
* @text スピード
|
|
* @default 2
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg times
|
|
* @desc 移動回数 (1..999999)
|
|
* @text 回数
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 9999999
|
|
*
|
|
* @command set_quick_zoom
|
|
* @desc 会話シーンのクイックズーム
|
|
* @text クイックズーム
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg mode
|
|
* @desc ズームアニメーションの指定
|
|
* @text アニメーション
|
|
* @type select
|
|
* @default Zoom Out & In
|
|
* @option ズームアウト&イン
|
|
* @value Zoom Out & In
|
|
* @option ズームイン
|
|
* @value Zoom In
|
|
* @option ズームアウト
|
|
* @value Zoom Out
|
|
* @option - 消去 -
|
|
* @value - Clear -
|
|
*
|
|
* @arg speed
|
|
* @desc ズーム速度 (50-500%)
|
|
* @text スピード %
|
|
* @default 100
|
|
* @type number
|
|
* @min 50
|
|
* @max 500
|
|
*
|
|
* @arg times
|
|
* @desc アニメーションの回数 (1..999999)
|
|
* @text 何度か
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 9999999
|
|
*
|
|
* @command set_anime_effect
|
|
* @desc スプライトシートによるアニメーション
|
|
* @text アニメーション(スプライトシート)
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg frames
|
|
* @desc フレーム数 (1..100)
|
|
* @text フレーム数
|
|
* @default 4
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg speed
|
|
* @desc アニメーション速度の指定 (1..7)
|
|
* @text スピード
|
|
* @default 4
|
|
* @type number
|
|
* @min 1
|
|
* @max 7
|
|
*
|
|
* @command set_camera_mode
|
|
* @desc マウスの位置に基づく画像の位置
|
|
* @text カメラモード
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg enabled
|
|
* @desc エフェクトを有効にする
|
|
* @text 有効
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg range
|
|
* @desc カメラの範囲 (5..100)
|
|
* @text 範囲
|
|
* @default 30
|
|
* @type number
|
|
* @min 5
|
|
* @max 100
|
|
*
|
|
* @command set_char_mode
|
|
* @desc キャラクターモードを有効化
|
|
* @text 寸劇モード(スプライトシート)
|
|
*
|
|
* @arg id
|
|
* @desc IDの定義(1..100)
|
|
* @text ID
|
|
* @default 1
|
|
* @type number
|
|
* @min 1
|
|
* @max 100
|
|
*
|
|
* @arg blinkInterval
|
|
* @desc まばたき間隔(1..999)
|
|
* @text まばたき間隔
|
|
* @default 160
|
|
* @type number
|
|
* @min 1
|
|
* @max 999
|
|
*
|
|
* @arg speaking
|
|
* @desc テキストメッセージング中に会話アニメーションを有効化
|
|
* @text 会話アニメーション
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @command set_ocean_effect
|
|
* @desc キャラクターモードを有効化
|
|
* @text 海上モード(すべてのピクチャ)
|
|
*
|
|
* @arg waveX
|
|
* @desc 水平方向の動きを有効化
|
|
* @text 水平移動
|
|
* @type boolean
|
|
* @default false
|
|
*
|
|
* @arg waveSpeedX
|
|
* @desc 移動速度(30..300)
|
|
* @text 速度(100)
|
|
* @type number
|
|
* @default 100
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @arg waveY
|
|
* @desc 垂直方向の動きを有効化
|
|
* @text 垂直移動
|
|
* @type boolean
|
|
* @default true
|
|
*
|
|
* @arg waveSpeedY
|
|
* @desc 移動速度(30..300)
|
|
* @text 速度(100)
|
|
* @type number
|
|
* @default 100
|
|
* @min 30
|
|
* @max 300
|
|
*
|
|
* @arg ignore
|
|
* @desc 下の画像の波エフェクトを無効化
|
|
* 例 2,5,7,8,10,30
|
|
* @text 無視(ピクチャ)
|
|
* @default 0
|
|
*
|
|
* @help
|
|
* 翻訳:
|
|
* https://fungamemake.com/
|
|
*
|
|
* ============================================================================
|
|
* ♦♦♦ MOG - Picture Effects ♦♦♦
|
|
* Author - Moghunter
|
|
* Version - 1.1
|
|
* Updated - 2021/04/30
|
|
* https://mogplugins.wordpress.com/
|
|
* ============================================================================
|
|
* 画像をアニメーション化できます。
|
|
*
|
|
* ============================================================================
|
|
* 寸劇モード (ピクチャ)
|
|
* ============================================================================
|
|
* キャラクターの3つの状態を下記の順で並べて1つに結合した画像が必要になります。
|
|
*
|
|
* 静止 / 会話 / まばたき
|
|
*
|
|
* ===========================================================================
|
|
* 使用方法
|
|
* ===========================================================================
|
|
* プラグインコマンドを使用します。
|
|
*
|
|
* ============================================================================
|
|
* 更新履歴
|
|
* ============================================================================
|
|
* (v1.1) - 崩壊エフェクトを追加しました。
|
|
* - スイングエフェクトを追加しました。
|
|
* - 海上モードを追加しました。
|
|
* - カメラモードを追加しました。
|
|
*/
|
|
|
|
//=============================================================================
|
|
// ** PLUGIN PARAMETERS
|
|
//=============================================================================
|
|
|
|
(() => {
|
|
|
|
var Imported = Imported || {};
|
|
Imported.MOG_PictureEffects = true;
|
|
var Moghunter = Moghunter || {};
|
|
|
|
Moghunter.parameters = PluginManager.parameters('MOG_PictureEffects');
|
|
|
|
|
|
//=============================================================================
|
|
// ■■■ PluginManager ■■■
|
|
//=============================================================================
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_breath_effect", data => {
|
|
$gameScreen.setPicBreathEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_float_effect", data => {
|
|
$gameScreen.setPicFloatEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_shake_effect", data => {
|
|
$gameScreen.setPicShakeEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_flip_effect", data => {
|
|
$gameScreen.setPicFlipEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_fade_effect", data => {
|
|
$gameScreen.setPicFadeEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_swing_effect", data => {
|
|
$gameScreen.setPicSwingEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_anime_effect", data => {
|
|
$gameScreen.setPicAnimatedEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_bind_effect", data => {
|
|
$gameScreen.setPicBindEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_swing_effect", data => {
|
|
$gameScreen.setPicSwingEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "setPicCollapse", data => {
|
|
$gameScreen.setPicCollapseEffect(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_char_mode", data => {
|
|
$gameScreen.setPicCharMode(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_quick_move", data => {
|
|
$gameScreen.setPicQuickMove(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_quick_zoom", data => {
|
|
$gameScreen.setPicQuickZoom(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_camera_mode", data => {
|
|
$gameScreen.setPicCameraMode(data);
|
|
});
|
|
|
|
PluginManager.registerCommand('MOG_PictureEffects', "set_ocean_effect", data => {
|
|
$gameScreen.setPicWave(data);
|
|
});
|
|
|
|
//=============================================================================
|
|
// ■■■ Game Screen ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// * setBreathEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicBreathEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicBreathEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFloatEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicFloatEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicFloatEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFloatEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicShakeEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicShakeEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFlipEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicFlipEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicFlipEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFadeEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicFadeEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicFadeEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicSwingEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicSwingEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicSwingEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicAnimatedEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicAnimatedEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicAnimatedEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicBindEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicBindEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicBindEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCollapseEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicCollapseEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicCollapseEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicSwingEffect
|
|
//==============================
|
|
Game_Screen.prototype.setPicSwingEffect = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicSwingEffect(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicQuickMove
|
|
//==============================
|
|
Game_Screen.prototype.setPicQuickMove = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicQuickMove(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicQuickZoom
|
|
//==============================
|
|
Game_Screen.prototype.setPicQuickZoom = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicQuickZoom(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCharMode
|
|
//==============================
|
|
Game_Screen.prototype.setPicCharMode = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicCharMode(data) };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCameraMode
|
|
//==============================
|
|
Game_Screen.prototype.setPicCameraMode = function (data) {
|
|
const picID = Number(data.id);
|
|
const realPictureId = this.realPictureId(picID);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId].setPicCameraMode(data) };
|
|
};
|
|
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Clear
|
|
//==============================
|
|
const _mog_pictureEffects_game_screen_clear = Game_Screen.prototype.clear;
|
|
Game_Screen.prototype.clear = function () {
|
|
_mog_pictureEffects_game_screen_clear.call(this);
|
|
this.clearPictureEffects();
|
|
};
|
|
|
|
//==============================
|
|
// * clearPictureEffects
|
|
//==============================
|
|
Game_Screen.prototype.clearPictureEffects = function () {
|
|
this._picEffect = {};
|
|
this._picEffect.wave = {};
|
|
this._picEffect.wave.ignore = [];
|
|
this._picEffect.wave.enable = [false, false];
|
|
this._picEffect.wave.w = [0, 0, 0, 0];
|
|
this._picEffect.wave.x = 0;
|
|
this._picEffect.wave.y = 0;
|
|
this._picEffect.wave.speed = [0.01, 0.005];
|
|
this._picEffect.wave.range = [0, 0];
|
|
this._picEffect.wave.phase = [0, 0];
|
|
this._picEffect.wave.rangeMax = [1, 0.5];
|
|
};
|
|
|
|
//==============================
|
|
// * setPicWave Effect
|
|
//==============================
|
|
Game_Screen.prototype.setPicWave = function (data) {
|
|
this.clearPictureEffects();
|
|
const enableX = String(data.waveX) == "true" ? true : false;
|
|
const enableY = String(data.waveY) == "true" ? true : false;
|
|
this._picEffect.wave.enable[0] = enableX;
|
|
this._picEffect.wave.speed[0] = 0.01 * Number(data.waveSpeedX) / 100;
|
|
this._picEffect.wave.rangeMax[0] = 0.5 * Number(data.waveSpeedX) / 100;
|
|
this._picEffect.wave.enable[1] = enableY;
|
|
this._picEffect.wave.speed[1] = 0.01 * Number(data.waveSpeedY) / 100;
|
|
this._picEffect.wave.rangeMax[1] = 0.5 * Number(data.waveSpeedY) / 100;
|
|
if (data.ignore && data.ignore.length > 0) {
|
|
this._picEffect.wave.ignore = data.ignore.split(',');
|
|
};
|
|
if (!enableX && !enableY) { this.clearPictureEffects(); return };
|
|
if (this._picEffect.wave.ignore && this._picEffect.wave.ignore.length > 0) { this.reloadPicIgnore() };
|
|
};
|
|
|
|
//==============================
|
|
// * reloadPicIgnore
|
|
//==============================
|
|
Game_Screen.prototype.reloadPicIgnore = function () {
|
|
for (var i = 0; i < this._picEffect.wave.ignore.length; i++) {
|
|
this.setPicIgnoreWave(Number(this._picEffect.wave.ignore[i]));
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * setPicIgnoreWave
|
|
//==============================
|
|
Game_Screen.prototype.setPicIgnoreWave = function (picid) {
|
|
const realPictureId = this.realPictureId(picid);
|
|
if (this._pictures[realPictureId]) { this._pictures[realPictureId]._picEffect.ignoreWave = true };
|
|
};
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Show Picture
|
|
//==============================
|
|
const _mog_pictureEffects_game_screen_showPicture = Game_Screen.prototype.showPicture;
|
|
Game_Screen.prototype.showPicture = function (pictureId, name, origin, x, y, scaleX, scaleY, opacity, blendMode) {
|
|
_mog_pictureEffects_game_screen_showPicture.call(this, pictureId, name, origin, x, y, scaleX, scaleY, opacity, blendMode);
|
|
if (this._picEffect.wave.ignore && this._picEffect.wave.ignore.length > 0) { this.reloadPicIgnore() };
|
|
};
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Update
|
|
//==============================
|
|
const _mog_pictureEffects_game_screen_update = Game_Screen.prototype.update;
|
|
Game_Screen.prototype.update = function () {
|
|
_mog_pictureEffects_game_screen_update.call(this);
|
|
this.updatePictureEffects();
|
|
};
|
|
|
|
//==============================
|
|
// * updatePictureEffects
|
|
//==============================
|
|
Game_Screen.prototype.updatePictureEffects = function () {
|
|
for (var i = 0; i < 2; i++) {
|
|
if (i == 0 && this._picEffect.wave.enable[i]) { this._picEffect.wave.x = this.updatePicWave(i) };
|
|
if (i == 1 && this._picEffect.wave.enable[i]) { this._picEffect.wave.y = this.updatePicWave(i) };
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicBreath
|
|
//==============================
|
|
Game_Screen.prototype.updatePicWave = function (i) {
|
|
if (this._picEffect.wave.phase[i] == 0) {
|
|
this._picEffect.wave.range[i] -= this._picEffect.wave.speed[i];
|
|
if (this._picEffect.wave.range[i] <= -this._picEffect.wave.rangeMax[i]) {
|
|
this._picEffect.wave.range[i] = -this._picEffect.wave.rangeMax[i];
|
|
this._picEffect.wave.phase[i] = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.wave.range[i] += this._picEffect.wave.speed[i];
|
|
if (this._picEffect.wave.range[i] >= this._picEffect.wave.rangeMax[i]) {
|
|
this._picEffect.wave.range[i] = this._picEffect.wave.rangeMax[i];
|
|
this._picEffect.wave.phase[i] = 0;
|
|
};
|
|
};
|
|
this._picEffect.wave.w[i] -= this._picEffect.wave.range[i];
|
|
return this._picEffect.wave.w[i];
|
|
};
|
|
|
|
//=============================================================================
|
|
// ■■■ Game_Message ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Initialize
|
|
//==============================
|
|
const _mog_picEffect_game_message_clear = Game_Message.prototype.clear;
|
|
Game_Message.prototype.clear = function () {
|
|
_mog_picEffect_game_message_clear.call(this);
|
|
this._picMessageWait = 0;
|
|
};
|
|
|
|
//=============================================================================
|
|
// ■■■ Scene_Map ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Update
|
|
//==============================
|
|
const _mog_picEffects_scene_map_update = Scene_Map.prototype.update;
|
|
Scene_Map.prototype.update = function () {
|
|
_mog_picEffects_scene_map_update.call(this);
|
|
if (this._messageWindow) {
|
|
$gameMessage._picMessageWait = this._messageWindow._textState;
|
|
};
|
|
};
|
|
|
|
//=============================================================================
|
|
// ■■■ Scene_Battle ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Update
|
|
//==============================
|
|
const _mog_picEffects_scene_battle_update = Scene_Battle.prototype.update;
|
|
Scene_Battle.prototype.update = function () {
|
|
_mog_picEffects_scene_battle_update.call(this);
|
|
if (this._messageWindow) {
|
|
$gameMessage._picMessageWait = this._messageWindow._textState;
|
|
};
|
|
};
|
|
|
|
//=============================================================================
|
|
// ■■■ Game_Picture ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Initialize
|
|
//==============================
|
|
const _mog_picEffect_game_picture_initialize = Game_Picture.prototype.initialize;
|
|
Game_Picture.prototype.initialize = function () {
|
|
_mog_picEffect_game_picture_initialize.call(this);
|
|
this.initPictureEffects();
|
|
};
|
|
|
|
//==============================
|
|
// * initPictureEffects
|
|
//==============================
|
|
Game_Picture.prototype.initPictureEffects = function () {
|
|
this._picEffect = {};
|
|
this._picEffect.needRefresh = true;
|
|
this._picEffect.ignoreWave = false;
|
|
this.clearCameraMode();
|
|
this.clearBreathEffect();
|
|
this.clearFloatEffect();
|
|
this.clearShakeEffect();
|
|
this.clearFlipEffect();
|
|
this.clearSwingEffect();
|
|
this.clearFadeEffect();
|
|
this.clearBindEffect();
|
|
this.clearCollapseEffect();
|
|
this.clearQuickMove();
|
|
this.clearQuickZoom();
|
|
this.clearCharacterMode();
|
|
this.clearAnimatedEffect();
|
|
};
|
|
|
|
//==============================
|
|
// * clearCameraMode
|
|
//==============================
|
|
Game_Picture.prototype.clearCameraMode = function () {
|
|
this._picEffect.camera = {};
|
|
this._picEffect.camera.enabled = false;
|
|
this._picEffect.camera.range = 30;
|
|
this._picEffect.camera.x = 0;
|
|
this._picEffect.camera.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCameraMode
|
|
//==============================
|
|
Game_Picture.prototype.setPicCameraMode = function (data) {
|
|
this._picEffect.camera.enabled = String(data.enabled) == "true" ? true : false;
|
|
this._picEffect.camera.range = Math.min(Math.max(Number(data.range), 5), 100);
|
|
this._picEffect.camera.x = 0;
|
|
this._picEffect.camera.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCamera
|
|
//==============================
|
|
Game_Picture.prototype.updatePicCamera = function () {
|
|
const nx = (TouchInput.x * (this._x + 20) / Graphics.width) * this._picEffect.camera.range / 100;
|
|
const ny = (TouchInput.y * (this._y + 20) / Graphics.height) * this._picEffect.camera.range / 100;;
|
|
this._picEffect.camera.x = -nx;
|
|
this._picEffect.camera.y = -ny;
|
|
};
|
|
|
|
//==============================
|
|
// * Pic Is Camera Mode
|
|
//==============================
|
|
Game_Picture.prototype.picIsCameraMode = function () {
|
|
return this._picEffect.camera.enabled;
|
|
};
|
|
|
|
//==============================
|
|
// * clearCollapseEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearCollapseEffect = function () {
|
|
this._picEffect.collapse = {};
|
|
this._picEffect.collapse.x = -1;
|
|
this._picEffect.collapse.phase = 0;
|
|
this._picEffect.collapse.blendMode = 0;
|
|
this._picEffect.collapse.range = 0;
|
|
this._picEffect.collapse.rangeMax = 0;
|
|
this._picEffect.collapse.speed1 = 4;
|
|
this._picEffect.collapse.speed2 = 240;
|
|
this._picEffect.collapse.frameY = 0;
|
|
this._picEffect.collapse.scale = 0
|
|
this._picEffect.collapse.scaleX = 0;
|
|
this._picEffect.collapse.scaleY = 0;
|
|
this._picEffect.collapse.scaleSpeed = 0.01;
|
|
this._picEffect.collapse.opacity = 0;
|
|
this._picEffect.collapse.opacitySpeed = 5;
|
|
this._picEffect.collapse.shakeEnabled = false;
|
|
this._picEffect.collapse.shakeX = 0;
|
|
this._picEffect.collapse.shakeSpeed = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearQuickMove
|
|
//==============================
|
|
Game_Picture.prototype.clearQuickMove = function () {
|
|
this._picEffect.quickMove = {};
|
|
this._picEffect.quickMove.mode = -1;
|
|
this._picEffect.quickMove.x = 0;
|
|
this._picEffect.quickMove.y = 0;
|
|
this._picEffect.quickMove.range = 0;
|
|
this._picEffect.quickMove.rangeMax = 0;
|
|
this._picEffect.quickMove.phase = 0;
|
|
this._picEffect.quickMove.speed = 0;
|
|
this._picEffect.quickMove.times = 1;
|
|
};
|
|
|
|
//==============================
|
|
// * clearQuickZoom
|
|
//==============================
|
|
Game_Picture.prototype.clearQuickZoom = function () {
|
|
this._picEffect.quickZoom = {};
|
|
this._picEffect.quickZoom.mode = -1;
|
|
this._picEffect.quickZoom.scaleX = 0;
|
|
this._picEffect.quickZoom.scaleY = 0;
|
|
this._picEffect.quickZoom.range = 0;
|
|
this._picEffect.quickZoom.rangeMax = 0;
|
|
this._picEffect.quickZoom.phase = 0;
|
|
this._picEffect.quickZoom.speed = 0;
|
|
this._picEffect.quickZoom.times = 1;
|
|
};
|
|
|
|
//==============================
|
|
// * clearCharacterMode
|
|
//==============================
|
|
Game_Picture.prototype.clearCharacterMode = function () {
|
|
this._picEffect.charMode = {};
|
|
this._picEffect.charMode.enabled = false;
|
|
};
|
|
|
|
//==============================
|
|
// * clearFloatEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearFloatEffect = function () {
|
|
this._picEffect.floatEffect = {};
|
|
this._picEffect.floatEffect.mode = -1;
|
|
this._picEffect.floatEffect.phase = 0;
|
|
this._picEffect.floatEffect.rangeMax = 0.00100;
|
|
this._picEffect.floatEffect.range = 0;
|
|
this._picEffect.floatEffect.speed = 0;
|
|
this._picEffect.floatEffect.y_Real = 0;
|
|
this._picEffect.floatEffect.x = 0;
|
|
this._picEffect.floatEffect.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearShakeEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearShakeEffect = function () {
|
|
this._picEffect.shakeEffect = {};
|
|
this._picEffect.shakeEffect.mode = -1;
|
|
this._picEffect.shakeEffect.duration = 0;
|
|
this._picEffect.shakeEffect.range = 0;
|
|
this._picEffect.shakeEffect.rangeMax = 0;
|
|
this._picEffect.shakeEffect.speed1 = 0;
|
|
this._picEffect.shakeEffect.speed2 = 0;
|
|
this._picEffect.shakeEffect.interval = 0;
|
|
this._picEffect.shakeEffect.x = 0;
|
|
this._picEffect.shakeEffect.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearFlipEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearFlipEffect = function () {
|
|
this._picEffect.flipEffect = {};
|
|
this._picEffect.flipEffect.phase = 0;
|
|
this._picEffect.flipEffect.mode = -1;
|
|
this._picEffect.flipEffect.skip = false;
|
|
this._picEffect.flipEffect.loop = true;
|
|
this._picEffect.flipEffect.twoFaces = {};
|
|
this._picEffect.flipEffect.twoFaces.enabled = false;
|
|
this._picEffect.flipEffect.twoFaces.needRefresh = false;
|
|
this._picEffect.flipEffect.twoFaces.index = 0
|
|
this._picEffect.flipEffect.twoFaces.phase1 = 0
|
|
this._picEffect.flipEffect.twoFaces.phase2 = 0
|
|
this._picEffect.flipEffect.speed = 0;
|
|
this._picEffect.flipEffect.scale = 0;
|
|
this._picEffect.flipEffect.scaleX = 0;
|
|
this._picEffect.flipEffect.scaleY = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearFadeEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearFadeEffect = function () {
|
|
this._picEffect.fadeEffect = {};
|
|
this._picEffect.fadeEffect.phase = 0;
|
|
this._picEffect.fadeEffect.mode = -1;
|
|
this._picEffect.fadeEffect.inteval = 0;
|
|
this._picEffect.fadeEffect.intevalMax = 0;
|
|
this._picEffect.fadeEffect.rangeMax = 255;
|
|
this._picEffect.fadeEffect.repeatTimes = 0;
|
|
this._picEffect.fadeEffect.range = 0;
|
|
this._picEffect.fadeEffect.speed = 0;
|
|
this._picEffect.fadeEffect.opacity = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearAnimatedEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearAnimatedEffect = function () {
|
|
this._picEffect.animatedEffect = {};
|
|
this._picEffect.animatedEffect.enabled = false;
|
|
this._picEffect.animatedEffect.frameIndex = 0;
|
|
this._picEffect.animatedEffect.frameMax = 4;
|
|
this._picEffect.animatedEffect.speed = 0;
|
|
this._picEffect.animatedEffect.speedReal = 5;
|
|
this._picEffect.animatedEffect.interval = 60;
|
|
};
|
|
|
|
//==============================
|
|
// * clearBindEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearBindEffect = function () {
|
|
this._picEffect.bindEffect = {};
|
|
this._picEffect.bindEffect.enabled = false;
|
|
this._picEffect.bindEffect.x_offset = 0;
|
|
this._picEffect.bindEffect.y_offset = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicBindEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicBindEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
this._picEffect.bindEffect.enabled = String(data.enabled) == "true" ? true : false;
|
|
this._picEffect.bindEffect.x_offset = 0;
|
|
this._picEffect.bindEffect.y_offset = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearBreathEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearBreathEffect = function () {
|
|
this._picEffect.breathEffect = {};
|
|
this._picEffect.breathEffect.mode = -1;
|
|
this._picEffect.breathEffect.phase = 0;
|
|
this._picEffect.breathEffect.rangeMax = 0.00100;
|
|
this._picEffect.breathEffect.range = 0;
|
|
this._picEffect.breathEffect.speed = 0;
|
|
this._picEffect.breathEffect.scale = 0;
|
|
this._picEffect.breathEffect.scaleX = 0;
|
|
this._picEffect.breathEffect.scaleY = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * clearSwingEffect
|
|
//==============================
|
|
Game_Picture.prototype.clearSwingEffect = function () {
|
|
this._picEffect.swingEffect = {};
|
|
this._picEffect.swingEffect.mode = -1;
|
|
this._picEffect.swingEffect.phase = 0;
|
|
this._picEffect.swingEffect.speedReal = 100;
|
|
this._picEffect.swingEffect.rangeMax = 0.02;
|
|
this._picEffect.swingEffect.range = 0.00;
|
|
this._picEffect.swingEffect.speed = 0.0005;
|
|
this._picEffect.swingEffect.rot = 0;
|
|
this._picEffect.swingEffect.rotation = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * isPicSwing
|
|
//==============================
|
|
Game_Picture.prototype.isPicSwing = function () {
|
|
return this._picEffect.swingEffect.mode >= 0;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Collapsing
|
|
//==============================
|
|
Game_Picture.prototype.picIsCollapsing = function () {
|
|
return this._picEffect.collapse.mode >= 0;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Animated
|
|
//==============================
|
|
Game_Picture.prototype.picIsAnimated = function () {
|
|
return this._picEffect.animatedEffect.enabled && !this._picEffect.flipEffect.twoFaces.enabled;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCharMode
|
|
//==============================
|
|
Game_Picture.prototype.isPicSpeaking = function () {
|
|
if (!this._picEffect.charMode.speakingNow) { return false };
|
|
if ($gameMessage._picMessageWait) { return true };
|
|
return false;
|
|
};
|
|
|
|
//==============================
|
|
// * picIsQuickMove
|
|
//==============================
|
|
Game_Picture.prototype.picIsQuickMove = function () {
|
|
return this._picEffect.quickMove.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * is Pic Char Mode
|
|
//==============================
|
|
Game_Picture.prototype.isPicCharMode = function () {
|
|
return this._picEffect.charMode.enabled;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Floating
|
|
//==============================
|
|
Game_Picture.prototype.picIsFloating = function () {
|
|
return this._picEffect.floatEffect.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Breathing
|
|
//==============================
|
|
Game_Picture.prototype.picIsBreathing = function () {
|
|
return this._picEffect.breathEffect.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * picIsQuickZoom
|
|
//==============================
|
|
Game_Picture.prototype.picIsQuickZoom = function () {
|
|
return this._picEffect.quickZoom.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Flip
|
|
//==============================
|
|
Game_Picture.prototype.picIsFlip = function () {
|
|
return this._picEffect.flipEffect.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * isPicTwoFaces
|
|
//==============================
|
|
Game_Picture.prototype.isPicTwoFaces = function () {
|
|
return this._picEffect.flipEffect.twoFaces.enabled;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Shaking
|
|
//==============================
|
|
Game_Picture.prototype.picIsShaking = function () {
|
|
return this._picEffect.shakeEffect.duration > 0;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Fading
|
|
//==============================
|
|
Game_Picture.prototype.picIsFading = function () {
|
|
return this._picEffect.fadeEffect.mode >= 0 && !this.picIsCollapsing();
|
|
};
|
|
|
|
//==============================
|
|
// * pic Is Bind
|
|
//==============================
|
|
Game_Picture.prototype.picIsBind = function () {
|
|
return this._picEffect.bindEffect.enabled;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effect X
|
|
//==============================
|
|
Game_Picture.prototype.picEffectX = function () {
|
|
return this._picEffect.shakeEffect.x + this._picEffect.floatEffect.x + this._picEffect.bindEffect.x_offset + this._picEffect.quickMove.x + this._picEffect.collapse.shakeX + $gameScreen._picEffect.wave.x + this._picEffect.camera.x;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effect Y
|
|
//==============================
|
|
Game_Picture.prototype.picEffectY = function () {
|
|
return this._picEffect.shakeEffect.y + this._picEffect.floatEffect.y + this._picEffect.bindEffect.y_offset + this._picEffect.quickMove.y + $gameScreen._picEffect.wave.y + this._picEffect.camera.y;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effect scale X
|
|
//==============================
|
|
Game_Picture.prototype.picEffectScaleX = function () {
|
|
return this._picEffect.breathEffect.scaleX + this._picEffect.flipEffect.scaleX + this._picEffect.quickZoom.scaleX + this._picEffect.collapse.scaleX;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effect scale Y
|
|
//==============================
|
|
Game_Picture.prototype.picEffectScaleY = function () {
|
|
return this._picEffect.breathEffect.scaleY + this._picEffect.flipEffect.scaleY + this._picEffect.quickZoom.scaleY + this._picEffect.collapse.scaleY;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effectopacity
|
|
//==============================
|
|
Game_Picture.prototype.picEffectOpacity = function () {
|
|
return this._picEffect.fadeEffect.opacity + this._picEffect.collapse.opacity;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Effect Rotation
|
|
//==============================
|
|
Game_Picture.prototype.picEffectRotation = function () {
|
|
return this._picEffect.swingEffect.rotation;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicSwingEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicSwingEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
const mode = this.getSwinghMode(String(data.mode));
|
|
if (mode == -1) { this.clearSwingEffect(); return };
|
|
this._picEffect.swingEffect.mode = mode;
|
|
this._picEffect.swingEffect.phase = 0;
|
|
this._picEffect.swingEffect.speedReal = 100;
|
|
this._picEffect.swingEffect.rangeMax = 0.02 * Number(data.power) / 100;
|
|
this._picEffect.swingEffect.range = 0.00;
|
|
this._picEffect.swingEffect.speed = 0.0005 * Number(data.power) / 100;
|
|
this._picEffect.swingEffect.rot = 0;
|
|
this._picEffect.swingEffect.rotation = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * get Swing Mode
|
|
//==============================
|
|
Game_Picture.prototype.getSwinghMode = function (mode) {
|
|
if (mode == "Left") {
|
|
return 0;
|
|
} else if (mode == "Right") {
|
|
return 1
|
|
};
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicSwing
|
|
//==============================
|
|
Game_Picture.prototype.updatePicSwing = function () {
|
|
if (this._picEffect.swingEffect.phase == 0) {
|
|
this._picEffect.swingEffect.range -= this._picEffect.swingEffect.speed;
|
|
if (this._picEffect.swingEffect.range <= -this._picEffect.swingEffect.rangeMax) {
|
|
this._picEffect.swingEffect.range = -this._picEffect.swingEffect.rangeMax;
|
|
this._picEffect.swingEffect.phase = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.swingEffect.range += this._picEffect.swingEffect.speed;
|
|
if (this._picEffect.swingEffect.range >= this._picEffect.swingEffect.rangeMax) {
|
|
this._picEffect.swingEffect.range = this._picEffect.swingEffect.rangeMax;
|
|
this._picEffect.swingEffect.phase = 0;
|
|
};
|
|
};
|
|
this._picEffect.swingEffect.rot -= this._picEffect.swingEffect.range;
|
|
this._picEffect.swingEffect.rotation = this._picEffect.swingEffect.mode == 0 ? this._picEffect.swingEffect.rot : -this._picEffect.swingEffect.rot;
|
|
};
|
|
|
|
//==============================
|
|
// *setPicCollapseEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicCollapseEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
const mode = this.picEffectgetMode(String(data.mode));
|
|
if (mode == -1) { this.clearCollapseEffect(); return }
|
|
this._picEffect.collapse.mode = mode;
|
|
this._picEffect.collapse.x = 0;
|
|
this._picEffect.collapse.phase = 0;
|
|
this._picEffect.collapse.blendMode = this.picEffectgetBlend(String(data.blendMode));
|
|
this._picEffect.collapse.range = 1;
|
|
this._picEffect.collapse.rangeMax = 0;
|
|
this._picEffect.collapse.speed1 = Math.min(Math.max(Number(data.speed), 30), 300);
|
|
this._picEffect.collapse.speed2 = 240;
|
|
this._picEffect.collapse.frameY = 0;
|
|
this._picEffect.collapse.scale = 0
|
|
this._picEffect.collapse.scaleX = 0;
|
|
this._picEffect.collapse.scaleY = 0;
|
|
this._picEffect.collapse.scaleSpeed = ((100 / 40) * 0.01) * this._picEffect.collapse.speed1 / 100;
|
|
if (this._picEffect.collapse.mode == 3) { this._picEffect.collapse.scaleSpeed *= 2 };
|
|
this._picEffect.collapse.opacity = 0;
|
|
this._picEffect.collapse.opacitySpeed = (255 / 60) * this._picEffect.collapse.speed1 / 100;
|
|
if (this._picEffect.collapse.mode == 0) { this._picEffect.collapse.opacitySpeed = 0 };
|
|
this._picEffect.collapse.shakeEnabled = this._picEffect.collapse.mode == 0 ? true : false;
|
|
this._picEffect.collapse.shakeX = 0;
|
|
this._picEffect.collapse.shakeSpeed = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * picEffectgetMode
|
|
//==============================
|
|
Game_Picture.prototype.picEffectgetMode = function (mode) {
|
|
if (mode == "Boss Collapse") {
|
|
return 0;
|
|
} else if (mode == "Vertical") {
|
|
return 1;
|
|
} else if (mode == "Horizontal") {
|
|
return 2;
|
|
} else if (mode == "Vertical & Horizontal") {
|
|
return 3;
|
|
};
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * picEffectgetBlend
|
|
//==============================
|
|
Game_Picture.prototype.picEffectgetBlend = function (blend) {
|
|
if (blend == "Additive") {
|
|
return 1;
|
|
} else if (blend == "Multiply") { return 2 };
|
|
return 0;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCollapse
|
|
//==============================
|
|
Game_Picture.prototype.updatePicCollapse = function () {
|
|
if (this._picEffect.collapse.mode == 1 || this._picEffect.collapse.mode == 2) {
|
|
this.updatePicCollapse1_2();
|
|
} else if (this._picEffect.collapse.mode == 3) {
|
|
this.updatePicCollapse3();
|
|
};
|
|
if (this._picEffect.collapse.shakeEnabled) { this.updatePicCollapseShake() };
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCollapse1_2
|
|
//==============================
|
|
Game_Picture.prototype.updatePicCollapse1_2 = function () {
|
|
if (this._picEffect.collapse.scale < 1.00) {
|
|
this._picEffect.collapse.scale += this._picEffect.collapse.scaleSpeed;
|
|
if (this._picEffect.collapse.scale >= 1.00) { this._picEffect.collapse.scale = 1.00 };
|
|
};
|
|
if (this._picEffect.collapse.mode == 1) {
|
|
this._picEffect.collapse.scaleX = -this._picEffect.collapse.scale;
|
|
this._picEffect.collapse.scaleY = +this._picEffect.collapse.scale;
|
|
} else {
|
|
this._picEffect.collapse.scaleX = +this._picEffect.collapse.scale;
|
|
this._picEffect.collapse.scaleY = -this._picEffect.collapse.scale;
|
|
};
|
|
this._picEffect.collapse.opacity -= this._picEffect.collapse.opacitySpeed;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCollapse1_3
|
|
//==============================
|
|
Game_Picture.prototype.updatePicCollapse3 = function () {
|
|
if (this._picEffect.collapse.phase == 0) {
|
|
if (this._picEffect.collapse.scale < 1.00) {
|
|
this._picEffect.collapse.scale += this._picEffect.collapse.scaleSpeed;
|
|
if (this._picEffect.collapse.scale >= 1.00) {
|
|
this._picEffect.collapse.scale = 1.00;
|
|
this._picEffect.collapse.phase = 1;
|
|
};
|
|
};
|
|
} else {
|
|
if (this._picEffect.collapse.scale > -1.00) {
|
|
this._picEffect.collapse.scale -= this._picEffect.collapse.scaleSpeed;
|
|
if (this._picEffect.collapse.scale <= -1.00) {
|
|
this._picEffect.collapse.scale = -1.00;
|
|
};
|
|
};
|
|
};
|
|
this._picEffect.collapse.scaleX = +this._picEffect.collapse.scale;
|
|
this._picEffect.collapse.scaleY = -this._picEffect.collapse.scale;
|
|
this._picEffect.collapse.opacity -= this._picEffect.collapse.opacitySpeed;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCollapseShake
|
|
//==============================
|
|
Game_Picture.prototype.updatePicCollapseShake = function () {
|
|
this._picEffect.collapse.shakeSpeed++
|
|
if (this._picEffect.collapse.shakeSpeed > 1) {
|
|
this._picEffect.collapse.shakeSpeed = 0;
|
|
this._picEffect.collapse.shakeX = - 4 + Math.randomInt(8);
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * setPicQuickMove
|
|
//==============================
|
|
Game_Picture.prototype.setPicQuickMove = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
const mode = this.getQuickMove(String(data.mode));
|
|
this._picEffect.quickMove.mode = mode;
|
|
if (mode == -1) { this.clearQuickMove(); return };
|
|
this._picEffect.quickMove.x = 0;
|
|
this._picEffect.quickMove.y = 0;
|
|
this._picEffect.quickMove.range = 0;
|
|
this._picEffect.quickMove.rangeMax = Math.min(Math.max(Number(data.range), 10), 600);
|
|
this._picEffect.quickMove.phase = 0;
|
|
this._picEffect.quickMove.speed = Math.min(Math.max(Number(data.speed), 1), 100);
|
|
this._picEffect.quickMove.times = Math.min(Math.max(Number(data.times), 1), 9999999);
|
|
};
|
|
|
|
//==============================
|
|
// * get Quick Move
|
|
//==============================
|
|
Game_Picture.prototype.getQuickMove = function (mode) {
|
|
if (mode == "Up") {
|
|
return 0;
|
|
} else if (mode == "Left") {
|
|
return 1
|
|
} else if (mode == "Right") {
|
|
return 2;
|
|
} else if (mode == "Down") {
|
|
return 3;
|
|
}
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicQuickMove
|
|
//==============================
|
|
Game_Picture.prototype.updatePicQuickMove = function () {
|
|
if (this._picEffect.quickMove.phase == 0) {
|
|
this._picEffect.quickMove.range += this._picEffect.quickMove.speed;
|
|
if (this._picEffect.quickMove.range >= this._picEffect.quickMove.rangeMax) {
|
|
this._picEffect.quickMove.range = this._picEffect.quickMove.rangeMax;
|
|
this._picEffect.quickMove.phase = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.quickMove.range -= this._picEffect.quickMove.speed;
|
|
if (this._picEffect.quickMove.range <= 0) {
|
|
this._picEffect.quickMove.range = 0;
|
|
this._picEffect.quickMove.phase = 0;
|
|
this._picEffect.quickMove.times--;
|
|
if (this._picEffect.quickMove.times <= 0) { this.clearQuickMove() };
|
|
};
|
|
};
|
|
if (this._picEffect.quickMove.mode == 0) {
|
|
this._picEffect.quickMove.y = -this._picEffect.quickMove.range;
|
|
} else if (this._picEffect.quickMove.mode == 1) {
|
|
this._picEffect.quickMove.x = -this._picEffect.quickMove.range;
|
|
} else if (this._picEffect.quickMove.mode == 2) {
|
|
this._picEffect.quickMove.x = this._picEffect.quickMove.range;
|
|
} else if (this._picEffect.quickMove.mode == 3) {
|
|
this._picEffect.quickMove.y = this._picEffect.quickMove.range;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * setPicQuickZoom
|
|
//==============================
|
|
Game_Picture.prototype.setPicQuickZoom = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
const mode = this.getQuickZoom(String(data.mode));
|
|
if (mode == -1) { this.clearQuickZoom(); return };
|
|
this._picEffect.quickZoom.mode = mode;
|
|
this._picEffect.quickZoom.scaleX = 0;
|
|
this._picEffect.quickZoom.scaleY = 0;
|
|
this._picEffect.quickZoom.range = 0;
|
|
this._picEffect.quickZoom.rangeMax = 0.10;
|
|
this._picEffect.quickZoom.phase = 0;
|
|
const speed = Math.min(Math.max(Number(data.speed), 10), 500);
|
|
this._picEffect.quickZoom.speed = 0.005 * speed / 100;
|
|
this._picEffect.quickZoom.times = Math.min(Math.max(Number(data.times), 1), 9999999);
|
|
};
|
|
|
|
//==============================
|
|
// * get Zoom Move
|
|
//==============================
|
|
Game_Picture.prototype.getQuickZoom = function (mode) {
|
|
if (mode == "Zoom Out & In") {
|
|
return 0;
|
|
} else if (mode == "Zoom In") {
|
|
return 1;
|
|
} else if (mode == "Zoom Out") {
|
|
return 2;
|
|
}
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicQuickZoom
|
|
//==============================
|
|
Game_Picture.prototype.updatePicQuickZoom = function () {
|
|
if (this._picEffect.quickZoom.phase == 0) {
|
|
this._picEffect.quickZoom.range += this._picEffect.quickZoom.speed;
|
|
if (this._picEffect.quickZoom.range >= this._picEffect.quickZoom.rangeMax) {
|
|
this._picEffect.quickZoom.range = this._picEffect.quickZoom.rangeMax;
|
|
this._picEffect.quickZoom.phase = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.quickZoom.range -= this._picEffect.quickZoom.speed;
|
|
if (this._picEffect.quickZoom.range <= 0) {
|
|
this._picEffect.quickZoom.range = 0;
|
|
this._picEffect.quickZoom.phase = 0;
|
|
this._picEffect.quickZoom.times--;
|
|
if (this._picEffect.quickZoom.times <= 0) { this.clearQuickZoom() };
|
|
};
|
|
};
|
|
if (this._picEffect.quickZoom.mode == 0) {
|
|
this._picEffect.quickZoom.scaleX = this._scaleX < 0 ? this._picEffect.quickZoom.range : -this._picEffect.quickZoom.range;
|
|
this._picEffect.quickZoom.scaleY = this._picEffect.quickZoom.range;
|
|
} else if (this._picEffect.quickZoom.mode == 1) {
|
|
this._picEffect.quickZoom.scaleX = this._scaleX < 0 ? this._picEffect.quickZoom.range : -this._picEffect.quickZoom.range;
|
|
this._picEffect.quickZoom.scaleY = -this._picEffect.quickZoom.range;
|
|
} else if (this._picEffect.quickZoom.mode == 2) {
|
|
this._picEffect.quickZoom.scaleX = this._scaleX < 0 ? -this._picEffect.quickZoom.range : this._picEffect.quickZoom.range;
|
|
this._picEffect.quickZoom.scaleY = this._picEffect.quickZoom.range;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * setPicCharMode
|
|
//==============================
|
|
Game_Picture.prototype.setPicCharMode = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
this.clearFlipEffect();
|
|
this.clearAnimatedEffect();
|
|
this._picEffect.charMode.enabled = true;
|
|
this._picEffect.charMode.blinkinterval = Math.min(Math.max(Number(data.blinkInterval), 60), 999);
|
|
this._picEffect.charMode.interval = Math.randomInt(this._picEffect.charMode.blinkinterval);
|
|
this._picEffect.charMode.index = 0;
|
|
this._picEffect.charMode.nextIndex = 2;
|
|
this._picEffect.charMode.speed = 0;
|
|
this._picEffect.charMode.speaking = false;
|
|
this._picEffect.charMode.speakingNow = String(data.speaking) == "true" ? true : false;
|
|
};
|
|
|
|
//==============================
|
|
// * update Pic Char Mode
|
|
//==============================
|
|
Sprite_Picture.prototype.updatePicCharMode = function (picture) {
|
|
if (picture._picEffect.charMode.speaking != picture.isPicSpeaking()) {
|
|
if (picture._picEffect.charMode.speaking && !picture.isPicSpeaking()) {
|
|
picture._picEffect.charMode.interval = Math.randomInt(picture._picEffect.charMode.blinkinterval) + 60;
|
|
picture._picEffect.charMode.nextIndex = 0;
|
|
this.refreshPicFrame(picture, picture._picEffect.charMode.nextIndex);
|
|
};
|
|
picture._picEffect.charMode.speaking = picture.isPicSpeaking();
|
|
};
|
|
if (!picture.isPicSpeaking()) {
|
|
if (picture._picEffect.charMode.interval > 0) { picture._picEffect.charMode.interval--; return };
|
|
};
|
|
picture._picEffect.charMode.speed++;
|
|
if (picture._picEffect.charMode.speed > 10) {
|
|
picture._picEffect.charMode.speed = 0;
|
|
this.refreshPicFrame(picture, picture._picEffect.charMode.nextIndex);
|
|
if (picture.isPicSpeaking()) {
|
|
picture._picEffect.charMode.nextIndex = picture._picEffect.charMode.nextIndex == 0 ? 1 : 0;
|
|
} else {
|
|
picture._picEffect.charMode.nextIndex = picture._picEffect.charMode.nextIndex == 0 ? 2 : 0;
|
|
if (picture._picEffect.charMode.nextIndex == 2) {
|
|
picture._picEffect.charMode.interval = Math.randomInt(picture._picEffect.charMode.blinkinterval) + picture._picEffect.charMode.blinkinterval;
|
|
};
|
|
};
|
|
};
|
|
picture._picEffect.charMode.speaking = picture.isPicSpeaking();
|
|
};
|
|
|
|
//==============================
|
|
// * setPicShakeEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicShakeEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
this._picEffect.shakeEffect.mode = this.getBreathMode(String(data.mode));
|
|
this._picEffect.shakeEffect.duration = Math.min(Math.max(Number(data.duration), 20), 9999999);
|
|
this._picEffect.shakeEffect.range = 0;
|
|
this._picEffect.shakeEffect.rangeMax = Math.min(Math.max(Number(data.power), 4), 300);
|
|
this._picEffect.shakeEffect.speed1 = 60;
|
|
this._picEffect.shakeEffect.speed2 = Math.min(Math.max(Number(data.speed), 1), 7) * 5;
|
|
if (this._picEffect.shakeEffect.speed2 > 30) { this._picEffect.shakeEffect.speed2 = 60 }
|
|
this._picEffect.shakeEffect.interval = 60;
|
|
this._picEffect.shakeEffect.x = 0;
|
|
this._picEffect.shakeEffect.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicShaking
|
|
//==============================
|
|
Game_Picture.prototype.updatePicShaking = function () {
|
|
this._picEffect.shakeEffect.speed1 += this._picEffect.shakeEffect.speed2;
|
|
const sRange = (this._picEffect.shakeEffect.rangeMax / 2);
|
|
if (this._picEffect.shakeEffect.speed1 >= this._picEffect.shakeEffect.interval) {
|
|
this._picEffect.shakeEffect.speed1 = 0;
|
|
this._picEffect.shakeEffect.range = Math.randomInt(this._picEffect.shakeEffect.rangeMax);
|
|
if (this._picEffect.shakeEffect.mode == 0) {
|
|
this._picEffect.shakeEffect.y = -sRange + this._picEffect.shakeEffect.range;
|
|
} else if (this._picEffect.shakeEffect.mode == 1) {
|
|
this._picEffect.shakeEffect.x = -sRange + this._picEffect.shakeEffect.range;
|
|
} else {
|
|
this._picEffect.shakeEffect.x = -sRange + this._picEffect.shakeEffect.range;
|
|
this._picEffect.shakeEffect.range = Math.randomInt(this._picEffect.shakeEffect.rangeMax);
|
|
this._picEffect.shakeEffect.y = -sRange + this._picEffect.shakeEffect.range;
|
|
};
|
|
};
|
|
this._picEffect.shakeEffect.duration--;
|
|
if (this._picEffect.shakeEffect.duration == 0) { this.clearShakeEffect() };
|
|
};
|
|
|
|
//==============================
|
|
// * setPicBreathEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicBreathEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
var power = Number(data.power);
|
|
var mode = this.getBreathMode(String(data.mode));
|
|
if (mode == -1) { this.clearBreathEffect(); return };
|
|
this.clearFlipEffect();
|
|
this._picEffect.breathEffect.mode = mode;
|
|
this._picEffect.breathEffect.phase = 0;
|
|
this._picEffect.breathEffect.duration = 0;
|
|
this._picEffect.breathEffect.rangeMax = 0.00050 * power / 100;;
|
|
var sp = Number(Math.randomInt(20) * (0.00001).toFixed(5));
|
|
this._picEffect.breathEffect.range = Number(sp);
|
|
var sp = Number(Math.randomInt(20) * 0.0000001).toFixed(7);
|
|
this._picEffect.breathEffect.speed = (0.0000150 + Number(sp)) * power / 100;
|
|
this._picEffect.breathEffect.scale = 0.000000;
|
|
};
|
|
|
|
//==============================
|
|
// * get Breath Mode
|
|
//==============================
|
|
Game_Picture.prototype.getBreathMode = function (mode) {
|
|
if (mode == "Vertical") {
|
|
return 0;
|
|
} else if (mode == "Horizontal") {
|
|
return 1
|
|
} else if (mode == "Vertical & Horizontal") {
|
|
return 2;
|
|
}
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicBreath
|
|
//==============================
|
|
Game_Picture.prototype.updatePicBreath = function () {
|
|
if (this._picEffect.breathEffect.phase == 0) {
|
|
this._picEffect.breathEffect.range -= this._picEffect.breathEffect.speed;
|
|
if (this._picEffect.breathEffect.range <= -this._picEffect.breathEffect.rangeMax) {
|
|
this._picEffect.breathEffect.range = -this._picEffect.breathEffect.rangeMax;
|
|
this._picEffect.breathEffect.phase = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.breathEffect.range += this._picEffect.breathEffect.speed;
|
|
if (this._picEffect.breathEffect.range >= this._picEffect.breathEffect.rangeMax) {
|
|
this._picEffect.breathEffect.range = this._picEffect.breathEffect.rangeMax;
|
|
this._picEffect.breathEffect.phase = 0;
|
|
};
|
|
};
|
|
this._picEffect.breathEffect.scale -= this._picEffect.breathEffect.range;
|
|
if (this._picEffect.breathEffect.mode == 0) {
|
|
this._picEffect.breathEffect.scaleY = this._picEffect.breathEffect.scale;
|
|
} else if (this._picEffect.breathEffect.mode == 1) {
|
|
this._picEffect.breathEffect.scaleX = this._scaleX > 0 ? -this._picEffect.breathEffect.scale : this._picEffect.breathEffect.scale;
|
|
} else {
|
|
this._picEffect.breathEffect.scaleY = this._picEffect.breathEffect.scale;
|
|
this._picEffect.breathEffect.scaleX = this._scaleX > 0 ? -this._picEffect.breathEffect.scale : this._picEffect.breathEffect.scale;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * get Float Mode
|
|
//==============================
|
|
Game_Picture.prototype.getFloatMode = function (mode) {
|
|
if (mode == "Vertical") {
|
|
return 0;
|
|
} else if (mode == "Vertical Left") {
|
|
return 1;
|
|
} else if (mode == "Vertical Right") {
|
|
return 2;
|
|
};
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFloatEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicFloatEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
var power = Number(data.power);
|
|
var mode = this.getFloatMode(String(data.mode));
|
|
if (mode == -1) { this.clearFloatEffect(); return };
|
|
this._picEffect.floatEffect.mode = mode;
|
|
this._picEffect.floatEffect.phase = 0;
|
|
this._picEffect.floatEffect.duration = 0;
|
|
this._picEffect.floatEffect.rangeMax = 1.5 * power / 100;;
|
|
var sp = Number(Math.randomInt(10) * 0.01);
|
|
this._picEffect.floatEffect.range = Number(sp);
|
|
var sp = Number(Math.randomInt(20) * 0.001).toFixed(3);
|
|
this._picEffect.floatEffect.speed = (0.05 + Number(sp)) * power / 100;
|
|
this._picEffect.floatEffect.y_Real = 0.0;
|
|
this._picEffect.floatEffect.x = 0;
|
|
this._picEffect.floatEffect.y = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicFloat
|
|
//==============================
|
|
Game_Picture.prototype.updatePicFloat = function () {
|
|
if (this._picEffect.floatEffect.phase == 0) {
|
|
this._picEffect.floatEffect.range -= this._picEffect.floatEffect.speed;
|
|
if (this._picEffect.floatEffect.range <= -this._picEffect.floatEffect.rangeMax) {
|
|
this._picEffect.floatEffect.range = -this._picEffect.floatEffect.rangeMax;
|
|
this._picEffect.floatEffect.phase = 1;
|
|
};
|
|
} else {
|
|
this._picEffect.floatEffect.range += this._picEffect.floatEffect.speed;
|
|
if (this._picEffect.floatEffect.range >= this._picEffect.floatEffect.rangeMax) {
|
|
this._picEffect.floatEffect.range = this._picEffect.floatEffect.rangeMax;
|
|
this._picEffect.floatEffect.phase = 0;
|
|
};
|
|
};
|
|
this._picEffect.floatEffect.y_Real -= this._picEffect.floatEffect.range;
|
|
this._picEffect.floatEffect.y = -this._picEffect.floatEffect.y_Real;
|
|
if (this._picEffect.floatEffect.mode == 1) {
|
|
this._picEffect.floatEffect.x = -this._picEffect.floatEffect.y_Real;
|
|
} else if (this._picEffect.floatEffect.mode == 2) {
|
|
this._picEffect.floatEffect.x = this._picEffect.floatEffect.y_Real;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * setFlipEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicFlipEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
var mode = this.getBreathMode(String(data.mode));
|
|
this._picEffect.flipEffect.mode = mode;
|
|
if (mode == -1 || this.isPicCharMode()) { this.clearFlipEffect(); return };
|
|
this.clearBreathEffect();
|
|
this._picEffect.flipEffect.skip = false;
|
|
this._picEffect.flipEffect.loop = String(data.loop) == "true" ? true : false;
|
|
this._picEffect.flipEffect.twoFaces.enabled = String(data.twoFaces) == "true" ? true : false;
|
|
this._picEffect.flipEffect.twoFaces.index = 0;
|
|
this._picEffect.flipEffect.twoFaces.needRefresh = false;
|
|
this._picEffect.flipEffect.twoFaces.phase1 = 0;
|
|
this._picEffect.flipEffect.twoFaces.phase2 = 0;
|
|
if (this.isPicTwoFaces()) { this.clearAnimatedEffect() };
|
|
this._picEffect.flipEffect.speed = 0.01 * Number(data.speed) / 100;
|
|
this._picEffect.flipEffect.scale = 0;
|
|
this._picEffect.flipEffect.scaleX = 0;
|
|
this._picEffect.flipEffect.scaleY = 0;
|
|
};
|
|
|
|
//==============================
|
|
// * pic Flip Sides
|
|
//==============================
|
|
Game_Picture.prototype.picflipSides = function () {
|
|
this._picEffect.flipEffect.twoFaces.needRefresh = true;
|
|
this._picEffect.flipEffect.twoFaces.index++;
|
|
if (this._picEffect.flipEffect.twoFaces.index > 1) { this._picEffect.flipEffect.twoFaces.index = 0 };
|
|
};
|
|
|
|
//==============================
|
|
// * need Pic Flip Sides
|
|
//==============================
|
|
Game_Picture.prototype.needPicflipSides = function () {
|
|
if (this._picEffect.flipEffect.twoFaces.phase1 == this._picEffect.flipEffect.twoFaces.phase2) { return false };
|
|
return true;
|
|
};
|
|
|
|
//==============================
|
|
// * need Pic Flip Sides
|
|
//==============================
|
|
Game_Picture.prototype.updateFlipeSides = function () {
|
|
this._picEffect.flipEffect.twoFaces.phase1 = this._picEffect.flipEffect.scale > -1.00 ? 0 : 1;
|
|
if (this.needPicflipSides()) { this.picflipSides() };
|
|
this._picEffect.flipEffect.twoFaces.phase2 = this._picEffect.flipEffect.twoFaces.phase1;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicflip
|
|
//==============================
|
|
Game_Picture.prototype.updatePicflip = function () {
|
|
if (this._picEffect.flipEffect.skip) { return };
|
|
if (this._picEffect.flipEffect.phase == 0) {
|
|
this._picEffect.flipEffect.scale -= this._picEffect.flipEffect.speed;
|
|
if (this._picEffect.flipEffect.scale <= -2.00) {
|
|
this._picEffect.flipEffect.scale = -2.00;
|
|
this._picEffect.flipEffect.phase = 1;
|
|
if (!this._picEffect.flipEffect.loop) { this._picEffect.flipEffect.skip = true };
|
|
};
|
|
} else {
|
|
this._picEffect.flipEffect.scale += this._picEffect.flipEffect.speed;
|
|
if (this._picEffect.flipEffect.scale >= 0.00) {
|
|
this._picEffect.flipEffect.scale = 0.00;
|
|
this._picEffect.flipEffect.phase = 0;
|
|
};
|
|
};
|
|
if (this._picEffect.flipEffect.mode == 0) {
|
|
this._picEffect.flipEffect.scaleY = this._picEffect.flipEffect.scale;
|
|
} else if (this._picEffect.flipEffect.mode == 1) {
|
|
this._picEffect.flipEffect.scaleX = this._picEffect.flipEffect.scale;
|
|
} else {
|
|
this._picEffect.flipEffect.scaleY = this._picEffect.flipEffect.scale;
|
|
this._picEffect.flipEffect.scaleX = this._picEffect.flipEffect.scale;
|
|
};
|
|
if (this.isPicTwoFaces()) { this.updateFlipeSides() };
|
|
};
|
|
|
|
//==============================
|
|
// * get Fade Mode
|
|
//==============================
|
|
Game_Picture.prototype.getFadeMode = function (mode) {
|
|
if (mode == "Smooth") {
|
|
return 0;
|
|
} else if (mode == "Blinking") {
|
|
return 1;
|
|
};
|
|
return -1;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicFadeEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicFadeEffect = function (data) {
|
|
this._picEffect.needRefresh = true;
|
|
const mode = this.getFadeMode(String(data.mode));
|
|
if (mode == -1) { this.clearFadeEffect(); return };
|
|
this.clearFlipEffect();
|
|
this._picEffect.fadeEffect.mode = mode;
|
|
this._picEffect.fadeEffect.phase = 1;
|
|
this._picEffect.fadeEffect.inteval = 0;
|
|
this._picEffect.fadeEffect.intevalMax = Math.min(Math.max(Number(data.interval), 10), 1000);
|
|
this._picEffect.fadeEffect.rangeMax = 255;
|
|
this._picEffect.fadeEffect.repeatTimes = 0;
|
|
this._picEffect.fadeEffect.range = 0;
|
|
this._picEffect.fadeEffect.speed = Math.min(Math.max(Number(data.speed), 1), 50);
|
|
this._picEffect.fadeEffect.opacity = 0;
|
|
if (this._picEffect.fadeEffect.mode == 1) {
|
|
this._picEffect.fadeEffect.repeatTimes = 1;
|
|
this._picEffect.fadeEffect.speed = 50;
|
|
if (this._picEffect.fadeEffect.intevalMax < 30) {
|
|
this._picEffect.fadeEffect.intevalMax = 30;
|
|
};
|
|
this._picEffect.fadeEffect.opacity = -255;
|
|
this._picEffect.fadeEffect.inteval = this._picEffect.fadeEffect.intevalMax;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicFade
|
|
//==============================
|
|
Game_Picture.prototype.updatePicFade = function () {
|
|
if (this._picEffect.fadeEffect.inteval > 0) { this._picEffect.fadeEffect.inteval--; return };
|
|
if (this._picEffect.fadeEffect.phase == 0) {
|
|
this._picEffect.fadeEffect.range -= this._picEffect.fadeEffect.speed;
|
|
if (this._picEffect.fadeEffect.range <= 0) {
|
|
this._picEffect.fadeEffect.range = 0;
|
|
this._picEffect.fadeEffect.phase = 1;
|
|
if (this._picEffect.fadeEffect.mode == 0) {
|
|
this._picEffect.fadeEffect.inteval = this._picEffect.fadeEffect.intevalMax;
|
|
};
|
|
};
|
|
} else {
|
|
this._picEffect.fadeEffect.range += this._picEffect.fadeEffect.speed;
|
|
if (this._picEffect.fadeEffect.range >= this._picEffect.fadeEffect.rangeMax) {
|
|
this._picEffect.fadeEffect.range = this._picEffect.fadeEffect.rangeMax;
|
|
this._picEffect.fadeEffect.phase = 0;
|
|
if (this._picEffect.fadeEffect.mode == 0) {
|
|
this._picEffect.fadeEffect.inteval = this._picEffect.fadeEffect.intevalMax;
|
|
} else if (this._picEffect.fadeEffect.repeatTimes > 0) {
|
|
this._picEffect.fadeEffect.repeatTimes--;
|
|
if (this._picEffect.fadeEffect.repeatTimes == 0) {
|
|
this._picEffect.fadeEffect.repeatTimes = Math.randomInt(3) + 1;
|
|
const interv = this._picEffect.fadeEffect.intevalMax + Math.randomInt(this._picEffect.fadeEffect.intevalMax / 2);
|
|
this._picEffect.fadeEffect.inteval = interv;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
this._picEffect.fadeEffect.opacity = -this._picEffect.fadeEffect.range;
|
|
};
|
|
|
|
//==============================
|
|
// * setPicAnimatedEffect
|
|
//==============================
|
|
Game_Picture.prototype.setPicAnimatedEffect = function (data) {
|
|
if (this.isPicCharMode()) { return };
|
|
this._picEffect.needRefresh = true;
|
|
this._picEffect.animatedEffect.enabled = true;
|
|
this._picEffect.animatedEffect.frameIndex = 0;
|
|
this._picEffect.animatedEffect.frameMax = Math.min(Math.max(Number(data.frames), 1), 100);
|
|
this._picEffect.animatedEffect.speedReal = 5 * Math.min(Math.max(Number(data.speed), 1), 7);
|
|
if (this._picEffect.animatedEffect.speedReal > 30) { this._picEffect.animatedEffect.speedReal = 61 };
|
|
this._picEffect.animatedEffect.speed = this._picEffect.animatedEffect.speedReal + 1;
|
|
this._picEffect.animatedEffect.interval = 60;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicBind
|
|
//==============================
|
|
Game_Picture.prototype.updatePicBind = function (data) {
|
|
if (!$gameParty.inBattle()) {
|
|
this._picEffect.bindEffect.x_offset = -$gameMap.displayX() * $gameMap.tileWidth();
|
|
this._picEffect.bindEffect.y_offset = -$gameMap.displayY() * $gameMap.tileHeight();
|
|
} else {
|
|
this._picEffect.bindEffect.x_offset = 0;
|
|
this._picEffect.bindEffect.y_offset = 0;
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * update Picture Effects
|
|
//==============================
|
|
Game_Picture.prototype.updatePictureEffects = function () {
|
|
if (this.picIsFlip()) {
|
|
this.updatePicflip();
|
|
} else if (this.picIsBreathing()) {
|
|
this.updatePicBreath();
|
|
};
|
|
if (this.picIsFloating()) { this.updatePicFloat() };
|
|
if (this.picIsShaking()) { this.updatePicShaking() };
|
|
if (this.picIsFading()) { this.updatePicFade() };
|
|
if (this.isPicSwing()) { this.updatePicSwing() };
|
|
if (this.picIsQuickMove()) { this.updatePicQuickMove() };
|
|
if (this.picIsQuickZoom()) { this.updatePicQuickZoom() };
|
|
if (this.picIsBind()) {
|
|
this.updatePicBind()
|
|
} else {
|
|
this._picEffect.bindEffect.x_offset = 0;
|
|
this._picEffect.bindEffect.y_offset = 0;
|
|
};
|
|
if (this.picIsCollapsing()) { this.updatePicCollapse() };
|
|
if (this.picIsCameraMode()) { this.updatePicCamera() }
|
|
};
|
|
|
|
//==============================
|
|
// * Update
|
|
//==============================
|
|
const _mog_picEffects_game_picture = Game_Picture.prototype.update;
|
|
Game_Picture.prototype.update = function () {
|
|
_mog_picEffects_game_picture.call(this);
|
|
this.updatePictureEffects()
|
|
};
|
|
|
|
//=============================================================================
|
|
// ■■■ Sprite Picture ■■■
|
|
//=============================================================================
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Initialize
|
|
//==============================
|
|
const _mog_picEffects_sprite_picture_initialize = Sprite_Picture.prototype.initialize;
|
|
Sprite_Picture.prototype.initialize = function (pictureId) {
|
|
_mog_picEffects_sprite_picture_initialize.call(this, pictureId);
|
|
this._picAnimated = false;
|
|
};
|
|
|
|
//==============================
|
|
// * redataPicEffect
|
|
//==============================
|
|
Sprite_Picture.prototype.redataPicEffect = function (picture) {
|
|
if (picture.picIsFlip()) {
|
|
if (picture._picEffect.flipEffect.mode == 0) {
|
|
this.scale.y = 1.00;
|
|
} else if (picture._picEffect.flipEffect.mode == 1) {
|
|
this.scale.x = 1.00;
|
|
} else {
|
|
this.scale.x = 1.00;
|
|
this.scale.y = 1.00;
|
|
};
|
|
};
|
|
if (picture.picIsFading()) { this.opacity = 255 };
|
|
};
|
|
|
|
//==============================
|
|
// * update Picture Effects
|
|
//==============================
|
|
Sprite_Picture.prototype.updatePictureEffects = function (picture) {
|
|
this.redataPicEffect(picture);
|
|
this.x += picture.picEffectX();
|
|
this.y += picture.picEffectY();
|
|
this.scale.x += picture.picEffectScaleX();
|
|
this.scale.y += picture.picEffectScaleY();
|
|
this.opacity += picture.picEffectOpacity();
|
|
this.rotation += picture.picEffectRotation();
|
|
if (picture.picIsFlip()) {
|
|
this.updatepicFlip(picture);
|
|
} else if (picture.picIsBreathing()) {
|
|
this.updatepicBreathing(picture);
|
|
} else if (picture.picIsQuickZoom()) {
|
|
this.updatePicQuickZoom(picture)
|
|
};
|
|
if (picture.isPicCharMode()) {
|
|
this.updatePicCharMode(picture)
|
|
} else if (picture.picIsAnimated()) { this.updatePicAnimated(picture) };
|
|
if (picture.picIsCollapsing()) { this.updatePicCollapse(picture) };
|
|
if (picture._picEffect.ignoreWave) { this.updateIgnoreWave(picture) };
|
|
};
|
|
|
|
//==============================
|
|
// * updateIgnoreWave
|
|
//==============================
|
|
Sprite_Picture.prototype.updateIgnoreWave = function (picture) {
|
|
this.x -= $gameScreen._picEffect.wave.x;
|
|
this.y -= $gameScreen._picEffect.wave.y;
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicQuickZoom
|
|
//==============================
|
|
Sprite_Picture.prototype.updatePicQuickZoom = function (picture) {
|
|
this.anchor.y = 1;
|
|
this.anchor.x = 0.5;
|
|
if (this.scale.x > 0) {
|
|
this.x += this._picData.cw / 2;
|
|
} else {
|
|
this.x -= this._picData.cw / 2;
|
|
}
|
|
this.y += this._picData.ch;
|
|
};
|
|
|
|
//==============================
|
|
// * updatepicFlip
|
|
//==============================
|
|
Sprite_Picture.prototype.updatepicFlip = function (picture) {
|
|
const cw = this._picData.cw / 2;
|
|
const ch = this._picData.ch / 2;
|
|
if (picture._picEffect.flipEffect.mode == 0) {
|
|
this.anchor.y = 0.5;
|
|
this.y += ch;
|
|
} else if (picture._picEffect.flipEffect.mode == 1) {
|
|
this.anchor.x = 0.5;
|
|
this.x += picture._scaleX > 0 ? cw : -cw;
|
|
} else {
|
|
this.anchor.x = 0.5;
|
|
this.anchor.y = 0.5;
|
|
this.x += picture._scaleX > 0 ? cw : -cw;
|
|
this.y += ch;
|
|
};
|
|
if (picture._picEffect.flipEffect.twoFaces.needRefresh) {
|
|
picture._picEffect.flipEffect.twoFaces.needRefresh = false;
|
|
this.refreshPicFrame(picture, picture._picEffect.flipEffect.twoFaces.index);
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * updatepicBreathing
|
|
//==============================
|
|
Sprite_Picture.prototype.updatepicBreathing = function (picture) {
|
|
this.anchor.y = 1;
|
|
this.y += this._picData.ch;
|
|
if (picture._picEffect.breathEffect.mode > 0) {
|
|
this.anchor.x = 0.5;
|
|
if (this.scale.x > 0) {
|
|
this.x += this._picData.cw / 2;
|
|
} else {
|
|
this.x -= this._picData.cw / 2;
|
|
}
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicAnimated
|
|
//==============================
|
|
Sprite_Picture.prototype.updatePicAnimated = function (picture) {
|
|
picture._picEffect.animatedEffect.speed += picture._picEffect.animatedEffect.speedReal;
|
|
if (picture._picEffect.animatedEffect.speed >= picture._picEffect.animatedEffect.interval) {
|
|
picture._picEffect.animatedEffect.speed = 0;
|
|
picture._picEffect.animatedEffect.frameIndex++;
|
|
if (picture._picEffect.animatedEffect.frameIndex >= picture._picEffect.animatedEffect.frameMax) {
|
|
picture._picEffect.animatedEffect.frameIndex = 0;
|
|
};
|
|
this.refreshPicFrame(picture, picture._picEffect.animatedEffect.frameIndex);
|
|
};
|
|
};
|
|
|
|
//==============================
|
|
// * updatePicCollapse
|
|
//==============================
|
|
Sprite_Picture.prototype.updatePicCollapse = function (picture) {
|
|
if (picture._picEffect.collapse.mode == 0) {
|
|
if (picture._picEffect.collapse.frameY < this._picData.ch) {
|
|
const speed = (this._picData.ch / picture._picEffect.collapse.speed2) * picture._picEffect.collapse.speed1 / 100;
|
|
picture._picEffect.collapse.range = speed;
|
|
picture._picEffect.collapse.frameY += picture._picEffect.collapse.range;
|
|
this.setFrame(0, -picture._picEffect.collapse.frameY, this._picData.cw, this._picData.ch);
|
|
this.y -= picture._picEffect.collapse.frameY;
|
|
picture._picEffect.collapse.opacity -= (255 / this._picData.ch) * picture._picEffect.collapse.speed1 / 100;
|
|
} else {
|
|
picture._picEffect.collapse.opacity = -255;
|
|
};
|
|
if (picture._picEffect.breathEffect.mode >= 0) { this.updatepicBreathing(picture) };
|
|
};
|
|
if (picture._picEffect.collapse.mode > 0) {
|
|
this.anchor.y = 1;
|
|
this.y += this._picData.ch;
|
|
this.anchor.x = 0.5;
|
|
if (this.scale.x > 0) {
|
|
this.x += this._picData.cw / 2;
|
|
} else {
|
|
this.x -= this._picData.cw / 2;
|
|
};
|
|
};
|
|
this.blendMode = picture._picEffect.collapse.blendMode;
|
|
};
|
|
|
|
//==============================
|
|
// * refreshPicFrame
|
|
//==============================
|
|
Sprite_Picture.prototype.refreshPicFrame = function (picture, index) {
|
|
const x = index * this._picData.cw;
|
|
this.setFrame(x, 0, this._picData.cw, this._picData.ch);
|
|
};
|
|
|
|
//==============================
|
|
// * setPicEffectData
|
|
//==============================
|
|
Sprite_Picture.prototype.setPicEffectData = function (picture) {
|
|
picture._picEffect.needRefresh = false;
|
|
this._picData = {};
|
|
this._picData.ch = this.bitmap.height;
|
|
this._picAnimated = picture.picIsAnimated();
|
|
if (picture.isPicCharMode()) {
|
|
this._picData.cw = this.bitmap.width / 3;
|
|
} else if (picture.isPicTwoFaces()) {
|
|
this._picData.cw = this.bitmap.width / 2;
|
|
} else {
|
|
this._picData.cw = picture.picIsAnimated() ? this.bitmap.width / picture._picEffect.animatedEffect.frameMax : this.bitmap.width;
|
|
};
|
|
this.refreshPicFrame(picture, 0);
|
|
};
|
|
|
|
//==============================
|
|
// * needRefreshData
|
|
//==============================
|
|
Sprite_Picture.prototype.needRefreshData = function (picture) {
|
|
if (!this.bitmap) { return false };
|
|
if (!this.bitmap.isReady()) { return false };
|
|
if (picture._picEffect.needRefresh) { return true };
|
|
if (this._picAnimated != picture.picIsAnimated()) { return true };
|
|
if (this._picData) { return false };
|
|
return true;
|
|
};
|
|
|
|
//==============================
|
|
// * clear Pic Data
|
|
//==============================
|
|
Sprite_Picture.prototype.clearPicData = function () {
|
|
this._picData = null;
|
|
};
|
|
|
|
//==============================
|
|
// ♦ ALIAS ♦ Update
|
|
//==============================
|
|
const _mog_picEffects_sprite_picture_update = Sprite_Picture.prototype.update;
|
|
Sprite_Picture.prototype.update = function () {
|
|
_mog_picEffects_sprite_picture_update.call(this);
|
|
const pic = this.picture();
|
|
if (pic) {
|
|
if (this.needRefreshData(pic)) { this.setPicEffectData(pic) };
|
|
if (this.visible && this._picData) { this.updatePictureEffects(pic) };
|
|
} else {
|
|
if (this._picData) { this.clearPicData() };
|
|
};
|
|
};
|
|
|
|
})();
|