brainwashing-school/js/plugins/MOG_BattleHud.js
2025-02-25 10:53:19 -06:00

5278 lines
158 KiB
JavaScript

//=============================================================================
// MOG_BattleHud.js - (Template 11)
//=============================================================================
/*:
* @target MZ
* @plugindesc (v1.1) Permite customizar o layout de batalha.
* @author Moghunter
* @url https://atelierrgss.wordpress.com
*
* @param -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Hud X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis da Hud.
* @default -90
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis da Hud.
* @default 480
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Space X
* @text Space X
* @desc Define o espaço na horizontal entre as huds.
* @default 0
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Space Y
* @text Space Y
* @desc Define o espaço na vertical entre as huds.
* @default 0
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Slide X
* @text Slide Animation X
* @desc Deslizar X-Axis.
* @default 0
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Slide Y
* @text Slide Animation Y
* @desc Deslizar Y-Axis.
* @default 250
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Vertical Mode
* @desc Deixar a Hud na posição vertical.
* @default false
* @type boolean
* @on Vertical Mode
* @off Horizontal Mode
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Max Battle Members
* @desc Quantidade de maxima de battler na batalha.
* @type number
* @min 1
* @default 4
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> LAYOUT OVERLAY <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Layout2 Visible
* @text Visible
* @desc Ativar o segunda imagem do layout, esta imagem
* ficará acima das faces e medidores.
* @default true
* @type boolean
* @parent -> LAYOUT OVERLAY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout2 X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis da Hud.
* @default 0
* @parent -> LAYOUT OVERLAY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout2 Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis da Hud.
* @default 0
* @parent -> LAYOUT OVERLAY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> TURN <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Turn Visible
* @text Visible
* @desc Apresentar a imagem do turno.
* @default true
* @type boolean
* @parent -> TURN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Turn X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis do turno.
* @default -5
* @parent -> TURN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Turn Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis do turno.
* @default -160
* @parent -> TURN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Turn Rotation Speed
* @text Rotation Animation Speed
* @desc Definição da velocidade de rotação da imagem.
* @default 0
* @parent -> TURN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Turn Zoom Animation
* @text Zoom Animation
* @desc Ativar a animação de zoom ao ativar.
* @default true
* @type boolean
* @parent -> TURN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> FACE <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Face Visible
* @text Visible
* @desc Apresentar a imagem da face.
* @default true
* @type boolean
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis da face.
* @default 80
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis da face.
* @default 10
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Shake Animation
* @text Shake Animation
* @desc Ativar animação de tremer da face.
* @default true
* @type boolean
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Zoom Animation
* @text Zoom Animation
* @desc Ativar animação de zoom de ação.
* @default true
* @type boolean
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Frame Animation
* @text Animated (Frames)
* @desc Ativar animação por frames.
* É necessário dividir a imagem por 5.
* @default true
* @type boolean
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Priority
* @text Priority
* @desc Prioridade da Face. (0 Low - 1 High)
* @type select
* @option Low (Below of Gauge)
* @value 0
* @option High (Above of Gauge)
* @value 1
* @default 0
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> NAME <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Name Visible
* @text Visible
* @desc Apresentar o nome do personagem.
* @default true
* @type boolean
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis do nome.
* @default -45
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis do nome.
* @default 65
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Align
* @text Text Alignment
* @desc Alinhamento do nome.
* 0 - Left 1 - Center 2 - Right
* @type select
* @option Left
* @value 0
* @option Center
* @value 1
* @option Right
* @value 2
* @default 1
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Font Size
* @text Font Size
* @desc Definição do tamanho da fonte do nome.
* @default 20
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Bold Size
* @text Bold Size
* @desc Definição do tamanho do contorno.
* @default 4
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Font Italic
* @text Font Italic
* @desc Ativar fonte em itálico.
* @default false
* @type boolean
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> HP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param HP Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de HP
* @default true
* @type boolean
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de HP.
* @default 87
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de HP.
* @default 7
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Flow Anime
* @text Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default true
* @type boolean
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Visible
* @text Number Visible
* @desc Apresentar o numero de HP
* @default true
* @type boolean
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Align type
* @text Number Alignment
* @desc Definição do tipo de alinhamento dos números.
* (0 - right / 1 - Center / 2 - Left / 3 - Diagonal)
* @type select
* @option Right
* @value 0
* @option Center
* @value 1
* @option Left
* @value 2
* @option Diagonal
* @value 3
* @default 0
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number X-Axis
* @text Number X-Axis
* @desc Definição da posição X-Axis do numero de HP.
* @default 170
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Y-Axis
* @text Number Y-Axis
* @desc Definição da posição Y-Axis do numero de HP.
* @default -11
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number Visible
* @text Max HP Visible
* @desc Apresentar o numero de HP maximo.
* @default false
* @type boolean
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number X-Axis
* @text Max HP X-Axis
* @desc Definição da posição X-Axis do numero de HP maximo.
* @default 0
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number Y-Axis
* @text Max HP Y-Axis
* @desc Definição da posição Y-Axis do numero de HP maximo.
* @default 0
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> MP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param MP Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de MP
* @default true
* @type boolean
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de MP.
* @default 104
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de MP.
* @default 33
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Flow Anime
* @text Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default true
* @type boolean
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Visible
* @text Number Visible
* @desc Apresentar o numero de MP
* @default true
* @type boolean
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Align type
* @text Number Alignment
* @desc Definição do tipo de alinhamento dos números.
* (0 - right / 1 - Center / 2 - Left / 3 - Diagonal)
* @type select
* @option Right
* @value 0
* @option Center
* @value 1
* @option Left
* @value 2
* @option Diagonal
* @value 3
* @default 0
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number X-Axis
* @text Number X-Axis
* @desc Definição da posição X-Axis do numero de MP.
* @default 187
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Y-Axis
* @text Number Y-Axis
* @desc Definição da posição Y-Axis do numero de MP.
* @default 26
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number Visible
* @text Max MP Visible
* @desc Apresentar o numero de MP maximo.
* @default false
* @type boolean
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number X-Axis
* @text Max HP X-Axis
* @desc Definição da posição X-Axis do numero de MP maximo.
* @default 0
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number Y-Axis
* @text Max HP Y-Axis
* @desc Definição da posição Y-Axis do numero de MP maximo.
* @default 0
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> TP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param TP Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de TP
* @default true
* @type boolean
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de TP.
* @default 104
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de TP.
* @default 59
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Flow Anime
* @text Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default true
* @type boolean
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Visible
* @text Number Visible
* @desc Apresentar o numero de TP.
* @default true
* @type boolean
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Align type
* @text Number Alignment
* @desc Definição do tipo de alinhamento dos números.
* (0 - right / 1 - Center / 2 - Left / 3 - Diagonal)
* @type select
* @option Right
* @value 0
* @option Center
* @value 1
* @option Left
* @value 2
* @option Diagonal
* @value 3
* @default 0
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number X-Axis
* @text Number X-Axis
* @desc Definição da posição X-Axis do numero de TP.
* @default 187
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Y-Axis
* @text Number Y-Axis
* @desc Definição da posição Y-Axis do numero de TP.
* @default 43
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number Visible
* @text Max TP Visible
* @desc Apresentar o numero de TP maximo.
* @default false
* @type boolean
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number X-Axis
* @text Max TP X-Axis
* @desc Definição da posição X-Axis do numero de TP maximo.
* @default 0
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number Y-Axis
* @text Max TP Y-Axis
* @desc Definição da posição Y-Axis do numero de TP maximo.
* @default 0
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> ATB <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param ATB Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de TP
* @default true
* @type boolean
* @parent -> ATB <<<<<<<<<<<<<<<<<<<<<<<
*
* @param ATB Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de ATB.
* @default 69
* @parent -> ATB <<<<<<<<<<<<<<<<<<<<<<<
*
* @param ATB Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de ATB.
* @default 117
* @parent -> ATB <<<<<<<<<<<<<<<<<<<<<<<
*
* @param ATB Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @parent -> ATB <<<<<<<<<<<<<<<<<<<<<<<
*
* @param ATB Meter Flow Anime
* @text Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default true
* @type boolean
* @parent -> ATB <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> STATES <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param States Visible
* @text Visible
* @desc Apresentar o numero as condições.
* @default true
* @type boolean
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States X-Axis
* @text X-Axis
* @desc Definição da posição X-Axis das condições.
* @default 102
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States Y-Axis
* @text Y-Axis
* @desc Definição da posição Y-Axis das condições.
* @default 76
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States Mode
* @text View Mode
* @desc Definição do modo apresentado das condições.
* 0 - Timing Mode 1 - Line Mode
* @type select
* @option Timing Mode (Show one state for second)
* @value 0
* @option Line Mode (Show all states)
* @value 1
* @default 0
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States Max
* @text Max number of states
* @desc Quantidade maxima de ícones apresentados.
* @type number
* @min 1
* @default 4
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States Align
* @text Alignment
* @desc Alinhamento dos ícones.
* 0 - Left 1 - Right 2 - Upper 3 - Below
* @type select
* @option Left
* @value 0
* @option Right
* @value 1
* @option Upper
* @value 2
* @option Below
* @value 3
* @default 0
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Command <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Command Auto Adjust
* @text Position Mode
* @desc Ativar ajuste automático baseado na posição
* da Hud.
* @type select
* @option Auto
* @value 0
* @option Static
* @value 1
* @default 0
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command X-Axis
* @text X-Axis
* @desc Definição do posição X-axis do comando.
* @default 0
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do comando.
* @default -120
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command Width
* @text Width
* @desc Definição da largura da janela.
* @default 0
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command Slide X
* @text Slide Animation X
* @desc Animação de slide X-Axis.
* @default 0
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Command Slide Y
* @text Slide Animation Y
* @desc Animação de slide Y-Axis.
* @default 64
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Command
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Command X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default -20
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Command Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -25
* @parent -> W COMMAND <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Party <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param W Party X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 325
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Party Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 170
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Party Width
* @text Width
* @desc Definição da largura da janela.
* @default 0
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Party Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Party Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Party Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default -100
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Party
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Party X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default -325
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Party Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -42
* @parent -> W PARTY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Help <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param W Help X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Help Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Help Width
* @text Width
* @desc Definição da largura da janela.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Help Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Help Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Help Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default -50
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Help
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Help X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Help Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default 0
* @parent -> W HELP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Skill <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param W Skill X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill Width
* @text Width
* @desc Definição da largura da janela.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill maxCols
* @text Max Columns
* @desc Definição da quantidade de colunas da janela.
* @type number
* @min 1
* @default 2
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Skill Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default 50
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Skill
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Skill X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default 0
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Skill Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -67
* @parent -> W SKILL <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Item <<<<<<<<<<<<<<<<<<<<<<<
* @desc
* @default
*
* @param W Item X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item Width
* @text Width
* @desc Definição da largura da janela.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item maxCols
* @text Max Columns
* @desc Definição da quantidade de colunas da janela.
* @type number
* @min 1
* @default 2
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Item Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default 50
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Item
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Item X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default 0
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Item Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -67
* @parent -> W ITEM <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Actor <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param W Actor X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 0
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 0
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor Width
* @text Width
* @desc Definição da largura da janela.
* @default 200
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor maxCols
* @text Max Columns
* @desc Definição da quantidade de colunas da janela.
* @type number
* @min 1
* @default 1
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Actor Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default 50
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Actor
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Actor X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default 0
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Actor Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -67
* @parent -> W ACTOR <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
* @text -> Window Enemy <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param W Enemy X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da janela.
* @default 0
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis do janela.
* @default 0
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy Width
* @text Width
* @desc Definição da largura da janela.
* @default 200
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy Height
* @text Height
* @desc Definição da altura da janela.
* @default 0
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy maxCols
* @text Max Columns
* @desc Definição da quantidade de colunas da janela.
* @type number
* @min 1
* @default 2
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy Slide X
* @text Slide Animation X
* @desc Animação de Slide X-Axis.
* @default 0
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param W Enemy Slide Y
* @text Slide Animation Y
* @desc Animação de Slide Y-Axis.
* @default 50
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Enemy
* @text Layout (Picture)
* @desc Ativar a imagem de layout.
* @default true
* @type boolean
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Enemy X-Axis
* @text Layout X-Axis
* @desc Definição do posição X-axis do layout.
* @default 0
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param L Enemy Y-Axis
* @text Layout Y-Axis
* @desc Definição do posição Y-axis do layout.
* @default -67
* @parent -> W ENEMY <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> SCREEN LAYOUT <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Screen Layout
* @text Visible
* @desc Ativar o Layout da tela.
* @default true
* @type boolean
* @parent -> SCREEN LAYOUT <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Screen X-Axis
* @text X-Axis
* @desc Definição do posição X-axis da imagem.
* @default 0
* @parent -> SCREEN LAYOUT <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Screen Y-Axis
* @text Y-Axis
* @desc Definição do posição Y-axis da imagem.
* @default 0
* @parent -> SCREEN LAYOUT <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Custom Position 1
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 2
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 3
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 4
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 5
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 6
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 7
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Custom Position 8
* @desc Definição da posição da hud.
* Ex - 200,200
* @default
* @parent -> CUSTOM POSITION <<<<<<<<<<<<<<<<<<<<<<<
*
* @help
* =============================================================================
* +++ MOG_BattleHud (v1.1) +++
* By Moghunter
* https://atelierrgss.wordpress.com/
* =============================================================================
* O plugin permite customizar o layout de batalha.
*
* =============================================================================
* - REQUIRED FILES
* =============================================================================
* Serão necessários os arquivos. (img/battlehud/)
*
* -> HP_Meter.png
* -> HP_Number.png
* -> MP_Meter.png
* -> MP_Number.png
* -> TP_Meter.png
* -> TP_Number.png
* -> ATB_Meter.png
* -> Layout.png
* -> Layout_Actor.png
* -> Layout_Command.png
* -> Layout_Enemy.png
* -> Layout_Help.png
* -> Layout_Item.png
* -> Layout_Party.png
* -> Layout_Screen.png
* -> Layout_Skill.png
* -> Turn.png
*
* =============================================================================
* Para nomear as faces dos battlers basta nomear da seguinte forma.
*
* Face_ + ACTOR_ID.png
*
* Face_1.png
* Face_2.png
* Face_3.png
* ...
*
* =============================================================================
* - NOTETAGS
* =============================================================================
* Para ativar o efeito de respirar nas faces utilize a notetag abaixo
*
* Face Breath Effect
*
* =============================================================================
* - SCRIPT COMMANDS
* =============================================================================
* Para ocultar a hud use o comando abaixo.
*
* $gameSystem._bhud_visible = false
*
* Para apresentar a hud use o commando abaixo.
*
* $gameSystem._bhud_visible = true
*
* =============================================================================
* * HISTÓRICO
* =============================================================================
* (v1.1) - Compatibilidade com MOG_Menu Cursor e outros plugins.
*
*/
//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
var Imported = Imported || {};
Imported.MOG_BattleHud = true;
var Moghunter = Moghunter || {};
Moghunter.parameters = PluginManager.parameters("MOG_BattleHud");
// HUD POSITION
Moghunter.bhud_pos_x = Number(Moghunter.parameters["Hud X-Axis"] || -90);
Moghunter.bhud_pos_y = Number(Moghunter.parameters["Hud Y-Axis"] || 480);
Moghunter.bhud_space_x = Number(Moghunter.parameters["Hud Space X"] || 0);
Moghunter.bhud_space_y = Number(Moghunter.parameters["Hud Space Y"] || 0);
Moghunter.bhud_pos_mode = String(
Moghunter.parameters["Vertical Mode"] || false
);
Moghunter.bhud_max_battle_members = Number(
Moghunter.parameters["Max Battle Members"] || 4
);
Moghunter.bhud_slideX = Number(Moghunter.parameters["Hud Slide X"] || 0);
Moghunter.bhud_slideY = Number(Moghunter.parameters["Hud Slide Y"] || 0);
// Layout Overlay
Moghunter.bhud_layoverlay_visible = String(
Moghunter.parameters["Layout2 Visible"] || "true"
);
Moghunter.bhud_layoverlay_x = Number(
Moghunter.parameters["Layout2 X-Axis"] || 0
);
Moghunter.bhud_layoverlay_y = Number(
Moghunter.parameters["Layout2 Y-Axis"] || 0
);
// Screen Layout
Moghunter.bhud_screen_layout = String(
Moghunter.parameters["Screen Layout"] || "true"
);
Moghunter.bhud_screen_layout_x = Number(
Moghunter.parameters["Screen X-Axis"] || 0
);
Moghunter.bhud_screen_layout_y = Number(
Moghunter.parameters["Screen Y-Axis"] || 0
);
// TURN POSITION
Moghunter.bhud_turn_visible = String(
Moghunter.parameters["Turn Visible"] || true
);
Moghunter.bhud_turn_pos_x = Number(Moghunter.parameters["Turn X-Axis"] || -10);
Moghunter.bhud_turn_pos_y = Number(Moghunter.parameters["Turn Y-Axis"] || -10);
Moghunter.bhud_turn_rotation = Number(
Moghunter.parameters["Turn Rotation Speed"] || 0.01
);
Moghunter.bhud_turn_zoom = String(
Moghunter.parameters["Turn Zoom Animation"] || "true"
);
// FACE POSITION
Moghunter.bhud_face_visible = String(
Moghunter.parameters["Face Visible"] || true
);
Moghunter.bhud_face_shake = String(
Moghunter.parameters["Face Shake Animation"] || true
);
Moghunter.bhud_face_zoom = String(
Moghunter.parameters["Face Zoom Animation"] || true
);
Moghunter.bhud_face_animated = String(
Moghunter.parameters["Face Frame Animation"] || false
);
Moghunter.bhud_face_pos_x = Number(Moghunter.parameters["Face X-Axis"] || 52);
Moghunter.bhud_face_pos_y = Number(Moghunter.parameters["Face Y-Axis"] || 52);
Moghunter.bhud_face_priority = Number(
Moghunter.parameters["Face Priority"] || 0
);
// NAME POSITION
Moghunter.bhud_name_visible = String(
Moghunter.parameters["Name Visible"] || true
);
Moghunter.bhud_name_font_size = Number(
Moghunter.parameters["Name Font Size"] || 20
);
Moghunter.bhud_name_font_bold_size = Number(
Moghunter.parameters["Name Bold Size"] || 4
);
Moghunter.bhud_name_font_italic = String(
Moghunter.parameters["Name Font Italic"] || false
);
Moghunter.bhud_name_align = Number(Moghunter.parameters["Name Align"] || 1);
Moghunter.bhud_name_pos_x = Number(Moghunter.parameters["Name X-Axis"] || -25);
Moghunter.bhud_name_pos_y = Number(Moghunter.parameters["Name Y-Axis"] || 65);
// HP METER POSITION
Moghunter.bhud_hp_meter_visible = String(
Moghunter.parameters["HP Meter Visible"] || true
);
Moghunter.bhud_hp_meter_pos_x = Number(
Moghunter.parameters["HP Meter X-Axis"] || 87
);
Moghunter.bhud_hp_meter_pos_y = Number(
Moghunter.parameters["HP Meter Y-Axis"] || 7
);
Moghunter.bhud_hp_meter_rotation = Number(
Moghunter.parameters["HP Meter Angle"] || 0
);
Moghunter.bhud_hp_meter_flow = String(
Moghunter.parameters["HP Meter Flow Anime"] || true
);
// HP NUMBER POSITION
Moghunter.bhud_hp_number_visible = String(
Moghunter.parameters["HP Number Visible"] || true
);
Moghunter.bhud_hp_number_pos_x = Number(
Moghunter.parameters["HP Number X-Axis"] || 170
);
Moghunter.bhud_hp_number_pos_y = Number(
Moghunter.parameters["HP Number Y-Axis"] || -11
);
Moghunter.bhud_maxhp_number_visible = String(
Moghunter.parameters["MaxHP Number Visible"] || false
);
Moghunter.bhud_maxhp_number_pos_x = Number(
Moghunter.parameters["MaxHP Number X-Axis"] || 245
);
Moghunter.bhud_maxhp_number_pos_y = Number(
Moghunter.parameters["MaxHP Number Y-Axis"] || 20
);
Moghunter.bhud_hp_align_type = Number(
Moghunter.parameters["HP Number Align type"] || 0
);
// MP METER POSITION
Moghunter.bhud_mp_meter_visible = String(
Moghunter.parameters["MP Meter Visible"] || true
);
Moghunter.bhud_mp_meter_pos_x = Number(
Moghunter.parameters["MP Meter X-Axis"] || 104
);
Moghunter.bhud_mp_meter_pos_y = Number(
Moghunter.parameters["MP Meter Y-Axis"] || 33
);
Moghunter.bhud_mp_meter_rotation = Number(
Moghunter.parameters["MP Meter Angle"] || 0
);
Moghunter.bhud_mp_meter_flow = String(
Moghunter.parameters["MP Meter Flow Anime"] || true
);
// MP NUMBER POSITION
Moghunter.bhud_mp_number_visible = String(
Moghunter.parameters["MP Number Visible"] || true
);
Moghunter.bhud_mp_number_pos_x = Number(
Moghunter.parameters["MP Number X-Axis"] || 187
);
Moghunter.bhud_mp_number_pos_y = Number(
Moghunter.parameters["MP Number Y-Axis"] || 16
);
Moghunter.bhud_maxmp_number_visible = String(
Moghunter.parameters["MaxMP Number Visible"] || false
);
Moghunter.bhud_maxmp_number_pos_x = Number(
Moghunter.parameters["MaxMP Number X-Axis"] || 196
);
Moghunter.bhud_maxmp_number_pos_y = Number(
Moghunter.parameters["MaxMP Number Y-Axis"] || 78
);
Moghunter.bhud_mp_align_type = Number(
Moghunter.parameters["MP Number Align type"] || 0
);
Moghunter.bhud_mp_diagonal_number = Number(
Moghunter.parameters["MP Number Diagonal"] || true
);
// TP METER POSITION
Moghunter.bhud_tp_meter_visible = String(
Moghunter.parameters["TP Meter Visible"] || true
);
Moghunter.bhud_tp_meter_pos_x = Number(
Moghunter.parameters["TP Meter X-Axis"] || 104
);
Moghunter.bhud_tp_meter_pos_y = Number(
Moghunter.parameters["TP Meter Y-Axis"] || 59
);
Moghunter.bhud_tp_meter_rotation = Number(
Moghunter.parameters["TP Meter Angle"] || 0
);
Moghunter.bhud_tp_meter_flow = String(
Moghunter.parameters["TP Meter Flow Anime"] || true
);
// TP NUMBER POSITION
Moghunter.bhud_tp_number_visible = String(
Moghunter.parameters["TP Number Visible"] || true
);
Moghunter.bhud_tp_number_pos_x = Number(
Moghunter.parameters["TP Number X-Axis"] || 187
);
Moghunter.bhud_tp_number_pos_y = Number(
Moghunter.parameters["TP Number Y-Axis"] || 43
);
Moghunter.bhud_maxtp_number_visible = String(
Moghunter.parameters["MaxTP Number Visible"] || false
);
Moghunter.bhud_maxtp_number_pos_x = Number(
Moghunter.parameters["MaxTP Number X-Axis"] || 185
);
Moghunter.bhud_maxtp_number_pos_y = Number(
Moghunter.parameters["MaxTP Number Y-Axis"] || 116
);
Moghunter.bhud_tp_align_type = Number(
Moghunter.parameters["TP Number Align type"] || 0
);
Moghunter.bhud_tp_diagonal_number = Number(
Moghunter.parameters["TP Number Diagonal"] || false
);
// AT METER POSITION
Moghunter.bhud_at_meter_visible = String(
Moghunter.parameters["ATB Meter Visible"] || true
);
Moghunter.bhud_at_meter_pos_x = Number(
Moghunter.parameters["ATB Meter X-Axis"] || 69
);
Moghunter.bhud_at_meter_pos_y = Number(
Moghunter.parameters["ATB Meter Y-Axis"] || 117
);
Moghunter.bhud_at_meter_rotation = Number(
Moghunter.parameters["ATB Meter Angle"] || 0
);
Moghunter.bhud_at_meter_flow = String(
Moghunter.parameters["ATB Meter Flow Anime"] || true
);
// STATES POSITION
Moghunter.bhud_states_visible = String(
Moghunter.parameters["States Visible"] || true
);
Moghunter.bhud_states_pos_x = Number(
Moghunter.parameters["States X-Axis"] || 102
);
Moghunter.bhud_states_pos_y = Number(
Moghunter.parameters["States Y-Axis"] || 76
);
Moghunter.bhud_statesType = Number(Moghunter.parameters["States Mode"] || 0);
Moghunter.bhud_statesMax = Number(Moghunter.parameters["States Max"] || 4);
Moghunter.bhud_statesAlign = Number(Moghunter.parameters["States Align"] || 0);
// COMMAND WINDOWS
Moghunter.bhud_auto_pos = Number(
Moghunter.parameters["Command Auto Adjust"] || 0
);
Moghunter.bhud_com_x = Number(Moghunter.parameters["W Command X-Axis"] || -5);
Moghunter.bhud_com_y = Number(Moghunter.parameters["W Command Y-Axis"] || -15);
Moghunter.bhud_com_layout = String(
Moghunter.parameters["Layout Command"] || true
);
Moghunter.bhud_com_lay_x = Number(
Moghunter.parameters["L Command X-Axis"] || -25
);
Moghunter.bhud_com_lay_y = Number(
Moghunter.parameters["L Command Y-Axis"] || -35
);
Moghunter.bhud_com_width = Number(
Moghunter.parameters["W Command Width"] || 192
);
Moghunter.bhud_com_height = Number(
Moghunter.parameters["W Command Height"] || 200
);
Moghunter.bhud_com_slideX = Number(
Moghunter.parameters["W Command Slide X"] || 0
);
Moghunter.bhud_com_slideY = Number(
Moghunter.parameters["W Command Slide Y"] || 64
);
// PARTY WINDOWS
Moghunter.bhud_party_x = Number(Moghunter.parameters["W Party X-Axis"] || 325);
Moghunter.bhud_party_y = Number(Moghunter.parameters["W Party Y-Axis"] || 170);
Moghunter.bhud_party_layout = String(
Moghunter.parameters["Layout Party"] || true
);
Moghunter.bhud_party_lay_x = Number(
Moghunter.parameters["L Party X-Axis"] || -325
);
Moghunter.bhud_party_lay_y = Number(
Moghunter.parameters["L Party Y-Axis"] || -42
);
Moghunter.bhud_party_width = Number(Moghunter.parameters["W Party Width"] || 0);
Moghunter.bhud_party_height = Number(
Moghunter.parameters["W Party Height"] || 0
);
Moghunter.bhud_party_slide_x = Number(
Moghunter.parameters["W Party Slide X"] || 0
);
Moghunter.bhud_party_slide_y = Number(
Moghunter.parameters["W Party Slide Y"] || -150
);
// HELP WINDOW
Moghunter.bhud_help_x = Number(Moghunter.parameters["W Help X-Axis"] || 0);
Moghunter.bhud_help_y = Number(Moghunter.parameters["W Help Y-Axis"] || 0);
Moghunter.bhud_help_layout = String(
Moghunter.parameters["Layout Help"] || true
);
Moghunter.bhud_help_lay_x = Number(Moghunter.parameters["L Help X-Axis"] || 0);
Moghunter.bhud_help_lay_y = Number(Moghunter.parameters["L Help Y-Axis"] || 0);
Moghunter.bhud_help_width = Number(Moghunter.parameters["W Help Width"] || 0);
Moghunter.bhud_help_height = Number(Moghunter.parameters["W Help Height"] || 0);
Moghunter.bhud_help_slide_x = Number(
Moghunter.parameters["W Help Slide X"] || 0
);
Moghunter.bhud_help_slide_y = Number(
Moghunter.parameters["W Help Slide Y"] || -150
);
// SKILL WINDOW
Moghunter.bhud_skill_x = Number(Moghunter.parameters["W Skill X-Axis"] || 0);
Moghunter.bhud_skill_y = Number(Moghunter.parameters["W Skill Y-Axis"] || 416);
Moghunter.bhud_skill_layout = String(
Moghunter.parameters["Layout Skill"] || true
);
Moghunter.bhud_skill_lay_x = Number(
Moghunter.parameters["L Skill X-Axis"] || 0
);
Moghunter.bhud_skill_lay_y = Number(
Moghunter.parameters["L Skill Y-Axis"] || -67
);
Moghunter.bhud_skill_width = Number(Moghunter.parameters["W Skill Width"] || 0);
Moghunter.bhud_skill_height = Number(
Moghunter.parameters["W Skill Height"] || 0
);
Moghunter.bhud_skill_maxcols = Number(
Moghunter.parameters["W Skill maxCols"] || 2
);
Moghunter.bhud_skill_slide_x = Number(
Moghunter.parameters["W Skill Slide X"] || 0
);
Moghunter.bhud_skill_slide_y = Number(
Moghunter.parameters["W Skill Slide Y"] || 100
);
// ITEM WINDOW
Moghunter.bhud_item_x = Number(Moghunter.parameters["W Item X-Axis"] || 0);
Moghunter.bhud_item_y = Number(Moghunter.parameters["W Item Y-Axis"] || 416);
Moghunter.bhud_item_layout = String(
Moghunter.parameters["Layout Item"] || true
);
Moghunter.bhud_item_lay_x = Number(Moghunter.parameters["L Item X-Axis"] || 0);
Moghunter.bhud_item_lay_y = Number(
Moghunter.parameters["L Item Y-Axis"] || -67
);
Moghunter.bhud_item_width = Number(Moghunter.parameters["W Item Width"] || 0);
Moghunter.bhud_item_height = Number(Moghunter.parameters["W Item Height"] || 0);
Moghunter.bhud_item_maxcols = Number(
Moghunter.parameters["W Item maxCols"] || 2
);
Moghunter.bhud_item_slide_x = Number(
Moghunter.parameters["W Item Slide X"] || 0
);
Moghunter.bhud_item_slide_y = Number(
Moghunter.parameters["W Item Slide Y"] || 150
);
// ACTOR WINDOWS
Moghunter.bhud_actor_x = Number(Moghunter.parameters["W Actor X-Axis"] || 0);
Moghunter.bhud_actor_y = Number(Moghunter.parameters["W Actor Y-Axis"] || 0);
Moghunter.bhud_actor_layout = String(
Moghunter.parameters["Layout Actor"] || true
);
Moghunter.bhud_actor_lay_x = Number(
Moghunter.parameters["L Actor X-Axis"] || 0
);
Moghunter.bhud_actor_lay_y = Number(
Moghunter.parameters["L Actor Y-Axis"] || -67
);
Moghunter.bhud_actor_width = Number(Moghunter.parameters["W Actor Width"] || 0);
Moghunter.bhud_actor_height = Number(
Moghunter.parameters["W Actor Height"] || 0
);
Moghunter.bhud_actor_maxcols = Number(
Moghunter.parameters["W Actor maxCols"] || 1
);
Moghunter.bhud_actor_slide_x = Number(
Moghunter.parameters["W Actor Slide X"] || 0
);
Moghunter.bhud_actor_slide_y = Number(
Moghunter.parameters["W Actor Slide Y"] || 150
);
// ENEMY WINDOWS
Moghunter.bhud_enemy_x = Number(Moghunter.parameters["W Enemy X-Axis"] || 0);
Moghunter.bhud_enemy_y = Number(Moghunter.parameters["W Enemy Y-Axis"] || 416);
Moghunter.bhud_enemy_layout = String(
Moghunter.parameters["Layout Enemy"] || true
);
Moghunter.bhud_enemy_lay_x = Number(
Moghunter.parameters["L Enemy X-Axis"] || 0
);
Moghunter.bhud_enemy_lay_y = Number(
Moghunter.parameters["L Enemy Y-Axis"] || -67
);
Moghunter.bhud_enemy_width = Number(Moghunter.parameters["W Enemy Width"] || 0);
Moghunter.bhud_enemy_height = Number(
Moghunter.parameters["W Enemy Height"] || 0
);
Moghunter.bhud_enemy_maxcols = Number(
Moghunter.parameters["W Enemy maxCols"] || 2
);
Moghunter.bhud_enemy_slide_x = Number(
Moghunter.parameters["W Enemy Slide X"] || 0
);
Moghunter.bhud_enemy_slide_y = Number(
Moghunter.parameters["W Enemy Slide Y"] || 150
);
// Custom Position
Moghunter.bhud_custom_pos = [];
for (var i = 0; i < 8; i++) {
Moghunter.bhud_custom_pos[i] =
Moghunter.parameters["Custom Position " + String(i + 1)] || null;
}
//=============================================================================
//■■■■■■■■■■■■■■ SYSTEM PART ■■■■■■■■■■■■■■■■■■
//=============================================================================
//=============================================================================
// ■■■ ImageManager ■■■
//=============================================================================
//==============================
// * BHud
//==============================
ImageManager.loadBHud = function (filename) {
return this.loadBitmap("img/battlehud/", filename);
};
//=============================================================================
// ■■■ Game_Temp ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _alias_mog_bhud_temp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function () {
_alias_mog_bhud_temp_initialize.call(this);
this._bhud_position = [];
this._bhud_position_active = null;
this._battleEnd = false;
this._bhud_dp = false;
this._refreshBhud = false;
this._forceCreateBattleHud = false;
this._forceRemoveBattleHud = false;
};
//=============================================================================
// ■■■ Game_System ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _alias_mog_bhud_sys_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () {
_alias_mog_bhud_sys_initialize.call(this);
this._bhud_position = [];
for (var i = 0; i < 8; i++) {
this._bhud_position[i] = this.set_hudcp(Moghunter.bhud_custom_pos[i]);
}
this._bhud_auto_com = false;
this._bhud_pos_mode = 0;
this._bhud_visible = true;
this._bhudFaceBattler =
String(Moghunter.bhud_face_visible) == "true" && !$dataSystem.optSideView
? true
: false;
if (String(Moghunter.bhud_pos_mode) == "true") {
this._bhud_pos_mode = 1;
}
if (Number(Moghunter.bhud_auto_pos) == 0) {
this._bhud_auto_com = true;
}
};
//==============================
// * set Hudcp
//==============================
Game_System.prototype.set_hudcp = function (value) {
if (!value) {
return null;
}
var s = value.split(",");
if (!s[0] || !s[1]) {
return null;
}
return [Number(s[0]), Number(s[1])];
};
//=============================================================================
// ■■■ Game Interpreter ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Command129
//==============================
var _alias_mog_bhud_command129 = Game_Interpreter.prototype.command129;
Game_Interpreter.prototype.command129 = function (params) {
_alias_mog_bhud_command129.call(this, params);
$gameTemp._refresh_Bhud = true;
return true;
};
//=============================================================================
// ■■■ Game Party ■■■
//=============================================================================
//==============================
// ♦♦♦ OVEWRITE ♦♦♦ max Battle Members
//==============================
Game_Party.prototype.maxBattleMembers = function () {
return Math.max(Number(Moghunter.bhud_max_battle_members), 1);
};
//=============================================================================
// ■■■ BattleManager ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ processVictory
//==============================
var _alias_mog_bhud_processVictory = BattleManager.processVictory;
BattleManager.processVictory = function () {
$gameTemp._battleEnd = true;
_alias_mog_bhud_processVictory.call(this);
};
//==============================
// ♦ ALIAS ♦ processAbort
//==============================
var _alias_mog_bhud_processAbort = BattleManager.processAbort;
BattleManager.processAbort = function () {
$gameTemp._battleEnd = true;
_alias_mog_bhud_processAbort.call(this);
};
//==============================
// ♦ ALIAS ♦ processDefeat
//==============================
var _alias_mog_bhud_processDefeat = BattleManager.processDefeat;
BattleManager.processDefeat = function () {
$gameTemp._battleEnd = true;
_alias_mog_bhud_processDefeat.call(this);
};
//=============================================================================
// ■■■ Game BattlerBase ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _alias_mog_bhud_gbat_initMembers = Game_BattlerBase.prototype.initMembers;
Game_BattlerBase.prototype.initMembers = function () {
_alias_mog_bhud_gbat_initMembers.call(this);
this.need_refresh_bhud_states = false;
this._bhud_face_data = [0, 0, 0, 0];
this._face_pos = [0, 0];
};
//==============================
// ♦ ALIAS ♦ addNewState
//==============================
var _alias_mog_bhud_addNewState = Game_BattlerBase.prototype.addNewState;
Game_BattlerBase.prototype.addNewState = function (stateId) {
_alias_mog_bhud_addNewState.call(this, stateId);
this.need_refresh_bhud_states = true;
};
//==============================
// ♦ ALIAS ♦ eraseState
//==============================
var _alias_mog_bhud_eraseState = Game_BattlerBase.prototype.eraseState;
Game_BattlerBase.prototype.eraseState = function (stateId) {
_alias_mog_bhud_eraseState.call(this, stateId);
this.need_refresh_bhud_states = true;
};
//=============================================================================
// ■■■ Game Battler ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ iniMembers
//==============================
var _mog_bhud_gbattler_initMembers = Game_Battler.prototype.initMembers;
Game_Battler.prototype.initMembers = function () {
_mog_bhud_gbattler_initMembers.call(this);
this._bhud = {};
this._bhud.faceBreath = false;
};
//==============================
// * 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]+/);
}
};
//==============================
// ** get Bmotion Idle
//==============================
Game_Battler.prototype.checkBhudNoteTags = function () {
this.notetags().forEach(function (note) {
var note_data = note.split(": ");
if (note_data[0].toLowerCase() == "face breath effect") {
this._bhud.faceBreath = true;
}
}, this);
};
//=============================================================================
// ■■■ Game Action ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Apply
//==============================
var _alias_mog_bhud_apply = Game_Action.prototype.apply;
Game_Action.prototype.apply = function (target) {
var oldhp = target.hp;
_alias_mog_bhud_apply.call(this, target);
if (target.isActor()) {
if (oldhp > target.hp) {
target._bhud_face_data = [60, 0, 3, 60];
} else if (oldhp < target.hp) {
target._bhud_face_data = [0, 70, 1, 70];
}
}
};
//==============================
// ♦ ALIAS ♦ Prepare
//==============================
var _alias_mog_bmhud_action_prepare = Game_Action.prototype.prepare;
Game_Action.prototype.prepare = function () {
_alias_mog_bmhud_action_prepare.call(this);
if (this.subject().isActor() && String(Moghunter.bhud_face_zoom) === "true") {
this.subject()._bhud_face_data = [0, 70, 2, 70];
}
};
//=============================================================================
// ■■■ Game Actor ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Gain HP
//==============================
var _alias_mog_bhud_gainHp = Game_Battler.prototype.gainHp;
Game_Battler.prototype.gainHp = function (value) {
_alias_mog_bhud_gainHp.call(this, value);
if (this.isActor()) {
this._bhud_face_data[3] += 1;
}
};
//==============================
// ♦ ALIAS ♦ Recover All
//==============================
var _alias_mog_bhud_recoverAll = Game_Battler.prototype.recoverAll;
Game_Battler.prototype.recoverAll = function () {
_alias_mog_bhud_recoverAll.call(this);
if (this.isActor()) {
this._bhud_face_data[3] += 1;
}
};
//=============================================================================
// ■■■ Sprite Battler ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ update Position
//==============================
var _alias_mog_bhud_sprt_actor_updatePosition =
Sprite_Battler.prototype.updatePosition;
Sprite_Battler.prototype.updatePosition = function () {
if (!$gameSystem.isSideView() && this._sprite_face) {
if (this._battler && $gameTemp._bhud_position[this._battler.index()]) {
this.x =
$gameTemp._bhud_position[this._battler.index()][0] +
Moghunter.bhud_face_pos_x;
this.y =
$gameTemp._bhud_position[this._battler.index()][1] +
Moghunter.bhud_face_pos_y;
return;
}
}
_alias_mog_bhud_sprt_actor_updatePosition.call(this);
};
//==============================
// ♦ ALIAS ♦ Setup Damage Popup
//==============================
var _alias_mog_bhud_sprt_actor_setupDamagePopup =
Sprite_Battler.prototype.setupDamagePopup;
Sprite_Battler.prototype.setupDamagePopup = function () {
if (!$gameSystem.isSideView() && this._sprite_face) {
this.setupDamagePopupBhud();
return;
}
_alias_mog_bhud_sprt_actor_setupDamagePopup.call(this);
};
//==============================
// ♦ Setup Damage Popup Bhud
//==============================
Sprite_Battler.prototype.setupDamagePopupBhud = function () {
if (this._battler.isDamagePopupRequested()) {
var sprite = new Sprite_Damage();
sprite.x = this.x;
sprite.y = this.y;
sprite.setup(this._battler);
this._damages.push(sprite);
this.parent.addChild(sprite);
this._battler.clearDamagePopup();
this._battler.clearResult();
}
};
//=============================================================================
// ■■■ Sprite Actor ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _alias_bhud_sprt_actor_initialize = Sprite_Actor.prototype.initialize;
Sprite_Actor.prototype.initialize = function (battler) {
_alias_bhud_sprt_actor_initialize.call(this, battler);
this._sprite_face = false;
if (String(Moghunter.bhud_face_visible) == "true") {
this._sprite_face = true;
}
};
//=============================================================================
// ■■■ Spriteset Battle ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ update Actors
//==============================
var _mog_bhud_sprbat_updateActors = Spriteset_Battle.prototype.updateActors;
Spriteset_Battle.prototype.updateActors = function () {
if (!$gameSystem.isSideView()) {
return;
}
_mog_bhud_sprbat_updateActors.call(this);
};
//=============================================================================
// ■■■■■■■■■■■■ SPRITESET BATTLE HUD PART■■■■■■■■■■■■
//=============================================================================
//=============================================================================
// ■■■ Game Temp ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ Initialize
//==============================
var _mog_bhud_anifTemp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function () {
_mog_bhud_anifTemp_initialize.call(this);
this._bhud_animationQueue = null;
};
//=============================================================================
// ■■■ Spriteset Base ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ createAnimation
//==============================
var _mog_bhud_aniF_createAnimation = Spriteset_Base.prototype.createAnimation;
Spriteset_Base.prototype.createAnimation = function (request) {
$gameTemp._bhud_animationQueue = request;
_mog_bhud_aniF_createAnimation.call(this, request);
};
//=============================================================================
// ■■■ Scene Base ■■■
//=============================================================================
//==============================
// ** create Hud Field
//==============================
Scene_Base.prototype.createHudField = function () {
this._hudField = new Sprite();
this._hudField.z = 10;
this.addChild(this._hudField);
};
//==============================
// ** sort MZ
//==============================
Scene_Base.prototype.sortMz = function () {
this._hudField.children.sort((a, b) => a.z - b.z);
};
//=============================================================================
// ■■■ Scene Battle ■■■
//=============================================================================
//==============================
// * create spriteset Battle Hud
//==============================
Scene_Battle.prototype.createSpritesetBattleHud = function () {
this._spriteSetBatHud = new Spriteset_BattleHud();
this._spriteSetBatHud.z = 10;
this._hudField.addChild(this._spriteSetBatHud);
this.sortMz();
};
//=============================================================================
// ■■■ Spriteset_BattleHud Base■■■
//=============================================================================
//=============================================================================
// * Spriteset_BattleHudBase
//=============================================================================
function Spriteset_BattleHudBase() {
this.initialize.apply(this, arguments);
}
Spriteset_BattleHudBase.prototype = Object.create(Sprite.prototype);
Spriteset_BattleHudBase.prototype.constructor = Spriteset_BattleHudBase;
//==============================
// ♦ Initialize ♦
//==============================
Spriteset_BattleHudBase.prototype.initialize = function () {
Sprite.prototype.initialize.call(this);
this.createSprites();
this.sortMz();
};
//==============================
// * sort MZ
//==============================
Spriteset_BattleHudBase.prototype.sortMz = function () {
this.children.sort((a, b) => a.z - b.z);
};
//==============================
// * need Create Actors
//==============================
Spriteset_BattleHudBase.prototype.needCreateActors = function () {
if (!$gameSystem.isSideView()) {
return true;
}
return false;
};
//==============================
// * create Sprites
//==============================
Spriteset_BattleHudBase.prototype.createSprites = function () {
this.createBattleHud();
};
//==============================
// * create Battle Hud
//==============================
Spriteset_BattleHudBase.prototype.createBattleHud = function () {
if (String(Moghunter.bhud_screen_layout) === "true") {
this.createBattleHudScreenLayout();
}
$gameTemp.refresh_Bhud = false;
$gameTemp._battleEnd = false;
this._com_mode = Number($gameSystem._bhud_pos_mode);
this._battle_hud = [];
for (var i = 0; i < $gameParty.maxBattleMembers(); i++) {
this._battle_hud[i] = new Battle_Hud(i);
this._battle_hud[i].z = 30 + i;
this.addChild(this._battle_hud[i]);
}
};
//==============================
// ** remove Battle Hud
//==============================
Spriteset_BattleHudBase.prototype.removeBattleHud = function () {
if (!this._battle_hud) {
return;
}
if (this._screen_layout) {
this.removeChild(this._screen_layout);
}
for (var i = 0; i < this._battle_hud.length; i++) {
this.removeChild(this._battle_hud[i]);
}
this._battle_hud = null;
};
//==============================
// * Create Battle Hud Screen
//==============================
Spriteset_BattleHudBase.prototype.createBattleHudScreenLayout = function () {
this._screen_layout = new Sprite(ImageManager.loadBHud("Layout_Screen"));
this._screen_layout.opacity = 0;
this._screen_layout.x = Moghunter.bhud_screen_layout_x;
this._screen_layout.y = Moghunter.bhud_screen_layout_y;
this._screen_layout.resize = [true, false];
this._screen_layout.z = 10;
this.addChild(this._screen_layout);
};
//==============================
// * needResizeScreenLayout
//==============================
Spriteset_BattleHudBase.prototype.needResizeScreenLayout = function () {
if (!this._screen_layout) {
return false;
}
if (!this._screen_layout.resize[0]) {
return false;
}
if (this._screen_layout.resize[1]) {
return false;
}
if (!this._screen_layout.bitmap.isReady()) {
return false;
}
return true;
};
//==============================
// * Resize Screen Layout
//==============================
Spriteset_BattleHudBase.prototype.resizeScreenLayout = function () {
if (this._screen_layout.bitmap.width < Graphics.width) {
this._screen_layout.scale.x =
Graphics.width / this._screen_layout.bitmap.width;
}
if (this._screen_layout.bitmap.height < Graphics.height) {
this._screen_layout.scale.y =
Graphics.height / this._screen_layout.bitmap.height;
}
this._screen_layout.resize[1] = true;
};
//==============================
// * create Animation Base
//==============================
Spriteset_BattleHudBase.prototype.createAnimationBase = function () {
this._animationSprites = [];
this._effectsContainer = new Sprite();
this._effectsContainer.z = 80;
this.addChild(this._effectsContainer);
};
//==============================
// * createActors
//==============================
Spriteset_BattleHudBase.prototype.createActors = function () {
this._actorSprites = [];
for (let i = 0; i < $gameParty.maxBattleMembers(); i++) {
const sprite = new Sprite_Actor();
sprite.z = 50 + i;
this._actorSprites.push(sprite);
this.addChild(sprite);
}
};
//==============================
// * Update Battle Hud visible
//==============================
Spriteset_BattleHudBase.prototype.updateBattleHudVisible = function () {
if (this.isBattleHudVisible()) {
this._screen_layout.opacity += 10;
} else {
this._screen_layout.opacity -= 10;
}
};
//==============================
// * Is Battle Hud Visible
//==============================
Spriteset_BattleHudBase.prototype.isBattleHudVisible = function () {
if ($gameMessage.isBusy()) {
return false;
}
if ($gameTemp._battleEnd) {
return false;
}
if (!$gameSystem._bhud_visible) {
return false;
}
return true;
};
//==============================
// * Refresh Battle Hud
//==============================
Spriteset_BattleHudBase.prototype.refreshBattleHud = function () {
if (!this._battle_hud) {
return;
}
$gameTemp._refresh_Bhud = false;
for (var i = 0; i < $gameParty.maxBattleMembers(); i++) {
this._battle_hud[i].refresh_bhud();
}
};
//==============================
// * force Create Battle Hud
//==============================
Spriteset_BattleHudBase.prototype.forceCreateBattleHud = function () {
$gameTemp._forceCreateBattleHud = false;
this.forceRemoveBattleHud();
this.createBattleHud();
this.sortMz();
};
//==============================
// * force Remove Battle Hud
//==============================
Spriteset_BattleHudBase.prototype.forceRemoveBattleHud = function () {
$gameTemp._forceRemoveBattleHud = false;
this.removeBattleHud();
};
//==============================
// * update Animations
//==============================
Spriteset_BattleHudBase.prototype.updateAnimations = function () {
for (const sprite of this._animationSprites) {
if (!sprite.isPlaying()) {
this.removeAnimation(sprite);
}
}
this.processAnimationRequests();
};
//==============================
// * processAnimations Requests
//==============================
Spriteset_BattleHudBase.prototype.processAnimationRequests = function () {
if ($gameTemp._bhud_animationQueue) {
this.createAnimation($gameTemp._bhud_animationQueue);
}
$gameTemp._bhud_animationQueue = null;
};
//==============================
// ♦ ALIAS ♦ Update
//==============================
Spriteset_BattleHudBase.prototype.update = function () {
Sprite.prototype.update.call(this);
if (this._screen_layout) {
this.updateBattleHudVisible();
}
if ($gameTemp._forceCreateBattleHud) {
this.forceCreateBattleHud();
}
if ($gameTemp._forceRemoveBattleHud) {
this.forceRemoveBattleHud();
}
if ($gameTemp._refresh_Bhud) {
this.refreshBattleHud();
}
};
//-------------------------------------------------------------------------
// ♣♣♣♣ Codes from "rmmz_sprites.JS" (Default Core) ♣♣♣♣
//-------------------------------------------------------------------------
//==============================
// ♣♣ create Animations ♣♣
//==============================
Spriteset_BattleHudBase.prototype.createAnimation = function (request) {
const animation = $dataAnimations[request.animationId];
const targets = request.targets;
const mirror = request.mirror;
let delay = this.animationBaseDelay();
const nextDelay = this.animationNextDelay();
if (this.isAnimationForEach(animation)) {
for (const target of targets) {
this.createAnimationSprite([target], animation, mirror, delay);
delay += nextDelay;
}
} else {
this.createAnimationSprite(targets, animation, mirror, delay);
}
};
//==============================
// ♣♣ create Animation Sprite ♣♣
//==============================
Spriteset_BattleHudBase.prototype.createAnimationSprite = function (
targets,
animation,
mirror,
delay
) {
const mv = this.isMVAnimation(animation);
const sprite = new (mv ? Sprite_AnimationMV : Sprite_Animation)();
const targetSprites = this.makeTargetSprites(targets);
const baseDelay = this.animationBaseDelay();
const previous = delay > baseDelay ? this.lastAnimationSprite() : null;
if (this.animationShouldMirror(targets[0])) {
mirror = !mirror;
}
sprite.targetObjects = targets;
sprite.setup(targetSprites, animation, mirror, delay, previous);
this._effectsContainer.addChild(sprite);
this._animationSprites.push(sprite);
};
//==============================
// ♣♣ findTargetSprite ♣♣
//==============================
Spriteset_BattleHudBase.prototype.findTargetSprite = function (target) {
return this._actorSprites.find((sprite) => sprite.checkBattler(target));
};
//==============================
// ♣♣ isMVAnimation ♣♣
//==============================
Spriteset_BattleHudBase.prototype.isMVAnimation = function (animation) {
return !!animation.frames;
};
//==============================
// ♣♣ makeTargetSprites ♣♣
//==============================
Spriteset_BattleHudBase.prototype.makeTargetSprites = function (targets) {
const targetSprites = [];
for (const target of targets) {
const targetSprite = this.findTargetSprite(target);
if (targetSprite) {
targetSprites.push(targetSprite);
}
}
return targetSprites;
};
//==============================
// ♣♣ lastAnimationSprite ♣♣
//==============================
Spriteset_BattleHudBase.prototype.lastAnimationSprite = function () {
return this._animationSprites[this._animationSprites.length - 1];
};
//==============================
// ♣♣ is AnimationFor Each ♣♣
//==============================
Spriteset_BattleHudBase.prototype.isAnimationForEach = function (animation) {
const mv = this.isMVAnimation(animation);
return mv ? animation.position !== 3 : animation.displayType === 0;
};
//==============================
// ♣♣ animationBaseDelay ♣♣
//==============================
Spriteset_BattleHudBase.prototype.animationBaseDelay = function () {
return 8;
};
//==============================
// ♣♣ animationNextDelay ♣♣
//==============================
Spriteset_BattleHudBase.prototype.animationNextDelay = function () {
return 12;
};
//==============================
// ♣♣ animationShouldMirror ♣♣
//==============================
Spriteset_BattleHudBase.prototype.animationShouldMirror = function (target) {
return target && target.isActor && target.isActor();
};
//==============================
// ♣♣ removeAnimation ♣♣
//==============================
Spriteset_BattleHudBase.prototype.removeAnimation = function (sprite) {
this._animationSprites.remove(sprite);
this._effectsContainer.removeChild(sprite);
for (const target of sprite.targetObjects) {
if (target.endAnimation) {
target.endAnimation();
}
}
sprite.destroy();
};
//==============================
// ♣♣ removeAllAnimations ♣♣
//==============================
Spriteset_BattleHudBase.prototype.removeAllAnimations = function () {
for (const sprite of this._animationSprites) {
this.removeAnimation(sprite);
}
};
//==============================
// ♣♣ isAnimationPlaying ♣♣
//==============================
Spriteset_BattleHudBase.prototype.isAnimationPlaying = function () {
return this._animationSprites.length > 0;
};
//==============================
// ♣♣ update Actors ♣♣
//==============================
Spriteset_BattleHudBase.prototype.updateActors = function () {
const members = $gameParty.battleMembers();
for (let i = 0; i < this._actorSprites.length; i++) {
this._actorSprites[i].setBattler(members[i]);
}
};
//-------------------------------------------------------------------------
// ♣♣♣ DEFAULT CORE END ♣♣♣
//-------------------------------------------------------------------------
//=============================================================================
// ■■■ Spriteset_BattleHud ■■■
//=============================================================================
//=============================================================================
// * Spriteset_BattleHud
//=============================================================================
function Spriteset_BattleHud() {
this.initialize.apply(this, arguments);
}
Spriteset_BattleHud.prototype = Object.create(
Spriteset_BattleHudBase.prototype
);
Spriteset_BattleHud.prototype.constructor = Spriteset_BattleHud;
//==============================
// ♦ Initialize ♦
//==============================
Spriteset_BattleHud.prototype.initialize = function () {
Spriteset_BattleHudBase.prototype.initialize.call(this);
};
//==============================
// ♦ createSprites ♦
//==============================
Spriteset_BattleHud.prototype.createSprites = function () {
Spriteset_BattleHudBase.prototype.createSprites.call(this);
if (this.needCreateActors()) {
this.createActors();
this.createAnimationBase();
}
};
//==============================
// ♦ Update ♦
//==============================
Spriteset_BattleHud.prototype.update = function () {
Spriteset_BattleHudBase.prototype.update.call(this);
if (this._actorSprites) {
this.updateActors();
}
if (this._animationSprites) {
this.updateAnimations();
}
if (this.needResizeScreenLayout()) {
this.resizeScreenLayout();
}
};
//=============================================================================
//■■■■■■■■■■■■ WINDOW PART ■■■■■■■■■■■■■■■■■■■■
//=============================================================================
//=============================================================================
// ■■■ Scene_Battle ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ startActor Selection
//==============================
var _mog_bhud_startActorSelection = Scene_Battle.prototype.startActorSelection;
Scene_Battle.prototype.startActorSelection = function () {
_mog_bhud_startActorSelection.call(this);
this._skillWindow.hide();
this._itemWindow.hide();
};
//==============================
// ♦ ALIAS ♦ onEnemyCancel
//==============================
var _mog_batHud_Scene_Battle_onEnemyCancel =
Scene_Battle.prototype.onEnemyCancel;
Scene_Battle.prototype.onEnemyCancel = function () {
_mog_batHud_Scene_Battle_onEnemyCancel.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ onSkillCancel
//==============================
var _mog_batHud_Scene_Battle_onSkillCancel =
Scene_Battle.prototype.onSkillCancel;
Scene_Battle.prototype.onSkillCancel = function () {
_mog_batHud_Scene_Battle_onSkillCancel.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ onItemCancel
//==============================
var _mog_batHud_Scene_Battle_onItemCancel = Scene_Battle.prototype.onItemCancel;
Scene_Battle.prototype.onItemCancel = function () {
_mog_batHud_Scene_Battle_onItemCancel.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ endCommandSelection
//==============================
var _mog_batHud_Scene_Battle_endCommandSelection =
Scene_Battle.prototype.endCommandSelection;
Scene_Battle.prototype.endCommandSelection = function () {
_mog_batHud_Scene_Battle_endCommandSelection.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ endCommandSelection
//==============================
var _mog_batHud_Scene_Battle_selectPreviousCommand =
Scene_Battle.prototype.selectPreviousCommand;
Scene_Battle.prototype.selectPreviousCommand = function () {
_mog_batHud_Scene_Battle_selectPreviousCommand.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ startActorCommandSelection
//==============================
var _mog_batHud_Scene_Battle_startActorCommandSelection =
Scene_Battle.prototype.startActorCommandSelection;
Scene_Battle.prototype.startActorCommandSelection = function () {
_mog_batHud_Scene_Battle_startActorCommandSelection.call(this);
this._statusWindow.hide();
this._statusWindow.close();
this._actorCommandWindow.visible = false;
};
//==============================
// ♦ ALIAS ♦ startPartyCommandSelection
//==============================
var _mog_batHud_Scene_Battle_startPartyCommandSelection =
Scene_Battle.prototype.startPartyCommandSelection;
Scene_Battle.prototype.startPartyCommandSelection = function () {
_mog_batHud_Scene_Battle_startPartyCommandSelection.call(this);
this._statusWindow.hide();
this._statusWindow.close();
};
//==============================
// ♦ ALIAS ♦ createStatusWindow
//==============================
var _mog_batHud_Scene_Battle_createStatusWindow =
Scene_Battle.prototype.createStatusWindow;
Scene_Battle.prototype.createStatusWindow = function () {
_mog_batHud_Scene_Battle_createStatusWindow.call(this);
this._statusWindow.hide();
this._statusWindow.close();
this._statusWindow.orgSize = [
this._statusWindow.width,
this._statusWindow.height,
];
};
//==============================
// * update Status Window Visible
//==============================
Scene_Battle.prototype.updateStatusWindowVisible = function () {
this._statusWindow.width = this._statusWindow.active
? this._statusWindow.orgSize[0]
: 0;
};
//==============================
// ♦ ALIAS ♦ createWindowLayer
//==============================
var _alias_mog_bhud_createWindowLayer =
Scene_Battle.prototype.createWindowLayer;
Scene_Battle.prototype.createWindowLayer = function () {
this.createLayoutWindow();
_alias_mog_bhud_createWindowLayer.call(this);
};
//==============================
// ♦ ALIAS ♦ createAllWindows
//==============================
var _alias_mog_bhud_createAllWindows = Scene_Battle.prototype.createAllWindows;
Scene_Battle.prototype.createAllWindows = function () {
_alias_mog_bhud_createAllWindows.call(this);
this.setNewDataAllWindows();
};
//==============================
// * setNewDataAllWindows
//==============================
Scene_Battle.prototype.setNewDataAllWindows = function () {
if (this._actorCommandWindow) {
this.setNewDataActorCommand();
}
if (this._partyCommandWindow) {
this.setNewDataPartyCommandWindow();
}
if (this._helpWindow) {
this.setNewDataHelpWindow();
}
if (this._skillWindow) {
this.setNewDataSkillWindow();
}
if (this._itemWindow) {
this.setNewDataItemWindow();
}
if (this._actorWindow) {
this.setNewDataActorWindow();
}
if (this._enemyWindow) {
this.setNewDataEnemyWindow();
}
};
//==============================
// * create Layout Window
//==============================
Scene_Battle.prototype.createLayoutWindow = function () {
this._layoutField = new Sprite();
var fx = Graphics.width === 816 ? -4 : 0;
this._layoutField.x = fx;
this._layoutField.y = 0;
this.addChild(this._layoutField);
if (String(Moghunter.bhud_com_layout) === "true") {
this.createActorCommandWindowLayout();
}
if (String(Moghunter.bhud_party_layout) === "true") {
this.createPartyCommandWindowLayout();
}
if (String(Moghunter.bhud_help_layout) === "true") {
this.createHelpWindowLayout();
}
if (String(Moghunter.bhud_skill_layout) === "true") {
this.createSkillWindowLayout();
}
if (String(Moghunter.bhud_item_layout) === "true") {
this.createItemWindowLayout();
}
if (String(Moghunter.bhud_actor_layout) === "true") {
this.createActorWindowLayout();
}
if (String(Moghunter.bhud_enemy_layout) === "true") {
this.createEnemyWindowLayout();
}
};
//==============================
// ♦ ALIAS ♦ Update
//==============================
var _alias_mog_bhud_scnbattle_update = Scene_Battle.prototype.update;
Scene_Battle.prototype.update = function () {
_alias_mog_bhud_scnbattle_update.call(this);
this.updateBattleHud();
};
//==============================
// * update Battle Hud
//==============================
Scene_Battle.prototype.updateBattleHud = function () {
this.updateWindowSlideEffect();
this.updateLayoutPosition();
if (this._statusWindow) {
this.updateStatusWindowVisible();
}
if (this._layoutField) {
this.updateBhudVisible();
}
};
//==============================
// * updateBhudVisible
//==============================
Scene_Battle.prototype.updateBhudVisible = function () {
this._layoutField.opacity = this.battleHudOpacity();
this._layoutField.visible = this.battleHudVisible();
this._spriteSetBatHud.opacity = this._layoutField.opacity;
this._spriteSetBatHud.visible = this._layoutField.visible;
};
//==============================
// * battle Hud Visible
//==============================
Scene_Battle.prototype.battleHudVisible = function () {
return true;
};
//==============================
// * battleHudOpacity
//==============================
Scene_Battle.prototype.battleHudOpacity = function () {
return 255;
};
//==============================
// * setNewDataActorCommand
//==============================
Scene_Battle.prototype.setNewDataActorCommand = function () {
var fx = (Graphics.width - 816) / 2 + 4;
var fy = (Graphics.height - 624) / 2;
var fx2 = fx - (Graphics.width - Graphics.boxWidth) / 2;
var fy2 = fy - (Graphics.height - Graphics.boxHeight) / 2;
this._actorCommandWindow.x = fx2 + Moghunter.bhud_com_x;
this._actorCommandWindow.y = fy2 + Moghunter.bhud_com_y;
this._actorCommandWindow.org = [
this._actorCommandWindow.x,
this._actorCommandWindow.y,
];
this._actorCommandWindow.vis = this._actorCommandWindow.visible;
if (String(Moghunter.bhud_com_layout) === "true") {
this._actorCommandWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ partyCommandWindowRect
//==============================
Scene_Battle.prototype.actorCommandWindowRect = function () {
const ww = 192 + Moghunter.bhud_com_width;
const wh = this.windowAreaHeight() + Moghunter.bhud_com_height;
const wx = this.isRightInputMode() ? Graphics.boxWidth - ww : 0;
const wy = Graphics.boxHeight - wh;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataPartyCommandWindow
//==============================
Scene_Battle.prototype.setNewDataPartyCommandWindow = function () {
var fx = (Graphics.width - 816) / 2 + 4;
var fy = (Graphics.height - 624) / 2;
var fx2 = fx - (Graphics.width - Graphics.boxWidth) / 2;
var fy2 = fy - (Graphics.height - Graphics.boxHeight) / 2;
this._partyCommandWindow.x = fx2 + Moghunter.bhud_party_x;
this._partyCommandWindow.y = fy2 + Moghunter.bhud_party_y;
this._partyCommandWindow.org = [
this._partyCommandWindow.x,
this._partyCommandWindow.y,
];
this._partyCommandWindow.org2 = [
this._partyCommandWindow.org[0] + Moghunter.bhud_party_slide_x,
this._partyCommandWindow.org[1] + Moghunter.bhud_party_slide_y,
];
this._partyCommandWindow.slide =
Moghunter.bhud_party_slide_x === 0 && Moghunter.bhud_party_slide_y === 0
? false
: true;
this._partyCommandWindow.vis = this._partyCommandWindow.visible;
if (String(Moghunter.bhud_party_layout) === "true") {
this._partyCommandWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ partyCommandWindowRect
//==============================
Scene_Battle.prototype.partyCommandWindowRect = function () {
const ww = 192 + Moghunter.bhud_party_width;
const wh = this.windowAreaHeight() + Moghunter.bhud_party_height;
const wx = this.isRightInputMode() ? Graphics.boxWidth - ww : 0;
const wy = Graphics.boxHeight - wh;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataHelpWindow
//==============================
Scene_Battle.prototype.setNewDataHelpWindow = function () {
this._helpWindow.x += Moghunter.bhud_help_x;
this._helpWindow.y += Moghunter.bhud_help_y;
this._helpWindow.org = [this._helpWindow.x, this._helpWindow.y];
this._helpWindow.org2 = [
this._helpWindow.org[0] + Moghunter.bhud_help_slide_x,
this._helpWindow.org[1] + Moghunter.bhud_help_slide_y,
];
this._helpWindow.slide =
Moghunter.bhud_help_slide_x === 0 && Moghunter.bhud_help_slide_y === 0
? false
: true;
this._helpWindow.vis = this._helpWindow.visible;
if (String(Moghunter.bhud_help_layout) === "true") {
this._helpWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ helpWindowRect
//==============================
Scene_Battle.prototype.helpWindowRect = function () {
const wx = 0;
const wy = this.helpAreaTop();
const ww = Graphics.boxWidth + Moghunter.bhud_help_width;
const wh = this.helpAreaHeight() + Moghunter.bhud_help_height;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataSkillWindow
//==============================
Scene_Battle.prototype.setNewDataSkillWindow = function () {
this._skillWindow.x += Moghunter.bhud_skill_x;
this._skillWindow.y += Moghunter.bhud_skill_y;
this._skillWindow.org = [this._skillWindow.x, this._skillWindow.y];
this._skillWindow.org2 = [
this._skillWindow.org[0] + Moghunter.bhud_skill_slide_x,
this._skillWindow.org[1] + Moghunter.bhud_skill_slide_y,
];
this._skillWindow.slide =
Moghunter.bhud_skill_slide_x === 0 && Moghunter.bhud_skill_slide_y === 0
? false
: true;
this._skillWindow.vis = this._skillWindow.visible;
if (String(Moghunter.bhud_skill_layout) === "true") {
this._skillWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ skillWindowRect
//==============================
Scene_Battle.prototype.skillWindowRect = function () {
const ww = Graphics.boxWidth + Moghunter.bhud_skill_width;
const wh = this.windowAreaHeight() + Moghunter.bhud_skill_height;
const wx = 0;
const wy = Graphics.boxHeight - wh;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataItemWindow
//==============================
Scene_Battle.prototype.setNewDataItemWindow = function () {
this._itemWindow.x += Moghunter.bhud_item_x;
this._itemWindow.y += Moghunter.bhud_item_y;
this._itemWindow.org = [this._itemWindow.x, this._itemWindow.y];
this._itemWindow.org2 = [
this._itemWindow.org[0] + Moghunter.bhud_item_slide_x,
this._itemWindow.org[1] + Moghunter.bhud_item_slide_y,
];
this._itemWindow.slide =
Moghunter.bhud_item_slide_x === 0 && Moghunter.bhud_item_slide_y === 0
? false
: true;
this._itemWindow.vis = this._itemWindow.visible;
if (String(Moghunter.bhud_item_layout) === "true") {
this._itemWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ itemWindowRect
//==============================
Scene_Battle.prototype.itemWindowRect = function () {
const ww = Graphics.boxWidth + Moghunter.bhud_item_width;
const wh = this.windowAreaHeight() + Moghunter.bhud_item_height;
const wx = 0;
const wy = Graphics.boxHeight - wh;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataActorWindow
//==============================
Scene_Battle.prototype.setNewDataActorWindow = function () {
this._actorWindow.x += Moghunter.bhud_actor_x;
this._actorWindow.y += Moghunter.bhud_actor_y;
this._actorWindow.org = [this._actorWindow.x, this._actorWindow.y];
this._actorWindow.org2 = [
this._actorWindow.org[0] + Moghunter.bhud_actor_slide_x,
this._actorWindow.org[1] + Moghunter.bhud_actor_slide_y,
];
this._actorWindow.slide =
Moghunter.bhud_actor_slide_x === 0 && Moghunter.bhud_actor_slide_y === 0
? false
: true;
this._actorWindow.vis = this._actorWindow.visible;
if (String(Moghunter.bhud_actor_layout) === "true") {
this._actorWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ actorWindowRect
//==============================
Scene_Battle.prototype.actorWindowRect = function () {
const extra = 10;
const ww = Graphics.boxWidth - 192 + Moghunter.bhud_actor_width;
const wh = this.windowAreaHeight() + extra + Moghunter.bhud_actor_height;
const wx = this.isRightInputMode() ? 0 : Graphics.boxWidth - ww;
const wy = Graphics.boxHeight - wh + extra - 4;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * setNewDataEnemyWindow
//==============================
Scene_Battle.prototype.setNewDataEnemyWindow = function () {
this._enemyWindow.x += Moghunter.bhud_enemy_x;
this._enemyWindow.y += Moghunter.bhud_enemy_y;
this._enemyWindow.org = [this._enemyWindow.x, this._enemyWindow.y];
this._enemyWindow.org2 = [
this._enemyWindow.org[0] + Moghunter.bhud_enemy_slide_x,
this._enemyWindow.org[1] + Moghunter.bhud_enemy_slide_y,
Graphics.width + this._enemyWindow.width * 2,
Graphics.height + this._enemyWindow.height * 2,
];
this._enemyWindow.slide =
Moghunter.bhud_enemy_slide_x === 0 && Moghunter.bhud_enemy_slide_y === 0
? false
: true;
this._enemyWindow.vis = this._enemyWindow.visible;
if (String(Moghunter.bhud_enemy_layout) === "true") {
this._enemyWindow.opacity = 0;
}
};
//==============================
// ♦ OVERWRITE ♦ enemyWindow Rect
//==============================
Scene_Battle.prototype.enemyWindowRect = function () {
const wx = this._statusWindow.x;
const ww = this._statusWindow.width + Moghunter.bhud_enemy_width;
const wh = this.windowAreaHeight() + Moghunter.bhud_enemy_height;
const wy = Graphics.boxHeight - wh;
return new Rectangle(wx, wy, ww, wh);
};
//==============================
// * createActorCommandWindowLayout
//==============================
Scene_Battle.prototype.createActorCommandWindowLayout = function () {
this._com_layout = new Sprite(ImageManager.loadBHud("Layout_Command"));
this._com_layout.x = Moghunter.bhud_com_lay_x;
this._com_layout.y = Moghunter.bhud_com_lay_y;
this._com_layout.visible = false;
this._layoutField.addChild(this._com_layout);
};
//==============================
// * createPartyCommandWindowLayout
//==============================
Scene_Battle.prototype.createPartyCommandWindowLayout = function () {
this._party_layout = new Sprite(ImageManager.loadBHud("Layout_Party"));
this._party_layout.x = Moghunter.bhud_party_lay_x;
this._party_layout.y = Moghunter.bhud_party_lay_y;
this._party_layout.visible = false;
this._layoutField.addChild(this._party_layout);
};
//==============================
// * createPartyCommandWindowLayout
//==============================
Scene_Battle.prototype.needResizeWindowLayout = function (sprite) {
if (!sprite.resize) {
return false;
}
if (!sprite.resize[0]) {
return false;
}
if (sprite.resize[1]) {
return false;
}
if (!sprite.bitmap.isReady()) {
return false;
}
return true;
};
//==============================
// * resize Window Layout
//==============================
Scene_Battle.prototype.resizeWindowLayout = function (sprite, window_r) {
if (sprite.width < window_r.width) {
sprite.scale.x = window_r.width / sprite.bitmap.width;
}
if (sprite.height < window_r.height) {
sprite.scale.y = window_r.height / sprite.bitmap.height;
}
sprite.resize[1] = true;
};
//==============================
// * createHelpWindowLayout
//==============================
Scene_Battle.prototype.createHelpWindowLayout = function () {
this._help_layout = new Sprite(ImageManager.loadBHud("Layout_Help"));
this._help_layout.x = Moghunter.bhud_help_lay_x;
this._help_layout.y = Moghunter.bhud_help_lay_y;
this._help_layout.visible = false;
this._help_layout.resize = [true, false];
this._layoutField.addChild(this._help_layout);
};
//==============================
// * createSkillWindowLayout
//==============================
Scene_Battle.prototype.createSkillWindowLayout = function () {
this._skill_layout = new Sprite(ImageManager.loadBHud("Layout_Skill"));
this._skill_layout.x = Moghunter.bhud_skill_lay_x;
this._skill_layout.y = Moghunter.bhud_skill_lay_y;
this._skill_layout.visible = false;
this._skill_layout.resize = [true, false];
this._layoutField.addChild(this._skill_layout);
};
//==============================
// * createItemWindowLayout
//==============================
Scene_Battle.prototype.createItemWindowLayout = function () {
this._item_layout = new Sprite(ImageManager.loadBHud("Layout_Item"));
this._item_layout.x = Moghunter.bhud_item_lay_x;
this._item_layout.y = Moghunter.bhud_item_lay_y;
this._item_layout.visible = false;
this._item_layout.resize = [true, false];
this._layoutField.addChild(this._item_layout);
};
//==============================
// * createActorWindowLayout
//==============================
Scene_Battle.prototype.createActorWindowLayout = function () {
this._actor_layout = new Sprite(ImageManager.loadBHud("Layout_Actor"));
this._actor_layout.x = Moghunter.bhud_actor_lay_x;
this._actor_layout.y = Moghunter.bhud_actor_lay_y;
this._actor_layout.visible = false;
this._actor_layout.resize = [true, false];
this._layoutField.addChild(this._actor_layout);
};
//==============================
// * createEnemyWindowLayout
//==============================
Scene_Battle.prototype.createEnemyWindowLayout = function () {
this._enemy_layout = new Sprite(ImageManager.loadBHud("Layout_Enemy"));
this._enemy_layout.x = Moghunter.bhud_enemy_lay_x;
this._enemy_layout.y = Moghunter.bhud_enemy_lay_y;
this._enemy_layout.visible = false;
this._enemy_layout.resize = [true, false];
this._layoutField.addChild(this._enemy_layout);
};
//==============================
// ** updateLayoutPosition
//==============================
Scene_Battle.prototype.updateLayoutPosition = function () {
if (this._com_layout) {
this.updateCommandWindowLayout();
}
if (this._party_layout) {
this.updatePartyLayout();
}
if (this._help_layout) {
this.updateHelpLayout();
}
if (this._skill_layout) {
this.updateSkillLayout();
}
if (this._item_layout) {
this.updateItemLayout();
}
if (this._actor_layout) {
this.updateActorLayout();
}
if (this._enemy_layout) {
this.updateEnemyLayout();
}
};
//==============================
// * Sprite Move To
//==============================
Scene_Battle.prototype.sprite_move_to = function (value, real_value) {
if (value === real_value) {
return value;
}
var dnspeed = 1 + Math.abs(value - real_value) / 12;
if (value > real_value) {
value -= dnspeed;
if (value < real_value) {
value = real_value;
}
} else if (value < real_value) {
value += dnspeed;
if (value > real_value) {
value = real_value;
}
}
return Math.floor(value);
};
//==============================
// * updateCommandWindowLayout
//==============================
Scene_Battle.prototype.updateCommandWindowLayout = function () {
this._com_layout.x =
this._windowLayer.x + Moghunter.bhud_com_lay_x + this._actorCommandWindow.x;
this._com_layout.y =
this._windowLayer.y + Moghunter.bhud_com_lay_y + this._actorCommandWindow.y;
this._com_layout.visible = this._actorCommandWindow.isOpenAndActive();
this._com_layout.opacity = this._actorCommandWindow.contentsOpacity;
if (!this._actorCommandWindow.visible) {
this._com_layout.visible = false;
}
};
//==============================
// * updatePartyLayout
//==============================
Scene_Battle.prototype.updatePartyLayout = function () {
this._party_layout.x =
this._windowLayer.x +
Moghunter.bhud_party_lay_x +
this._partyCommandWindow.x;
this._party_layout.y =
this._windowLayer.y +
Moghunter.bhud_party_lay_y +
this._partyCommandWindow.y;
this._party_layout.visible = this._partyCommandWindow.isOpenAndActive();
this._party_layout.opacity = this._partyCommandWindow.contentsOpacity;
if (!this._partyCommandWindow.visible) {
this._party_layout.visible = false;
}
};
//==============================
// * updateHelpLayout
//==============================
Scene_Battle.prototype.updateHelpLayout = function () {
this._help_layout.x =
this._windowLayer.x + Moghunter.bhud_help_lay_x + this._helpWindow.x;
this._help_layout.y =
this._windowLayer.y + Moghunter.bhud_help_lay_y + this._helpWindow.y;
this._help_layout.visible = this._helpWindow.visible;
this._help_layout.opacity = this._helpWindow.contentsOpacity;
if (this.needResizeWindowLayout(this._help_layout)) {
this.resizeWindowLayout(this._help_layout, this._helpWindow);
}
};
//==============================
// * updateSkillLayout
//==============================
Scene_Battle.prototype.updateSkillLayout = function () {
this._skill_layout.x =
this._windowLayer.x + Moghunter.bhud_skill_lay_x + this._skillWindow.x;
this._skill_layout.y =
this._windowLayer.y + Moghunter.bhud_skill_lay_y + this._skillWindow.y;
this._skill_layout.visible = this._skillWindow.isOpenAndActive();
this._skill_layout.opacity = this._skillWindow.contentsOpacity;
if (!this._skillWindow.visible) {
this._skill_layout.visible = false;
}
if (this.needResizeWindowLayout(this._skill_layout)) {
this.resizeWindowLayout(this._skill_layout, this._skillWindow);
}
};
//==============================
// * updateItemLayout
//==============================
Scene_Battle.prototype.updateItemLayout = function () {
this._item_layout.x =
this._windowLayer.x + Moghunter.bhud_item_lay_x + this._itemWindow.x;
this._item_layout.y =
this._windowLayer.y + Moghunter.bhud_item_lay_y + this._itemWindow.y;
this._item_layout.visible = this._itemWindow.isOpenAndActive();
this._item_layout.opacity = this._itemWindow.contentsOpacity;
if (!this._itemWindow.visible) {
this._item_layout.visible = false;
}
if (this.needResizeWindowLayout(this._item_layout)) {
this.resizeWindowLayout(this._item_layout, this._itemWindow);
}
};
//==============================
// * updateActorLayout
//==============================
Scene_Battle.prototype.updateActorLayout = function () {
this._actor_layout.x =
this._windowLayer.x + Moghunter.bhud_actor_lay_x + this._actorWindow.x;
this._actor_layout.y =
this._windowLayer.y + Moghunter.bhud_actor_lay_y + this._actorWindow.y;
this._actor_layout.visible = this._actorWindow.isOpenAndActive();
this._actor_layout.opacity = this._actorWindow.contentsOpacity;
if (!this._actorWindow.visible) {
this._actor_layout.visible = false;
}
if (this.needResizeWindowLayout(this._actor_layout)) {
this.resizeWindowLayout(this._actor_layout, this._actorWindow);
}
};
//==============================
// * updateEnemyLayout
//==============================
Scene_Battle.prototype.updateEnemyLayout = function () {
this._enemy_layout.x =
this._windowLayer.x + this._enemyWindow.x + Moghunter.bhud_enemy_lay_x;
this._enemy_layout.y =
this._windowLayer.y + this._enemyWindow.y + Moghunter.bhud_enemy_lay_y;
this._enemy_layout.visible = this._enemyWindow.isOpenAndActive();
this._enemy_layout.opacity = this._enemyWindow.contentsOpacity;
if (!this._enemyWindow.visible) {
this._enemy_layout.visible = false;
}
if (this.needResizeWindowLayout(this._enemy_layout)) {
this.resizeWindowLayout(this._enemy_layout, this._enemyWindow);
}
};
//==============================
// * slideWindow
//==============================
Scene_Battle.prototype.slideWindow = function (win, vmode) {
var vm = vmode ? win.active : win.visible;
if (vm) {
var np = [win.org[0], win.org[1]];
win.contentsOpacity += 15;
} else {
var np = [win.org2[0], win.org2[1]];
win.contentsOpacity = 0;
}
win.x = this.sprite_move_to(win.x, np[0]);
win.y = this.sprite_move_to(win.y, np[1]);
};
//==============================
// * updateWindowSlideEffect
//==============================
Scene_Battle.prototype.updateWindowSlideEffect = function () {
if (this._partyCommandWindow.slide) {
this.slideWindow(this._partyCommandWindow, true);
}
if (this._helpWindow.slide) {
this.slideWindow(this._helpWindow, false);
}
if (this._skillWindow.slide) {
this.slideWindow(this._skillWindow, false);
}
if (this._itemWindow.slide) {
this.slideWindow(this._itemWindow, false);
}
if (this._actorWindow.slide) {
this.slideWindow(this._actorWindow, false);
}
if (
this._enemyWindow.slide &&
this._enemyWindow.y < this._enemyWindow.org2[3]
) {
this.slideWindow(this._enemyWindow, false);
}
if (this._enemyWindow.y >= this._enemyWindow.org2[3]) {
this.updateBHudVFix();
}
};
//==============================
// * updateBHudVFix
//==============================
Scene_Battle.prototype.updateBHudVFix = function () {
this._enemyWindow.y = this._enemyWindow.org2[3];
if (this._enemyWindow.active) {
if (!this._itemWindow.active) {
this._itemWindow.visible = false;
}
if (!this._skillWindow.active) {
this._skillWindow.visible = false;
}
}
};
//=============================================================================
// ■■■ Window_BattleSkill ■■■
//=============================================================================
//==============================
// * maxCols
//==============================
Window_BattleSkill.prototype.maxCols = function () {
return Moghunter.bhud_skill_maxcols;
};
//=============================================================================
// ■■■ Window_BattleItem ■■■
//=============================================================================
//==============================
// * maxCols
//==============================
Window_BattleItem.prototype.maxCols = function () {
return Moghunter.bhud_item_maxcols;
};
//=============================================================================
// ■■■ Window_BattleEnemy ■■■
//=============================================================================
//==============================
// * maxCols
//==============================
Window_BattleEnemy.prototype.maxCols = function () {
return Moghunter.bhud_enemy_maxcols;
};
//=============================================================================
// ■■■ Window Actor Command ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ initialize
//==============================
var _alias_mog_bhud_wActCom_initialize =
Window_ActorCommand.prototype.initialize;
Window_ActorCommand.prototype.initialize = function (rect) {
_alias_mog_bhud_wActCom_initialize.call(this, rect);
this._fx = (Graphics.width - Graphics.boxWidth) / 2;
this._fy = (Graphics.height - Graphics.boxHeight) / 2;
this._fadeW = 0;
this._com_mode = Number($gameSystem._bhud_pos_mode);
this._force_hide_duration = 0;
this.org = [Moghunter.bhud_com_x, Moghunter.bhud_com_y];
this.org2 = [
this.org[0] + Moghunter.bhud_com_slideX,
this.org[1] + Moghunter.bhud_com_slideY,
];
this.slide = $gameSystem._bhud_auto_com ? true : false;
this._actorVis != this._actor;
this.xp = -1;
this.yp = -1;
};
//==============================
// ♦ ALIAS ♦ Activate
//==============================
var _alias_mog_bhud_wActCom_activate = Window_ActorCommand.prototype.activate;
Window_ActorCommand.prototype.activate = function () {
_alias_mog_bhud_wActCom_activate.call(this);
if (String(Moghunter.bhud_com_layout) === "true") {
this._force_hide_duration = 1;
}
};
//==============================
// * Sprite Move To
//==============================
Window_ActorCommand.prototype.sprite_move_to = function (value, real_value) {
if (value === real_value) {
return value;
}
var dnspeed = 1 + Math.abs(value - real_value) / 12;
if (value > real_value) {
value -= dnspeed;
if (value < real_value) {
value = real_value;
}
} else if (value < real_value) {
value += dnspeed;
if (value > real_value) {
value = real_value;
}
}
return Math.floor(value);
};
//==============================
// ** slideWindow
//==============================
Window_ActorCommand.prototype.slideWindow = function (win, vmode) {
var vm = vmode ? win.active : win.visible;
if (vm) {
var np = [win.org[0], win.org[1]];
win.contentsOpacity += 15;
} else {
var np = [win.org2[0], win.org2[1]];
win.contentsOpacity = 0;
}
win.x = this.sprite_move_to(win.x, np[0]);
win.y = this.sprite_move_to(win.y, np[1]);
};
//==============================
// ** update Position
//==============================
Window_ActorCommand.prototype.updatePosition = function () {
if (Imported.MOG_BattleCommands) {
this.updateBattleCommands();
} else {
if (!this.slide) {
this.updatePosN();
} else {
this.updatePosS();
}
}
};
//==============================
// * update Battle Commands
//==============================
Window_ActorCommand.prototype.updateBattleCommands = function () {
if ($gameTemp._bhud_position_active) {
this.visible = this.active;
if ($gameSystem._bhud_auto_com) {
this.x = $gameTemp._bhud_position_active[0] + Moghunter.bhud_com_x;
if (this._com_mode === 0) {
this.y =
$gameTemp._bhud_position_active[1] +
Moghunter.bhud_com_y -
this.height;
} else {
this.y = $gameTemp._bhud_position_active[1] + Moghunter.bhud_com_y;
}
}
}
};
//==============================
// * update Position S
//==============================
Window_ActorCommand.prototype.updatePosS = function () {
if ($gameTemp._bhud_position_active) {
this.visible = this.active;
if ($gameSystem._bhud_auto_com) {
if (
this.xp != $gameTemp._bhud_position_active[0] ||
this.yp != $gameTemp._bhud_position_active[1]
) {
this.xp = $gameTemp._bhud_position_active[0];
this.yp = $gameTemp._bhud_position_active[1];
this.org[0] =
$gameTemp._bhud_position_active[0] + Moghunter.bhud_com_x - this._fx;
if (this._com_mode === 0) {
this.org[1] =
$gameTemp._bhud_position_active[1] +
Moghunter.bhud_com_y -
this.height;
} else {
this.org[1] =
$gameTemp._bhud_position_active[1] + Moghunter.bhud_com_y;
}
this.org2 = [
this.org[0] + Moghunter.bhud_com_slideX,
this.org[1] + Moghunter.bhud_com_slideY,
];
if (this._actorVis != this._actor) {
this.x = this.org2[0];
this.y = this.org2[1];
this._actorVis = this._actor;
}
}
this.slideWindow(this, false);
} else {
this.slideWindow(this, false);
}
}
};
//==============================
// * update Position N
//==============================
Window_ActorCommand.prototype.updatePosN = function () {
if ($gameTemp._bhud_position_active) {
this.visible = this.active;
if ($gameSystem._bhud_auto_com) {
this.x = $gameTemp._bhud_position_active[0] + Moghunter.bhud_com_x;
if (this._com_mode === 0) {
this.y =
$gameTemp._bhud_position_active[1] +
Moghunter.bhud_com_y -
this.height;
} else {
this.y = $gameTemp._bhud_position_active[1] + Moghunter.bhud_com_y;
}
}
}
};
//==============================
// ♦ ALIAS ♦ Update
//==============================
Window_ActorCommand.prototype.update = function () {
Window_Command.prototype.update.call(this);
this.updatePosition();
if (this._force_hide_duration > 0) {
this._force_hide_duration -= 1;
this.visible = false;
}
};
//=============================================================================
//■■■■■■■■■■■■ BATTLE HUD PART ■■■■■■■■■■■■■■■■■■
//=============================================================================
//=============================================================================
// ■■■ Scene Battle ■■■
//=============================================================================
//==============================
// ♦ ALIAS ♦ createWindowLayer
//==============================
var _mog_bhud_scBat_createSpriteset = Scene_Battle.prototype.createSpriteset;
Scene_Battle.prototype.createSpriteset = function () {
_mog_bhud_scBat_createSpriteset.call(this);
if (!this._hudField) {
this.createHudField();
}
this.createSpritesetBattleHud();
this.sortMz();
};
//=============================================================================
// ■■■ Battle_Hud ■■■
//=============================================================================
function Battle_Hud() {
this.initialize.apply(this, arguments);
}
Battle_Hud.prototype = Object.create(Sprite.prototype);
Battle_Hud.prototype.constructor = Battle_Hud;
//==============================
// ♦♦ Initialize
//==============================
Battle_Hud.prototype.initialize = function (hud_id) {
Sprite.prototype.initialize.call(this);
this._data_initial_ref = [0, true];
this._hud_id = hud_id;
this._slideA = [0, Moghunter.bhud_slideX, Moghunter.bhud_slideY];
if (this._slideA[1] != 0 || this._slideA[2] != 0) {
this._slideA[0] = this._hud_id * 10;
}
this.x = this._slideA[1];
this.y = this._slideA[2];
this._hud_size = [0, 0];
this.base_parameter_clear();
this.load_img();
this.opacity = 0;
$gameTemp._bhud_position_active = null;
$gameTemp._battleEnd = false;
};
//==============================
// * Load Img
//==============================
Battle_Hud.prototype.load_img = function () {
this._layout_img = ImageManager.loadBHud("Layout");
if (String(Moghunter.bhud_layoverlay_visible) == "true") {
this._layout2_img = ImageManager.loadBHud("Layout2");
}
this._turn_img = ImageManager.loadBHud("Turn");
this._state_img = ImageManager.loadSystem("IconSet");
if (String(Moghunter.bhud_hp_meter_visible) == "true") {
this._hp_meter_img = ImageManager.loadBHud("HP_Meter");
}
if (String(Moghunter.bhud_mp_meter_visible) == "true") {
this._mp_meter_img = ImageManager.loadBHud("MP_Meter");
}
if (String(Moghunter.bhud_tp_meter_visible) == "true") {
this._tp_meter_img = ImageManager.loadBHud("TP_Meter");
}
if (String(Moghunter.bhud_at_meter_visible) == "true") {
this._at_meter_img = ImageManager.loadBHud("ATB_Meter");
}
if (String(Moghunter.bhud_hp_number_visible) == "true") {
this._hp_number_img = ImageManager.loadBHud("HP_Number");
}
if (String(Moghunter.bhud_mp_number_visible) == "true") {
this._mp_number_img = ImageManager.loadBHud("MP_Number");
}
if (String(Moghunter.bhud_tp_number_visible) == "true") {
this._tp_number_img = ImageManager.loadBHud("TP_Number");
}
if (String(Moghunter.bhud_maxhp_number_visible) == "true") {
this._maxhp_number_img = ImageManager.loadBHud("HP_Number2");
}
if (String(Moghunter.bhud_maxmp_number_visible) == "true") {
this._maxmp_number_img = ImageManager.loadBHud("MP_Number2");
}
if (String(Moghunter.bhud_maxtp_number_visible) == "true") {
this._maxtp_number_img = ImageManager.loadBHud("TP_Number2");
}
};
//==============================
// * Base Parameter Clear
//==============================
Battle_Hud.prototype.base_parameter_clear = function () {
this._hp_old = [-1, -1];
this._maxhp_old = [-1, -1];
this._hp_old_ani = [-1, -1];
this._hp_flow = [false, 0, 0, 0];
this._mp_old = [-1, -1];
this._maxmp_old = [-1, -1];
this._mp_old_ani = [-1, -1];
this._mp_flow = [false, 0, 0, 0];
this._tp_old = [-1, -1];
this._maxtp_old = [-1, -1];
this._tp_old_ani = -1;
this._tp_flow = [false, 0, 0, 0];
this._at_flow = [false, 0, 0, 0];
this._hp_number_old = -1;
this._mp_number_old = -1;
this._hp_number_old = -1;
this._number_align = [];
this._number_align[0] = Moghunter.bhud_hp_align_type;
this._number_align[1] = Moghunter.bhud_mp_align_type;
this._number_align[2] = Moghunter.bhud_tp_align_type;
this._diagonal_number = [];
this._diagonal_number[0] = Moghunter.bhud_hp_diagonal_number;
this._diagonal_number[1] = Moghunter.bhud_mp_diagonal_number;
this._diagonal_number[2] = Moghunter.bhud_tp_diagonal_number;
this._hp_img_data = [0, 0, 0];
this._mp_img_data = [0, 0, 0];
this._tp_img_data = [0, 0, 0];
this._states_old = [];
this._states_data = [0, 0, 0];
this._active = false;
this._hud_size = [0, 0];
};
//==============================
// * Need Refresh Bhud
//==============================
Battle_Hud.prototype.need_refreh_bhud = function () {
if (this._data_initial_ref[1]) {
return true;
}
if (this._battler != $gameParty.battleMembers()[this._hud_id]) {
return true;
}
return false;
};
//==============================
// * Refresh Bhud
//==============================
Battle_Hud.prototype.refresh_bhud = function () {
this._data_initial_ref[1] = false;
this._battler = $gameParty.battleMembers()[this._hud_id];
if (this._battler) {
this._battler.checkBhudNoteTags();
}
this.opacity = 0;
this._hud_size = [0, 0];
this.base_parameter_clear();
this.create_base_sprites();
};
//==============================
// * Refresh Position
//==============================
Battle_Hud.prototype.refresh_position = function () {
this.set_hud_position();
this.create_sprites();
this._layout.x = this._pos_x;
this._layout.y = this._pos_y;
if (this._face) {
this._face.x = this._pos_x + Moghunter.bhud_face_pos_x;
this._face.y = this._pos_y + Moghunter.bhud_face_pos_y + this._face.ph;
}
if (this._turn) {
this._turn.x =
this._pos_x + this._turn.width / 2 + Moghunter.bhud_turn_pos_x;
this._turn.y =
this._pos_y + this._turn.height / 2 + Moghunter.bhud_turn_pos_y;
}
if (this._layout2) {
this._layout2.x = this._pos_x + Moghunter.bhud_layoverlay_x;
this._layout2.y = this._pos_y + Moghunter.bhud_layoverlay_y;
}
if (this._face) {
this._battler._face_pos = [this._face.x, this._face.y];
}
};
//==============================
// * Set Hud Position
//==============================
Battle_Hud.prototype.set_hud_position = function () {
this._hud_size = [this._layout.bitmap.width, this._layout.bitmap.height];
this._members_max = $gameParty.battleMembers().length;
var fx = (Graphics.width - 816) / 2;
var fy = Graphics.height - 624;
var ps = [
Number(Moghunter.bhud_space_x) * this._hud_id,
Number(Moghunter.bhud_space_y) * this._hud_id,
];
if ($gameSystem._bhud_position[this._hud_id]) {
this._pos_x = $gameSystem._bhud_position[this._hud_id][0];
this._pos_y = $gameSystem._bhud_position[this._hud_id][1];
} else {
if (Number($gameSystem._bhud_pos_mode) === 0) {
var spc = (Graphics.width - 14) / this._members_max;
var px = spc / 2 + spc * this._hud_id;
this._pos_x = Moghunter.bhud_pos_x + px + ps[0];
this._pos_y = Moghunter.bhud_pos_y + ps[1];
} else {
var py = (this._hud_size[1] + 5) * this._hud_id;
this._pos_x = Moghunter.bhud_pos_x + ps[0];
this._pos_y = Moghunter.bhud_pos_y + py + ps[1];
}
}
this._pos_y += fy;
$gameTemp._bhud_position[this._hud_id] = [this._pos_x, this._pos_y];
};
//==============================
// ♦♦ Update
//==============================
Battle_Hud.prototype.update = function () {
Sprite.prototype.update.call(this);
if (this._data_initial_ref[0] < 2) {
this._data_initial_ref[0] += 1;
return;
}
if (this.need_refreh_bhud()) {
this.refresh_bhud();
}
if (!this._battler) {
return;
}
if (!this._layout.bitmap.isReady()) {
return;
}
if (this._hud_size[0] === 0) {
this.refresh_position();
return;
}
this.update_sprites();
this.updateSlide();
};
//==============================
// * Update Slide
//==============================
Battle_Hud.prototype.updateSlide = function () {
if (!this.is_hud_visible()) {
return;
}
if (this._slideA[0] > 0) {
this.visible = false;
this.opacity = 0;
this._slideA[0]--;
return;
}
this.visible = true;
this.x = this.update_dif(this.x, 0, 20);
this.y = this.update_dif(this.y, 0, 20);
};
//==============================
// * Create Base Sprites
//==============================
Battle_Hud.prototype.create_base_sprites = function () {
this.create_turn();
if (Number(Moghunter.bhud_face_priority) === 0) {
this.create_face();
this.create_layout();
} else {
this.create_layout();
this.create_face();
}
};
//==============================
// * Create Sprites
//==============================
Battle_Hud.prototype.create_sprites = function () {
this.create_hp_meter();
this.create_mp_meter();
this.create_tp_meter();
if (BattleManager.isActiveTpb()) {
this.create_at_meter();
}
if (String(Moghunter.bhud_layoverlay_visible) == "true") {
this.create_layoutOverlay();
}
this.create_hp_number();
this.create_maxhp_number();
this.create_mp_number();
this.create_maxmp_number();
this.create_tp_number();
this.create_maxtp_number();
this._stateType = Number(Moghunter.bhud_statesType);
if (this._stateType === 0) {
this.create_states();
} else {
this.create_states2();
}
this.create_name();
};
//==============================
// * Update Sprites
//==============================
Battle_Hud.prototype.update_sprites = function () {
this.update_active();
this.update_visible();
this.update_turn();
this.update_face();
this.update_hp();
this.update_mp();
this.update_tp();
this.update_at();
if (this._state_icon) {
if (this._stateType === 0) {
this.update_states();
} else {
this.update_states2();
}
}
};
//==============================
// * Update Active
//==============================
Battle_Hud.prototype.update_active = function () {
this._active = false;
if (this._battler == BattleManager.actor()) {
this._active = true;
$gameTemp._bhud_position_active = $gameTemp._bhud_position[this._hud_id];
}
};
//==============================
// * Update visible
//==============================
Battle_Hud.prototype.update_visible = function (sprite) {
if (this.is_hud_visible()) {
this.opacity += 10;
} else {
this.opacity -= 10;
}
};
//==============================
// * Is Hud Visible
//==============================
Battle_Hud.prototype.is_hud_visible = function (sprite) {
if ($gameMessage.isBusy()) {
return false;
}
if ($gameTemp._battleEnd) {
return false;
}
if (!$gameSystem._bhud_visible) {
return false;
}
return true;
};
//==============================
// * Update Dif
//==============================
Battle_Hud.prototype.update_dif = function (value, real_value, speed) {
if (value == real_value) {
return value;
}
var dnspeed = 1 + Math.abs(value - real_value) / speed;
if (value > real_value) {
value -= dnspeed;
if (value < real_value) {
value = real_value;
}
} else if (value < real_value) {
value += dnspeed;
if (value > real_value) {
value = real_value;
}
}
return Math.floor(value);
};
//==============================
// * Refresh Meter
//==============================
Battle_Hud.prototype.refresh_meter = function (sprite, value, value_max, type) {
var ch = sprite.bitmap.height / 2;
var meter_rate = (sprite.bitmap.width * value) / value_max;
sprite.setFrame(0, type * ch, meter_rate, ch);
};
//==============================
// * Refresh Flow
//==============================
Battle_Hud.prototype.refresh_meter_flow = function (
sprite,
value,
value_max,
type,
flow
) {
var cw = sprite.bitmap.width / 3;
var ch = sprite.bitmap.height / 2;
var meter_rate = (cw * value) / value_max;
sprite.setFrame(flow, type * ch, meter_rate, ch);
};
//==============================
// * Refresh Number
//==============================
Battle_Hud.prototype.refresh_number = function (
sprites,
value,
img_data,
x,
y,
type
) {
numbers = Math.abs(value).toString().split("");
var nx = 0;
var ny = 0;
var dir = 1;
for (var i = 0; i < sprites.length; i++) {
sprites[i].visible = false;
if (i > numbers.length) {
return;
}
var n = Number(numbers[i]);
sprites[i].setFrame(n * img_data[2], 0, img_data[2], img_data[1]);
sprites[i].visible = true;
if (this._number_align[type] === 0) {
var nx = -(img_data[2] * i) + img_data[2] * numbers.length;
} else if (this._number_align[type] === 1) {
var nx = -(img_data[2] * i) + (img_data[2] / 2) * numbers.length;
} else if (this._number_align[type] === 2) {
var nx = -(img_data[2] * i);
} else if (this._number_align[type] === 3) {
var nx = -(img_data[2] * i);
var ny = img_data[3] * i;
} else {
var nx = -(img_data[2] * i) + img_data[2] * numbers.length;
var ny = (img_data[3] / 2) * dir;
}
sprites[i].x = x - nx;
sprites[i].y = y - ny;
dir = dir === 0 ? 1 : 0;
}
};
//==============================
// * Need Refresh Parameter
//==============================
Battle_Hud.prototype.need_refresh_parameter = function (parameter) {
switch (parameter) {
case 0:
if (this._hp_old[0] != this._battler.hp) {
return true;
}
if (this._hp_old[1] != this._battler.mhp) {
return true;
}
break;
case 1:
if (this._mp_old[0] != this._battler.mp) {
return true;
}
if (this._mp_old[1] != this._battler.mmp) {
return true;
}
break;
case 2:
if (this._tp_old[0] != this._battler.tp) {
return true;
}
if (this._tp_old[1] != this._battler.maxTp()) {
return true;
}
break;
}
return false;
};
//==============================
// * Create Layout
//==============================
Battle_Hud.prototype.create_layout = function () {
this.removeChild(this._layout);
if (!this._battler) {
return;
}
this._layout = new Sprite(this._layout_img);
this.addChild(this._layout);
};
//==============================
// * Create Layout Overlay
//==============================
Battle_Hud.prototype.create_layoutOverlay = function () {
this.removeChild(this._layout2);
if (!this._battler) {
return;
}
this._layout2 = new Sprite(this._layout2_img);
this.addChild(this._layout2);
};
//==============================
// * Create Turn
//==============================
Battle_Hud.prototype.create_turn = function () {
if (String(Moghunter.bhud_turn_visible) != "true") {
return;
}
this.removeChild(this._turn);
if (!this._battler) {
return;
}
this._turn = new Sprite(this._turn_img);
this._turn.anchor.x = 0.5;
this._turn.anchor.y = 0.5;
this._turn.rt = Number(Moghunter.bhud_turn_rotation);
this._turn.zt = String(Moghunter.bhud_turn_zoom) === "true" ? true : false;
this._turn.vis = this._turn.visible;
this._turn_blink = [0, 0];
this.addChild(this._turn);
};
//==============================
// * Update Turn
//==============================
Battle_Hud.prototype.update_turn = function () {
if (!this._turn) {
return;
}
if (!this._active) {
this._turn.visible = false;
return;
}
if (this._turn.rt != 0) {
this._turn.rotation += this._turn.rt;
}
if (this._turn.zt) {
this.updateTurnZoom();
}
this._turn.visible = true;
this._turn_blink[0] += 1;
if (this._turn_blink[0] < 60) {
this._turn_blink[1] += 2;
} else if (this._turn_blink[0] < 120) {
this._turn_blink[1] -= 2;
} else {
this._turn_blink = [0, 0];
}
this._turn.opacity = 135 + this._turn_blink[1];
};
//==============================
// * Update Turn Zoom
//==============================
Battle_Hud.prototype.updateTurnZoom = function () {
if (this._turn.vis != this._turn.visible) {
this._turn.vis = this._turn.visible;
this._turn.scale.x = 1.5;
this._turn.scale.y = this._turn.scale.x;
}
if (this._turn.scale.x > 0) {
this._turn.scale.x -= 0.04;
if (this._turn.scale.x <= 1.0) {
this._turn.scale.x = 1.0;
}
}
this._turn.scale.y = this._turn.scale.x;
};
//==============================
// * Create Face
//==============================
Battle_Hud.prototype.create_face = function () {
if (String(Moghunter.bhud_face_visible) != "true") {
return;
}
this.removeChild(this._face);
if (!this._battler) {
return;
}
this._face = new Sprite(
ImageManager.loadBHud("Face_" + this._battler._actorId)
);
this._face.anchor.x = 0.5;
this._face.anchor.y = 0.5;
this._face_data = [0, 0, false, false, false, -1];
this._face.ph = 0;
this._face.animation = [-1, 0, 0, 0, 0, 0, 0, 0, 0];
this._face.breathEffect = this._battler._bhud.faceBreath;
this._face.scaleY = 0;
if (String(Moghunter.bhud_face_shake) === "true") {
this._face_data[2] = true;
}
if (String(Moghunter.bhud_face_animated) === "true") {
this._face_data[4] = true;
}
this._battler._bhud_face_data = [0, 0, 0, 1];
this.addChild(this._face);
};
//==============================
// * Update Face
//==============================
Battle_Hud.prototype.update_face = function () {
if (!this._face) {
return;
}
if (!this._face.bitmap.isReady()) {
return;
}
if (
this._face_data[4] &&
this._face_data[5] != this._battler._bhud_face_data[2]
) {
this.refresh_face();
}
this.update_face_animation();
this.update_face_shake();
this.update_face_zoom();
if (this._face.breathEffect) {
this.updateFaceEffects();
}
};
//==============================
// * update Face Effects
//==============================
Battle_Hud.prototype.updateFaceEffects = function () {
if (this._face_data[5] == 0 || this._face_data[5] == 3) {
this._face.anchor.y = 1;
this._face.y =
this._pos_y + Moghunter.bhud_face_pos_y + this._face.height / 2;
this.updateBreathEffect();
} else {
this._face.anchor.y = 0.5;
this._face.y = this._pos_y + Moghunter.bhud_face_pos_y;
}
};
//==============================
// * set Breath Effect
//==============================
Battle_Hud.prototype.setBreathEffect = function () {
this._face.animation[0] = 0;
var rds = Math.randomInt(100);
var rds2 = rds * 0.0000001;
this._face.animation[2] = 0.000005;
this._face.animation[3] = 0.0002;
var int = this._face.animation[3];
var int2 = (Math.randomInt(int) * 0.0001).toFixed(4);
this._face.animation[1] = int2;
this._face.animation[8] = Math.randomInt(80);
};
//==============================
// * update Breath Effect
//==============================
Battle_Hud.prototype.updateBreathEffect = function () {
this._face.scale.y = 1.0 + this._face.scaleY;
if (this._face.animation[0] == -1) {
if (this._face.bitmap.isReady()) {
this.setBreathEffect();
}
return;
}
if (this._face.animation[8] > 0) {
this._face.animation[8]--;
return;
}
if (this._face.animation[0] == 0) {
this._face.animation[1] -= this._face.animation[2];
this._face.scaleY += this._face.animation[1];
if (this._face.animation[1] <= -this._face.animation[3]) {
this._face.animation[1] = -this._face.animation[3];
this._face.animation[0] = 1;
}
} else {
this._face.animation[1] += this._face.animation[2];
this._face.scaleY += this._face.animation[1];
if (this._face.animation[1] >= this._face.animation[3]) {
this._face.animation[1] = this._face.animation[3];
this._face.animation[0] = 0;
}
}
};
//==============================
// * Refresh Face
//==============================
Battle_Hud.prototype.refresh_face = function () {
this._face_data[5] = this._battler._bhud_face_data[2];
var cw = this._face.bitmap.width / 5;
var ch = this._face.bitmap.height;
this._face.setFrame(cw * this._face_data[5], 0, cw, ch);
};
//==============================
// * Update Face Animation
//==============================
Battle_Hud.prototype.update_face_animation = function () {
if (this._battler._bhud_face_data[3] > 0) {
this._battler._bhud_face_data[3] -= 1;
if (this._battler._bhud_face_data[3] === 0) {
if (this._battler.isDead()) {
this._battler._bhud_face_data[2] = 4;
} else if (this._battler.hp <= (30 * this._battler.mhp) / 100) {
this._battler._bhud_face_data[2] = 3;
} else {
this._battler._bhud_face_data[2] = 0;
}
}
}
};
//==============================
// * Update Face Zoom
//==============================
Battle_Hud.prototype.update_face_zoom = function () {
if (this._battler._bhud_face_data[1] > 0) {
this._battler._bhud_face_data[1] -= 1;
if (this._battler._bhud_face_data[1] == 0) {
this._face.scale.x = 1.0;
} else if (this._battler._bhud_face_data[1] < 35) {
this._face.scale.x -= 0.005;
if (this._face.scale.x < 1.0) {
this._face.scale.x = 1.0;
}
} else if (this._battler._bhud_face_data[1] < 70) {
this._face.scale.x += 0.005;
if (this._face.scale.x > 1.25) {
this._face.scale.x = 1.25;
}
}
this._face.scale.y = this._face.scale.x;
}
};
//==============================
// * Update Face Shake
//==============================
Battle_Hud.prototype.update_face_shake = function () {
this._face.x = this._pos_x + Moghunter.bhud_face_pos_x;
if (this._face_data[2] && this._battler._bhud_face_data[0] > 0) {
this._battler._bhud_face_data[0] -= 1;
this._face.x =
this._pos_x + Moghunter.bhud_face_pos_x + (Math.random() * 12 - 6);
}
};
//==============================
// * Create Name
//==============================
Battle_Hud.prototype.create_name = function () {
if (String(Moghunter.bhud_name_visible) != "true") {
return;
}
this.removeChild(this._name);
if (!this._battler) {
return;
}
this._name = new Sprite(new Bitmap(200, 48));
this._name.x = this._pos_x + Moghunter.bhud_name_pos_x;
this._name.y = this._pos_y + Moghunter.bhud_name_pos_y;
this._name.bitmap.fontSize = Number(Moghunter.bhud_name_font_size);
if (String(Moghunter.bhud_name_font_italic) === "true") {
this._name.bitmap.fontItalic = true;
}
this._name.bitmap.outlineWidth = Number(Moghunter.bhud_name_font_bold_size);
this.addChild(this._name);
this.refresh_name();
};
//==============================
// * Refresh Name
//==============================
Battle_Hud.prototype.refresh_name = function () {
this._name.bitmap.clear();
var align = "left";
if (Moghunter.bhud_name_align === 1) {
var align = "center";
} else if (Moghunter.bhud_name_align === 2) {
var align = "right";
}
this._name.bitmap.drawText(
this._battler._name,
0,
0,
this._name.bitmap.width,
this._name.bitmap.height,
align
);
};
//==============================
// * Create HP Meter
//==============================
Battle_Hud.prototype.create_hp_meter = function () {
if (String(Moghunter.bhud_hp_meter_visible) != "true") {
return;
}
this.removeChild(this._hp_meter_blue);
this.removeChild(this._hp_meter_red);
if (!this._battler) {
return;
}
this._hp_meter_red = new Sprite(this._hp_meter_img);
this._hp_meter_red.x = this._pos_x + Moghunter.bhud_hp_meter_pos_x;
this._hp_meter_red.y = this._pos_y + Moghunter.bhud_hp_meter_pos_y;
this._hp_meter_red.rotation =
(Moghunter.bhud_hp_meter_rotation * Math.PI) / 180;
this.addChild(this._hp_meter_red);
this._hp_meter_blue = new Sprite(this._hp_meter_img);
this._hp_meter_blue.x = this._hp_meter_red.x;
this._hp_meter_blue.y = this._hp_meter_red.y;
this._hp_meter_blue.rotation = this._hp_meter_red.rotation;
this.addChild(this._hp_meter_blue);
if (String(Moghunter.bhud_hp_meter_flow) === "true") {
this._hp_flow[0] = true;
this._hp_flow[2] = this._hp_meter_img.width / 3;
this._hp_flow[3] = this._hp_flow[2] * 2;
this._hp_flow[1] = Math.floor(Math.random() * this._hp_flow[2]);
}
};
//==============================
// * Create HP Number
//==============================
Battle_Hud.prototype.create_hp_number = function () {
if (String(Moghunter.bhud_hp_number_visible) != "true") {
return;
}
if (this._hp_number) {
for (var i = 0; i < this._hp_number.length; i++) {
this.removeChild(this._hp_number[i]);
}
}
if (!this._battler) {
return;
}
this._hp_number = [];
this._hp_img_data = [
this._hp_number_img.width,
this._hp_number_img.height,
this._hp_number_img.width / 10,
this._hp_number_img.height / 2,
this._pos_x + Moghunter.bhud_hp_number_pos_x,
this._pos_y + Moghunter.bhud_hp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._hp_number[i] = new Sprite(this._hp_number_img);
this._hp_number[i].visible = false;
this._hp_number[i].x = this._hp_img_data[4];
this._hp_number[i].y = this._hp_img_data[5];
this.addChild(this._hp_number[i]);
}
this._hp_number_old = this._battler.hp;
this.refresh_number(
this._hp_number,
this._hp_number_old,
this._hp_img_data,
this._hp_img_data[4],
this._hp_img_data[5],
0
);
};
//==============================
// * Create maxHP Number
//==============================
Battle_Hud.prototype.create_maxhp_number = function () {
if (String(Moghunter.bhud_maxhp_number_visible) != "true") {
return;
}
if (this._maxhp_number) {
for (var i = 0; i < this._maxhp_number.length; i++) {
this.removeChild(this._maxhp_number[i]);
}
}
if (!this._battler) {
return;
}
this._maxhp_number = [];
this._maxhp_img_data = [
this._maxhp_number_img.width,
this._maxhp_number_img.height,
this._maxhp_number_img.width / 10,
this._maxhp_number_img.height / 2,
this._pos_x + Moghunter.bhud_maxhp_number_pos_x,
this._pos_y + Moghunter.bhud_maxhp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._maxhp_number[i] = new Sprite(this._maxhp_number_img);
this._maxhp_number[i].visible = false;
this._maxhp_number[i].x = this._maxhp_img_data[4];
this._maxhp_number[i].y = this._maxhp_img_data[5];
this.addChild(this._maxhp_number[i]);
}
this._maxhp_number_old = this._battler.mhp;
this.refresh_number(
this._maxhp_number,
this._maxhp_number_old,
this._maxhp_img_data,
this._maxhp_img_data[4],
this._maxhp_img_data[5],
0
);
};
//==============================
// * Update HP
//==============================
Battle_Hud.prototype.update_hp = function () {
if (this._hp_meter_blue) {
if (this._hp_flow[0]) {
this.refresh_meter_flow(
this._hp_meter_blue,
this._battler.hp,
this._battler.mhp,
0,
this._hp_flow[1]
);
var dif_meter = this.update_dif(
this._hp_old_ani[0],
this._battler.hp,
160
);
if (this._hp_old_ani[0] != dif_meter) {
this._hp_old_ani[0] = dif_meter;
this.refresh_meter_flow(
this._hp_meter_red,
this._hp_old_ani[0],
this._battler.mhp,
1,
this._hp_flow[1]
);
}
this._hp_flow[1] += 1.5;
if (this._hp_flow[1] > this._hp_flow[3]) {
this._hp_flow[1] = 0;
}
} else {
if (this.need_refresh_parameter(0)) {
this.refresh_meter(
this._hp_meter_blue,
this._battler.hp,
this._battler.mhp,
0
);
this._hp_old = [this._battler.hp, this._battler.mhp];
}
var dif_meter = this.update_dif(
this._hp_old_ani[0],
this._battler.hp,
160
);
if (this._hp_old_ani[0] != dif_meter) {
this._hp_old_ani[0] = dif_meter;
this.refresh_meter(
this._hp_meter_red,
this._hp_old_ani[0],
this._battler.mhp,
1
);
}
}
}
if (this._hp_number) {
var dif_number = this.update_dif(this._hp_number_old, this._battler.hp, 30);
if (this._hp_number_old != dif_number) {
this._hp_number_old = dif_number;
this.refresh_number(
this._hp_number,
this._hp_number_old,
this._hp_img_data,
this._hp_img_data[4],
this._hp_img_data[5],
0
);
}
}
if (this._maxhp_number) {
if (this._maxhp_number_old != this._battler.mhp) {
this._maxhp_number_old = this._battler.mhp;
this.refresh_number(
this._maxhp_number,
this._maxhp_number_old,
this._maxhp_img_data,
this._maxhp_img_data[4],
this._maxhp_img_data[5],
0
);
}
}
};
//==============================
// * Create MP Meter
//==============================
Battle_Hud.prototype.create_mp_meter = function () {
if (String(Moghunter.bhud_mp_meter_visible) != "true") {
return;
}
this.removeChild(this._mp_meter_blue);
this.removeChild(this._mp_meter_red);
if (!this._battler) {
return;
}
this._mp_meter_red = new Sprite(this._mp_meter_img);
this._mp_meter_red.x = this._pos_x + Moghunter.bhud_mp_meter_pos_x;
this._mp_meter_red.y = this._pos_y + Moghunter.bhud_mp_meter_pos_y;
this._mp_meter_red.rotation =
(Moghunter.bhud_mp_meter_rotation * Math.PI) / 180;
this.addChild(this._mp_meter_red);
this._mp_meter_blue = new Sprite(this._mp_meter_img);
this._mp_meter_blue.x = this._mp_meter_red.x;
this._mp_meter_blue.y = this._mp_meter_red.y;
this._mp_meter_blue.rotation = this._mp_meter_red.rotation;
this.addChild(this._mp_meter_blue);
if (String(Moghunter.bhud_mp_meter_flow) === "true") {
this._mp_flow[0] = true;
this._mp_flow[2] = this._mp_meter_img.width / 3;
this._mp_flow[3] = this._mp_flow[2] * 2;
this._mp_flow[1] = Math.floor(Math.random() * this._mp_flow[2]);
}
};
//==============================
// * Create MP Number
//==============================
Battle_Hud.prototype.create_mp_number = function () {
if (String(Moghunter.bhud_mp_number_visible) != "true") {
return;
}
if (this._mp_number) {
for (var i = 0; i < this._mp_number.length; i++) {
this.removeChild(this._mp_number[i]);
}
}
if (!this._battler) {
return;
}
this._mp_number = [];
this._mp_img_data = [
this._mp_number_img.width,
this._mp_number_img.height,
this._mp_number_img.width / 10,
this._mp_number_img.height / 2,
this._pos_x + Moghunter.bhud_mp_number_pos_x,
this._pos_y + Moghunter.bhud_mp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._mp_number[i] = new Sprite(this._mp_number_img);
this._mp_number[i].visible = false;
this._mp_number[i].x = this._mp_img_data[4];
this._mp_number[i].y = this._mp_img_data[5];
this.addChild(this._mp_number[i]);
}
this._mp_number_old = this._battler.mp;
this.refresh_number(
this._mp_number,
this._mp_number_old,
this._mp_img_data,
this._mp_img_data[4],
this._mp_img_data[5],
1
);
};
//==============================
// * Create MaxMP Number
//==============================
Battle_Hud.prototype.create_maxmp_number = function () {
if (String(Moghunter.bhud_maxmp_number_visible) != "true") {
return;
}
if (this._maxmp_number) {
for (var i = 0; i < this._maxmp_number.length; i++) {
this.removeChild(this._maxmp_number[i]);
}
}
if (!this._battler) {
return;
}
this._maxmp_number = [];
this._maxmp_img_data = [
this._maxmp_number_img.width,
this._maxmp_number_img.height,
this._maxmp_number_img.width / 10,
this._maxmp_number_img.height / 2,
this._pos_x + Moghunter.bhud_maxmp_number_pos_x,
this._pos_y + Moghunter.bhud_maxmp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._maxmp_number[i] = new Sprite(this._maxmp_number_img);
this._maxmp_number[i].visible = false;
this._maxmp_number[i].x = this._maxmp_img_data[4];
this._maxmp_number[i].y = this._maxmp_img_data[5];
this.addChild(this._maxmp_number[i]);
}
this._maxmp_number_old = this._battler.mmp;
this.refresh_number(
this._maxmp_number,
this._maxmp_number_old,
this._maxmp_img_data,
this._maxmp_img_data[4],
this._maxmp_img_data[5],
1
);
};
//==============================
// * Update MP
//==============================
Battle_Hud.prototype.update_mp = function () {
if (this._mp_meter_blue) {
if (this._mp_flow[0]) {
this.refresh_meter_flow(
this._mp_meter_blue,
this._battler.mp,
this._battler.mmp,
0,
this._mp_flow[1]
);
var dif_meter = this.update_dif(
this._mp_old_ani[0],
this._battler.mp,
160
);
if (this._mp_old_ani[0] != dif_meter) {
this._mp_old_ani[0] = dif_meter;
this.refresh_meter_flow(
this._mp_meter_red,
this._mp_old_ani[0],
this._battler.mmp,
1,
this._mp_flow[1]
);
}
this._mp_flow[1] += 1.5;
if (this._mp_flow[1] > this._mp_flow[3]) {
this._mp_flow[1] = 0;
}
} else {
if (this.need_refresh_parameter(1)) {
this.refresh_meter(
this._mp_meter_blue,
this._battler.mp,
this._battler.mmp,
0
);
this._mp_old = [this._battler.mp, this._battler.mmp];
}
var dif_meter = this.update_dif(
this._mp_old_ani[0],
this._battler.mp,
160
);
if (this._mp_old_ani[0] != dif_meter) {
this._mp_old_ani[0] = dif_meter;
this.refresh_meter(
this._mp_meter_red,
this._mp_old_ani[0],
this._battler.mmp,
1
);
}
}
}
if (this._mp_number) {
var dif_number = this.update_dif(this._mp_number_old, this._battler.mp, 30);
if (this._mp_number_old != dif_number) {
this._mp_number_old = dif_number;
this.refresh_number(
this._mp_number,
this._mp_number_old,
this._mp_img_data,
this._mp_img_data[4],
this._mp_img_data[5],
1
);
}
}
if (this._maxmp_number) {
if (this._maxmp_number_old != this._battler.mmp) {
this._maxmp_number_old = this._battler.mmp;
this.refresh_number(
this._maxmp_number,
this._maxmp_number_old,
this._maxmp_img_data,
this._maxmp_img_data[4],
this._maxmp_img_data[5],
1
);
}
}
};
//==============================
// * Create TP Meter
//==============================
Battle_Hud.prototype.create_tp_meter = function () {
if (String(Moghunter.bhud_tp_meter_visible) != "true") {
return;
}
this.removeChild(this._tp_meter_blue);
this.removeChild(this._tp_meter_red);
if (!this._battler) {
return;
}
this._tp_meter_red = new Sprite(this._tp_meter_img);
this._tp_meter_red.x = this._pos_x + Moghunter.bhud_tp_meter_pos_x;
this._tp_meter_red.y = this._pos_y + Moghunter.bhud_tp_meter_pos_y;
this._tp_meter_red.rotation =
(Moghunter.bhud_tp_meter_rotation * Math.PI) / 180;
this.addChild(this._tp_meter_red);
this._tp_meter_blue = new Sprite(this._tp_meter_img);
this._tp_meter_blue.x = this._tp_meter_red.x;
this._tp_meter_blue.y = this._tp_meter_red.y;
this._tp_meter_blue.rotation = this._tp_meter_red.rotation;
this.addChild(this._tp_meter_blue);
if (String(Moghunter.bhud_tp_meter_flow) === "true") {
this._tp_flow[0] = true;
this._tp_flow[2] = this._tp_meter_img.width / 3;
this._tp_flow[3] = this._tp_flow[2] * 2;
this._tp_flow[1] = Math.floor(Math.random() * this._tp_flow[2]);
}
};
//==============================
// * Create TP Number
//==============================
Battle_Hud.prototype.create_tp_number = function () {
if (String(Moghunter.bhud_tp_number_visible) != "true") {
return;
}
if (this._tp_number) {
for (var i = 0; i < this._tp_number.length; i++) {
this.removeChild(this._tp_number[i]);
}
}
if (!this._battler) {
return;
}
this._tp_number = [];
this._tp_img_data = [
this._tp_number_img.width,
this._tp_number_img.height,
this._tp_number_img.width / 10,
this._tp_number_img.height / 2,
this._pos_x + Moghunter.bhud_tp_number_pos_x,
this._pos_y + Moghunter.bhud_tp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._tp_number[i] = new Sprite(this._tp_number_img);
this._tp_number[i].visible = false;
this._tp_number[i].x = this._tp_img_data[4];
this._tp_number[i].y = this._tp_img_data[5];
this.addChild(this._tp_number[i]);
}
this._tp_number_old = this._battler.tp;
this.refresh_number(
this._tp_number,
this._tp_number_old,
this._tp_img_data,
this._tp_img_data[4],
this._tp_img_data[5],
2
);
};
//==============================
// * Create MaxTP Number
//==============================
Battle_Hud.prototype.create_maxtp_number = function () {
if (String(Moghunter.bhud_maxtp_number_visible) != "true") {
return;
}
if (this._maxtp_number) {
for (var i = 0; i < this._maxtp_number.length; i++) {
this.removeChild(this._maxtp_number[i]);
}
}
if (!this._battler) {
return;
}
this._maxtp_number = [];
this._maxtp_img_data = [
this._maxtp_number_img.width,
this._maxtp_number_img.height,
this._maxtp_number_img.width / 10,
this._maxtp_number_img.height / 2,
this._pos_x + Moghunter.bhud_maxtp_number_pos_x,
this._pos_y + Moghunter.bhud_maxtp_number_pos_y,
];
for (var i = 0; i < 5; i++) {
this._maxtp_number[i] = new Sprite(this._maxtp_number_img);
this._maxtp_number[i].visible = false;
this._maxtp_number[i].x = this._maxtp_img_data[4];
this._maxtp_number[i].y = this._maxtp_img_data[5];
this.addChild(this._maxtp_number[i]);
}
this._maxtp_number_old = this._battler.maxTp();
this.refresh_number(
this._maxtp_number,
this._maxtp_number_old,
this._maxtp_img_data,
this._maxtp_img_data[4],
this._maxtp_img_data[5],
2
);
};
//==============================
// * Update TP
//==============================
Battle_Hud.prototype.update_tp = function () {
if (this._tp_meter_blue) {
if (this._tp_flow[0]) {
this.refresh_meter_flow(
this._tp_meter_blue,
this._battler.tp,
this._battler.maxTp(),
0,
this._tp_flow[1]
);
var dif_meter = this.update_dif(
this._tp_old_ani[0],
this._battler.tp,
160
);
if (this._tp_old_ani[0] != dif_meter) {
this._tp_old_ani[0] = dif_meter;
this.refresh_meter_flow(
this._tp_meter_red,
this._tp_old_ani[0],
this._battler.maxTp(),
1,
this._tp_flow[1]
);
}
this._tp_flow[1] += 1.5;
if (this._tp_flow[1] > this._tp_flow[3]) {
this._tp_flow[1] = 0;
}
} else {
if (this.need_refresh_parameter(2)) {
this.refresh_meter(
this._tp_meter_blue,
this._battler.tp,
this._battler.maxTp(),
0
);
this._tp_old = [this._battler.tp, this._battler.maxTp()];
}
var dif_meter = this.update_dif(
this._tp_old_ani[0],
this._battler.tp,
160
);
if (this._tp_old_ani[0] != dif_meter) {
this._tp_old_ani[0] = dif_meter;
this.refresh_meter(
this._tp_meter_red,
this._tp_old_ani[0],
this._battler.maxTp(),
1
);
}
}
}
if (this._tp_number) {
var dif_number = this.update_dif(this._tp_number_old, this._battler.tp, 30);
if (this._tp_number_old != dif_number) {
this._tp_number_old = dif_number;
this.refresh_number(
this._tp_number,
this._tp_number_old,
this._tp_img_data,
this._tp_img_data[4],
this._tp_img_data[5],
2
);
}
}
};
//==============================
// * Create AT Meter
//==============================
Battle_Hud.prototype.create_at_meter = function () {
if (String(Moghunter.bhud_at_meter_visible) != "true") {
return;
}
this.removeChild(this._at_meter);
if (!this._battler) {
return;
}
this._at_meter = new Sprite(this._at_meter_img);
this._at_meter.x = this._pos_x + Moghunter.bhud_at_meter_pos_x;
this._at_meter.y = this._pos_y + Moghunter.bhud_at_meter_pos_y;
this._at_meter.rotation = (Moghunter.bhud_at_meter_rotation * Math.PI) / 180;
this.addChild(this._at_meter);
if (String(Moghunter.bhud_at_meter_flow) === "true") {
this._at_flow[0] = true;
this._at_flow[2] = this._at_meter_img.width / 3;
this._at_flow[3] = this._at_flow[2] * 2;
this._at_flow[1] = Math.floor(Math.random() * this._at_flow[2]);
}
};
//==============================
// * Update AT
//==============================
Battle_Hud.prototype.update_at = function () {
if (this._at_meter) {
if (!this.at === -1) {
this._at_meter.visible = false;
return;
} else {
this._at_meter.visible = true;
}
if (this._at_flow[0]) {
if (this.is_casting()) {
if (this.is_max_cast()) {
this.refresh_at_meter_flow(
this._at_meter,
this.cast_at(),
this.cast_max_at(),
3,
this._at_flow[1]
);
} else {
this.refresh_at_meter_flow(
this._at_meter,
this.cast_at(),
this.cast_max_at(),
2,
this._at_flow[1]
);
}
} else if (this.is_max_at()) {
this.refresh_at_meter_flow(
this._at_meter,
this.at(),
this.max_at(),
1,
this._at_flow[1]
);
} else {
this.refresh_at_meter_flow(
this._at_meter,
this.at(),
this.max_at(),
0,
this._at_flow[1]
);
}
this._at_flow[1] += 1.5;
if (this._at_flow[1] > this._at_flow[3]) {
this._at_flow[1] = 0;
}
} else {
if (this.is_casting()) {
if (this.is_max_cast()) {
this.refresh_at_meter(
this._at_meter,
this.cast_at(),
this.cast_max_at(),
3
);
} else {
this.refresh_at_meter(
this._at_meter,
this.cast_at(),
this.cast_max_at(),
2
);
}
} else if (this.is_max_at()) {
this.refresh_at_meter(this._at_meter, this.at(), this.max_at(), 1);
} else {
this.refresh_at_meter(this._at_meter, this.at(), this.max_at(), 0);
}
}
}
};
//==============================
// * Refresh AT Meter
//==============================
Battle_Hud.prototype.refresh_at_meter = function (
sprite,
value,
value_max,
type
) {
var ch = sprite.bitmap.height / 4;
var meter_rate = (sprite.bitmap.width * value) / value_max;
sprite.setFrame(0, type * ch, meter_rate, ch);
};
//==============================
// * Refresh AT Meter Flow
//==============================
Battle_Hud.prototype.refresh_at_meter_flow = function (
sprite,
value,
value_max,
type,
flow
) {
var cw = sprite.bitmap.width / 3;
var ch = sprite.bitmap.height / 4;
var meter_rate = (cw * value) / value_max;
sprite.setFrame(flow, type * ch, meter_rate, ch);
};
//==============================
// * At
//==============================
Battle_Hud.prototype.at = function () {
return this._battler._tpbChargeTime;
};
//==============================
// * Max At
//==============================
Battle_Hud.prototype.max_at = function () {
return 1;
};
//==============================
// * Cast AT
//==============================
Battle_Hud.prototype.cast_at = function () {
return this._battler._tpbCastTime;
};
//==============================
// * Cast Max AT
//==============================
Battle_Hud.prototype.cast_max_at = function () {
return this._battler.tpbRequiredCastTime();
};
//==============================
// * Is Casting
//==============================
Battle_Hud.prototype.is_casting = function () {
return this._battler._tpbState === "casting";
};
//==============================
// * Is Max Atb
//==============================
Battle_Hud.prototype.is_max_at = function () {
return this.at() >= this.max_at();
};
//==============================
// * Is Max Cast
//==============================
Battle_Hud.prototype.is_max_cast = function () {
return this.cast_at() >= this.cast_max_at();
};
//==============================
// * Create States
//==============================
Battle_Hud.prototype.create_states = function () {
if (String(Moghunter.bhud_states_visible) != "true") {
return;
}
this.removeChild(this._state_icon);
if (!this._battler) {
return;
}
this._states_data = [0, 0, 0];
this._state_icon = new Sprite(this._state_img);
this._state_icon.x = this._pos_x + Moghunter.bhud_states_pos_x;
this._state_icon.y = this._pos_y + Moghunter.bhud_states_pos_y;
this._state_icon.visible = false;
this.addChild(this._state_icon);
this.refresh_states();
};
//==============================
// * Create States
//==============================
Battle_Hud.prototype.refresh_states = function () {
this._states_data[0] = 0;
this._states_data[2] = 0;
this._state_icon.visible = false;
if (this._battler.allIcons().length == 0) {
this._states_data[1] = 0;
return;
}
if (this._battler.allIcons()[this._states_data[1]]) {
this._states_data[0] = this._battler.allIcons()[this._states_data[1]];
this._state_icon.visible = true;
var sx = (this._states_data[0] % 16) * 32;
var sy = Math.floor(this._states_data[0] / 16) * 32;
this._state_icon.setFrame(sx, sy, 32, 32);
this._battler.need_refresh_bhud_states = false;
}
this._states_data[1] += 1;
if (this._states_data[1] >= this._battler.allIcons().length) {
this._states_data[1] = 0;
}
};
//==============================
// * Update States
//==============================
Battle_Hud.prototype.update_states = function () {
this._states_data[2] += 1;
if (this.need_refresh_states()) {
this.refresh_states();
}
};
//==============================
// * Need Refresh States
//==============================
Battle_Hud.prototype.need_refresh_states = function () {
if (this._battler.need_refresh_bhud_states) {
return true;
}
if (this._states_data[2] > 60) {
return true;
}
return false;
};
//==============================
// * Create States 2
//==============================
Battle_Hud.prototype.create_states2 = function () {
if (String(Moghunter.bhud_states_visible) != "true") {
return;
}
this.removeChild(this._state_icon);
if (!this._battler) {
return;
}
this._states_data = [0, 0, 0];
this._stateIcons = [];
this._state_icon = new Sprite();
this._state_icon.x = this._pos_x + Moghunter.bhud_states_pos_x;
this._state_icon.y = this._pos_y + Moghunter.bhud_states_pos_y;
this._state_icon.visible = false;
this.addChild(this._state_icon);
this.refresh_states2();
};
//==============================
// * Create States
//==============================
Battle_Hud.prototype.refresh_states2 = function () {
this._state_icon.visible = false;
this._battler.need_refresh_bhud_states = false;
for (i = 0; i < this._stateIcons.length; i++) {
this._state_icon.removeChild(this._stateIcons[i]);
}
if (this._battler.allIcons().length == 0) {
return;
}
this._state_icon.visible = true;
this._stateIcons = [];
var w = ImageManager.iconWidth;
var icons = this._battler.allIcons().slice(0, w);
var m = Math.min(
Math.max(this._battler.allIcons().length, 0),
Moghunter.bhud_statesMax
);
var align = Moghunter.bhud_statesAlign;
for (i = 0; i < m; i++) {
this._stateIcons[i] = new Sprite(this._state_img);
var sx = (icons[i] % 16) * w;
var sy = Math.floor(icons[i] / 16) * w;
this._stateIcons[i].setFrame(sx, sy, w, w);
if (align === 1) {
this._stateIcons[i].x = -((w + 4) * i);
} else if (align === 2) {
this._stateIcons[i].y = (w + 4) * i;
} else if (align === 3) {
this._stateIcons[i].y = -((w + 4) * i);
} else {
this._stateIcons[i].x = (w + 4) * i;
}
this._state_icon.addChild(this._stateIcons[i]);
}
};
//==============================
// * Update States 2
//==============================
Battle_Hud.prototype.update_states2 = function () {
if (this.need_refresh_states2()) {
this.refresh_states2();
}
};
//==============================
// * Need Refresh States 2
//==============================
Battle_Hud.prototype.need_refresh_states2 = function () {
if (this._battler.need_refresh_bhud_states) {
return true;
}
return false;
};