设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 977|回复: 3
打印 上一主题 下一主题

[已经解决] 关于MOG战斗脚本的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2014-2-10
帖子
138
跳转到指定楼层
1
发表于 2014-5-2 17:28:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 银元宝 于 2014-5-3 10:53 编辑

最近在图书馆里找到了一个MOG脚本的整合,然后就用了里面战斗系统,但是呢,我想做到在图片红框的这个位置显示一个名字,请问要怎么做到呢?

脚本在下面,麻烦了你们了
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Battle Hud EX (v3.1) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com[/url]
  6. #==============================================================================
  7. # Sistema avançado de Hud de batalha, voltado para artistas gráficos e
  8. # usuários avançados.
  9. #
  10. # Compatível com :
  11. #
  12. # - Victor's Animated_battle (1.21)
  13. # - Victor's Active Time Battle (1.05)
  14. # - Victor's Map Turn Battle (1.09)
  15. # - Victor's Target Arrows (1.08)
  16. # - Yami's Battle Symphony (1.16)
  17. # - Yanfly's Battle Engine (1.09)
  18. # - Yanfly's Visual Battlers (1.01)
  19. # - Yanfly's Enemy Target Info (1.02)
  20. # - Kread-EX's Animated Battlers (1.08)
  21. # - Galv's Animated Battlers (1.2)
  22. # - Jet's Viewed Battle Systems (?)
  23. # - Jet's Animated Battlers(?)
  24. # - C Winter's Active Time Battle (1.21)
  25. # - Enu's Tankentai SBS (v1.00)
  26. #
  27. #==============================================================================
  28. #
  29. # Coloque as imagens da hud na pasta.
  30. #
  31. # Graphics/Huds/Battle/
  32. #
  33. #==============================================================================
  34. # Atualizações desta versão.
  35. #============================================================================
  36. # (Ver 3.1)
  37. #    - Adição do comando de mudar a face do personagem.
  38. #      Use o comando abaixo na opção chamar script.
  39. #
  40. #          battler_face_name( ACTOR_ID , FACE_NAME )
  41. #  
  42. #    - Adição da opção de ativar ou desativar o efeito Mirror da face.
  43. #    - Correção da posição na janela de menssagem de texto.
  44. #
  45. # (Ver 3.0)
  46. #    - Compatibilidade com C Winter's Active Time Battle (1.21)
  47. #    - Compatibilidade com Jet's Viewed Battle Systems
  48. #    - Compatibilidade com Victor's Target Arrows (1.08)
  49. #    - Compatibilidade com MOG's Battle Cursor (1.2)
  50. #    - Compatibilidade com Yanfly's Enemy Target Info (1.02)
  51. #    - Definição do nome da face pela ID do personagem.
  52. #    - Melhoria no sistema de animação das faces.
  53. #    - Melhoria na compatibilidade com Yami - Battle Symphony (1.16)
  54. #    - Melhoria na compatibilidade com Yanfly's Battle Engine.
  55. #    - Correção do Bug de compatibilidade com Enu's Takentai SBS.
  56. #    - Correção do Bug de não apresentar animação ao "reviver".
  57. #    - Melhoria na codificação, resultando melhor compatibilidade geral.
  58. #==============================================================================
  59. module MOG_BATTLE_HUD_EX
  60.  
  61.   #============================================================================
  62.   #============================================================================
  63.   # * HUD SPRITE (GENERAL)
  64.   #============================================================================
  65.   # Definição da quantidade maxima de personagens na batalha.
  66.   #---------------------------------------------------------------------------
  67.   MAX_BATTLE_MEMBERS = 4
  68.   #---------------------------------------------------------------------------
  69.   # Definição da prioridade da hud.
  70.   #---------------------------------------------------------------------------
  71.   HUD_Z = 150
  72.   #---------------------------------------------------------------------------
  73.   # Definição da posição geral da hud, influência em todos os sprites da hud.
  74.   #---------------------------------------------------------------------------
  75.   HUD_POSITION = [0,323]
  76.   #---------------------------------------------------------------------------
  77.   # Definição do espaço entre os membros do grupo.
  78.   # (Use apenas para ajustes)
  79.   #---------------------------------------------------------------------------
  80.   MEMBERS_SPACE = [0,0]
  81.   #---------------------------------------------------------------------------
  82.   # Definição fixa da hud se deseja posicionar a hud em lugares
  83.   # específicos da tela.
  84.   #
  85.   # FIXED_POSITION[INDEX_ID] = [X,Y]
  86.   #
  87.   #---------------------------------------------------------------------------
  88.   FIXED_HUD_POSITION = []
  89.   # FIXED_HUD_POSITION[0] = [10,10]
  90.   # FIXED_HUD_POSITION[1] = [410,10]
  91.   # FIXED_HUD_POSITION[2] = [10,320]
  92.   # FIXED_HUD_POSITION[3] = [410,320]
  93.   #---------------------------------------------------------------------------
  94.   # Definição da posição do comando quando a opção de janelas fixa é ativada.
  95.   #---------------------------------------------------------------------------
  96.   FIXED_COMMAND_POSITION = []
  97.   #FIXED_COMMAND_POSITION[0] = [130,10]
  98.   # FIXED_COMMAND_POSITION[1] = [300,10]
  99.   # FIXED_COMMAND_POSITION[2] = [130,290]
  100.   # FIXED_COMMAND_POSITION[3] = [300,290]
  101.   #---------------------------------------------------------------------------
  102.   # Definição da posição da janela de mensagem.
  103.   #---------------------------------------------------------------------------
  104.   # 0 - Acima
  105.   # 1 - Centro
  106.   # 2 - Abaixo
  107.   #---------------------------------------------------------------------------
  108.   BATTLE_MESSAGE_POSITION = 0
  109.   #---------------------------------------------------------------------------
  110.   # Definição da porcentagem do parâmetro baixo, isso influência na cor
  111.   # do número dos parâmetros de HP, MP e TP.
  112.   #---------------------------------------------------------------------------
  113.   LOW_PARAMETER_PERCENTAGE = 30
  114.   #============================================================================
  115.   #============================================================================
  116.  
  117.  
  118.   #============================================================================
  119.   #============================================================================
  120.   # * NAME
  121.   #============================================================================
  122.   # Ativar o Sprite do nome do personagem.
  123.   #---------------------------------------------------------------------------
  124.   NAME_VISIBLE = false
  125.   #---------------------------------------------------------------------------
  126.   # Definição da prioridade do Sprite.
  127.   #---------------------------------------------------------------------------  
  128.   NAME_Z = 5
  129.   #---------------------------------------------------------------------------
  130.   # Definição da posição da Face. [X,Y]
  131.   #---------------------------------------------------------------------------
  132.   NAME_POSITION = [0,-7]
  133.   #---------------------------------------------------------------------------
  134.   # Definição do tipo alinhamento do nome.
  135.   #
  136.   # 0 - Esquerda
  137.   # 1 - Centro
  138.   # 2 - Direita
  139.   #---------------------------------------------------------------------------  
  140.   NAME_ALIGN_TYPE = 1
  141.   #---------------------------------------------------------------------------
  142.   # Definição do nome da fonte.
  143.   #---------------------------------------------------------------------------
  144.   NAME_FONT_NAME = "Georgia"
  145.   #---------------------------------------------------------------------------
  146.   # Definição do tamanho da fonte.
  147.   #---------------------------------------------------------------------------   
  148.   NAME_FONT_SIZE = 16
  149.   #---------------------------------------------------------------------------
  150.   # Ativar Bold.
  151.   #---------------------------------------------------------------------------   
  152.   NAME_FONT_BOLD = true
  153.   #---------------------------------------------------------------------------
  154.   # Ativar Italic.
  155.   #---------------------------------------------------------------------------   
  156.   NAME_FONT_ITALIC = true
  157.   #---------------------------------------------------------------------------
  158.   # Definição da cor da fonte
  159.   #---------------------------------------------------------------------------     
  160.   NAME_FONT_COLOR = Color.new(255,255,255,255)
  161.   #---------------------------------------------------------------------------
  162.   # Ativar Sombra
  163.   #---------------------------------------------------------------------------  
  164.   NAME_FONT_SHADOW = false
  165.   #---------------------------------------------------------------------------
  166.   # Definição da cor da sombra
  167.   #---------------------------------------------------------------------------   
  168.   NAME_FONT_SHADOW_COLOR = Color.new(0,0,0,255)
  169.   #---------------------------------------------------------------------------
  170.   # Definição da distância da sombra.
  171.   #---------------------------------------------------------------------------   
  172.   NAME_FONT_SHADOW_POSITION = [2,2]  
  173.   #============================================================================
  174.   #============================================================================
  175.  
  176.  
  177.   #============================================================================
  178.   #============================================================================
  179.   # * FACE
  180.   #============================================================================
  181.   # Ativar a face.
  182.   # Será necessário o arquivo.
  183.   #
  184.   # ACTOR_NAME + _Face.png
  185.   #
  186.   # Eric_Face.png
  187.   #
  188.   #---------------------------------------------------------------------------
  189.   FACE_VISIBLE = true
  190.   # Ativar as Faces representando os battlers.
  191.   # Deixe "false" se tiver problemas de compatibilidade com scripts.
  192.   FACE_BATTLER = true
  193.   #---------------------------------------------------------------------------
  194.   # Definição da prioridade do sprite.
  195.   #---------------------------------------------------------------------------  
  196.   FACE_Z = -1
  197.   #---------------------------------------------------------------------------
  198.   # Definição da posição da Face. [X,Y]
  199.   #---------------------------------------------------------------------------
  200.   FACE_POSITION = [68,5]
  201.   #---------------------------------------------------------------------------
  202.   # Ativar faces animadas.
  203.   # Será necessário ter uma imagem de 5 faces do personagem no mesmo arquivo.
  204.   #
  205.   # FACE1/FACE2/FACE3/FACE4
  206.   #
  207.   # A imagem será dividida por 4 frames, no caso de definir a função como FALSE
  208.   # a imagem será dividida por 1 frame
  209.   #---------------------------------------------------------------------------  
  210.   FACE_ANIMATION = true
  211.   #---------------------------------------------------------------------------
  212.   # Ativar o efeito de Zoom quando o personagem usar alguma ação.
  213.   #---------------------------------------------------------------------------
  214.   FACE_ZOOM_ANIMATION = true
  215.   #---------------------------------------------------------------------------
  216.   # Ativar o efeito Mirror na animação de ação do personagem.
  217.   #---------------------------------------------------------------------------
  218.   FACE_ZOOM_MIRROR_EFFECT = false
  219.   #---------------------------------------------------------------------------
  220.   # Definição do tempo duração da animação da face.
  221.   #---------------------------------------------------------------------------  
  222.   FACE_ANIMATION_DURATION = 40
  223.   #---------------------------------------------------------------------------
  224.   # Ativar o efeito tremor da face quando o personagem sofrer dano.
  225.   #---------------------------------------------------------------------------  
  226.   FACE_SHAKE_EFFECT = true
  227.   #============================================================================
  228.   #============================================================================
  229.  
  230.  
  231.   #============================================================================
  232.   #============================================================================
  233.   # * TURN (ACTIVE INDICATOR)
  234.   #============================================================================
  235.   # Ativar o indicador de turno do personagem.
  236.   # Será necessário o arquivo.
  237.   #
  238.   # Turn.png
  239.   #
  240.   #---------------------------------------------------------------------------
  241.   TURN_SPRITE_VISIBLE = true
  242.   #---------------------------------------------------------------------------
  243.   # Definição da prioridade do Sprite.
  244.   #---------------------------------------------------------------------------   
  245.   TURN_SPRITE_Z = 0
  246.   #---------------------------------------------------------------------------
  247.   # Definição da posição do sprite de turno.
  248.   #---------------------------------------------------------------------------  
  249.   TURN_SPRITE_POSITION = [7,-30]
  250.   #---------------------------------------------------------------------------  
  251.   # Ativar o efeito de animação de piscar.
  252.   #---------------------------------------------------------------------------  
  253.   TURN_BLINK_EFFECT = true
  254.   #---------------------------------------------------------------------------  
  255.  
  256.  
  257.   #============================================================================
  258.   #============================================================================
  259.   # * HP
  260.   #============================================================================
  261.   # Ativar o número de HP.
  262.   # Será necessário o arquivo.
  263.   #
  264.   # HP_Number.png
  265.   #
  266.   #---------------------------------------------------------------------------
  267.   HP_NUMBER_VISIBLE = true
  268.   #---------------------------------------------------------------------------
  269.   # Definição da prioridade do Sprite.
  270.   #---------------------------------------------------------------------------   
  271.   HP_NUMBER_Z = 2
  272.   #---------------------------------------------------------------------------
  273.   # Definição da posição do número de HP. [X,Y]
  274.   #---------------------------------------------------------------------------  
  275.   HP_NUMBER_POSITION = [117,26]
  276.   #---------------------------------------------------------------------------  
  277.   # Ativar o número de HP Total.
  278.   # Será necessário o arquivo.
  279.   #
  280.   # HP_Number_Max.png
  281.   #
  282.   #---------------------------------------------------------------------------
  283.   HP_NUMBER_MAX_VISIBLE = false
  284.   #---------------------------------------------------------------------------
  285.   # Definição da posição do número de HP Total. [X,Y]
  286.   #---------------------------------------------------------------------------  
  287.   HP_NUMBER_MAX_POSITION = [165,30]
  288.   #---------------------------------------------------------------------------
  289.   # Definição do tipo alinhamento do número.
  290.   #
  291.   # 0 - Esquerda
  292.   # 1 - Centro
  293.   # 2 - Direita
  294.   #---------------------------------------------------------------------------  
  295.   HP_NUMBER_ALIGN_TYPE = 2
  296.   #---------------------------------------------------------------------------
  297.   # Ativa o efeito de alinhar os números em posições de Y diferentes.
  298.   #---------------------------------------------------------------------------
  299.   HP_NUMBER_WAVE_ALIGN_EFFECT = false
  300.   #---------------------------------------------------------------------------
  301.   # Apresentar os números em porcentagem.
  302.   #---------------------------------------------------------------------------   
  303.   HP_NUMBER_PERCENTAGE = false
  304.   #---------------------------------------------------------------------------
  305.   # Ativar números animados ("Rolantes").
  306.   #---------------------------------------------------------------------------  
  307.   HP_NUMBER_ANIMATION = true
  308.   #---------------------------------------------------------------------------
  309.   # Ativar a cor do HP baixo.
  310.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  311.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  312.   #
  313.   # NORMAL_COLOR
  314.   # LOW_PARAMETER_COLOR
  315.   #
  316.   # Caso definir a função como FALSE a imagem será dividida apenas como
  317.   # 1 frame de altura.
  318.   #---------------------------------------------------------------------------  
  319.   HP_NUMBER_LOW_COLOR = false
  320.   #---------------------------------------------------------------------------
  321.   # Ativar o medidor de HP.
  322.   # Será necessário o arquivo.
  323.   #
  324.   # HP_Meter.png
  325.   #  
  326.   #---------------------------------------------------------------------------  
  327.   HP_METER_VISIBLE = true
  328.   #---------------------------------------------------------------------------
  329.   # Definição da prioridade do sprite.
  330.   #---------------------------------------------------------------------------   
  331.   HP_METER_Z = 1
  332.   #---------------------------------------------------------------------------
  333.   # Definição da posição do medidor de HP. [X,Y]
  334.   #---------------------------------------------------------------------------  
  335.   HP_METER_POSITION = [38,39]
  336.   #---------------------------------------------------------------------------
  337.   # Definição do ângulo do medidor.
  338.   #---------------------------------------------------------------------------  
  339.   HP_METER_ANGLE = 0
  340.   #---------------------------------------------------------------------------
  341.   # Ativar o efeito mirror, essa opção faz com que o medidor tenha o movimento
  342.   # inverso.
  343.   #---------------------------------------------------------------------------  
  344.   HP_METER_MIRROR_EFFECT = false
  345.   #---------------------------------------------------------------------------
  346.   # Ativar o efeito animado de dano no medidor.
  347.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  348.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  349.   #
  350.   # NORMAL_COLOR
  351.   # DAMAGE_COLOR
  352.   #
  353.   # Se definir como FALSE use apenas use uma imagem com o tamanho normal.
  354.   #---------------------------------------------------------------------------  
  355.   HP_METER_REDUCTION_ANIMATION = true
  356.   #---------------------------------------------------------------------------
  357.   # Ativar o efeito animado do "medidor fluindo".
  358.   # Será necessário ter a imagem com a largura 3 vezes maior que o tamanho normal.
  359.   # Essa imagem dever estar em gradiente para ter o efeito "fluindo".
  360.   # Se definir como FALSE use apenas uma imagem com o tamanho normal.
  361.   #---------------------------------------------------------------------------  
  362.   HP_METER_GRADIENT_ANIMATION = true
  363.   #---------------------------------------------------------------------------
  364.   # Ativar HP em ícones.
  365.   # Será necessário ter a imagem.
  366.   #
  367.   # HP_Icon.png
  368.   #
  369.   #---------------------------------------------------------------------------
  370.   HP_ICON_VISIBLE = false
  371.   #---------------------------------------------------------------------------
  372.   # Definição da prioridade do Sprite.
  373.   #---------------------------------------------------------------------------   
  374.   HP_ICON_Z = 1
  375.   #---------------------------------------------------------------------------
  376.   # Posição do ícone de HP.
  377.   #---------------------------------------------------------------------------  
  378.   HP_ICON_POSITION = [200,0]
  379.   #---------------------------------------------------------------------------
  380.   # Ativar o sprite EX do ultimo ícone
  381.   # Será necessário ter a imagem.
  382.   #
  383.   # HP_Icon_EX.png
  384.   #
  385.   #---------------------------------------------------------------------------
  386.   HP_ICON_EX_VISIBLE = false
  387.   #---------------------------------------------------------------------------
  388.   # Posição do ícone Animado.
  389.   #---------------------------------------------------------------------------  
  390.   HP_ICON_EX_POSITION = [0,0]
  391.   #---------------------------------------------------------------------------
  392.   # Ativar o efeito de Zoom do Sprite.
  393.   #---------------------------------------------------------------------------
  394.   HP_ICON_EX_ZOOM_EFFECT = true
  395.   #---------------------------------------------------------------------------
  396.   # Espaço entre os ícones.
  397.   #---------------------------------------------------------------------------   
  398.   HP_ICON_SPACE = [-10,-10]
  399.   #---------------------------------------------------------------------------
  400.   # Definição da quantidade maxima de ícones na horizontal.
  401.   #---------------------------------------------------------------------------  
  402.   HP_ICON_COL_MAX = 10
  403.   #---------------------------------------------------------------------------
  404.   # Definição da quantidade maxima de ícones na vertical.
  405.   #---------------------------------------------------------------------------   
  406.   HP_ICON_ROW_MAX = 2
  407.   #---------------------------------------------------------------------------
  408.   # Ativar o número de HP de ícones.
  409.   # Será necessário ter a imagem.
  410.   #
  411.   # HP_Icon_Number.png
  412.   #
  413.   #---------------------------------------------------------------------------
  414.   HP_ICON_NUMBER_VISIBLE = false
  415.   #---------------------------------------------------------------------------
  416.   # Definição da prioridade do sprite.
  417.   #---------------------------------------------------------------------------
  418.   HP_ICON_NUMBER_Z = 4
  419.   #---------------------------------------------------------------------------
  420.   # Posição do número do ícone
  421.   #---------------------------------------------------------------------------  
  422.   HP_ICON_NUMBER_POSITION = [0,0]
  423.   #---------------------------------------------------------------------------
  424.   # Definição do tipo alinhamento do número.
  425.   #
  426.   # 0 - Esquerda
  427.   # 1 - Centro
  428.   # 2 - Direita
  429.   #---------------------------------------------------------------------------  
  430.   HP_ICON_NUMBER_ALIGN_TYPE = 0   
  431.   #============================================================================
  432.   #============================================================================
  433.  
  434.  
  435.   #============================================================================
  436.   #============================================================================
  437.   # * MP
  438.   #============================================================================
  439.   # Ativar o número de MP.
  440.   # Será necessário o arquivo.
  441.   #
  442.   # MP_Number.png
  443.   #  
  444.   #---------------------------------------------------------------------------  
  445.   MP_NUMBER_VISIBLE = true
  446.   #---------------------------------------------------------------------------
  447.   # Definição da prioridade do Sprite.
  448.   #---------------------------------------------------------------------------   
  449.   MP_NUMBER_Z = 2  
  450.   #---------------------------------------------------------------------------
  451.   # Definição da posição do número de MP. [X,Y]
  452.   #---------------------------------------------------------------------------  
  453.   MP_NUMBER_POSITION = [90,44]
  454.   #---------------------------------------------------------------------------  
  455.   # Ativar o número de MP Total.
  456.   # Será necessário o arquivo.
  457.   #
  458.   # MP_Number_Max.png
  459.   #
  460.   #---------------------------------------------------------------------------
  461.   MP_NUMBER_MAX_VISIBLE = false
  462.   #---------------------------------------------------------------------------
  463.   # Definição da posição do número de MP Total. [X,Y]
  464.   #---------------------------------------------------------------------------  
  465.   MP_NUMBER_MAX_POSITION = [128,53]
  466.   #---------------------------------------------------------------------------
  467.   # Definição do tipo alinhamento do número.
  468.   #
  469.   # 0 - Esquerda
  470.   # 1 - Centro
  471.   # 2 - Direita
  472.   #---------------------------------------------------------------------------  
  473.   MP_NUMBER_ALIGN_TYPE = 2
  474.   #---------------------------------------------------------------------------
  475.   # Ativa o efeito de alinhar os números em posições de Y diferentes.
  476.   #---------------------------------------------------------------------------
  477.   MP_NUMBER_WAVE_ALIGN_EFFECT = false   
  478.   #---------------------------------------------------------------------------
  479.   # Apresentar os números em porcentagem.
  480.   #---------------------------------------------------------------------------   
  481.   MP_NUMBER_PERCENTAGE = false
  482.   #---------------------------------------------------------------------------
  483.   # Ativar números animados ("Rolantes").
  484.   #---------------------------------------------------------------------------  
  485.   MP_NUMBER_ANIMATION = true
  486.   #---------------------------------------------------------------------------
  487.   # Ativar a cor do MP baixo.
  488.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  489.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  490.   #
  491.   # NORMAL_COLOR
  492.   # LOW_PARAMETER_COLOR
  493.   #
  494.   # Se definir como FALSE use apenas use uma imagem com o tamanho normal.
  495.   #---------------------------------------------------------------------------  
  496.   MP_NUMBER_LOW_COLOR = false
  497.   #---------------------------------------------------------------------------
  498.   # Ativar o medidor de MP.
  499.   # Será necessário o arquivo.
  500.   #
  501.   # MP_Meter.png
  502.   #   
  503.   #---------------------------------------------------------------------------  
  504.   MP_METER_VISIBLE = true
  505.   #---------------------------------------------------------------------------
  506.   # Definição da prioridade do sprite.
  507.   #---------------------------------------------------------------------------   
  508.   MP_METER_Z = 1  
  509.   #---------------------------------------------------------------------------
  510.   # Definição da posição do medidor de MP. [X,Y]
  511.   #---------------------------------------------------------------------------  
  512.   MP_METER_POSITION = [9,56]
  513.   #---------------------------------------------------------------------------
  514.   # Definição do ângulo do medidor.
  515.   #---------------------------------------------------------------------------  
  516.   MP_METER_ANGLE = 0
  517.   #---------------------------------------------------------------------------
  518.   # Ativar o efeito mirror, essa opção faz com que o medidor tenha o movimento
  519.   # inverso.
  520.   #---------------------------------------------------------------------------  
  521.   MP_METER_MIRROR_EFFECT = false
  522.   #---------------------------------------------------------------------------
  523.   # Ativar o efeito animado de dano no medidor.
  524.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  525.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  526.   #
  527.   # NORMAL_COLOR
  528.   # DAMAGE_COLOR
  529.   #
  530.   # Se definir como FALSE use apenas use uma imagem com o tamanho normal.
  531.   #---------------------------------------------------------------------------  
  532.   MP_METER_REDUCTION_ANIMATION = true
  533.   #---------------------------------------------------------------------------
  534.   # Ativar o efeito animado do "medidor fluindo".
  535.   # Será necessário ter a imagem com a largura 3 vezes maior que o tamanho normal.
  536.   # Essa imagem dever estar em gradiente para ter o efeito "fluindo".
  537.   # Se definir como FALSE use apenas uma imagem com o tamanho normal.
  538.   #---------------------------------------------------------------------------  
  539.   MP_METER_GRADIENT_ANIMATION = true
  540.   #---------------------------------------------------------------------------
  541.   # Ativar MP em ícones.
  542.   # Será necessário ter a imagem.
  543.   #
  544.   # MP_Icon.png
  545.   #
  546.   #---------------------------------------------------------------------------
  547.   MP_ICON_VISIBLE = false
  548.   #---------------------------------------------------------------------------
  549.   # Definição da prioridade do Sprite.
  550.   #---------------------------------------------------------------------------   
  551.   MP_ICON_Z = 1  
  552.   #---------------------------------------------------------------------------
  553.   # Posição do ícone de MP.
  554.   #---------------------------------------------------------------------------  
  555.   MP_ICON_POSITION = [200,64]
  556.   #---------------------------------------------------------------------------
  557.   # Ativar o sprite EX do ultimo ícone
  558.   # Será necessário ter a imagem.
  559.   #
  560.   # MP_Icon_EX.png
  561.   #
  562.   #---------------------------------------------------------------------------
  563.   MP_ICON_EX_VISIBLE = false
  564.   #---------------------------------------------------------------------------
  565.   # Posição do ícone Animado.
  566.   #---------------------------------------------------------------------------  
  567.   MP_ICON_EX_POSITION = [0,0]
  568.   #---------------------------------------------------------------------------
  569.   # Ativar o efeito de Zoom do Sprite.
  570.   #---------------------------------------------------------------------------
  571.   MP_ICON_EX_ZOOM_EFFECT = true
  572.   #---------------------------------------------------------------------------
  573.   # Espaço entre os ícones.
  574.   #---------------------------------------------------------------------------   
  575.   MP_ICON_SPACE = [-10,-10]
  576.   #---------------------------------------------------------------------------
  577.   # Definição da quantidade maxima de ícones na horizontal.
  578.   #---------------------------------------------------------------------------  
  579.   MP_ICON_COL_MAX = 10
  580.   #---------------------------------------------------------------------------
  581.   # Definição da quantidade maxima de ícones na vertical.
  582.   #---------------------------------------------------------------------------   
  583.   MP_ICON_ROW_MAX = 2
  584.   #---------------------------------------------------------------------------
  585.   # Ativar o número de MP de ícones.
  586.   # Será necessário ter a imagem.
  587.   #
  588.   # MP_Icon_Number.png
  589.   #
  590.   #---------------------------------------------------------------------------
  591.   MP_ICON_NUMBER_VISIBLE = false
  592.   #---------------------------------------------------------------------------
  593.   # Definição da prioridade do sprite.
  594.   #---------------------------------------------------------------------------
  595.   MP_ICON_NUMBER_Z = 4
  596.   #---------------------------------------------------------------------------
  597.   # Posição do número do ícone
  598.   #---------------------------------------------------------------------------  
  599.   MP_ICON_NUMBER_POSITION = [0,64]
  600.   #---------------------------------------------------------------------------
  601.   # Definição do tipo alinhamento do número.
  602.   #
  603.   # 0 - Esquerda
  604.   # 1 - Centro
  605.   # 2 - Direita
  606.   #---------------------------------------------------------------------------  
  607.   MP_ICON_NUMBER_ALIGN_TYPE = 0   
  608.   #============================================================================
  609.   #============================================================================
  610.  
  611.  
  612.   #============================================================================
  613.   #============================================================================
  614.   # * TP
  615.   #============================================================================
  616.   # Ativar o número de TP.
  617.   # Será necessário o arquivo.
  618.   #
  619.   # TP_Number.png
  620.   #   
  621.   #---------------------------------------------------------------------------
  622.   TP_NUMBER_VISIBLE = true
  623.   #---------------------------------------------------------------------------
  624.   # Definição da prioridade do sprite.
  625.   #---------------------------------------------------------------------------
  626.   TP_NUMBER_Z = 5  
  627.   #---------------------------------------------------------------------------
  628.   # Definição da posição do número de TP. [X,Y]
  629.   #---------------------------------------------------------------------------  
  630.   TP_NUMBER_POSITION = [19,23]
  631.   #---------------------------------------------------------------------------  
  632.   # Ativar o número de TP Total.
  633.   # Será necessário o arquivo.
  634.   #
  635.   # TP_Number_Max.png
  636.   #
  637.   #---------------------------------------------------------------------------
  638.   TP_NUMBER_MAX_VISIBLE = false
  639.   #---------------------------------------------------------------------------
  640.   # Definição da posição do número de TP Total. [X,Y]
  641.   #---------------------------------------------------------------------------  
  642.   TP_NUMBER_MAX_POSITION = [165,73]
  643.   #---------------------------------------------------------------------------
  644.   # Definição do tipo alinhamento do número.
  645.   #
  646.   # 0 - Esquerda
  647.   # 1 - Centro
  648.   # 2 - Direita
  649.   #---------------------------------------------------------------------------  
  650.   TP_NUMBER_ALIGN_TYPE = 1
  651.   #---------------------------------------------------------------------------
  652.   # Ativa o efeito de alinhar os números em posições de Y diferentes.
  653.   #---------------------------------------------------------------------------
  654.   TP_NUMBER_WAVE_ALIGN_EFFECT = false   
  655.   #---------------------------------------------------------------------------
  656.   # Apresentar os números em porcentagem.
  657.   #---------------------------------------------------------------------------   
  658.   TP_NUMBER_PERCENTAGE = false
  659.   #---------------------------------------------------------------------------
  660.   # Ativar números animados ("Rolantes").
  661.   #---------------------------------------------------------------------------  
  662.   TP_NUMBER_ANIMATION = true
  663.   #---------------------------------------------------------------------------
  664.   # Ativar a cor do TP baixo.
  665.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  666.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  667.   #
  668.   # NORMAL_COLOR
  669.   # LOW_PARAMETER_COLOR
  670.   #
  671.   # Se definir como FALSE use apenas use uma imagem com o tamanho normal.
  672.   #---------------------------------------------------------------------------  
  673.   TP_NUMBER_LOW_COLOR = false
  674.   #---------------------------------------------------------------------------
  675.   # Ativar o medidor de TP.
  676.   # Será necessário o arquivo.
  677.   #
  678.   # TP_Meter.png
  679.   #   
  680.   #---------------------------------------------------------------------------  
  681.   TP_METER_VISIBLE = false
  682.   #---------------------------------------------------------------------------
  683.   # Definição da prioridade do sprite.
  684.   #---------------------------------------------------------------------------
  685.   TP_METER_Z = 1  
  686.   #---------------------------------------------------------------------------
  687.   # Definição da posição do medidor de TP. [X,Y]
  688.   #---------------------------------------------------------------------------  
  689.   TP_METER_POSITION = [68,74]
  690.   #---------------------------------------------------------------------------
  691.   # Definição do ângulo do medidor.
  692.   #---------------------------------------------------------------------------  
  693.   TP_METER_ANGLE = 0
  694.   #---------------------------------------------------------------------------
  695.   # Ativar o efeito mirror, essa opção faz com que o medidor tenha o movimento
  696.   # inverso.
  697.   #---------------------------------------------------------------------------  
  698.   TP_METER_MIRROR_EFFECT = false
  699.   #---------------------------------------------------------------------------
  700.   # Ativar o efeito animado de dano no medidor.
  701.   # Será necessário ter a imagem com as duas cores do paramêtro no mesmo
  702.   # arquivo de imagem, a imagem será dividida por 2 frames de altura.
  703.   #
  704.   # NORMAL_COLOR
  705.   # DAMAGE_COLOR
  706.   #
  707.   # Se definir como FALSE use apenas use uma imagem com o tamanho normal.
  708.   #---------------------------------------------------------------------------  
  709.   TP_METER_REDUCTION_ANIMATION = true
  710.   #---------------------------------------------------------------------------
  711.   # Ativar o efeito animado do "medidor fluindo".
  712.   # Será necessário ter a imagem com a largura 3 vezes maior que o tamanho normal.
  713.   # Essa imagem dever estar em gradiente para ter o efeito "fluindo".
  714.   # Se definir como FALSE use apenas uma imagem com o tamanho normal.
  715.   #---------------------------------------------------------------------------  
  716.   TP_METER_GRADIENT_ANIMATION = true
  717.   #---------------------------------------------------------------------------
  718.   # Ativar TP em ícones.
  719.   # Será necessário ter a imagem.
  720.   #
  721.   # TP_Icon.png
  722.   #
  723.   #---------------------------------------------------------------------------
  724.   TP_ICON_VISIBLE = false
  725.   #---------------------------------------------------------------------------
  726.   # Definição da prioridade do sprite.
  727.   #---------------------------------------------------------------------------
  728.   TP_ICON_Z = 1  
  729.   #---------------------------------------------------------------------------
  730.   # Posição do ícone de TP.
  731.   #---------------------------------------------------------------------------  
  732.   TP_ICON_POSITION = [200,128]
  733.   #---------------------------------------------------------------------------
  734.   # Ativar o sprite EX do ultimo ícone
  735.   # Será necessário ter a imagem.
  736.   #
  737.   # TP_Icon_EX.png
  738.   #
  739.   #---------------------------------------------------------------------------
  740.   TP_ICON_EX_VISIBLE = false
  741.   #---------------------------------------------------------------------------
  742.   # Posição do ícone Animado.
  743.   #---------------------------------------------------------------------------  
  744.   TP_ICON_EX_POSITION = [0,0]
  745.   #---------------------------------------------------------------------------
  746.   # Ativar o efeito de Zoom do Sprite.
  747.   #---------------------------------------------------------------------------
  748.   TP_ICON_EX_ZOOM_EFFECT = true
  749.   #---------------------------------------------------------------------------
  750.   # Espaço entre os ícones.
  751.   #---------------------------------------------------------------------------   
  752.   TP_ICON_SPACE = [-10,-10]
  753.   #---------------------------------------------------------------------------
  754.   # Definição da quantidade maxima de ícones na horizontal.
  755.   #---------------------------------------------------------------------------  
  756.   TP_ICON_COL_MAX = 10
  757.   #---------------------------------------------------------------------------
  758.   # Definição da quantidade maxima de ícones na vertical.
  759.   #---------------------------------------------------------------------------   
  760.   TP_ICON_ROW_MAX = 2
  761.   #---------------------------------------------------------------------------
  762.   # Ativar o número de TP de ícones.
  763.   # Será necessário ter a imagem.
  764.   #
  765.   # TP_Icon_Number.png
  766.   #
  767.   #---------------------------------------------------------------------------
  768.   TP_ICON_NUMBER_VISIBLE = false
  769.   #---------------------------------------------------------------------------
  770.   # Definição da prioridade do sprite.
  771.   #---------------------------------------------------------------------------
  772.   TP_ICON_NUMBER_Z = 4
  773.   #---------------------------------------------------------------------------
  774.   # Posição do número do ícone
  775.   #---------------------------------------------------------------------------  
  776.   TP_ICON_NUMBER_POSITION = [0,128]
  777.   #---------------------------------------------------------------------------
  778.   # Definição do tipo alinhamento do número.
  779.   #
  780.   # 0 - Esquerda
  781.   # 1 - Centro
  782.   # 2 - Direita
  783.   #---------------------------------------------------------------------------  
  784.   TP_ICON_NUMBER_ALIGN_TYPE = 0   
  785.   #============================================================================
  786.   #============================================================================
  787.  
  788.   #============================================================================
  789.   #============================================================================
  790.   # * AT
  791.   #============================================================================
  792.   # Ativar o número de AT.
  793.   # Será necessário o arquivo.
  794.   #
  795.   # AT_Number.png
  796.   #
  797.   #---------------------------------------------------------------------------
  798.   AT_NUMBER_VISIBLE = false
  799.   #---------------------------------------------------------------------------
  800.   # Definição da prioridade do Sprite.
  801.   #---------------------------------------------------------------------------   
  802.   AT_NUMBER_Z = 2
  803.   #---------------------------------------------------------------------------
  804.   # Definição da posição do número de AT. [X,Y]
  805.   #---------------------------------------------------------------------------  
  806.   AT_NUMBER_POSITION = [125,-27]
  807.   #---------------------------------------------------------------------------  
  808.   # Ativar o número de AT Total.
  809.   # Será necessário o arquivo.
  810.   #
  811.   # AT_Number_Max.png
  812.   #
  813.   #---------------------------------------------------------------------------
  814.   AT_NUMBER_MAX_VISIBLE = false
  815.   #---------------------------------------------------------------------------
  816.   # Definição da posição do número de AT Total. [X,Y]
  817.   #---------------------------------------------------------------------------  
  818.   AT_NUMBER_MAX_POSITION = [165,-17]
  819.   #---------------------------------------------------------------------------
  820.   # Definição do tipo alinhamento do número.
  821.   #
  822.   # 0 - Esquerda
  823.   # 1 - Centro
  824.   # 2 - Direita
  825.   #---------------------------------------------------------------------------  
  826.   AT_NUMBER_ALIGN_TYPE = 2
  827.   #---------------------------------------------------------------------------
  828.   # Ativa o efeito de alinhar os números em posições de Y diferentes.
  829.   #---------------------------------------------------------------------------
  830.   AT_NUMBER_WAVE_ALIGN_EFFECT = false
  831.   #---------------------------------------------------------------------------
  832.   # Apresentar os números em porcentagem.
  833.   #---------------------------------------------------------------------------   
  834.   AT_NUMBER_PERCENTAGE = true
  835.   #---------------------------------------------------------------------------
  836.   # Ativar números animados ("Rolantes").
  837.   #---------------------------------------------------------------------------  
  838.   AT_NUMBER_ANIMATION = false
  839.   #---------------------------------------------------------------------------
  840.   # Ativar o medidor de AT.
  841.   # Será necessário o arquivo.
  842.   #
  843.   # AT_Meter.png
  844.   #  
  845.   #---------------------------------------------------------------------------  
  846.   AT_METER_VISIBLE = true
  847.   #---------------------------------------------------------------------------
  848.   # Definição da prioridade do sprite.
  849.   #---------------------------------------------------------------------------   
  850.   AT_METER_Z = 1
  851.   #---------------------------------------------------------------------------
  852.   # Definição da posição do medidor de AT. [X,Y]
  853.   #---------------------------------------------------------------------------  
  854.   AT_METER_POSITION = [38,76]
  855.   #---------------------------------------------------------------------------
  856.   # Definição do ângulo do medidor.
  857.   #---------------------------------------------------------------------------  
  858.   AT_METER_ANGLE = 0
  859.   #---------------------------------------------------------------------------
  860.   # Ativar o efeito mirror, essa opção faz com que o medidor tenha o movimento
  861.   # inverso.
  862.   #---------------------------------------------------------------------------  
  863.   AT_METER_MIRROR_EFFECT = false
  864.   #---------------------------------------------------------------------------
  865.   # Ativar o efeito animado do "medidor fluindo".
  866.   # Será necessário ter a imagem com a largura 3 vezes maior que o tamanho normal.
  867.   # Essa imagem dever estar em gradiente para ter o efeito "fluindo".
  868.   # Se definir como FALSE use apenas uma imagem com o tamanho normal.
  869.   #---------------------------------------------------------------------------  
  870.   AT_METER_GRADIENT_ANIMATION = true
  871.   #============================================================================
  872.  
  873.  
  874.   #============================================================================
  875.   #============================================================================
  876.   # * LEVEL
  877.   #============================================================================
  878.   # Ativar o número de Level.
  879.   # Será necessário o arquivo.
  880.   #
  881.   # LV_Number.png
  882.   #   
  883.   #---------------------------------------------------------------------------
  884.   LEVEL_NUMBER_VISIBLE = false
  885.   #---------------------------------------------------------------------------
  886.   # Definição da prioridade do Sprite.
  887.   #---------------------------------------------------------------------------   
  888.   LEVEL_NUMBER_Z = 2
  889.   #---------------------------------------------------------------------------
  890.   # Definição da posição do número do Level. [X,Y]
  891.   #---------------------------------------------------------------------------  
  892.   LEVEL_NUMBER_POSITION = [84,0]
  893.   #---------------------------------------------------------------------------
  894.   # Definição do tipo alinhamento do número.
  895.   #
  896.   # 0 - Esquerda
  897.   # 1 - Centro
  898.   # 2 - Direita
  899.   #---------------------------------------------------------------------------  
  900.   LEVEL_NUMBER_ALIGN_TYPE = 1     
  901.   #============================================================================
  902.   #============================================================================
  903.  
  904.  
  905.   #============================================================================
  906.   #============================================================================
  907.   # * STATE
  908.   #============================================================================
  909.   # Ativar as condições.
  910.   #---------------------------------------------------------------------------  
  911.   STATES_VISIBLE = true
  912.   #---------------------------------------------------------------------------
  913.   # Definição da prioridade do sprite.
  914.   #---------------------------------------------------------------------------   
  915.   STATES_Z = 1
  916.   #---------------------------------------------------------------------------
  917.   # Definição da posição das condições. [X,Y]
  918.   #---------------------------------------------------------------------------  
  919.   STATES_POSITION = [7,65]
  920.   #---------------------------------------------------------------------------
  921.   # Ativar o efeito animado das condições deslizando.
  922.   #---------------------------------------------------------------------------  
  923.   STATES_SCROLLING_ANIMATION = false
  924.   #---------------------------------------------------------------------------
  925.   # Definição do ângulo do sprite.
  926.   #---------------------------------------------------------------------------   
  927.   STATE_ANGLE = 0
  928.   #============================================================================
  929.   #============================================================================
  930.  
  931.   #============================================================================
  932.   #============================================================================
  933.   # * SECOND LAYOUT (Overlayer)
  934.   #============================================================================  
  935.   # Ativar a segunda camada de Layout
  936.   # Será necessário o arquivo.
  937.   #
  938.   # Layout_2.png
  939.   #
  940.   #============================================================================  
  941.   SECOND_LAYOUT = false
  942.   #---------------------------------------------------------------------------
  943.   # Definição da prioridade do sprite.
  944.   #---------------------------------------------------------------------------  
  945.   SECOND_LAYOUT_Z = 4
  946.   #---------------------------------------------------------------------------
  947.   # Definição da posição do sprite.
  948.   #---------------------------------------------------------------------------   
  949.   SECOND_LAYOUT_POSITION = [-5,-10]
  950.   #============================================================================
  951.   #============================================================================
  952.  
  953. end
  954.  
  955. #============================================================================
  956. #============================================================================
  957. # * CUSTOM WINDOWS (GENERAL)
  958. #============================================================================
  959. module MOG_BATTLE_HUD_EX
  960.  
  961. #============================================================================
  962. # * Ativar Janelas Customizadas.
  963. #============================================================================
  964.   ENABLE_CUSTOM_WINDOWS = true
  965.  
  966. #============================================================================
  967. # * BATTLE LOG WINDOW
  968. #============================================================================
  969. #Definição da posição da janela de log.
  970.   BATTLE_LOG_POSITION = [0,0]
  971. #============================================================================
  972.  
  973.  
  974. #============================================================================
  975. # * SKILL WINDOW
  976. #============================================================================
  977. #Definição do tamanho da janela.
  978.   SKILL_WINDOW_SIZE = [Graphics.width, 120]
  979. #Definição da posição da janela.
  980.   SKILL_WINDOW_POSITION = [0,0]
  981. #Definição da transparência da janela.
  982.   SKILL_WINDOW_OPACITY = 0
  983. #Ativar a imagem de Layout. ("Layout_Skill.png")
  984.   SKILL_WINDOW_LAYOUT = true
  985. #Definição do layout.
  986.   SKILL_WINDOW_LAYOUT_POSITION = [0,-7]  
  987. #============================================================================
  988.  
  989. #============================================================================
  990. # * ITEM WINDOW
  991. #============================================================================
  992. #Definição do tamanho da janela.  
  993.   ITEM_WINDOW_SIZE = [Graphics.width, 120]
  994. #Definição da posição da janela.
  995.   ITEM_WINDOW_POSITION = [0,0]
  996. #Definição da transparência da janela.
  997.   ITEM_WINDOW_OPACITY = 0
  998. #Ativar a imagem de Layout. ("Layout_Item.png")   
  999.   ITEM_WINDOW_LAYOUT = true
  1000. #Definição do layout.  
  1001.   ITEM_WINDOW_LAYOUT_POSITION = [0,-7]   
  1002. #============================================================================
  1003.  
  1004. #============================================================================
  1005. # * COMMAND WINDOW
  1006. #============================================================================
  1007. #Ajustar automáticamente   
  1008.   AUTO_ADJUST_ACTOR_COMMAND = true
  1009. #Definição da posição da janela. (Apenas para Ajustes)
  1010.   ACTOR_COMMAND_POSITION = [0,-50]
  1011. #Definição da transparência da janela.
  1012.   ACTOR_COMMAND_OPACITY = 0
  1013. #Ativar a imagem de Layout. ("Layout_Command.png")   
  1014.   ACTOR_COMMAND_LAYOUT = true
  1015. #Definição do layout.   
  1016.   ACTOR_COMMAND_LAYOUT_POSITION = [0,0]
  1017. #============================================================================
  1018.  
  1019. #============================================================================
  1020. # * HELP WINDOW
  1021. #============================================================================
  1022. #Definição do tamanho da janela.   
  1023.   HELP_WINDOW_SIZE = [Graphics.width, 72]
  1024. #Definição do tamanho da janela.
  1025.   HELP_WINDOW_POSITION = [Graphics.width / 2, 0]  
  1026. #Definição da transparência da janela.
  1027.   HELP_WINDOW_OPACITY = 0
  1028. #Ativar a imagem de Layout. ("Layout_Help.png")   
  1029.   HELP_WINDOW_LAYOUT = true
  1030. #Definição do layout.
  1031.   HELP_WINDOW_LAYOUT_POSITION = [0,0]
  1032. #============================================================================
  1033.  
  1034. #============================================================================
  1035. # * TARGET ACTOR WINDOW
  1036. #============================================================================
  1037. #Definição do tamanho da janela.   
  1038.   ACTOR_WINDOW_SIZE = [Graphics.width, 120]  
  1039. #Definição do tamanho da janela.
  1040.   ACTOR_WINDOW_POSITION = [Graphics.width / 2, Graphics.height]
  1041. #Definição da transparência da janela.  
  1042.   ACTOR_WINDOW_OPACITY = 0
  1043. #Ativar a imagem de Layout. ("Layout_Target_Actor.png")
  1044.   ACTOR_WINDOW_LAYOUT = true
  1045. #Definição do layout.
  1046.   ACTOR_WINDOW_LAYOUT_POSITION = [0,0]
  1047. #============================================================================
  1048.  
  1049. #============================================================================
  1050. # * TARGET ENEMY WINDOW
  1051. #============================================================================
  1052. #Definição do tamanho da janela.
  1053.   ENEMY_WINDOW_SIZE = [Graphics.width, 120]
  1054. #Definição do tamanho da janela.  
  1055.   ENEMY_WINDOW_POSITION = [Graphics.width / 2, Graphics.height]
  1056. #Definição da transparência da janela.   
  1057.   ENEMY_WINDOW_OPACITY = 0
  1058. #Ativar a imagem de Layout. ("Layout_Target_Actor.png")
  1059.   ENEMY_WINDOW_LAYOUT = true
  1060. #Definição do layout.
  1061.   ENEMY_WINDOW_LAYOUT_POSITION = [0,0]
  1062. #============================================================================
  1063.  
  1064. #============================================================================
  1065. # * PARTY WINDOW (Fight/Escape)
  1066. #============================================================================
  1067. #Definição do tamanho da janela.  
  1068.   PARTY_COMMAND_POSITION = [Graphics.width / 2,Graphics.height / 2]
  1069. #Definição da transparência da janela.   
  1070.   PARTY_COMMAND_OPACITY = 0
  1071. #Ativar a imagem de Layout. ("Layout_Party.png")  
  1072.   PARTY_COMMAND_LAYOUT = true
  1073. #Definição do layout.  
  1074.   PARTY_COMMAND_LAYOUT_POSITION = [0,0]
  1075. #============================================================================
  1076.  
  1077. end
  1078.  
  1079. $imported = {} if $imported.nil?
  1080. $imported[:mog_battle_hud_ex] = true
  1081.  
  1082. #==============================================================================
  1083. # ** Cache
  1084. #==============================================================================
  1085. module Cache
  1086.  
  1087.   #--------------------------------------------------------------------------
  1088.   # * Hud
  1089.   #--------------------------------------------------------------------------
  1090.   def self.battle_hud(filename)
  1091.       load_bitmap("Graphics/Huds/Battle/", filename)
  1092.   end
  1093.  
  1094. end
  1095.  
  1096. #==============================================================================
  1097. # ** Game Temp
  1098. #==============================================================================
  1099. class Game_Temp
  1100.  
  1101.   attr_accessor :battler_face_pos
  1102.   attr_accessor :hud_pos
  1103.   attr_accessor :hud_pos_real
  1104.   attr_accessor :com_pos
  1105.   attr_accessor :mbhud_force_refresh
  1106.   attr_accessor :mbhud_window
  1107.   attr_accessor :command_visible
  1108.   attr_accessor :refresh_turn_sprite
  1109.  
  1110.   #--------------------------------------------------------------------------
  1111.   # * Initialize
  1112.   #--------------------------------------------------------------------------   
  1113.   alias mog_monogatari_bhud_initialize initialize
  1114.   def initialize
  1115.       #Graphics.resize_screen(640,480)
  1116.       @battler_face_pos = []
  1117.       @hud_pos = []
  1118.       @hud_pos_real = []
  1119.       @com_pos = []
  1120.       @mbhud_force_refresh = false
  1121.       @mbhud_window = [false,false,false,false,false,false,false]
  1122.       @command_visible = false
  1123.       @refresh_turn_sprite = false
  1124.       mog_monogatari_bhud_initialize
  1125.   end
  1126.  
  1127.   #--------------------------------------------------------------------------
  1128.   # * Check Screen Xyz
  1129.   #--------------------------------------------------------------------------   
  1130.   def check_screen_xyz_nil
  1131.       return if !SceneManager.face_battler?
  1132.       for actor in $game_party.battle_members
  1133.           actor.screen_x = 0 if actor.screen_x == nil
  1134.           actor.screen_y = 0 if actor.screen_y == nil
  1135.           actor.screen_z = 0 if actor.screen_z == nil
  1136.       end
  1137.   end  
  1138.  
  1139. end
  1140.  
  1141. #==============================================================================
  1142. # ** Game Interpreter
  1143. #==============================================================================
  1144. class Game_Interpreter
  1145.  
  1146. #--------------------------------------------------------------------------
  1147. # * Refresh Battle Hud
  1148. #--------------------------------------------------------------------------
  1149. def refresh_battle_hud
  1150.      $game_temp.check_screen_xyz_nil rescue nil
  1151.      $game_temp.mbhud_force_refresh = true
  1152. end
  1153.  
  1154. #--------------------------------------------------------------------------
  1155. # * Battler Face Name
  1156. #--------------------------------------------------------------------------
  1157. def battler_face_name(actor_id,face_name = "")
  1158.      for actor in $game_party.members
  1159.          actor.battler_face_name = face_name if actor.id == actor_id
  1160.      end
  1161.      refresh_battle_hud
  1162. end  
  1163.  
  1164. #--------------------------------------------------------------------------
  1165. # * Command_129
  1166. #--------------------------------------------------------------------------
  1167. alias mog_monogatari_bhud_command_129 command_129
  1168. def command_129
  1169.      mog_monogatari_bhud_command_129     
  1170.      refresh_battle_hud if SceneManager.scene_is?(Scene_Battle)
  1171. end
  1172.  
  1173. end
  1174.  
  1175. #==============================================================================
  1176. # ** Game Actor
  1177. #==============================================================================
  1178. class Game_Actor < Game_Battler
  1179.  
  1180.   attr_accessor :face_animation
  1181.   attr_accessor :battler_face_name
  1182.  
  1183.   #--------------------------------------------------------------------------
  1184.   # * Setup
  1185.   #--------------------------------------------------------------------------
  1186.   alias mog_monogatari_face_animation setup
  1187.   def setup(actor_id)
  1188.       mog_monogatari_face_animation(actor_id)
  1189.       @face_animation = [0,0,0]
  1190.       @battler_face_name = "Face_" + actor_id.to_s
  1191.   end   
  1192.  
  1193.   #--------------------------------------------------------------------------
  1194.   # ● Real Next Level
  1195.   #--------------------------------------------------------------------------  
  1196.   def real_next_level
  1197.       next_level_exp - exp_for_level(level)
  1198.   end
  1199.  
  1200.   #--------------------------------------------------------------------------
  1201.   # ● Remain Exp
  1202.   #--------------------------------------------------------------------------  
  1203.   def remain_exp
  1204.       exp - exp_for_level(level)
  1205.   end
  1206.  
  1207.   #--------------------------------------------------------------------------
  1208.   # ● Gain Exp Test
  1209.   #--------------------------------------------------------------------------
  1210.   def gain_exp_test
  1211.       exp_r = rand(next_level_exp)
  1212.       change_exp(self.exp + (exp_r * final_exp_rate).to_i, false)
  1213.   end   
  1214.  
  1215.   #--------------------------------------------------------------------------
  1216.   # ● Low HP?
  1217.   #--------------------------------------------------------------------------   
  1218.   def low_hp?
  1219.       hp <= (mhp * MOG_BATTLE_HUD_EX::LOW_PARAMETER_PERCENTAGE) / 100
  1220.   end
  1221.  
  1222.   #--------------------------------------------------------------------------
  1223.   # ● Low MP?
  1224.   #--------------------------------------------------------------------------   
  1225.   def low_mp?
  1226.       mp <= (mmp * MOG_BATTLE_HUD_EX::LOW_PARAMETER_PERCENTAGE) / 100
  1227.   end  
  1228.  
  1229.   #--------------------------------------------------------------------------
  1230.   # ● Low TP?
  1231.   #--------------------------------------------------------------------------   
  1232.   def low_tp?
  1233.       tp <= (max_tp * MOG_BATTLE_HUD_EX::LOW_PARAMETER_PERCENTAGE) / 100
  1234.   end  
  1235.  
  1236. end
  1237.  
  1238. #==============================================================================
  1239. # ** Game Party
  1240. #==============================================================================
  1241. class Game_Party < Game_Unit
  1242.  
  1243.   #--------------------------------------------------------------------------
  1244.   # * Get Maximum Number of Battle Members
  1245.   #--------------------------------------------------------------------------
  1246.   def max_battle_members
  1247.       return MOG_BATTLE_HUD_EX::MAX_BATTLE_MEMBERS
  1248.   end
  1249.  
  1250. end
  1251.  
  1252. #==============================================================================
  1253. # ** BattleManager
  1254. #==============================================================================
  1255. module BattleManager
  1256.  
  1257. #--------------------------------------------------------------------------
  1258. # * Current Index
  1259. #--------------------------------------------------------------------------   
  1260. def self.current_index
  1261.      return 0 if @actor_index == nil
  1262.      return @actor_index != -1 ? @actor_index : 0
  1263. end
  1264.  
  1265. #--------------------------------------------------------------------------
  1266. # * Current Index Real
  1267. #--------------------------------------------------------------------------   
  1268. def self.current_index_real
  1269.      return -1 if @actor_index == nil
  1270.      return @actor_index
  1271. end
  1272.  
  1273.   #--------------------------------------------------------------------------
  1274.   # * Next Actor Avaliable
  1275.   #--------------------------------------------------------------------------
  1276.   def self.next_actor_avaliable?
  1277.       return false if @actor_index == nil
  1278.       next_index = @actor_index + 1
  1279.       return false if next_index >= $game_party.members.size
  1280.       return true
  1281.   end
  1282.  
  1283.   #--------------------------------------------------------------------------
  1284.   # * To Next Command Input
  1285.   #--------------------------------------------------------------------------
  1286.   def self.next_command_avaliable
  1287.     aindex = @actor_index
  1288.     begin      
  1289.       if !actor || !actor.next_command
  1290.         return false if actor == nil
  1291.         aindex += 1
  1292.         return false if aindex >= $game_party.members.size
  1293.       end
  1294.     end until actor.inputable?
  1295.     return true
  1296.   end  
  1297.  
  1298.   #--------------------------------------------------------------------------
  1299.   # * Can Enable Window?
  1300.   #--------------------------------------------------------------------------
  1301.   def self.can_enable_window?
  1302.       max_members = $game_party.members.size
  1303.       index_real = current_index_real + 1
  1304.       return false if index_real > max_members
  1305.       return false if in_turn?
  1306.       return false if $imported[:mog_battle_cursor]
  1307.       return true
  1308.   end
  1309.  
  1310. end
  1311.  
  1312. #==============================================================================
  1313. # ** SceneManager
  1314. #==============================================================================
  1315. module SceneManager
  1316.  
  1317.   #--------------------------------------------------------------------------
  1318.   # * Face Battler
  1319.   #--------------------------------------------------------------------------
  1320.   def self.face_battler?
  1321.       return false if !MOG_BATTLE_HUD_EX::FACE_BATTLER
  1322.       return false if $imported[:ve_animated_battle]
  1323.       return false if $imported[:ve_actor_battlers]
  1324.       return false if $imported["YES-BattleSymphony"]
  1325.       return false if $imported["YEA-VisualBattlers"]
  1326.       return false if $imported["Galv_Animated_Battlers"]
  1327.       return false if $imported['KRX-AnimatedBattlers']
  1328.       return false if $sv_camera != nil
  1329.       return false if BattleManager.true_surprise != nil rescue nil
  1330.       return false if $imported[:jet][:AnimatedBattlers] rescue nil      
  1331.       return true
  1332.   end
  1333.  
  1334. end
  1335.  
  1336. #==============================================================================
  1337. # ** Spriteset Battle
  1338. #==============================================================================
  1339. class Spriteset_Battle  
  1340.  
  1341.   #--------------------------------------------------------------------------
  1342.   # * Create Actors
  1343.   #--------------------------------------------------------------------------
  1344.   alias mog_battle_hud_create_actors create_actors
  1345.   def create_actors
  1346.       if can_create_max_members?
  1347.          @actor_sprites = Array.new($game_party.max_battle_members) { Sprite_Battler.new(@viewport1) }
  1348.          return
  1349.       end
  1350.       mog_battle_hud_create_actors
  1351.   end
  1352.  
  1353.   #--------------------------------------------------------------------------
  1354.   # * Can Create Max Members
  1355.   #--------------------------------------------------------------------------
  1356.   def can_create_max_members?
  1357.       return false if $imported[:ve_animated_battle]
  1358.       return false if $imported[:ve_actor_battlers]
  1359.       return false if $sv_camera != nil
  1360.       return true
  1361.   end
  1362.  
  1363. end
  1364.  
  1365. #==============================================================================
  1366. # ■ Scene Battle
  1367. #==============================================================================
  1368. class Scene_Battle < Scene_Base
  1369.  
  1370. #--------------------------------------------------------------------------
  1371. # ● Clear All Windows
  1372. #--------------------------------------------------------------------------
  1373.   alias mog_battle_hud_ex_start start
  1374.   def start
  1375.       setup_battle_hud_ex
  1376.       mog_battle_hud_ex_start
  1377.   end
  1378.  
  1379. #--------------------------------------------------------------------------
  1380. # ● Setup Battle Hud EX
  1381. #--------------------------------------------------------------------------
  1382. def setup_battle_hud_ex
  1383.      @force_clear_duration = 0
  1384. end
  1385.  
  1386. #--------------------------------------------------------------------------
  1387. # ● Clear All Windows
  1388. #--------------------------------------------------------------------------
  1389. def clear_all_windows
  1390.      if @actor_window != nil
  1391.         @actor_window.visible = false
  1392.         @actor_window.active = false
  1393.      end   
  1394.      if @status_window != nil
  1395.         @status_window.visible = false
  1396.         @status_window.active = false
  1397.      end   
  1398.      if @actor_command_window != nil
  1399.         @actor_command_window.visible = false
  1400.         @actor_command_window.active = false
  1401.      end
  1402.      if @party_command_window != nil
  1403.         @party_command_window.visible = false
  1404.         @party_command_window.active = false
  1405.      end
  1406.      if @help_window != nil
  1407.         @help_window.visible = false
  1408.      end  
  1409. end   
  1410.  
  1411. #--------------------------------------------------------------------------
  1412. # ● Update
  1413. #--------------------------------------------------------------------------
  1414.   alias mog_battle_hud_ex_update_main update
  1415.   def update
  1416.       mog_battle_hud_ex_update_main
  1417.       update_battle_hud_ex
  1418.   end
  1419.  
  1420. #--------------------------------------------------------------------------
  1421. # ● Update Battle Hud_ex
  1422. #--------------------------------------------------------------------------
  1423.   def update_battle_hud_ex
  1424.   end
  1425.  
  1426. end
  1427.  
  1428. if SceneManager.face_battler?
  1429. #==============================================================================
  1430. # ■ Game_Actor
  1431. #==============================================================================
  1432. class Game_Actor < Game_Battler
  1433.  
  1434.   attr_accessor :screen_x
  1435.   attr_accessor :screen_y
  1436.   attr_accessor :screen_z
  1437.  
  1438.  
  1439. #--------------------------------------------------------------------------
  1440. # ● Use Sprite?
  1441. #--------------------------------------------------------------------------
  1442.   def use_sprite?
  1443.       return true
  1444.   end
  1445.  
  1446. end
  1447.  
  1448. #==============================================================================
  1449. # ■ Sprite_Battler
  1450. #==============================================================================
  1451. class Sprite_Battler < Sprite_Base
  1452.  
  1453.   #--------------------------------------------------------------------------
  1454.   # ● Update Collapse
  1455.   #--------------------------------------------------------------------------                          
  1456.    alias mog_battle_hud_update_collapse update_collapse
  1457.    def update_collapse
  1458.        if face_can_cancel_method?
  1459.          self.opacity = 255
  1460.          self.visible = true
  1461.          return
  1462.       end
  1463.        mog_battle_hud_update_collapse
  1464.    end  
  1465.  
  1466.   #--------------------------------------------------------------------------
  1467.   # ● Update Instant Collapse
  1468.   #--------------------------------------------------------------------------                             
  1469.    alias mog_battle_hud_update_instant_collapse update_instant_collapse
  1470.    def update_instant_collapse
  1471.       if face_can_cancel_method?
  1472.          self.opacity = 255
  1473.          self.visible = true
  1474.          return
  1475.       end
  1476.        mog_battle_hud_update_instant_collapse
  1477.    end  
  1478.  
  1479.   #--------------------------------------------------------------------------
  1480.   # ● Init Visibility
  1481.   #--------------------------------------------------------------------------                                
  1482.   alias mog_battle_face_init_visibility init_visibility
  1483.   def init_visibility
  1484.       if face_can_cancel_method?
  1485.          self.opacity = 255
  1486.          self.visible = true
  1487.          return
  1488.       end
  1489.       mog_battle_face_init_visibility
  1490.   end
  1491.  
  1492.   #--------------------------------------------------------------------------
  1493.   # ● Face Can Cancel Method
  1494.   #--------------------------------------------------------------------------                                 
  1495.   def face_can_cancel_method?
  1496.       return false if !SceneManager.face_battler?
  1497.       return false if @battler.is_a?(Game_Enemy)
  1498.       return true
  1499.   end  
  1500.  
  1501. end
  1502.  
  1503. end
  1504.  
  1505. #==============================================================================
  1506. # ** Window_BattleStatus
  1507. #==============================================================================
  1508. class Window_BattleStatus < Window_Selectable
  1509. include MOG_BATTLE_HUD_EX
  1510.  
  1511.   #--------------------------------------------------------------------------
  1512.   # * Get Window Width
  1513.   #--------------------------------------------------------------------------
  1514.   def window_width
  1515.       ACTOR_WINDOW_SIZE[0]
  1516.   end
  1517.  
  1518. #--------------------------------------------------------------------------
  1519. # * Refresh
  1520. #--------------------------------------------------------------------------   
  1521. alias mog_monogatari_refresh refresh
  1522. def refresh
  1523.      mog_monogatari_refresh
  1524.      self.visible = false     
  1525. end  
  1526.  
  1527. end  
  1528.  
  1529. #==============================================================================
  1530. # ** Window Actor Command
  1531. #==============================================================================
  1532. class Window_ActorCommand < Window_Command
  1533.  
  1534. #--------------------------------------------------------------------------
  1535. # * Update
  1536. #--------------------------------------------------------------------------   
  1537.   alias mog_hud_battle_hud_ex_turn_sprite_update update
  1538.   def update
  1539.       mog_hud_battle_hud_ex_turn_sprite_update
  1540.       $game_temp.command_visible = self.visible
  1541.   end
  1542.  
  1543. end
  1544.  
  1545. if MOG_BATTLE_HUD_EX::ENABLE_CUSTOM_WINDOWS
  1546.  
  1547. #==============================================================================
  1548. # ** Window BattleLog
  1549. #==============================================================================
  1550. class Window_BattleLog < Window_Selectable
  1551.  
  1552.   include MOG_BATTLE_HUD_EX
  1553.  
  1554. #--------------------------------------------------------------------------
  1555. # * Initialize
  1556. #--------------------------------------------------------------------------   
  1557.   alias mog_battle_hud_ex_log_initialize initialize
  1558.   def initialize
  1559.       mog_battle_hud_ex_log_initialize
  1560.       self.x = BATTLE_LOG_POSITION[0]
  1561.       self.y = BATTLE_LOG_POSITION[1]
  1562.   end
  1563.  
  1564. #--------------------------------------------------------------------------
  1565. # * Create Back Sprite
  1566. #--------------------------------------------------------------------------   
  1567.   alias mog_battle_hud_ex_log_create_back_sprite create_back_sprite
  1568.   def create_back_sprite
  1569.       self.x = BATTLE_LOG_POSITION[0]
  1570.       self.y = BATTLE_LOG_POSITION[1]   
  1571.       mog_battle_hud_ex_log_create_back_sprite
  1572.   end
  1573.  
  1574. end  
  1575.  
  1576. #==============================================================================
  1577. # ** Window Actor Command
  1578. #==============================================================================
  1579. class Window_ActorCommand < Window_Command
  1580.  
  1581.   include MOG_BATTLE_HUD_EX
  1582.  
  1583. #--------------------------------------------------------------------------
  1584. # * Initialize
  1585. #--------------------------------------------------------------------------   
  1586. alias mog_monogatari_initialize initialize
  1587. def initialize
  1588.      mog_monogatari_initialize
  1589.      create_layout
  1590. end
  1591.  
  1592. #--------------------------------------------------------------------------
  1593. # * Dispose
  1594. #--------------------------------------------------------------------------
  1595. alias mog_monogatari_actor_command_dispose dispose
  1596. def dispose
  1597.      mog_monogatari_actor_command_dispose
  1598.      dispose_layout
  1599. end
  1600.  
  1601. #--------------------------------------------------------------------------
  1602. # * Create Layout
  1603. #--------------------------------------------------------------------------   
  1604. def create_layout
  1605.      return if @layout != nil
  1606.      return if !ACTOR_COMMAND_LAYOUT
  1607.      return if $game_temp.mbhud_window[0]
  1608.      $game_temp.mbhud_window[0] = true
  1609.      @layout = Sprite.new
  1610.      @layout.bitmap = Cache.battle_hud("Layout_Command")
  1611.      @layout.z = self.z - 1
  1612.      @layout.x = self.x + ACTOR_COMMAND_LAYOUT_POSITION[0]
  1613.      @layout.y = self.y + ACTOR_COMMAND_LAYOUT_POSITION[1]
  1614.      @layout.visible = false
  1615. end
  1616.  
  1617. #--------------------------------------------------------------------------
  1618. # * Dispose Layout
  1619. #--------------------------------------------------------------------------
  1620. def dispose_layout
  1621.      return if @layout == nil
  1622.      @layout.dispose
  1623.      @layout = nil
  1624. end
  1625.  
  1626. #--------------------------------------------------------------------------
  1627. # * Refresh Layout
  1628. #--------------------------------------------------------------------------
  1629. def refresh_layout
  1630.      return if @layout == nil
  1631.      @layout.x = self.x + ACTOR_COMMAND_LAYOUT_POSITION[0]
  1632.      @layout.y = self.y + ACTOR_COMMAND_LAYOUT_POSITION[1]
  1633.      @layout.visible = self.active
  1634. end
  1635.  
  1636. #--------------------------------------------------------------------------
  1637. # * Select
  1638. #--------------------------------------------------------------------------  
  1639. alias mog_monogatari_select_actor_command select
  1640. def select(index)
  1641.      mog_monogatari_select_actor_command(index)
  1642.      set_command_position
  1643. end   
  1644.  
  1645. #--------------------------------------------------------------------------
  1646. # * Set Command Position
  1647. #--------------------------------------------------------------------------   
  1648. def set_command_position
  1649.      self.viewport = nil
  1650.      self.opacity = ACTOR_COMMAND_OPACITY
  1651.      battler_index = BattleManager.current_index rescue nil
  1652.      battler_index = 0 if battler_index == nil
  1653.      if [url=home.php?mod=space&uid=95897]@actor[/url] != nil and $game_temp.hud_pos[battler_index] != nil
  1654.         if FIXED_COMMAND_POSITION[battler_index] != nil
  1655.            self.x = FIXED_COMMAND_POSITION[battler_index][0]
  1656.            self.y = FIXED_COMMAND_POSITION[battler_index][1]              
  1657.         else  
  1658.            self.x = ACTOR_COMMAND_POSITION[0] + $game_temp.hud_pos[battler_index][0] - (self.width / 2)
  1659.            self.x = Graphics.width - self.width if self.x + self.width > Graphics.width
  1660.            self.x = 0 if self.x < 0
  1661.            self.y = ACTOR_COMMAND_POSITION[1] + $game_temp.hud_pos[battler_index][1] - self.height
  1662.         end   
  1663.      end      
  1664.      refresh_layout
  1665. end  
  1666.  
  1667. #--------------------------------------------------------------------------
  1668. # * Refresh
  1669. #--------------------------------------------------------------------------   
  1670. alias mog_battle_hud_ex_refresh refresh
  1671. def refresh
  1672.      mog_battle_hud_ex_refresh
  1673.      $game_temp.refresh_turn_sprite = true
  1674. end
  1675.  
  1676. #--------------------------------------------------------------------------
  1677. # * Update
  1678. #--------------------------------------------------------------------------  
  1679. alias mog_monogatari_actor_commnand_update update
  1680. def update     
  1681.      mog_monogatari_actor_commnand_update
  1682.      self.visible = self.active
  1683.      if @layout.visible != nil      
  1684.         refresh_layout if @layout.visible != self.visible
  1685.      end        
  1686. end
  1687.  
  1688. end
  1689.  
  1690. #==============================================================================
  1691. # ** Window_PartyCommand
  1692. #==============================================================================
  1693. class Window_PartyCommand < Window_Command
  1694.  
  1695.   include MOG_BATTLE_HUD_EX
  1696.  
  1697. #--------------------------------------------------------------------------
  1698. # * Initialize
  1699. #--------------------------------------------------------------------------   
  1700.   alias mog_monogatari_party_initialize initialize
  1701.   def initialize
  1702.       mog_monogatari_party_initialize
  1703.       create_layout
  1704.   end
  1705.  
  1706. #--------------------------------------------------------------------------
  1707. # * Dispose
  1708. #--------------------------------------------------------------------------
  1709. alias mog_monogatari_party_window_dispose dispose
  1710. def dispose
  1711.      mog_monogatari_party_window_dispose
  1712.      dispose_layout
  1713. end
  1714.  
  1715. #--------------------------------------------------------------------------
  1716. # * Create Layout
  1717. #--------------------------------------------------------------------------   
  1718. def create_layout
  1719.      return if @layout != nil
  1720.      return if !PARTY_COMMAND_LAYOUT
  1721.      return if $game_temp.mbhud_window[1]
  1722.      $game_temp.mbhud_window[1] = true     
  1723.      @layout = Sprite.new
  1724.      @layout.bitmap = Cache.battle_hud("Layout_Party")
  1725.      @layout.z = self.z - 1
  1726.      refresh_layout
  1727.      @layout.visible = false
  1728. end
  1729.  
  1730. #--------------------------------------------------------------------------
  1731. # * Dispose Layout
  1732. #--------------------------------------------------------------------------
  1733. def dispose_layout
  1734.      return if @layout == nil
  1735.      @layout.dispose
  1736.      @layout = nil
  1737. end
  1738.  
  1739. #--------------------------------------------------------------------------
  1740. # * Refresh Layout
  1741. #--------------------------------------------------------------------------
  1742. def refresh_layout
  1743.      return if @layout == nil
  1744.      @layout.x = self.x + PARTY_COMMAND_LAYOUT_POSITION[0]
  1745.      @layout.y = self.y + PARTY_COMMAND_LAYOUT_POSITION[1]
  1746.      @layout.visible = self.visible   
  1747. end         
  1748.  
  1749. #--------------------------------------------------------------------------
  1750. # * Select
  1751. #--------------------------------------------------------------------------  
  1752. alias mog_monogatari_select_partycommand select
  1753. def select(index)
  1754.      mog_monogatari_select_partycommand(index)
  1755.      self.viewport = nil
  1756.      self.x = PARTY_COMMAND_POSITION[0] - (self.width / 2)
  1757.      self.y = PARTY_COMMAND_POSITION[1] - (self.height / 2)
  1758.      self.opacity = PARTY_COMMAND_OPACITY
  1759. end   
  1760.  
  1761. #--------------------------------------------------------------------------
  1762. # * Update
  1763. #--------------------------------------------------------------------------  
  1764. alias mog_monogatari_party_window_update update
  1765. def update
  1766.      mog_monogatari_party_window_update  
  1767.      self.visible = self.active
  1768.      if @layout != nil and @layout.visible != self.visible        
  1769.         refresh_layout
  1770.      end
  1771. end   
  1772.  
  1773. end
  1774.  
  1775. #==============================================================================
  1776. # ** Window_Help
  1777. #==============================================================================
  1778. class Window_Help < Window_Base
  1779.  
  1780.   include MOG_BATTLE_HUD_EX
  1781.  
  1782.   #--------------------------------------------------------------------------
  1783.   # * Object Initialization
  1784.   #--------------------------------------------------------------------------
  1785.   alias mog_monogatari_battle_help_initialize initialize
  1786.   def initialize(line_number = 2)
  1787.       @battle_phase = false
  1788.       mog_monogatari_battle_help_initialize(line_number)
  1789.       if SceneManager.scene_is?(Scene_Battle)
  1790.          @battle_phase = true         
  1791.          self.width = HELP_WINDOW_SIZE[0]
  1792.          self.height = HELP_WINDOW_SIZE[1]      
  1793.          @org_position = [HELP_WINDOW_POSITION[0] - (self.width / 2),
  1794.                           HELP_WINDOW_POSITION[1]]         
  1795.          self.x = @org_position[0]
  1796.          self.y = @org_position[1]  
  1797.          self.opacity = HELP_WINDOW_OPACITY
  1798.          create_layout
  1799.       end     
  1800. end
  1801.  
  1802. #--------------------------------------------------------------------------
  1803. # * Dispose
  1804. #--------------------------------------------------------------------------
  1805. alias mog_monogatari_help_window_dispose dispose
  1806. def dispose
  1807.      mog_monogatari_help_window_dispose
  1808.      dispose_layout
  1809. end
  1810.  
  1811. #--------------------------------------------------------------------------
  1812. # * Create Layout
  1813. #--------------------------------------------------------------------------   
  1814. def create_layout
  1815.      return if @layout != nil
  1816.      return if !HELP_WINDOW_LAYOUT
  1817.      return if $game_temp.mbhud_window[2]
  1818.      return if !SceneManager.scene_is?(Scene_Battle)
  1819.      $game_temp.mbhud_window[2] = true
  1820.      @layout = Sprite.new
  1821.      @layout.bitmap = Cache.battle_hud("Layout_Help")
  1822.      @layout.z = self.z - 1
  1823.      refresh_layout
  1824.      @layout.visible = false
  1825. end
  1826.  
  1827. #--------------------------------------------------------------------------
  1828. # * Dispose Layout
  1829. #--------------------------------------------------------------------------
  1830. def dispose_layout
  1831.      return if @layout == nil
  1832.      @layout.dispose
  1833.      @layout = nil
  1834. end
  1835.  
  1836. #--------------------------------------------------------------------------
  1837. # * Refresh Layout
  1838. #--------------------------------------------------------------------------
  1839. def refresh_layout
  1840.      return if @layout == nil
  1841.      @layout.x = self.x + HELP_WINDOW_LAYOUT_POSITION[0]
  1842.      @layout.y = self.y + HELP_WINDOW_LAYOUT_POSITION[1]
  1843.      @layout.visible = self.visible   
  1844. end   
  1845.  
  1846.   #--------------------------------------------------------------------------
  1847.   # * Refresh
  1848.   #--------------------------------------------------------------------------
  1849.   alias mog_monogatari_battle_help_refresh refresh
  1850.   def refresh
  1851.       mog_monogatari_battle_help_refresh
  1852.       if @battle_phase        
  1853.          self.x = @org_position[0]
  1854.          self.y = @org_position[1]
  1855.          self.opacity = HELP_WINDOW_OPACITY
  1856.       end
  1857.   end
  1858.  
  1859. #--------------------------------------------------------------------------
  1860. # * Update
  1861. #--------------------------------------------------------------------------  
  1862. alias mog_monogatari_help_window_update update
  1863. def update
  1864.      mog_monogatari_help_window_update
  1865.      if @layout != nil           
  1866.         refresh_layout if @layout.visible != self.visible
  1867.         @layout.visible = self.visible
  1868.      end
  1869. end   
  1870.  
  1871. end
  1872.  
  1873. #==============================================================================
  1874. # ** Window_BattleActor
  1875. #==============================================================================
  1876. class Window_BattleActor < Window_BattleStatus
  1877.  
  1878.   include MOG_BATTLE_HUD_EX
  1879.  
  1880.   #--------------------------------------------------------------------------
  1881.   # * Initialize
  1882.   #--------------------------------------------------------------------------   
  1883.   alias mog_monogatari_battle_actor_initialize initialize
  1884.   def initialize(info_viewport)
  1885.       @force_hide = can_force_hide?
  1886.       mog_monogatari_battle_actor_initialize(info_viewport)
  1887.       self.width = ACTOR_WINDOW_SIZE[0]
  1888.       self.height = ACTOR_WINDOW_SIZE[1]
  1889.       @org_position = [ACTOR_WINDOW_POSITION[0] - (self.width / 2),
  1890.                        ACTOR_WINDOW_POSITION[1] - self.height]
  1891.       @org_position[1] = Graphics.height + 64 if @force_hide
  1892.       self.x = @org_position[0]
  1893.       self.y = @org_position[1]
  1894.       self.opacity = ACTOR_WINDOW_OPACITY
  1895.       self.z += 1
  1896.       self.viewport = nil
  1897.       create_layout
  1898.   end
  1899.  
  1900.   #--------------------------------------------------------------------------
  1901.   # * Can Force Hide?
  1902.   #--------------------------------------------------------------------------   
  1903.   def can_force_hide?
  1904.       return true if $imported[:ve_target_arrow]
  1905.       return true if $imported[:mog_battle_cursor]
  1906.       return false
  1907.   end
  1908.  
  1909. #--------------------------------------------------------------------------
  1910. # * Dispose
  1911. #--------------------------------------------------------------------------
  1912. alias mog_monogatari_actor_window_dispose dispose
  1913. def dispose
  1914.      mog_monogatari_actor_window_dispose
  1915.      dispose_layout
  1916. end
  1917.  
  1918. #--------------------------------------------------------------------------
  1919. # * Create Layout
  1920. #--------------------------------------------------------------------------   
  1921. def create_layout
  1922.      return if @layout != nil
  1923.      return if !ACTOR_WINDOW_LAYOUT
  1924.      return if $game_temp.mbhud_window[3]
  1925.      $game_temp.mbhud_window[3] = true     
  1926.      @layout = Sprite.new
  1927.      @layout.bitmap = Cache.battle_hud("Layout_Target_Actor")
  1928.      @layout.z = self.z - 1
  1929.      refresh_layout
  1930.      @layout.visible = false
  1931. end
  1932.  
  1933. #--------------------------------------------------------------------------
  1934. # * Dispose Layout
  1935. #--------------------------------------------------------------------------
  1936. def dispose_layout
  1937.      return if @layout == nil
  1938.      @layout.dispose
  1939.      @layout = nil
  1940. end
  1941.  
  1942. #--------------------------------------------------------------------------
  1943. # * Refresh Layout
  1944. #--------------------------------------------------------------------------
  1945. def refresh_layout
  1946.      return if @layout == nil
  1947.      @layout.x = self.x + ACTOR_WINDOW_LAYOUT_POSITION[0]
  1948.      @layout.y = self.y + ACTOR_WINDOW_LAYOUT_POSITION[1]
  1949.      @layout.visible = self.visible
  1950. end     
  1951.  
  1952.   if $imported[:ve_target_arrow]
  1953.   #--------------------------------------------------------------------------
  1954.   # * New method: show_actor
  1955.   #--------------------------------------------------------------------------
  1956.   alias mog_battle_hud_ex_show_actor show_actor
  1957.   def show_actor
  1958.       return true if SceneManager.face_battler?
  1959.       mog_battle_hud_ex_show_actor
  1960.   end
  1961.   end
  1962.  
  1963. #--------------------------------------------------------------------------
  1964. # * Select
  1965. #--------------------------------------------------------------------------  
  1966. alias mog_monogatari_select_actor select
  1967. def select(index)
  1968.      mog_monogatari_select_actor(index)
  1969.      self.viewport = nil
  1970.      self.visible = true
  1971.      self.x = @org_position[0]
  1972.      self.y = @org_position[1]   
  1973.      self.opacity = ACTOR_WINDOW_OPACITY
  1974. end   
  1975.  
  1976. #--------------------------------------------------------------------------
  1977. # * Update
  1978. #--------------------------------------------------------------------------  
  1979. alias mog_monogatari_actor_window_update update
  1980. def update
  1981.      mog_monogatari_actor_window_update   
  1982.      self.visible = self.active
  1983.      self.visible = false if @force_hide
  1984.      if @layout != nil        
  1985.         refresh_layout if @layout.visible != self.visible
  1986.      end
  1987. end  
  1988.  
  1989. end
  1990.  
  1991. #==============================================================================
  1992. # ** Window_BattleEnemy
  1993. #==============================================================================
  1994. class Window_BattleEnemy < Window_Selectable
  1995.  
  1996.   include MOG_BATTLE_HUD_EX
  1997.  
  1998.   #--------------------------------------------------------------------------
  1999.   # * Initialize
  2000.   #--------------------------------------------------------------------------   
  2001.   alias mog_monogatari_battle_enemy_initialize initialize
  2002.   def initialize(info_viewport)
  2003.       @force_hide = can_force_hide?
  2004.       mog_monogatari_battle_enemy_initialize(info_viewport)
  2005.       self.width = ENEMY_WINDOW_SIZE[0]
  2006.       self.height = ENEMY_WINDOW_SIZE[1]      
  2007.       @org_position = [ENEMY_WINDOW_POSITION[0] - (self.width / 2),
  2008.                        ENEMY_WINDOW_POSITION[1] - self.height]
  2009.       @org_position[1] = Graphics.height + 64 if @force_hide               
  2010.       self.x = @org_position[0]
  2011.       self.y = @org_position[1]      
  2012.       self.opacity = ENEMY_WINDOW_OPACITY
  2013.       self.z += 1
  2014.       create_layout
  2015.   end  
  2016.  
  2017.   #--------------------------------------------------------------------------
  2018.   # * Can Force Hide?
  2019.   #--------------------------------------------------------------------------   
  2020.   def can_force_hide?
  2021.       return true if $imported[:ve_target_arrow]
  2022.       return true if $imported[:mog_battle_cursor]
  2023.       return false
  2024.   end   
  2025.  
  2026. #--------------------------------------------------------------------------
  2027. # * Dispose
  2028. #--------------------------------------------------------------------------
  2029. alias mog_monogatari_enemy_window_dispose dispose
  2030. def dispose
  2031.      mog_monogatari_enemy_window_dispose
  2032.      dispose_layout
  2033. end
  2034.  
  2035. #--------------------------------------------------------------------------
  2036. # * Create Layout
  2037. #--------------------------------------------------------------------------   
  2038. def create_layout
  2039.      return if @layout != nil
  2040.      return if !ENEMY_WINDOW_LAYOUT
  2041.      return if $game_temp.mbhud_window[4]
  2042.      $game_temp.mbhud_window[4] = true     
  2043.      @layout = Sprite.new
  2044.      @layout.bitmap = Cache.battle_hud("Layout_Target_Enemy")
  2045.      @layout.z = self.z - 1
  2046.      refresh_layout
  2047.      @layout.visible = false
  2048. end
  2049.  
  2050. #--------------------------------------------------------------------------
  2051. # * Dispose Layout
  2052. #--------------------------------------------------------------------------
  2053. def dispose_layout
  2054.      return if @layout == nil
  2055.      @layout.dispose
  2056.      @layout = nil
  2057. end
  2058.  
  2059. #--------------------------------------------------------------------------
  2060. # * Refresh Layout
  2061. #--------------------------------------------------------------------------
  2062. def refresh_layout
  2063.      return if @layout == nil
  2064.      @layout.x = self.x + ENEMY_WINDOW_LAYOUT_POSITION[0]
  2065.      @layout.y = self.y + ENEMY_WINDOW_LAYOUT_POSITION[1]
  2066.      @layout.visible = self.visible   
  2067. end      
  2068.  
  2069. #--------------------------------------------------------------------------
  2070. # * Select
  2071. #--------------------------------------------------------------------------  
  2072. alias mog_monogatari_select_enemy select
  2073. def select(index)
  2074.      mog_monogatari_select_enemy(index)
  2075.      self.viewport = nil
  2076.      self.visible = true
  2077.      self.x = @org_position[0]
  2078.      self.y = @org_position[1]   
  2079.      self.opacity = ENEMY_WINDOW_OPACITY
  2080.   end   
  2081.  
  2082. #--------------------------------------------------------------------------
  2083. # * Update
  2084. #--------------------------------------------------------------------------  
  2085. alias mog_monogatari_enemy_window_update update
  2086. def update
  2087.      mog_monogatari_enemy_window_update
  2088.      self.visible = false if @force_hide
  2089.      if @layout != nil and @layout.visible != self.visible        
  2090.         refresh_layout
  2091.      end
  2092. end   
  2093.  
  2094.   if $imported["YEA-BattleEngine"]
  2095.   #--------------------------------------------------------------------------
  2096.   # * Draw Item
  2097.   #--------------------------------------------------------------------------
  2098.   def draw_item(index)
  2099.       change_color(normal_color)
  2100.       name = $game_troop.alive_members[index].name
  2101.       draw_text(item_rect_for_text(index), name)
  2102.   end
  2103.   end
  2104.  
  2105. end
  2106.  
  2107. #==============================================================================
  2108. # ** Window_BattleSkill
  2109. #==============================================================================
  2110. class Window_BattleSkill < Window_SkillList
  2111. include MOG_BATTLE_HUD_EX
  2112.  
  2113. #--------------------------------------------------------------------------
  2114. # * Initialize
  2115. #--------------------------------------------------------------------------   
  2116. alias mog_monogatari_battle_skill_initialize initialize
  2117. def initialize(help_window, info_viewport)
  2118.      @force_hide = can_force_hide?
  2119.      @force_hide_active = can_force_hide_active?     
  2120.      mog_monogatari_battle_skill_initialize(help_window, info_viewport)
  2121.      self.width = SKILL_WINDOW_SIZE[0]
  2122.      self.height = SKILL_WINDOW_SIZE[1]   
  2123.      @org_position = [SKILL_WINDOW_POSITION[0],
  2124.           Graphics.height - self.height + SKILL_WINDOW_POSITION[1]]
  2125.      self.x = @org_position[0]
  2126.      self.y = @org_position[1]
  2127.      self.opacity = SKILL_WINDOW_OPACITY
  2128.      self.viewport = nil
  2129.      create_layout
  2130. end
  2131.  
  2132. #--------------------------------------------------------------------------
  2133. # * Can Force Hide Active?
  2134. #--------------------------------------------------------------------------   
  2135. def can_force_hide_active?
  2136.      return true if $imported[:ve_target_arrow]
  2137.      return true if $imported[:mog_battle_cursor] != nil
  2138.      return false
  2139. end   
  2140.  
  2141.   #--------------------------------------------------------------------------
  2142.   # * Can Force Hide?
  2143.   #--------------------------------------------------------------------------   
  2144.   def can_force_hide?
  2145.       return false
  2146.   end
  2147.  
  2148. #--------------------------------------------------------------------------
  2149. # * Dispose
  2150. #--------------------------------------------------------------------------
  2151. alias mog_monogatari_skill_window_dispose dispose
  2152. def dispose
  2153.      mog_monogatari_skill_window_dispose
  2154.      dispose_layout
  2155. end
  2156.  
  2157. #--------------------------------------------------------------------------
  2158. # * Create Layout
  2159. #--------------------------------------------------------------------------   
  2160. def create_layout
  2161.      return if @layout != nil
  2162.      return if !SKILL_WINDOW_LAYOUT
  2163.      return if $game_temp.mbhud_window[5]
  2164.      $game_temp.mbhud_window[5] = true     
  2165.      @layout = Sprite.new
  2166.      @layout.bitmap = Cache.battle_hud("Layout_Skill")
  2167.      @layout.z = self.z - 1
  2168.      refresh_layout
  2169.      @layout.visible = false
  2170. end
  2171.  
  2172. #--------------------------------------------------------------------------
  2173. # * Dispose Layout
  2174. #--------------------------------------------------------------------------
  2175. def dispose_layout
  2176.      return if @layout == nil
  2177.      @layout.dispose
  2178.      @layout = nil
  2179. end
  2180.  
  2181. #--------------------------------------------------------------------------
  2182. # * Refresh Layout
  2183. #--------------------------------------------------------------------------
  2184. def refresh_layout
  2185.      return if @layout == nil
  2186.      @layout.x = self.x + SKILL_WINDOW_LAYOUT_POSITION[0]
  2187.      @layout.y = self.y + SKILL_WINDOW_LAYOUT_POSITION[1]
  2188.      @layout.visible = self.visible   
  2189. end
  2190.  
  2191. #--------------------------------------------------------------------------
  2192. # * Select
  2193. #--------------------------------------------------------------------------  
  2194. alias mog_monogatari_select_battle_skill select
  2195. def select(index)
  2196.      mog_monogatari_select_battle_skill(index)
  2197.      self.x = @org_position[0]
  2198.      self.y = @org_position[1]
  2199.      self.opacity = SKILL_WINDOW_OPACITY
  2200. end   
  2201.  
  2202. #--------------------------------------------------------------------------
  2203. # * Update
  2204. #--------------------------------------------------------------------------  
  2205. alias mog_monogatari_skill_window_update update
  2206. def update
  2207.      mog_monogatari_skill_window_update
  2208.      self.visible = self.active if @force_hide_active
  2209.      self.visible = false if @force_hide
  2210.      if @layout != nil and @layout.visible != self.visible        
  2211.         refresh_layout
  2212.      end
  2213. end
  2214.  
  2215. end
  2216.  
  2217. #==============================================================================
  2218. # ** Window_BattleItem
  2219. #==============================================================================
  2220. class Window_BattleItem < Window_ItemList
  2221.   include MOG_BATTLE_HUD_EX
  2222.  
  2223. #--------------------------------------------------------------------------
  2224. # * Initialize
  2225. #--------------------------------------------------------------------------  
  2226. alias mog_monogatari_battle_item_initialize initialize
  2227. def initialize(help_window, info_viewport)
  2228.      @force_hide = can_force_hide?
  2229.      @force_hide_active = can_force_hide_active?
  2230.      mog_monogatari_battle_item_initialize(help_window, info_viewport)
  2231.      self.width = ITEM_WINDOW_SIZE[0]
  2232.      self.height = ITEM_WINDOW_SIZE[1]
  2233.      @org_position = [ITEM_WINDOW_POSITION[0],
  2234.           Graphics.height - self.height + ITEM_WINDOW_POSITION[1]]
  2235.      self.x = @org_position[0]
  2236.      self.y = @org_position[1]
  2237.      self.viewport = nil
  2238.      self.opacity = ITEM_WINDOW_OPACITY
  2239.      create_layout
  2240. end  
  2241.  
  2242. #--------------------------------------------------------------------------
  2243. # * Can Force Hide Active?
  2244. #--------------------------------------------------------------------------   
  2245. def can_force_hide_active?
  2246.      return true if $imported[:ve_target_arrow]
  2247.      return true if $imported[:mog_battle_cursor] != nil
  2248.      return false
  2249. end  
  2250.  
  2251. #--------------------------------------------------------------------------
  2252. # * Can Force Hide?
  2253. #--------------------------------------------------------------------------   
  2254. def can_force_hide?
  2255.      return false
  2256. end
  2257.  
  2258. #--------------------------------------------------------------------------
  2259. # * Dispose
  2260. #--------------------------------------------------------------------------
  2261. alias mog_monogatari_item_window_dispose dispose
  2262. def dispose
  2263.      mog_monogatari_item_window_dispose
  2264.      dispose_layout
  2265. end
  2266.  
  2267. #--------------------------------------------------------------------------
  2268. # * Create Layout
  2269. #--------------------------------------------------------------------------   
  2270. def create_layout
  2271.      return if @layout != nil
  2272.      return if !ITEM_WINDOW_LAYOUT
  2273.      return if $game_temp.mbhud_window[6]
  2274.      $game_temp.mbhud_window[6] = true     
  2275.      @layout = Sprite.new
  2276.      @layout.bitmap = Cache.battle_hud("Layout_Item")
  2277.      @layout.z = self.z - 1
  2278.      refresh_layout
  2279.      @layout.visible = false
  2280. end
  2281.  
  2282. #--------------------------------------------------------------------------
  2283. # * Dispose Layout
  2284. #--------------------------------------------------------------------------
  2285. def dispose_layout
  2286.      return if @layout == nil
  2287.      @layout.dispose
  2288.      @layout = nil
  2289. end
  2290.  
  2291. #--------------------------------------------------------------------------
  2292. # * Refresh Layout
  2293. #--------------------------------------------------------------------------
  2294. def refresh_layout
  2295.      return if @layout == nil
  2296.      @layout.x = self.x + ITEM_WINDOW_LAYOUT_POSITION[0]
  2297.      @layout.y = self.y + ITEM_WINDOW_LAYOUT_POSITION[1]
  2298.      @layout.visible = self.visible
  2299. end  
  2300.  
  2301. #--------------------------------------------------------------------------
  2302. # * Select
  2303. #--------------------------------------------------------------------------  
  2304. alias mog_monogatari_select_battle_item select
  2305. def select(index)
  2306.      mog_monogatari_select_battle_item(index)
  2307.      self.x = @org_position[0]
  2308.      self.y = @org_position[1]
  2309.      self.opacity = ITEM_WINDOW_OPACITY
  2310. end     
  2311.  
  2312. #--------------------------------------------------------------------------
  2313. # * Update
  2314. #--------------------------------------------------------------------------  
  2315. alias mog_monogatari_item_window_update update
  2316. def update
  2317.      mog_monogatari_item_window_update
  2318.      self.visible = self.active if @force_hide_active
  2319.      self.visible = false if @force_hide
  2320.      if @layout != nil
  2321.         refresh_layout if @layout.visible != self.visible
  2322.      end
  2323. end  
  2324.  
  2325. end
  2326.  
  2327. end
  2328.  
  2329.  
  2330. #--------------------------------------------------------------------------
  2331. #--------------------------------------------------------------------------
  2332. #################################
  2333. if $imported["YEA-BattleEngine"]
  2334. #################################
  2335.  
  2336. #==============================================================================
  2337. # ** Window_BattleStatusAid
  2338. #==============================================================================
  2339. class Window_BattleStatusAid < Window_BattleStatus
  2340.  
  2341. #--------------------------------------------------------------------------
  2342. # * Refresh
  2343. #--------------------------------------------------------------------------   
  2344.   def refresh
  2345.       contents.clear
  2346.       self.visible = false
  2347.   end
  2348.  
  2349. end
  2350.  
  2351. #==============================================================================
  2352. # ** Window_BattleStatus
  2353. #==============================================================================
  2354. class Window_BattleStatus < Window_Selectable
  2355.  
  2356. #--------------------------------------------------------------------------
  2357. # * Update
  2358. #--------------------------------------------------------------------------
  2359. alias mog_monogatari_bhud_yf_update update
  2360. def update
  2361.      mog_monogatari_bhud_yf_update
  2362.      update_visible_yf
  2363. end
  2364.  
  2365. #--------------------------------------------------------------------------
  2366. # * Update Visible Yf
  2367. #--------------------------------------------------------------------------
  2368. def update_visible_yf
  2369.      self.visible = self.active
  2370. end
  2371.  
  2372. end  
  2373.  
  2374. #==============================================================================
  2375. # ■ Window ActorCommand
  2376. #==============================================================================
  2377. class Window_ActorCommand < Window_Command
  2378.  
  2379. #--------------------------------------------------------------------------
  2380. # * Show
  2381. #--------------------------------------------------------------------------
  2382.   alias mog_bhud_yf_command_show show
  2383.   def show
  2384.       return if !BattleManager.can_enable_window?
  2385.       mog_bhud_yf_command_show
  2386.   end
  2387.  
  2388. #--------------------------------------------------------------------------
  2389. # * Update
  2390. #--------------------------------------------------------------------------
  2391. alias mog_monogatari_bhud_yf_actorcommand_update update
  2392. def update
  2393.      mog_monogatari_bhud_yf_actorcommand_update
  2394.      update_visible_yf
  2395. end
  2396.  
  2397. #--------------------------------------------------------------------------
  2398. # * Update Visible Yf
  2399. #--------------------------------------------------------------------------
  2400. def update_visible_yf
  2401.      self.visible = self.active     
  2402. end
  2403.  
  2404. end
  2405.  
  2406. #==============================================================================
  2407. # ** Scene Battle
  2408. #==============================================================================
  2409. class Scene_Battle < Scene_Base
  2410.  
  2411.   include MOG_BATTLE_HUD_EX
  2412.  
  2413.   #--------------------------------------------------------------------------
  2414.   # alias method: create_skill_window
  2415.   #--------------------------------------------------------------------------
  2416.   alias mog_yf_scene_battle_create_skill_window create_skill_window
  2417.   def create_skill_window
  2418.       mog_yf_scene_battle_create_skill_window
  2419.       @skill_window.width = SKILL_WINDOW_SIZE[0]
  2420.       @skill_window.height = SKILL_WINDOW_SIZE[1]
  2421.       @skill_window.x = SKILL_WINDOW_POSITION[0]
  2422.       @skill_window.y = SKILL_WINDOW_POSITION[1]
  2423.   end
  2424.  
  2425.   #--------------------------------------------------------------------------
  2426.   # alias method: create_item_window
  2427.   #--------------------------------------------------------------------------
  2428.   alias mog_yf_scene_battle_create_item_window create_item_window
  2429.   def create_item_window
  2430.       mog_yf_scene_battle_create_item_window
  2431.       @item_window.width = ITEM_WINDOW_SIZE[0]
  2432.       @item_window.height = ITEM_WINDOW_SIZE[1]
  2433.       @item_window.x = ITEM_WINDOW_POSITION[0]
  2434.       @item_window.y = ITEM_WINDOW_POSITION[1]
  2435.   end  
  2436.  
  2437. #--------------------------------------------------------------------------
  2438. # * Next Command
  2439. #--------------------------------------------------------------------------
  2440.   def next_command
  2441.     if BattleManager.next_command
  2442.        @status_window.show
  2443.        redraw_current_status
  2444.        @actor_command_window.show
  2445.        @status_aid_window.hide      
  2446.        start_actor_command_selection
  2447.     else
  2448.       turn_start
  2449.     end
  2450.   end
  2451.  
  2452. #--------------------------------------------------------------------------
  2453. # ● Update Battle Hud_ex
  2454. #--------------------------------------------------------------------------
  2455.   alias mog_monogatari_yf_sb_update_battle_hud_ex update_battle_hud_ex
  2456.   def update_battle_hud_ex
  2457.       update_yf_visible
  2458.       mog_monogatari_yf_sb_update_battle_hud_ex         
  2459.   end
  2460.  
  2461. #--------------------------------------------------------------------------
  2462. # ● Update Yf Visible
  2463. #--------------------------------------------------------------------------
  2464. def update_yf_visible
  2465.      return if @force_clear_duration > 0
  2466.      @actor_window.visible = stw_can_visible?
  2467.      @status_window.visible = @actor_window.visible
  2468.      @status_window.opacity = @actor_window.opacity      
  2469. end  
  2470.  
  2471. #--------------------------------------------------------------------------
  2472. # * STW Can Visible
  2473. #--------------------------------------------------------------------------   
  2474.   def stw_can_visible?
  2475.       return false if !BattleManager.can_enable_window?
  2476.       return false if @item_window.visible
  2477.       return false if @skill_window.visible
  2478.       return true if @actor_window.active
  2479.       return false
  2480.   end
  2481.  
  2482. end
  2483.  
  2484. end
  2485. #--------------------------------------------------------------------------
  2486.  
  2487. #################################
  2488. if $imported["YEA-EnemyTargetInfo"]
  2489. #################################
  2490. class Window_Comparison < Window_Base
  2491.  
  2492.   #--------------------------------------------------------------------------
  2493.   # initialize
  2494.   #--------------------------------------------------------------------------
  2495.   alias mog_battle_hud_yf_wcomparison_initialize initialize
  2496.   def initialize(type)
  2497.       mog_battle_hud_yf_wcomparison_initialize(type)
  2498.       self.z = 102
  2499.   end  
  2500.  
  2501. end
  2502. end
  2503. #--------------------------------------------------------------------------
  2504. #--------------------------------------------------------------------------
  2505.  
  2506.  
  2507. #--------------------------------------------------------------------------
  2508. #--------------------------------------------------------------------------
  2509. #################################
  2510. if $imported["YSA-CATB"]
  2511. #################################
  2512.  
  2513. #==============================================================================
  2514. # ■ Enemy CATB Gauge Viewport
  2515. #==============================================================================
  2516. class Enemy_CATB_Gauge_Viewport < Viewport
  2517.  
  2518.   #--------------------------------------------------------------------------
  2519.   # initialize
  2520.   #--------------------------------------------------------------------------
  2521.   alias mog_battle_hud_ex_yami_initialize initialize
  2522.   def initialize(battler, sprite, type)
  2523.       mog_battle_hud_ex_yami_initialize(battler, sprite, type)
  2524.       self.z = 90
  2525.   end
  2526.  
  2527. end
  2528.  
  2529. #==============================================================================
  2530. # ■ Game_Battler
  2531. #==============================================================================
  2532. class Game_Battler < Game_BattlerBase
  2533.  
  2534.   attr_accessor :catb_value  
  2535.   attr_accessor :max_atb
  2536.  
  2537.   #--------------------------------------------------------------------------
  2538.   # * Max ATB
  2539.   #--------------------------------------------------------------------------   
  2540.   def max_atb
  2541.       return MAX_CATB_VALUE
  2542.       return 1
  2543.   end
  2544.  
  2545. end
  2546.  
  2547. end
  2548. #--------------------------------------------------------------------------
  2549. #--------------------------------------------------------------------------
  2550.  
  2551.  
  2552. #==============================================================================
  2553. # ** Spriteset_Battle
  2554. #==============================================================================
  2555. class Spriteset_Battle
  2556.  
  2557.   #--------------------------------------------------------------------------
  2558.   # * Initialize
  2559.   #--------------------------------------------------------------------------
  2560.   alias mog_battle_hud_ex_initialize initialize
  2561.   def initialize
  2562.       check_screen_xyz_nil rescue nil
  2563.       mog_battle_hud_ex_initialize
  2564.       create_battle_hud_ex
  2565.   end
  2566.  
  2567.   #--------------------------------------------------------------------------
  2568.   # * Check Screen Xyz
  2569.   #--------------------------------------------------------------------------   
  2570.   def check_screen_xyz_nil
  2571.       return if !SceneManager.face_battler?
  2572.       for actor in $game_party.battle_members
  2573.           actor.screen_x = 0 if actor.screen_x == nil
  2574.           actor.screen_y = 0 if actor.screen_y == nil
  2575.           actor.screen_z = 0 if actor.screen_z == nil
  2576.       end
  2577.   end
  2578.  
  2579.   #--------------------------------------------------------------------------
  2580.   # * Check Screen Xyz after
  2581.   #--------------------------------------------------------------------------     
  2582.   def check_screen_xyz_after
  2583.       return if !SceneManager.face_battler?
  2584.       index = 0
  2585.       for actor in $game_party.battle_members
  2586.           actor.screen_x = $game_temp.battler_face_pos[index][0] rescue nil
  2587.           actor.screen_y = $game_temp.battler_face_pos[index][1] rescue nil
  2588.           actor.screen_z = $game_temp.battler_face_pos[index][2] rescue nil
  2589.           index += 1
  2590.       end   
  2591.   end
  2592.  
  2593.   #--------------------------------------------------------------------------
  2594.   # * Dispose
  2595.   #--------------------------------------------------------------------------  
  2596.   alias mog_battle_hud_ex_dispose dispose
  2597.   def dispose
  2598.       dispose_battle_hud_ex
  2599.       mog_battle_hud_ex_dispose
  2600.   end
  2601.  
  2602.   #--------------------------------------------------------------------------
  2603.   # * Update
  2604.   #--------------------------------------------------------------------------  
  2605.   alias mog_battle_hud_ex_update update
  2606.   def update
  2607.       mog_battle_hud_ex_update
  2608.       update_battle_hud_ex
  2609.   end
  2610.  
  2611.   #--------------------------------------------------------------------------
  2612.   # * Create Battle Hud EX
  2613.   #--------------------------------------------------------------------------   
  2614.   def create_battle_hud_ex
  2615.       return if @battle_hud_ex != nil
  2616.       @battle_hud_ex = Monogatari_Bhud.new(@viewport1)
  2617.       check_screen_xyz_after
  2618.   end
  2619.  
  2620.   #--------------------------------------------------------------------------
  2621.   # * Dispose Battle Hud EX
  2622.   #--------------------------------------------------------------------------   
  2623.   def dispose_battle_hud_ex
  2624.       return if @battle_hud_ex == nil
  2625.       @battle_hud_ex.dispose
  2626.       @battle_hud_ex = nil
  2627.       $game_temp.mbhud_window = [false,false,false,false,false,false,false]
  2628.   end
  2629.  
  2630.   #--------------------------------------------------------------------------
  2631.   # * Update Battle Hud EX
  2632.   #--------------------------------------------------------------------------   
  2633.   def update_battle_hud_ex
  2634.       refresh_battle_hud if $game_temp.mbhud_force_refresh
  2635.       return if @battle_hud_ex == nil
  2636.       @battle_hud_ex.update
  2637.   end
  2638.  
  2639.   #--------------------------------------------------------------------------
  2640.   # * Refresh Battle Hud
  2641.   #--------------------------------------------------------------------------   
  2642.   def refresh_battle_hud
  2643.       $game_temp.mbhud_force_refresh = false
  2644.       check_screen_xyz_nil rescue nil
  2645.       dispose_battle_hud_ex
  2646.       create_battle_hud_ex
  2647.   end
  2648.  
  2649. end
  2650.  
  2651. #==============================================================================
  2652. # ** Monogatari Bhud
  2653. #==============================================================================
  2654. class Monogatari_Bhud
  2655.  
  2656.   include MOG_BATTLE_HUD_EX
  2657.  
  2658.   #--------------------------------------------------------------------------
  2659.   # * Initialize
  2660.   #--------------------------------------------------------------------------  
  2661.   def initialize(viewport)
  2662.       @pre_message_position = $game_message.position
  2663.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  2664.       @battle_hud = []
  2665.       index = 0
  2666.       for actor in $game_party.battle_members
  2667.           @battle_hud.push(Battle_Hud_EX.new(actor,index,max_members,viewport))
  2668.           index += 1
  2669.       end
  2670.       create_turn_sprite(viewport)
  2671.   end
  2672.  
  2673.   #--------------------------------------------------------------------------
  2674.   # * Max members
  2675.   #--------------------------------------------------------------------------   
  2676.   def max_members
  2677.       if $game_party.members.size > $game_party.max_battle_members
  2678.          return $game_party.max_battle_members
  2679.       end   
  2680.       return $game_party.members.size
  2681.   end
  2682.  
  2683.   #--------------------------------------------------------------------------
  2684.   # * Dispose
  2685.   #--------------------------------------------------------------------------   
  2686.   def dispose
  2687.       @battle_hud.each {|sprite| sprite.dispose }
  2688.       dispose_turn_sprite
  2689.       $game_message.position = @pre_message_position
  2690.   end
  2691.  
  2692.   #--------------------------------------------------------------------------
  2693.   # * Update
  2694.   #--------------------------------------------------------------------------   
  2695.   def update
  2696.       @battle_hud.each {|sprite| sprite.update }
  2697.       update_turn_sprite
  2698.   end
  2699.  
  2700. end
  2701.  
  2702. #==============================================================================
  2703. # ** Monogatari Bhud
  2704. #==============================================================================
  2705. class Monogatari_Bhud
  2706.  
  2707. #--------------------------------------------------------------------------
  2708. # * Can Update Turn Sprite
  2709. #--------------------------------------------------------------------------
  2710.   def can_refresh_turn_sprite?
  2711.       return true if @turn_sprite.visible != $game_temp.command_visible
  2712.       return true if $game_temp.refresh_turn_sprite
  2713.       return false
  2714.   end
  2715.  
  2716. #--------------------------------------------------------------------------
  2717. # * Create Turn Sprite
  2718. #--------------------------------------------------------------------------
  2719.   def create_turn_sprite(viewport)
  2720.       return if !TURN_SPRITE_VISIBLE
  2721.       return if @turn_sprite != nil
  2722.       @turn_sprite = Sprite.new
  2723.       @turn_sprite.bitmap = Cache.battle_hud("Turn")
  2724.       @turn_sprite.viewport = viewport
  2725.       @turn_sprite.z = HUD_Z + TURN_SPRITE_Z
  2726.       @turn_sprite.visible = false
  2727.       @turn_sprite_update_time = 5
  2728.       @turn_sprite_blink = [0,0]
  2729.   end
  2730.  
  2731. #--------------------------------------------------------------------------
  2732. # * Dispose Turn Sprite
  2733. #--------------------------------------------------------------------------
  2734.   def dispose_turn_sprite
  2735.       return if @turn_sprite == nil
  2736.       @turn_sprite.dispose
  2737.       @turn_sprite = nil
  2738.   end
  2739.  
  2740. #--------------------------------------------------------------------------
  2741. # * Update Turn Sprite
  2742. #--------------------------------------------------------------------------
  2743.   def update_turn_sprite
  2744.       return if @turn_sprite == nil
  2745.       if @turn_sprite_update_time > 0
  2746.          @turn_sprite_update_time -= 1
  2747.          return
  2748.       end  
  2749.       update_turn_visible if can_refresh_turn_sprite?
  2750.       update_turn_blink
  2751.   end
  2752.  
  2753. #--------------------------------------------------------------------------
  2754. # * Update Turn Visible
  2755. #--------------------------------------------------------------------------   
  2756.   def update_turn_visible
  2757.       $game_temp.refresh_turn_sprite = false
  2758.       @turn_sprite.visible = $game_temp.command_visible
  2759.       battler_index = BattleManager.current_index rescue nil
  2760.       battler_index = 0 if battler_index == nil
  2761.       x = $game_temp.hud_pos_real[battler_index][0] + TURN_SPRITE_POSITION[0]
  2762.       y = $game_temp.hud_pos_real[battler_index][1] + TURN_SPRITE_POSITION[1]
  2763.       @turn_sprite.x = x
  2764.       @turn_sprite.y = y  
  2765. end
  2766.  
  2767. #--------------------------------------------------------------------------
  2768. # * Update Turn Blink
  2769. #--------------------------------------------------------------------------   
  2770. def update_turn_blink
  2771.      return if !TURN_BLINK_EFFECT
  2772.      return if !@turn_sprite.visible
  2773.      @turn_sprite_blink[0] += 1
  2774.      case @turn_sprite_blink[0]
  2775.        when 0..30
  2776.           @turn_sprite_blink[1] += 3
  2777.        when 31..60
  2778.           @turn_sprite_blink[1] -= 3
  2779.        else
  2780.          @turn_sprite_blink = [0,0]
  2781.      end
  2782.      @turn_sprite.opacity = 150 + @turn_sprite_blink[1]
  2783. end
  2784.  
  2785. end
  2786.  
  2787. #==============================================================================
  2788. #==============================================================================
  2789. # ** Battle Hud EX
  2790. #==============================================================================
  2791. #==============================================================================
  2792. class Battle_Hud_EX
  2793.   include MOG_BATTLE_HUD_EX
  2794.  
  2795.   #--------------------------------------------------------------------------
  2796.   # * Initialize
  2797.   #--------------------------------------------------------------------------  
  2798.   def initialize(actor = nil,index = 0, max_members = 0,viewport = nil)
  2799.       pre_cache
  2800.       setup(actor,index,max_members)
  2801.       create_sprites(viewport)
  2802.   end
  2803.  
  2804.   #--------------------------------------------------------------------------
  2805.   # * Setup
  2806.   #--------------------------------------------------------------------------   
  2807.   def setup(actor,index,max_members)
  2808.       [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  2809.       @actor_index = index
  2810.       @max_members = max_members
  2811.       @actor.face_animation = [0,0,0]
  2812.       @hp_icon_max = -1
  2813.       @hp_icon_old = -1
  2814.       @hp_icon_col_max = HP_ICON_COL_MAX
  2815.       @hp_icon_col_max = 1 if @hp_icon_col_max <= 0
  2816.       @hp_icon_row_max = HP_ICON_ROW_MAX
  2817.       @hp_icon_row_max = 1 if @hp_icon_row_max <= 0
  2818.       @hp_icon_real_max = @hp_icon_col_max * @hp_icon_row_max
  2819.       @mp_icon_max = -1
  2820.       @mp_icon_old = -1
  2821.       @mp_icon_col_max = MP_ICON_COL_MAX
  2822.       @mp_icon_col_max = 1 if @mp_icon_col_max <= 0
  2823.       @mp_icon_row_max = MP_ICON_ROW_MAX
  2824.       @mp_icon_row_max = 1 if @mp_icon_row_max <= 0
  2825.       @mp_icon_real_max = @mp_icon_col_max * @mp_icon_row_max
  2826.       @tp_icon_max = -1
  2827.       @tp_icon_old = -1
  2828.       @tp_icon_col_max = TP_ICON_COL_MAX
  2829.       @tp_icon_col_max = 1 if @tp_icon_col_max <= 0
  2830.       @tp_icon_row_max = TP_ICON_ROW_MAX
  2831.       @tp_icon_row_max = 1 if @tp_icon_row_max <= 0
  2832.       @tp_icon_real_max = @tp_icon_col_max * @tp_icon_row_max
  2833.       setup_actor
  2834.       setup_position
  2835.   end
  2836.  
  2837.   #--------------------------------------------------------------------------
  2838.   # * Setup Actor
  2839.   #--------------------------------------------------------------------------   
  2840.   def setup_actor
  2841.       return if @actor == nil
  2842.       @hp_number_refresh = true
  2843.       @hp_number2_refresh = true
  2844.       @hp_number_old = @actor.hp
  2845.       @hp_number2_old = @actor.mhp
  2846.       @hp_old_meter = 0      
  2847.       @mp_number_refresh = true
  2848.       @mp_number2_refresh = true
  2849.       @mp_number_old = @actor.mp
  2850.       @mp_number2_old = @actor.mmp
  2851.       @mp_old_meter = 0      
  2852.       @tp_number_refresh = true
  2853.       @tp_number2_refresh = true
  2854.       @tp_number_old = @actor.tp
  2855.       @tp_number2_old = @actor.max_tp  
  2856.       @tp_old_meter = 0
  2857.       @at_number_refresh = true
  2858.       @at_number2_refresh = true
  2859.       @at_number_old = actor_at
  2860.       @at_number2_old = actor_max_at
  2861.       @at_old_meter = 0
  2862.       catb = ATB::MAX_AP rescue nil
  2863.       @ccwinter_atb = true if catb != nil
  2864.   end  
  2865.  
  2866.   #--------------------------------------------------------------------------
  2867.   # * Terminate
  2868.   #--------------------------------------------------------------------------   
  2869.   def terminate
  2870.       if $imported[:ve_active_time_battle]
  2871.          @actor.atb = 0 rescue nil
  2872.       end   
  2873.   end
  2874.  
  2875.   #--------------------------------------------------------------------------
  2876.   # * AT
  2877.   #--------------------------------------------------------------------------  
  2878.   def actor_at
  2879.       return @actor.at if $imported[:mog_atb_system]
  2880.       return @actor.atb if $imported[:ve_active_time_battle]
  2881.       return @actor.catb_value if $imported["YSA-CATB"]
  2882.       return @actor.ap if @ccwinter_atb != nil
  2883.       return 0
  2884.   end
  2885.  
  2886.   #--------------------------------------------------------------------------
  2887.   # * Max AT
  2888.   #--------------------------------------------------------------------------  
  2889.   def actor_max_at
  2890.       return $game_system.at_max if $imported[:mog_atb_system]
  2891.       return @actor.max_atb if $imported[:ve_active_time_battle]
  2892.       return @actor.max_atb if $imported["YSA-CATB"]
  2893.       return ATB::MAX_AP if @ccwinter_atb != nil
  2894.       return 1
  2895.   end
  2896.  
  2897.   #--------------------------------------------------------------------------
  2898.   # ● Actor Cast
  2899.   #--------------------------------------------------------------------------            
  2900.   def actor_cast
  2901.       return @actor.at_cast[1] if $imported[:mog_atb_system]
  2902.       return @actor.atb if $imported[:ve_active_time_battle]
  2903.       return @actor.chant_count if @ccwinter_atb
  2904.       return 0
  2905.   end
  2906.  
  2907.   #--------------------------------------------------------------------------
  2908.   # ● Actor Max Cast
  2909.   #--------------------------------------------------------------------------            
  2910.   def actor_max_cast
  2911.       return @actor.at_cast[0].speed.abs if $imported[:mog_atb_system]
  2912.       return @actor.max_atb if $imported[:ve_active_time_battle]
  2913.       return @actor.max_chant_count if @ccwinter_atb
  2914.       return 1
  2915.   end
  2916.  
  2917.   #--------------------------------------------------------------------------
  2918.   # ● Actor Cast?
  2919.   #--------------------------------------------------------------------------            
  2920.   def actor_cast?   
  2921.       if $imported[:mog_atb_system]
  2922.          return true if !@actor.at_cast.empty?
  2923.       end   
  2924.       if $imported[:ve_active_time_battle]
  2925.          return true if @actor.cast_action?
  2926.       end      
  2927.       if @ccwinter_atb
  2928.          return true if @actor.chanting?
  2929.       end
  2930.       return false
  2931.   end  
  2932.  
  2933.   #--------------------------------------------------------------------------
  2934.   # * Create Sprites
  2935.   #--------------------------------------------------------------------------   
  2936.   def create_sprites(viewport)
  2937.       dispose
  2938.       return if @actor == nil
  2939.       create_layout(viewport)
  2940.       create_layout_2(viewport)
  2941.       create_name(viewport)
  2942.       create_face(viewport)
  2943.       create_hp_number(viewport)
  2944.       create_hp_number_max(viewport)
  2945.       create_hp_meter(viewport)
  2946.       create_hp_icon(viewport)
  2947.       create_hp_icon_ex(viewport)
  2948.       create_hp_icon_number(viewport)
  2949.       create_mp_number(viewport)
  2950.       create_mp_number_max(viewport)
  2951.       create_mp_meter(viewport)
  2952.       create_mp_icon(viewport)
  2953.       create_mp_icon_ex(viewport)
  2954.       create_mp_icon_number(viewport)
  2955.       create_tp_number(viewport)
  2956.       create_tp_number_max(viewport)
  2957.       create_tp_meter(viewport)
  2958.       create_tp_icon(viewport)
  2959.       create_tp_icon_ex(viewport)
  2960.       create_tp_icon_number(viewport)
  2961.       create_at_number(viewport)
  2962.       create_at_number_max(viewport)      
  2963.       create_at_meter(viewport)      
  2964.       create_level_number(viewport)
  2965.       create_states(viewport)
  2966.       update
  2967.   end   
  2968.  
  2969. end
  2970.  
  2971. #==============================================================================
  2972. #==============================================================================
  2973. # ** Battle Hud EX
  2974. #==============================================================================
  2975. #==============================================================================
  2976. class Battle_Hud_EX
  2977.  
  2978.   #--------------------------------------------------------------------------
  2979.   # * Setup Position
  2980.   #--------------------------------------------------------------------------
  2981.   def setup_position      
  2982.       sprite_width = (Graphics.width - 64) / 4
  2983.       sprite_center = sprite_width / 2  
  2984.       if $game_party.battle_members.size > 4
  2985.          members = $game_party.battle_members.size - 4
  2986.          fx = 32 * members
  2987.        else
  2988.          fx = 0
  2989.       end   
  2990.       space_x = MEMBERS_SPACE[0] - fx
  2991.       space_y = MEMBERS_SPACE[1]      
  2992.       center = Graphics.width / 2
  2993.       members_space = (Graphics.width + space_x) / @max_members
  2994.       members_space2 = (members_space * @actor_index)      
  2995.       members_space3 = ((members_space / 2) * (@max_members - 1))
  2996.       members_space_y = space_y * @actor_index
  2997.       x = HUD_POSITION[0] - sprite_center + center + members_space2 - members_space3
  2998.       screen_resize_y = 0
  2999.       screen_resize_y = (Graphics.height - 416) if Graphics.height > 416
  3000.       y = HUD_POSITION[1] + members_space_y + screen_resize_y
  3001.       @hud_position = [x,y]
  3002.       $game_temp.hud_pos_real[@actor_index] = [] if $game_temp.hud_pos_real[@actor_index] == nil
  3003.       $game_temp.hud_pos_real[@actor_index] = [x,y]
  3004.       x2 = x + sprite_center
  3005.       $game_temp.hud_pos[@actor_index] = [] if $game_temp.hud_pos[@actor_index] == nil
  3006.       $game_temp.hud_pos[@actor_index] = [x2,y]
  3007.       if FIXED_HUD_POSITION[@actor_index] != nil     
  3008.          @hud_position = [FIXED_HUD_POSITION[@actor_index][0],FIXED_HUD_POSITION[@actor_index][1]]
  3009.          $game_temp.hud_pos_real[@actor_index] = [@hud_position[0],@hud_position[1]]
  3010.          $game_temp.hud_pos[@actor_index] = [] if $game_temp.hud_pos[@actor_index] == nil
  3011.          $game_temp.hud_pos[@actor_index] = [Graphics.width / 2,(Graphics.height / 2) + 96]   
  3012.       end      
  3013.   end
  3014.  
  3015. end
  3016.  
  3017. #==============================================================================
  3018. # ** Game Temp
  3019. #==============================================================================
  3020. class Game_Temp
  3021.  
  3022.   attr_accessor :cache_bhud_sprites
  3023.  
  3024.   #--------------------------------------------------------------------------
  3025.   # * Cache Battle Hud
  3026.   #--------------------------------------------------------------------------  
  3027.   def cache_battle_hud      
  3028.       execute_cache_bhud_sprites if @cache_bhud_sprites == nil
  3029.   end
  3030.  
  3031.   #--------------------------------------------------------------------------
  3032.   # * Execute Cache Bhud Sprites
  3033.   #--------------------------------------------------------------------------  
  3034.   def execute_cache_bhud_sprites
  3035.       @cache_bhud_sprites = []
  3036.       windows = ["Layout_Command","Layout_Party","Layout_Help",
  3037.       "Layout_Target_Actor","Layout_Target_Enemy","Layout_Skill",
  3038.       "Layout_Item"]
  3039.       for s in windows
  3040.           @cache_bhud_sprites.push(Cache.battle_hud(s)) rescue nil
  3041.       end
  3042.       sprites = ["Layout","Layout_2",
  3043.     "MP_Number","Max_MP_Number","MP_Icon","MP_Icon_EX","MP_Icon_Number",
  3044.     "TP_Number","Max_TP_Number","TP_Icon","TP_Icon_EX","TP_Icon_Number",  
  3045.     "AT_Number","Max_AT_Number","AT_Icon","AT_Icon_EX","AT_Icon_Number",  
  3046.     "LV_Number","Turn","Iconset"
  3047.       ]
  3048.       for s in sprites
  3049.           @cache_bhud_sprites.push(Cache.battle_hud(s)) rescue nil
  3050.       end      
  3051.   end
  3052.  
  3053. end
  3054.  
  3055. #==============================================================================
  3056. # ** Spriteset_Map
  3057. #==============================================================================
  3058. class Spriteset_Map
  3059.  
  3060.   #--------------------------------------------------------------------------
  3061.   # * Initialize
  3062.   #--------------------------------------------------------------------------
  3063.   alias mog_monogatari_bhud_initialize initialize
  3064.   def initialize
  3065.       $game_temp.cache_battle_hud
  3066.       mog_monogatari_bhud_initialize
  3067.   end
  3068.  
  3069. end
  3070.  
  3071. #==============================================================================
  3072. #==============================================================================
  3073. # ** Battle Hud EX
  3074. #==============================================================================
  3075. #==============================================================================
  3076. class Battle_Hud_EX
  3077.  
  3078.   #--------------------------------------------------------------------------
  3079.   # * Pre Cache
  3080.   #--------------------------------------------------------------------------
  3081.   def pre_cache
  3082.       $game_temp.cache_battle_hud
  3083.       @force_hide = false
  3084.       @force_hide_time = 0
  3085.       @fade_hud = false
  3086.       @fade_hud_gold = false     
  3087.       @fade_hud_equip = false
  3088.       @layout_image = Cache.battle_hud("Layout")
  3089.       @layout_cw = @layout_image.width
  3090.       @layout_ch = @layout_image.height
  3091.       @layout2_image = Cache.battle_hud("Layout_2") rescue nil
  3092.       @layout2_cw = @layout2_image.width if @layout2_image != nil
  3093.       @layout2_ch = @layout2_image.height if @layout2_image != nil
  3094.       @layout2_cw = 0 if @layout2_cw == nil
  3095.       #------------------------------------------------
  3096.       # HP
  3097.       #------------------------------------------------
  3098.       if HP_NUMBER_VISIBLE
  3099.          @hp_number_image = Cache.battle_hud("HP_Number")
  3100.          @hp_number_cw = @hp_number_image.width / 10
  3101.          if HP_NUMBER_LOW_COLOR
  3102.             @hp_number_ch = @hp_number_image.height / 2
  3103.          else
  3104.             @hp_number_ch = @hp_number_image.height
  3105.          end   
  3106.          @hp_wave_number = HP_NUMBER_WAVE_ALIGN_EFFECT
  3107.          @hp_number_ch += (@hp_number_ch / 2) if @hp_wave_number      
  3108.       end
  3109.       if HP_NUMBER_MAX_VISIBLE
  3110.          @hp_number2_image = Cache.battle_hud("Max_HP_Number")
  3111.          @hp_number2_cw = @hp_number2_image.width / 10
  3112.          @hp_number2_ch = @hp_number2_image.height
  3113.       end
  3114.       if HP_METER_VISIBLE
  3115.          @hp_meter_image = Cache.battle_hud("HP_Meter")
  3116.          if HP_METER_GRADIENT_ANIMATION
  3117.             @hp_meter_cw = @hp_meter_image.width / 3
  3118.          else   
  3119.             @hp_meter_cw = @hp_meter_image.width
  3120.          end   
  3121.          if HP_METER_REDUCTION_ANIMATION
  3122.             @hp_meter_ch = @hp_meter_image.height / 2
  3123.          else
  3124.             @hp_meter_ch = @hp_meter_image.height
  3125.          end  
  3126.       end
  3127.       if HP_ICON_VISIBLE
  3128.          @hp_icon_image = Cache.battle_hud("HP_Icon")
  3129.          @hp_icon_cw = @hp_icon_image.width / 2
  3130.          @hp_icon_ch = @hp_icon_image.height
  3131.       end
  3132.       if HP_ICON_EX_VISIBLE
  3133.          @hp_icon2_image = Cache.battle_hud("HP_Icon_EX")
  3134.          @hp_icon2_cw = @hp_icon2_image.width
  3135.          @hp_icon2_ch = @hp_icon2_image.height        
  3136.       end      
  3137.       if HP_ICON_NUMBER_VISIBLE
  3138.          @hp_icon_number_image = Cache.battle_hud("HP_Icon_Number")
  3139.          @hp_icon_number_cw = @hp_icon_number_image.width / 10
  3140.          @hp_icon_number_ch = @hp_icon_number_image.height        
  3141.       end
  3142.       #------------------------------------------------
  3143.       # MP
  3144.       #------------------------------------------------
  3145.       if MP_NUMBER_VISIBLE
  3146.          @mp_number_image = Cache.battle_hud("MP_Number")
  3147.          @mp_number_cw = @mp_number_image.width / 10
  3148.          if MP_NUMBER_LOW_COLOR
  3149.             @mp_number_ch = @mp_number_image.height / 2
  3150.          else
  3151.             @mp_number_ch = @mp_number_image.height
  3152.         end
  3153.         @mp_wave_number = MP_NUMBER_WAVE_ALIGN_EFFECT
  3154.         @mp_number_ch += (@mp_number_ch / 2) if @mp_wave_number
  3155.       end
  3156.       if MP_NUMBER_MAX_VISIBLE
  3157.          @mp_number2_image = Cache.battle_hud("Max_MP_Number")
  3158.          @mp_number2_cw = @mp_number2_image.width / 10
  3159.          @mp_number2_ch = @mp_number2_image.height
  3160.       end
  3161.       if MP_METER_VISIBLE
  3162.          @mp_meter_image = Cache.battle_hud("MP_Meter")
  3163.          if MP_METER_GRADIENT_ANIMATION
  3164.             @mp_meter_cw = @mp_meter_image.width / 3
  3165.          else   
  3166.             @mp_meter_cw = @mp_meter_image.width
  3167.          end  
  3168.          if MP_METER_REDUCTION_ANIMATION
  3169.             @mp_meter_ch = @mp_meter_image.height / 2
  3170.          else
  3171.             @mp_meter_ch = @mp_meter_image.height
  3172.          end
  3173.       end
  3174.       if MP_ICON_VISIBLE
  3175.          @mp_icon_image = Cache.battle_hud("MP_Icon")
  3176.          @mp_icon_cw = @mp_icon_image.width / 2
  3177.          @mp_icon_ch = @mp_icon_image.height
  3178.       end
  3179.       if MP_ICON_EX_VISIBLE
  3180.          @mp_icon2_image = Cache.battle_hud("MP_Icon_EX")
  3181.          @mp_icon2_cw = @mp_icon2_image.width
  3182.          @mp_icon2_ch = @mp_icon2_image.height        
  3183.       end      
  3184.       if MP_ICON_NUMBER_VISIBLE
  3185.          @mp_icon_number_image = Cache.battle_hud("MP_Icon_Number")
  3186.          @mp_icon_number_cw = @mp_icon_number_image.width / 10
  3187.          @mp_icon_number_ch = @mp_icon_number_image.height        
  3188.       end
  3189.       #------------------------------------------------
  3190.       # TP
  3191.       #------------------------------------------------
  3192.       if TP_NUMBER_VISIBLE
  3193.          @tp_number_image = Cache.battle_hud("TP_Number")
  3194.          @tp_number_cw = @tp_number_image.width / 10
  3195.          if TP_NUMBER_LOW_COLOR
  3196.             @tp_number_ch = @tp_number_image.height / 2
  3197.          else
  3198.             @tp_number_ch = @tp_number_image.height
  3199.          end  
  3200.         @tp_wave_number = TP_NUMBER_WAVE_ALIGN_EFFECT
  3201.         @tp_number_ch += (@tp_number_ch / 2) if @tp_wave_number      
  3202.       end
  3203.       if TP_NUMBER_MAX_VISIBLE
  3204.          @tp_number2_image = Cache.battle_hud("Max_TP_Number")
  3205.          @tp_number2_cw = @tp_number2_image.width / 10
  3206.          @tp_number2_ch = @tp_number2_image.height
  3207.       end
  3208.       if TP_METER_VISIBLE
  3209.          @tp_meter_image = Cache.battle_hud("TP_Meter")
  3210.          if TP_METER_GRADIENT_ANIMATION
  3211.             @tp_meter_cw = @tp_meter_image.width / 3
  3212.          else   
  3213.             @tp_meter_cw = @tp_meter_image.width
  3214.          end  
  3215.          if TP_METER_REDUCTION_ANIMATION
  3216.             @tp_meter_ch = @tp_meter_image.height / 2      
  3217.          else
  3218.             @tp_meter_ch = @tp_meter_image.height
  3219.          end   
  3220.       end        
  3221.       if TP_ICON_VISIBLE
  3222.          @tp_icon_image = Cache.battle_hud("TP_Icon")
  3223.          @tp_icon_cw = @tp_icon_image.width / 2
  3224.          @tp_icon_ch = @tp_icon_image.height
  3225.       end  
  3226.       if TP_ICON_EX_VISIBLE
  3227.          @tp_icon2_image = Cache.battle_hud("TP_Icon_EX")
  3228.          @tp_icon2_cw = @tp_icon2_image.width
  3229.          @tp_icon2_ch = @tp_icon2_image.height        
  3230.       end      
  3231.       if TP_ICON_NUMBER_VISIBLE
  3232.          @tp_icon_number_image = Cache.battle_hud("TP_Icon_Number")
  3233.          @tp_icon_number_cw = @tp_icon_number_image.width / 10
  3234.          @tp_icon_number_ch = @tp_icon_number_image.height        
  3235.       end
  3236.       #------------------------------------------------
  3237.       # AT
  3238.       #------------------------------------------------
  3239.       if AT_NUMBER_VISIBLE
  3240.          @at_number_image = Cache.battle_hud("AT_Number")
  3241.          @at_number_cw = @at_number_image.width / 10
  3242.          @at_number_ch = @at_number_image.height
  3243.          @at_wave_number = AT_NUMBER_WAVE_ALIGN_EFFECT
  3244.          @at_number_ch += (@at_number_ch / 2) if @at_wave_number      
  3245.       end
  3246.       if AT_NUMBER_MAX_VISIBLE
  3247.          @at_number2_image = Cache.battle_hud("Max_AT_Number")
  3248.          @at_number2_cw = @at_number2_image.width / 10
  3249.          @at_number2_ch = @at_number2_image.height
  3250.       end
  3251.       if AT_METER_VISIBLE
  3252.          @at_meter_image = Cache.battle_hud("AT_Meter")
  3253.          if AT_METER_GRADIENT_ANIMATION
  3254.             @at_meter_cw = @at_meter_image.width / 3
  3255.          else   
  3256.             @at_meter_cw = @at_meter_image.width
  3257.          end   
  3258.          @at_meter_ch = @at_meter_image.height / 3
  3259.       end
  3260.       #------------------------------------------------
  3261.       # LV
  3262.       #------------------------------------------------  
  3263.       if LEVEL_NUMBER_VISIBLE
  3264.          @lv_number_image = Cache.battle_hud("LV_Number")
  3265.          @lv_number_cw = @lv_number_image.width / 10
  3266.          @lv_number_ch = @lv_number_image.height
  3267.       end      
  3268.       #------------------------------------------------
  3269.       # ICON
  3270.       #------------------------------------------------  
  3271.       if STATES_VISIBLE or EQUIPMENT_VISIBLE
  3272.          @icon_image = Cache.system("Iconset")
  3273.       end         
  3274.   end
  3275.  
  3276.   #--------------------------------------------------------------------------
  3277.   # * Check Icon Image
  3278.   #--------------------------------------------------------------------------         
  3279.   def check_icon_image
  3280.       if @icon_image == nil or @icon_image.disposed?
  3281.          @icon_image = Cache.system("Iconset")
  3282.       end   
  3283.   end  
  3284.  
  3285. end
  3286.  
  3287. #==============================================================================
  3288. #==============================================================================
  3289. # ** Battle Hud EX
  3290. #==============================================================================
  3291. #==============================================================================
  3292. class Battle_Hud_EX
  3293.  
  3294.   #--------------------------------------------------------------------------
  3295.   # * Update Number
  3296.   #--------------------------------------------------------------------------   
  3297.   def update_number(type,value)
  3298.       actor_value = @actor.hp if type == 0
  3299.       actor_value = @actor.mp if type == 1
  3300.       actor_value = @actor.tp if type == 2
  3301.       actor_value = @actor.mhp if type == 3
  3302.       actor_value = @actor.mmp if type == 4
  3303.       actor_value = @actor.max_tp if type == 5
  3304.       actor_value = actor_at if type == 6
  3305.       actor_value = actor_max_at if type == 7
  3306.       if value < actor_value
  3307.          value += number_refresh_speed(actor_value,value)
  3308.          value = actor_value if value >= actor_value
  3309.          refresh_sprite_number(type,value)
  3310.      elsif value > actor_value
  3311.          value -= number_refresh_speed(actor_value,value)
  3312.          value = actor_value if value <= actor_value
  3313.          refresh_sprite_number(type,value)
  3314.      end  
  3315.   end
  3316.  
  3317.   #--------------------------------------------------------------------------
  3318.   # * Number Refresh Speed
  3319.   #--------------------------------------------------------------------------      
  3320.   def number_refresh_speed(actor_value,value)
  3321.       n =  1 * (actor_value - value).abs / 10
  3322.       return [[n, 99999999].min,1].max   
  3323.   end
  3324.  
  3325.   #--------------------------------------------------------------------------
  3326.   # * Update Number Fix
  3327.   #--------------------------------------------------------------------------      
  3328.   def update_number_fix(type)
  3329.       if type == 0
  3330.          @hp_number_old =  @actor.hp
  3331.          @hp_number_refresh = true
  3332.       elsif type == 1
  3333.          @mp_number_old =  @actor.mp
  3334.          @mp_number_refresh = true
  3335.       elsif type == 2
  3336.          @tp_number_old =  @actor.tp
  3337.          @tp_number_refresh = true  
  3338.       elsif type == 3
  3339.          @hp_number2_old =  @actor.mhp
  3340.          @hp_number2_refresh = true
  3341.       elsif type == 4
  3342.          @mp_number2_old =  @actor.mmp
  3343.          @mp_number2_refresh = true
  3344.       elsif type == 5
  3345.          @tp_number2_old =  @actor.max_tp
  3346.          @tp_number2_refresh = true  
  3347.       elsif type == 6
  3348.          @at_number_old =  actor_at
  3349.          @at_number_refresh = true         
  3350.       elsif type == 7
  3351.          @at_number2_old = actor_max_at
  3352.          @at_number2_refresh = true            
  3353.       end   
  3354.   end  
  3355.  
  3356.   #--------------------------------------------------------------------------
  3357.   # * Refresh Sprite Number
  3358.   #--------------------------------------------------------------------------   
  3359.   def refresh_sprite_number(type,value)   
  3360.       @hp_number_refresh = true if type == 0
  3361.       @hp_number_old = value if type == 0
  3362.       @mp_number_refresh = true if type == 1
  3363.       @mp_number_old = value if type == 1
  3364.       @tp_number_refresh = true if type == 2
  3365.       @tp_number_old = value if type == 2
  3366.       @hp_number2_refresh = true if type == 3
  3367.       @hp_number2_old = value if type == 3
  3368.       @mp_number2_refresh = true if type == 4
  3369.       @mp_number2_old = value if type == 4
  3370.       @tp_number2_refresh = true if type == 5
  3371.       @tp_number2_old = value if type == 5
  3372.       @at_number_refresh = true if type == 6
  3373.       @at_number_old = value if type == 6
  3374.       @at_number2_refresh = true if type == 7
  3375.       @at_number2_old = value if type == 7
  3376.   end  
  3377.  
  3378.   #--------------------------------------------------------------------------
  3379.   # * Refresh Number
  3380.   #--------------------------------------------------------------------------   
  3381.   def refresh_number(type,value,sprite,image,number_cw,number_ch,wave_number = false)
  3382.       sprite.bitmap.clear
  3383.       clear_number_refresh(type)
  3384.       number_color = low_number_color(type,number_ch)
  3385.       if type == 0 and HP_NUMBER_PERCENTAGE
  3386.          value_max = @actor.mhp
  3387.          value = value.to_f / value_max.to_f * 100
  3388.          value = 1 if (value < 0 and @actor.hp > 0) or @actor.hp == 1
  3389.       elsif type == 1 and MP_NUMBER_PERCENTAGE
  3390.          value_max = @actor.mmp
  3391.          value = value.to_f / value_max.to_f * 100
  3392.       elsif type == 2 and TP_NUMBER_PERCENTAGE
  3393.          value_max = @actor.max_tp
  3394.          value = value.to_f / value_max.to_f * 100  
  3395.       elsif type == 3 and HP_NUMBER_PERCENTAGE
  3396.          value = 100
  3397.       elsif type == 4 and MP_NUMBER_PERCENTAGE
  3398.          value = 100
  3399.       elsif type == 5 and TP_NUMBER_PERCENTAGE
  3400.          value = 100
  3401.       elsif type == 6 and AT_NUMBER_PERCENTAGE
  3402.          value_max = actor_max_at
  3403.          value = value.to_f / value_max.to_f * 100
  3404.       elsif type == 7 and AT_NUMBER_PERCENTAGE
  3405.          value = 100         
  3406.       end
  3407.       value = 9999999 if value > 9999999
  3408.       number_value = value.truncate.abs.to_s.split(//)
  3409.       wave_h = 0
  3410.       wave_h2 = wave_number ? (number_ch / 3) : 0
  3411.       wave_h3 = number_color != 0 ? wave_h2 : 0
  3412.       for r in 0..number_value.size - 1         
  3413.          number_value_abs = number_value[r].to_i
  3414.          wh = wave_h2 * wave_h
  3415.          wh2 = wave_h == 0 ? wave_h2 : 0
  3416.          nsrc_rect = Rect.new(number_cw * number_value_abs, number_color - wave_h3, number_cw, number_ch - wh2)
  3417.          sprite.bitmap.blt(number_cw *  r, wh, image, nsrc_rect)
  3418.          wave_h = wave_h == 0 ? 1 : 0
  3419.       end
  3420.       refresh_number_position(type,number_value.size,number_cw)
  3421.   end
  3422.  
  3423.   #--------------------------------------------------------------------------
  3424.   # * Refresh Number
  3425.   #--------------------------------------------------------------------------     
  3426.   def refresh_number_position(type,number_value,number_cw)
  3427.       cx = number_value * number_cw
  3428.       if type == 0
  3429.          case HP_NUMBER_ALIGN_TYPE
  3430.            when 0; @hp_number.x = @hud_position[0] + HP_NUMBER_POSITION[0]
  3431.            when 1; @hp_number.x = @hud_position[0] + HP_NUMBER_POSITION[0] - (cx / 2)
  3432.            when 2; @hp_number.x = @hud_position[0] + HP_NUMBER_POSITION[0] - cx
  3433.          end            
  3434.       elsif type == 1
  3435.          case MP_NUMBER_ALIGN_TYPE
  3436.            when 0; @mp_number.x = @hud_position[0] + MP_NUMBER_POSITION[0]
  3437.            when 1; @mp_number.x = @hud_position[0] + MP_NUMBER_POSITION[0] - (cx / 2)
  3438.            when 2; @mp_number.x = @hud_position[0] + MP_NUMBER_POSITION[0] - cx
  3439.          end     
  3440.       elsif type == 2  
  3441.          case TP_NUMBER_ALIGN_TYPE
  3442.            when 0; @tp_number.x = @hud_position[0] + TP_NUMBER_POSITION[0]
  3443.            when 1; @tp_number.x = @hud_position[0] + TP_NUMBER_POSITION[0] - (cx / 2)
  3444.            when 2; @tp_number.x = @hud_position[0] + TP_NUMBER_POSITION[0] - cx
  3445.          end           
  3446.       elsif type == 3   
  3447.          case HP_NUMBER_ALIGN_TYPE
  3448.            when 0; @hp_number2.x = @hud_position[0] + HP_NUMBER_MAX_POSITION[0]
  3449.            when 1; @hp_number2.x = @hud_position[0] + HP_NUMBER_MAX_POSITION[0] - (cx / 2)
  3450.            when 2; @hp_number2.x = @hud_position[0] + HP_NUMBER_MAX_POSITION[0] - cx
  3451.          end           
  3452.       elsif type ==  4
  3453.          case MP_NUMBER_ALIGN_TYPE
  3454.            when 0; @mp_number2.x = @hud_position[0] + MP_NUMBER_MAX_POSITION[0]
  3455.            when 1; @mp_number2.x = @hud_position[0] + MP_NUMBER_MAX_POSITION[0] - (cx / 2)
  3456.            when 2; @mp_number2.x = @hud_position[0] + MP_NUMBER_MAX_POSITION[0] - cx
  3457.          end         
  3458.       elsif type ==  5
  3459.          case TP_NUMBER_ALIGN_TYPE
  3460.            when 0; @tp_number2.x = @hud_position[0] + TP_NUMBER_MAX_POSITION[0]
  3461.            when 1; @tp_number2.x = @hud_position[0] + TP_NUMBER_MAX_POSITION[0] - (cx / 2)
  3462.            when 2; @tp_number2.x = @hud_position[0] + TP_NUMBER_MAX_POSITION[0] - cx
  3463.          end
  3464.       elsif type ==  6     
  3465.          case MP_NUMBER_ALIGN_TYPE
  3466.            when 0; @at_number.x = @hud_position[0] + AT_NUMBER_POSITION[0]
  3467.            when 1; @at_number.x = @hud_position[0] + AT_NUMBER_POSITION[0] - (cx / 2)
  3468.            when 2; @at_number.x = @hud_position[0] + AT_NUMBER_POSITION[0] - cx
  3469.          end            
  3470.       elsif type ==  7     
  3471.          case AT_NUMBER_ALIGN_TYPE
  3472.            when 0; @at_number2.x = @hud_position[0] + AT_NUMBER_POSITION[0]
  3473.            when 1; @at_number2.x = @hud_position[0] + AT_NUMBER_POSITION[0] - (cx / 2)
  3474.            when 2; @at_number2.x = @hud_position[0] + AT_NUMBER_POSITION[0] - cx
  3475.          end
  3476.       end  
  3477.   end
  3478.  
  3479.   #--------------------------------------------------------------------------
  3480.   # * Low Number Color
  3481.   #--------------------------------------------------------------------------      
  3482.   def low_number_color(type,number_ch)
  3483.       if type == 0
  3484.          if HP_NUMBER_LOW_COLOR
  3485.             return @actor.low_hp? ? number_ch : 0
  3486.          else
  3487.             return 0
  3488.          end  
  3489.       elsif type == 1
  3490.          if MP_NUMBER_LOW_COLOR   
  3491.             return @actor.low_mp? ? number_ch : 0
  3492.          else
  3493.             return 0
  3494.          end         
  3495.       elsif type == 2
  3496.          if TP_NUMBER_LOW_COLOR
  3497.             return @actor.low_tp? ? number_ch : 0
  3498.          else
  3499.             return 0
  3500.          end
  3501.       else   
  3502.          return 0  
  3503.       end     
  3504.   end
  3505.  
  3506.   #--------------------------------------------------------------------------
  3507.   # * Clear Number Refresh
  3508.   #--------------------------------------------------------------------------      
  3509.   def clear_number_refresh(type)
  3510.       @hp_number_refresh = false if type == 0
  3511.       @mp_number_refresh = false if type == 1
  3512.       @tp_number_refresh = false if type == 2
  3513.       @hp_number2_refresh = false if type == 3
  3514.       @mp_number2_refresh = false if type == 4
  3515.       @tp_number2_refresh = false if type == 5
  3516.       @at_number_refresh = false if type == 6
  3517.       @at_number2_refresh = false if type == 7
  3518.   end  
  3519.  
  3520.   #--------------------------------------------------------------------------
  3521.   # * Icon Limit
  3522.   #--------------------------------------------------------------------------      
  3523.   def icon_limit(value,value_max)
  3524.       n1 = value / value_max
  3525.       n2 = value - (n1 * value_max)
  3526.       n2 = value_max if (n2 == 0 and value > 0)
  3527.       return n2
  3528.   end  
  3529.  
  3530. end
  3531.  
  3532. #==============================================================================
  3533. #==============================================================================
  3534. # ** Battle Hud EX
  3535. #==============================================================================
  3536. #==============================================================================
  3537. class Battle_Hud_EX
  3538.  
  3539.   #--------------------------------------------------------------------------
  3540.   # * Create Layout
  3541.   #--------------------------------------------------------------------------   
  3542.   def create_layout(viewport)
  3543.       @layout = Sprite.new
  3544.       @layout.bitmap = @layout_image
  3545.       @layout.z = HUD_Z
  3546.       @layout.x = @hud_position[0]
  3547.       @layout.y = @hud_position[1]
  3548.       @layout.viewport = viewport
  3549.   end   
  3550.  
  3551.   #--------------------------------------------------------------------------
  3552.   # * Update Layout
  3553.   #--------------------------------------------------------------------------   
  3554.   def update_layout
  3555.       return if @layout == nil
  3556.  
  3557.   end
  3558.  
  3559.   #--------------------------------------------------------------------------
  3560.   # * Create Layout
  3561.   #--------------------------------------------------------------------------   
  3562.   def create_layout_2(viewport)
  3563.       return if !SECOND_LAYOUT
  3564.       @layout2 = Sprite.new
  3565.       @layout2.bitmap = @layout2_image
  3566.       @layout2.z = HUD_Z + SECOND_LAYOUT_Z
  3567.       @layout2.x = @hud_position[0] + SECOND_LAYOUT_POSITION[0]
  3568.       @layout2.y = @hud_position[1] + SECOND_LAYOUT_POSITION[1]
  3569.       @layout2.viewport = viewport
  3570.   end   
  3571.  
  3572.   #--------------------------------------------------------------------------
  3573.   # * Update Layout
  3574.   #--------------------------------------------------------------------------   
  3575.   def update_layout_2
  3576.       return if @layout2 == nil
  3577.  
  3578.   end  
  3579.  
  3580. end
  3581.  
  3582. #==============================================================================
  3583. #==============================================================================
  3584. # ** Battle Hud EX
  3585. #==============================================================================
  3586. #==============================================================================
  3587. class Battle_Hud_EX
  3588.  
  3589.   #--------------------------------------------------------------------------
  3590.   # * Create Name
  3591.   #--------------------------------------------------------------------------      
  3592.   def create_name(viewport)
  3593.       return if !NAME_VISIBLE
  3594.       @name = Sprite.new
  3595.       @name.bitmap = Bitmap.new(160,32)
  3596.       @name.bitmap.font.name = NAME_FONT_NAME
  3597.       @name.bitmap.font.size = NAME_FONT_SIZE
  3598.       @name.bitmap.font.bold = NAME_FONT_BOLD
  3599.       @name.bitmap.font.italic = NAME_FONT_ITALIC
  3600.       @name.bitmap.font.color = NAME_FONT_COLOR
  3601.       @name.z = HUD_Z + NAME_Z
  3602.       @name.x = @hud_position[0] + NAME_POSITION[0]
  3603.       @name.y = @hud_position[1] + NAME_POSITION[1]
  3604.       @name.viewport = viewport
  3605.       refresh_name
  3606.   end
  3607.  
  3608.   #--------------------------------------------------------------------------
  3609.   # * Refresh Name
  3610.   #--------------------------------------------------------------------------      
  3611.   def refresh_name
  3612.       return if @name == nil
  3613.       @name.bitmap.clear
  3614.       if NAME_FONT_SHADOW
  3615.          @name.bitmap.font.color = NAME_FONT_SHADOW_COLOR
  3616.          @name.bitmap.draw_text(NAME_FONT_SHADOW_POSITION[0],NAME_FONT_SHADOW_POSITION[1],160,32,@actor.name,NAME_ALIGN_TYPE)
  3617.          @name.bitmap.font.color = NAME_FONT_COLOR
  3618.       end   
  3619.       @name.bitmap.draw_text(0,0,160,32,@actor.name,NAME_ALIGN_TYPE)
  3620.   end
  3621.  
  3622.   #--------------------------------------------------------------------------
  3623.   # * Update Name
  3624.   #--------------------------------------------------------------------------        
  3625.   def update_name
  3626.       return if @name == nil
  3627.  
  3628.   end
  3629.  
  3630. end
  3631.  
  3632. #==============================================================================
  3633. #==============================================================================
  3634. # ** Battle Hud EX
  3635. #==============================================================================
  3636. #==============================================================================
  3637. class Battle_Hud_EX
  3638.  
  3639.   #--------------------------------------------------------------------------
  3640.   # * Create HP Number
  3641.   #--------------------------------------------------------------------------  
  3642.   def create_hp_number(viewport)
  3643.       return if !HP_NUMBER_VISIBLE
  3644.       @hp_number = Sprite.new
  3645.       @hp_number.bitmap = Bitmap.new(@hp_number_cw * 4,@hp_number_ch)
  3646.       @hp_number.z = HUD_Z + HP_NUMBER_Z
  3647.       @hp_number.x = @hud_position[0] + HP_NUMBER_POSITION[0]
  3648.       @hp_number.y = @hud_position[1] + HP_NUMBER_POSITION[1]
  3649.       @hp_number.viewport = viewport
  3650.   end
  3651.  
  3652.   #--------------------------------------------------------------------------
  3653.   # * Create HP Number Max
  3654.   #--------------------------------------------------------------------------  
  3655.   def create_hp_number_max(viewport)
  3656.       return if !HP_NUMBER_MAX_VISIBLE
  3657.       @hp_number2 = Sprite.new
  3658.       @hp_number2.bitmap = Bitmap.new(@hp_number2_cw * 4,@hp_number2_ch)
  3659.       @hp_number2.z = HUD_Z + HP_NUMBER_Z
  3660.       @hp_number2.x = @hud_position[0] + HP_NUMBER_MAX_POSITION[0]
  3661.       @hp_number2.y = @hud_position[1] + HP_NUMBER_MAX_POSITION[1]
  3662.       @hp_number2.viewport = viewport
  3663.   end  
  3664.  
  3665.   #--------------------------------------------------------------------------
  3666.   # * Create HP Meter
  3667.   #--------------------------------------------------------------------------   
  3668.   def create_hp_meter(viewport)
  3669.       return if !HP_METER_VISIBLE
  3670.       @hp_flow_max = @hp_meter_cw * 2
  3671.       @hp_flow = rand(@hp_flow_max)
  3672.       @hp_meter = Sprite.new
  3673.       @hp_meter.bitmap = Bitmap.new(@hp_meter_cw,@hp_meter_ch)
  3674.       @hp_meter.z = HUD_Z + HP_METER_Z
  3675.       @hp_meter.x = @hud_position[0] + HP_METER_POSITION[0]
  3676.       @hp_meter.y = @hud_position[1] + HP_METER_POSITION[1]
  3677.       @hp_meter.angle = HP_METER_ANGLE
  3678.       @hp_meter.mirror = HP_METER_MIRROR_EFFECT
  3679.       @hp_meter.viewport = viewport
  3680.   end
  3681.  
  3682.   #--------------------------------------------------------------------------
  3683.   # ● Update Flow HP
  3684.   #--------------------------------------------------------------------------            
  3685.   def update_flow_hp
  3686.       @hp_meter.bitmap.clear
  3687.       @hp_flow = 0 if !HP_METER_GRADIENT_ANIMATION
  3688.       meter_width = @hp_meter_cw * @actor.hp / @actor.mhp rescue nil
  3689.       meter_width = 0 if meter_width == nil
  3690.       execute_hp_damage_flow(meter_width)      
  3691.       meter_src_rect = Rect.new(@hp_flow, 0,meter_width, @hp_meter_ch)
  3692.       @hp_meter.bitmap.blt(0,0, @hp_meter_image, meter_src_rect)  
  3693.       @hp_flow += 2
  3694.       @hp_flow = 0 if @hp_flow >= @hp_flow_max
  3695.   end  
  3696.  
  3697.   #--------------------------------------------------------------------------
  3698.   # ● Execute HP Damage Flow
  3699.   #--------------------------------------------------------------------------
  3700.   def execute_hp_damage_flow(meter_width)
  3701.       return if !HP_METER_REDUCTION_ANIMATION
  3702.       return if @hp_old_meter == meter_width
  3703.       n = (@hp_old_meter - meter_width).abs * 3 / 100
  3704.       damage_flow = [[n, 2].min,0.5].max
  3705.       @hp_old_meter -= damage_flow
  3706.       @hp_old_meter = meter_width if @hp_old_meter <= meter_width
  3707.       src_rect_old = Rect.new(0,@hp_meter_ch, @hp_old_meter, @hp_meter_ch)
  3708.       @hp_meter.bitmap.blt(0,0, @hp_meter_image, src_rect_old)      
  3709.   end
  3710.  
  3711.   #--------------------------------------------------------------------------
  3712.   # * Create HP Icon
  3713.   #--------------------------------------------------------------------------  
  3714.   def create_hp_icon(viewport)
  3715.       return if !HP_ICON_VISIBLE
  3716.       @hp_icon = Sprite.new
  3717.       icon_width = @hp_icon_col_max * (@hp_icon_cw + HP_ICON_SPACE[0].abs)
  3718.       icon_height = @hp_icon_row_max * (@hp_icon_ch + HP_ICON_SPACE[1].abs)
  3719.       @hp_icon.bitmap = Bitmap.new(icon_width,icon_height)      
  3720.       @hp_icon.z = HUD_Z + HP_ICON_Z
  3721.       @hp_icon.x = @hud_position[0] + HP_ICON_POSITION[0]
  3722.       @hp_icon.y = @hud_position[1] + HP_ICON_POSITION[1]
  3723.       @hp_icon.viewport = viewport
  3724.   end
  3725.  
  3726.   #--------------------------------------------------------------------------
  3727.   # * Refresh HP Icon
  3728.   #--------------------------------------------------------------------------   
  3729.   def refresh_hp_icon
  3730.       @hp_icon_old = @actor.hp
  3731.       @hp_icon.bitmap.clear
  3732.       max_value = (@actor.mhp / @hp_icon_real_max) * @hp_icon_real_max
  3733.       if @actor.hp > max_value
  3734.          icon_max = icon_limit(@actor.mhp,@hp_icon_real_max)
  3735.       else   
  3736.          icon_max = @actor.mhp
  3737.       end      
  3738.       for i in 0...icon_max
  3739.           break if (i / @hp_icon_col_max) >= @hp_icon_row_max
  3740.           rx = (i * (@hp_icon_cw + HP_ICON_SPACE[0]) ) - ((i / @hp_icon_col_max) * (@hp_icon_cw + HP_ICON_SPACE[0]) * @hp_icon_col_max)
  3741.           ry = (i / @hp_icon_col_max) * (@hp_icon_ch + HP_ICON_SPACE[1])
  3742.           i_scr = Rect.new(0,0,@hp_icon_cw,@hp_icon_ch)
  3743.           @hp_icon.bitmap.blt(rx,ry,@hp_icon_image ,i_scr )      
  3744.       end      
  3745.       icon_max = icon_limit(@actor.hp,@hp_icon_real_max)
  3746.       rx = 0
  3747.       ry = 0
  3748.       for i in 0...icon_max
  3749.           break if (i / @hp_icon_col_max) >= @hp_icon_row_max
  3750.           rx = (i * (@hp_icon_cw + HP_ICON_SPACE[0]) ) - ((i / @hp_icon_col_max) * (@hp_icon_cw + HP_ICON_SPACE[0]) * @hp_icon_col_max)
  3751.           ry = (i / @hp_icon_col_max) * (@hp_icon_ch + HP_ICON_SPACE[1])
  3752.           i_scr = Rect.new(@hp_icon_cw,0,@hp_icon_cw,@hp_icon_ch)
  3753.           @hp_icon.bitmap.blt(rx,ry,@hp_icon_image ,i_scr )
  3754.       end
  3755.       refresh_hp_icon_ex(rx,ry)      
  3756.   end
  3757.  
  3758.   #--------------------------------------------------------------------------
  3759.   # * Create HP Icon EX
  3760.   #--------------------------------------------------------------------------  
  3761.   def create_hp_icon_ex(viewport)
  3762.       return if !HP_ICON_EX_VISIBLE
  3763.       @hp_icon3_anime_phase = 0
  3764.       @hp_icon3 = Sprite.new
  3765.       @hp_icon3.bitmap = Bitmap.new(@hp_icon2_cw,@hp_icon2_ch)
  3766.       @hp_icon3.ox = @hp_icon3.bitmap.width / 2
  3767.       @hp_icon3.oy = @hp_icon3.bitmap.height / 2
  3768.       @hp_icon3.z = HUD_Z + HP_ICON_Z + 2
  3769.       @hp_icon3_org = [@hud_position[0] + HP_ICON_POSITION[0] + HP_ICON_EX_POSITION[0] + @hp_icon3.ox,
  3770.                        @hud_position[1] + HP_ICON_POSITION[1] + HP_ICON_EX_POSITION[1] + @hp_icon3.oy]
  3771.       @hp_icon3.x = @hp_icon3_org[0]
  3772.       @hp_icon3.y = @hp_icon3_org[1]
  3773.       @hp_icon3.viewport = viewport
  3774.   end   
  3775.  
  3776.   #--------------------------------------------------------------------------
  3777.   # * Refresh HP Icon EX
  3778.   #--------------------------------------------------------------------------      
  3779.   def refresh_hp_icon_ex(rx,ry)
  3780.       return if @hp_icon3 == nil
  3781.       @hp_icon3.bitmap.clear
  3782.       return if @actor.hp == 0
  3783.       i_scr = Rect.new(0,0,@hp_icon2_cw,@hp_icon2_ch)
  3784.       @hp_icon3.bitmap.blt(0,0, @hp_icon2_image ,i_scr )
  3785.       @hp_icon3.x = @hp_icon3_org[0] + rx
  3786.       @hp_icon3.y = @hp_icon3_org[1] + ry     
  3787.   end
  3788.  
  3789.   #--------------------------------------------------------------------------
  3790.   # * Update Icon HP EX Anime
  3791.   #--------------------------------------------------------------------------  
  3792.   def update_icon_hp_ex_anime
  3793.       return if !HP_ICON_EX_ZOOM_EFFECT
  3794.       if @hp_icon3_anime_phase == 0
  3795.          @hp_icon3.zoom_x += 0.01
  3796.          if @hp_icon3.zoom_x >= 1.30
  3797.             @hp_icon3.zoom_x = 1.30
  3798.             @hp_icon3_anime_phase = 1
  3799.          end  
  3800.       else
  3801.         @hp_icon3.zoom_x -= 0.01
  3802.         if @hp_icon3.zoom_x <= 1.05
  3803.            @hp_icon3.zoom_x = 1.05
  3804.            @hp_icon3_anime_phase = 0
  3805.         end   
  3806.       end  
  3807.       @hp_icon3.zoom_y = @hp_icon3.zoom_x
  3808.   end
  3809.  
  3810.   #--------------------------------------------------------------------------
  3811.   # * Create HP Icon Nummber
  3812.   #--------------------------------------------------------------------------      
  3813.   def create_hp_icon_number(viewport)
  3814.       return if !HP_ICON_NUMBER_VISIBLE
  3815.       @hp_icon_number_old = [-1,-1]
  3816.       @hp_icon_number = Sprite.new
  3817.       @hp_icon_number.bitmap = Bitmap.new(@hp_icon_number_cw * 4,@hp_icon_number_ch)
  3818.       @hp_icon_number.z = HUD_Z + HP_ICON_NUMBER_Z
  3819.       @hp_icon_number.x = @hud_position[0] + HP_ICON_NUMBER_POSITION[0]
  3820.       @hp_icon_number.y = @hud_position[1] + HP_ICON_NUMBER_POSITION[1]
  3821.       @hp_icon_number.viewport = viewport
  3822.   end
  3823.  
  3824.   #--------------------------------------------------------------------------
  3825.   # * Refresh Icon Number HP
  3826.   #--------------------------------------------------------------------------  
  3827.   def refresh_icon_number_hp
  3828.       @hp_icon_number_old[0] = @actor.hp
  3829.       @hp_icon_number_old[1] = @actor.mhp
  3830.       @hp_icon_number.bitmap.clear
  3831.       value = ((@actor.hp - 1) / @hp_icon_col_max) / @hp_icon_row_max
  3832.       value = 0 if value < 0
  3833.       number_value = value.truncate.abs.to_s.split(//)
  3834.       for r in 0..number_value.size - 1         
  3835.          number_value_abs = number_value[r].to_i
  3836.          nsrc_rect = Rect.new(@hp_icon_number_cw * number_value_abs, 0, @hp_icon_number_cw, @hp_icon_number_ch)
  3837.          @hp_icon_number.bitmap.blt(@hp_icon_number_cw *  r, 0, @hp_icon_number_image, nsrc_rect)
  3838.       end
  3839.       cx = (number_value.size * @hp_icon_number_cw)
  3840.       case HP_ICON_NUMBER_ALIGN_TYPE
  3841.          when 0; @hp_icon_number.x = @hud_position[0] + HP_ICON_NUMBER_POSITION[0]
  3842.          when 1; @hp_icon_number.x = @hud_position[0] + HP_ICON_NUMBER_POSITION[0] - (cx / 2)
  3843.          when 2; @hp_icon_number.x = @hud_position[0] + HP_ICON_NUMBER_POSITION[0] - cx
  3844.       end   
  3845.   end
  3846.  
  3847.   #--------------------------------------------------------------------------
  3848.   # * Can Refresh Icon Number HP
  3849.   #--------------------------------------------------------------------------  
  3850.   def can_refresh_icon_number_hp?
  3851.       return true if @hp_icon_number_old[0] != @actor.hp
  3852.       return true if @hp_icon_number_old[1] != @actor.mhp
  3853.       return false
  3854.   end
  3855.  
  3856.   #--------------------------------------------------------------------------
  3857.   # * Update HP
  3858.   #--------------------------------------------------------------------------   
  3859.   def update_hp
  3860.       if @hp_number != nil
  3861.          if HP_NUMBER_ANIMATION
  3862.             update_number(0,@hp_number_old)
  3863.          else   
  3864.             update_number_fix(0) if @hp_number_old != @actor.hp
  3865.          end  
  3866.          refresh_number(0,@hp_number_old,@hp_number,@hp_number_image,@hp_number_cw,@hp_number_ch,@hp_wave_number) if @hp_number_refresh
  3867.       end
  3868.       if @hp_number2 != nil
  3869.          if HP_NUMBER_ANIMATION
  3870.             update_number(3,@hp_number2_old)
  3871.          else   
  3872.             update_number_fix(3) if @hp_number2_old != @actor.mhp
  3873.          end  
  3874.          refresh_number(3,@hp_number2_old,@hp_number2,@hp_number2_image,@hp_number2_cw,@hp_number2_ch,@hp_wave_number) if @hp_number2_refresh
  3875.       end
  3876.       if @hp_meter != nil
  3877.          update_flow_hp
  3878.       end   
  3879.       if @hp_icon != nil
  3880.          refresh_hp_icon if @hp_icon_old != @actor.hp
  3881.       end
  3882.       if @hp_icon3 != nil
  3883.          update_icon_hp_ex_anime
  3884.       end      
  3885.       if @hp_icon_number != nil
  3886.          refresh_icon_number_hp if can_refresh_icon_number_hp?
  3887.       end  
  3888.   end  
  3889.  
  3890. end
  3891.  
  3892. #==============================================================================
  3893. #==============================================================================
  3894. # ** Battle Hud EX
  3895. #==============================================================================
  3896. #==============================================================================
  3897. class Battle_Hud_EX
  3898.  
  3899.   #--------------------------------------------------------------------------
  3900.   # * Create MP Number
  3901.   #--------------------------------------------------------------------------  
  3902.   def create_mp_number(viewport)
  3903.       return if !MP_NUMBER_VISIBLE
  3904.       @mp_number = Sprite.new
  3905.       @mp_number.bitmap = Bitmap.new(@mp_number_cw * 4, @mp_number_ch)
  3906.       @mp_number.z = HUD_Z + MP_NUMBER_Z
  3907.       @mp_number.x = @hud_position[0] + MP_NUMBER_POSITION[0]
  3908.       @mp_number.y = @hud_position[1] + MP_NUMBER_POSITION[1]
  3909.       @mp_number.viewport = viewport
  3910.   end
  3911.  
  3912.   #--------------------------------------------------------------------------
  3913.   # * Create MP Number Max
  3914.   #--------------------------------------------------------------------------  
  3915.   def create_mp_number_max(viewport)
  3916.       return if !MP_NUMBER_MAX_VISIBLE
  3917.       @mp_number2 = Sprite.new
  3918.       @mp_number2.bitmap = Bitmap.new(@mp_number2_cw * 4, @mp_number2_ch)
  3919.       @mp_number2.z = HUD_Z + MP_NUMBER_Z
  3920.       @mp_number2.x = @hud_position[0] + MP_NUMBER_MAX_POSITION[0]
  3921.       @mp_number2.y = @hud_position[1] + MP_NUMBER_MAX_POSITION[1]
  3922.       @mp_number2.viewport = viewport
  3923.   end  
  3924.  
  3925.   #--------------------------------------------------------------------------
  3926.   # * Create MP Meter
  3927.   #--------------------------------------------------------------------------   
  3928.   def create_mp_meter(viewport)
  3929.       return if !MP_METER_VISIBLE
  3930.       @mp_flow_max = @mp_meter_cw * 2
  3931.       @mp_flow = rand(@mp_flow_max)
  3932.       @mp_meter = Sprite.new
  3933.       @mp_meter.bitmap = Bitmap.new(@mp_meter_cw,@mp_meter_ch)
  3934.       @mp_meter.z = HUD_Z + MP_METER_Z
  3935.       @mp_meter.x = @hud_position[0] + MP_METER_POSITION[0]
  3936.       @mp_meter.y = @hud_position[1] + MP_METER_POSITION[1]
  3937.       @mp_meter.angle = MP_METER_ANGLE
  3938.       @mp_meter.mirror = MP_METER_MIRROR_EFFECT
  3939.       @mp_meter.viewport = viewport
  3940.   end
  3941.  
  3942.   #--------------------------------------------------------------------------
  3943.   # ● Update Flow MP
  3944.   #--------------------------------------------------------------------------            
  3945.   def update_flow_mp
  3946.       @mp_meter.bitmap.clear
  3947.       @mp_flow = 0 if !MP_METER_GRADIENT_ANIMATION
  3948.       meter_width = @mp_meter_cw * @actor.mp / @actor.mmp rescue nil
  3949.       meter_width = 0 if meter_width == nil
  3950.       execute_mp_damage_flow(meter_width)      
  3951.       meter_src_rect = Rect.new(@mp_flow, 0,meter_width, @mp_meter_ch)
  3952.       @mp_meter.bitmap.blt(0,0, @mp_meter_image, meter_src_rect)  
  3953.       @mp_flow += 2
  3954.       @mp_flow = 0 if @mp_flow >= @mp_flow_max
  3955.   end  
  3956.  
  3957.   #--------------------------------------------------------------------------
  3958.   # ● Execute MP Damage Flow
  3959.   #--------------------------------------------------------------------------
  3960.   def execute_mp_damage_flow(meter_width)
  3961.       return if !MP_METER_REDUCTION_ANIMATION
  3962.       return if @mp_old_meter == meter_width
  3963.       n = (@mp_old_meter - meter_width).abs * 3 / 100
  3964.       damage_flow = [[n, 2].min,0.5].max
  3965.       @mp_old_meter -= damage_flow      
  3966.       @mp_old_meter = meter_width if @mp_old_meter <= meter_width
  3967.       src_rect_old = Rect.new(0,@mp_meter_ch, @mp_old_meter, @mp_meter_ch)
  3968.       @mp_meter.bitmap.blt(0,0, @mp_meter_image, src_rect_old)      
  3969.   end
  3970.  
  3971.   #--------------------------------------------------------------------------
  3972.   # * Create MP Icon
  3973.   #--------------------------------------------------------------------------  
  3974.   def create_mp_icon(viewport)
  3975.       return if !MP_ICON_VISIBLE
  3976.       @mp_icon = Sprite.new
  3977.       icon_width = @mp_icon_col_max * (@mp_icon_cw + MP_ICON_SPACE[0].abs)
  3978.       icon_height = @mp_icon_row_max * (@mp_icon_ch + MP_ICON_SPACE[1].abs)
  3979.       @mp_icon.bitmap = Bitmap.new(icon_width,icon_height)      
  3980.       @mp_icon.z = HUD_Z + MP_ICON_Z
  3981.       @mp_icon.x = @hud_position[0] + MP_ICON_POSITION[0]
  3982.       @mp_icon.y = @hud_position[1] + MP_ICON_POSITION[1]
  3983.       @mp_icon.viewport = viewport
  3984.   end
  3985.  
  3986.   #--------------------------------------------------------------------------
  3987.   # * Refresh MP Icon
  3988.   #--------------------------------------------------------------------------   
  3989.   def refresh_mp_icon
  3990.       @mp_icon_old = @actor.mp
  3991.       @mp_icon.bitmap.clear
  3992.       max_value = (@actor.mmp / @mp_icon_real_max) * @mp_icon_real_max
  3993.       if @actor.mp > max_value
  3994.          icon_max = icon_limit(@actor.mmp,@mp_icon_real_max)
  3995.       else   
  3996.          icon_max = @actor.mmp
  3997.       end      
  3998.       for i in 0...icon_max
  3999.           break if (i / @mp_icon_col_max) >= @mp_icon_row_max
  4000.           rx = (i * (@mp_icon_cw + MP_ICON_SPACE[0]) ) - ((i / @mp_icon_col_max) * (@mp_icon_cw + MP_ICON_SPACE[0]) * @mp_icon_col_max)
  4001.           ry = (i / @mp_icon_col_max) * (@mp_icon_ch + MP_ICON_SPACE[1])
  4002.           i_scr = Rect.new(0,0,@mp_icon_cw,@mp_icon_ch)
  4003.           @mp_icon.bitmap.blt(rx,ry,@mp_icon_image ,i_scr )      
  4004.       end      
  4005.       icon_max = icon_limit(@actor.mp,@mp_icon_real_max)
  4006.       rx = 0
  4007.       ry = 0
  4008.       for i in 0...icon_max
  4009.           break if (i / @mp_icon_col_max) >= @mp_icon_row_max
  4010.           rx = (i * (@mp_icon_cw + MP_ICON_SPACE[0]) ) - ((i / @mp_icon_col_max) * (@mp_icon_cw + MP_ICON_SPACE[0]) * @mp_icon_col_max)
  4011.           ry = (i / @mp_icon_col_max) * (@mp_icon_ch + MP_ICON_SPACE[1])
  4012.           i_scr = Rect.new(@mp_icon_cw,0,@mp_icon_cw,@mp_icon_ch)
  4013.           @mp_icon.bitmap.blt(rx,ry,@mp_icon_image ,i_scr )
  4014.       end
  4015.       refresh_mp_icon_ex(rx,ry)      
  4016.   end
  4017.  
  4018.   #--------------------------------------------------------------------------
  4019.   # * Create MP Icon EX
  4020.   #--------------------------------------------------------------------------  
  4021.   def create_mp_icon_ex(viewport)
  4022.       return if !MP_ICON_EX_VISIBLE
  4023.       @mp_icon3_anime_phase = 0
  4024.       @mp_icon3 = Sprite.new
  4025.       @mp_icon3.bitmap = Bitmap.new(@mp_icon2_cw,@mp_icon2_ch)
  4026.       @mp_icon3.ox = @mp_icon3.bitmap.width / 2
  4027.       @mp_icon3.oy = @mp_icon3.bitmap.height / 2
  4028.       @mp_icon3.z = HUD_Z + MP_ICON_Z + 2
  4029.       @mp_icon3_org = [@hud_position[0] + MP_ICON_POSITION[0] + MP_ICON_EX_POSITION[0] + @mp_icon3.ox,
  4030.                        @hud_position[1] + MP_ICON_POSITION[1] + MP_ICON_EX_POSITION[1] + @mp_icon3.oy]
  4031.       @mp_icon3.x = @mp_icon3_org[0]
  4032.       @mp_icon3.y = @mp_icon3_org[1]
  4033.       @mp_icon3.viewport = viewport
  4034.   end   
  4035.  
  4036.   #--------------------------------------------------------------------------
  4037.   # * Refresh MP Icon EX
  4038.   #--------------------------------------------------------------------------      
  4039.   def refresh_mp_icon_ex(rx,ry)
  4040.       return if @mp_icon3 == nil
  4041.       @mp_icon3.bitmap.clear
  4042.       return if @actor.mp == 0
  4043.       i_scr = Rect.new(0,0,@mp_icon2_cw,@mp_icon2_ch)
  4044.       @mp_icon3.bitmap.blt(0,0, @mp_icon2_image ,i_scr )
  4045.       @mp_icon3.x = @mp_icon3_org[0] + rx
  4046.       @mp_icon3.y = @mp_icon3_org[1] + ry     
  4047.   end
  4048.  
  4049.   #--------------------------------------------------------------------------
  4050.   # * Update Icon MP EX Anime
  4051.   #--------------------------------------------------------------------------  
  4052.   def update_icon_mp_ex_anime
  4053.       return if !MP_ICON_EX_ZOOM_EFFECT
  4054.       if @mp_icon3_anime_phase == 0
  4055.          @mp_icon3.zoom_x += 0.01
  4056.          if @mp_icon3.zoom_x >= 1.30
  4057.             @mp_icon3.zoom_x = 1.30
  4058.             @mp_icon3_anime_phase = 1
  4059.          end  
  4060.       else
  4061.         @mp_icon3.zoom_x -= 0.01
  4062.         if @mp_icon3.zoom_x <= 1.05
  4063.            @mp_icon3.zoom_x = 1.05
  4064.            @mp_icon3_anime_phase = 0
  4065.         end   
  4066.       end  
  4067.       @mp_icon3.zoom_y = @mp_icon3.zoom_x
  4068.   end  
  4069.  
  4070.   #--------------------------------------------------------------------------
  4071.   # * Create MP Icon Number
  4072.   #--------------------------------------------------------------------------      
  4073.   def create_mp_icon_number(viewport)
  4074.       return if !MP_ICON_NUMBER_VISIBLE
  4075.       @mp_icon_number_old = [-1,-1]
  4076.       @mp_icon_number = Sprite.new
  4077.       @mp_icon_number.bitmap = Bitmap.new(@mp_icon_number_cw * 4,@mp_icon_number_ch)
  4078.       @mp_icon_number.z = HUD_Z + MP_ICON_NUMBER_Z
  4079.       @mp_icon_number.x = @hud_position[0] + MP_ICON_NUMBER_POSITION[0]
  4080.       @mp_icon_number.y = @hud_position[1] + MP_ICON_NUMBER_POSITION[1]
  4081.       @mp_icon_number.viewport = viewport
  4082.   end
  4083.  
  4084.   #--------------------------------------------------------------------------
  4085.   # * Refresh Icon Number MP
  4086.   #--------------------------------------------------------------------------  
  4087.   def refresh_icon_number_mp
  4088.       @mp_icon_number_old[0] = @actor.mp
  4089.       @mp_icon_number_old[1] = @actor.mmp
  4090.       @mp_icon_number.bitmap.clear
  4091.       value = ((@actor.mp - 1) / @mp_icon_col_max) / @mp_icon_row_max
  4092.       value = 0 if value < 0
  4093.       number_value = value.truncate.abs.to_s.split(//)
  4094.       for r in 0..number_value.size - 1         
  4095.          number_value_abs = number_value[r].to_i
  4096.          nsrc_rect = Rect.new(@mp_icon_number_cw * number_value_abs, 0, @mp_icon_number_cw, @mp_icon_number_ch)
  4097.          @mp_icon_number.bitmap.blt(@mp_icon_number_cw *  r, 0, @mp_icon_number_image, nsrc_rect)
  4098.       end
  4099.       cx = (number_value.size * @mp_icon_number_cw)
  4100.       case MP_ICON_NUMBER_ALIGN_TYPE
  4101.          when 0; @mp_icon_number.x = @hud_position[0] + MP_ICON_NUMBER_POSITION[0]
  4102.          when 1; @mp_icon_number.x = @hud_position[0] + MP_ICON_NUMBER_POSITION[0] - (cx / 2)
  4103.          when 2; @mp_icon_number.x = @hud_position[0] + MP_ICON_NUMBER_POSITION[0] - cx
  4104.       end        
  4105.   end
  4106.  
  4107.   #--------------------------------------------------------------------------
  4108.   # * Can Refresh Icon Number MP
  4109.   #--------------------------------------------------------------------------  
  4110.   def can_refresh_icon_number_mp?
  4111.       return true if @mp_icon_number_old[0] != @actor.mp
  4112.       return true if @mp_icon_number_old[1] != @actor.mmp
  4113.       return false
  4114.   end   
  4115.  
  4116.   #--------------------------------------------------------------------------
  4117.   # * Update MP
  4118.   #--------------------------------------------------------------------------   
  4119.   def update_mp
  4120.       if @mp_number != nil
  4121.          if MP_NUMBER_ANIMATION
  4122.             update_number(1,@mp_number_old)
  4123.          else
  4124.             update_number_fix(1) if @mp_number_old != @actor.mp
  4125.          end  
  4126.          refresh_number(1,@mp_number_old,@mp_number,@mp_number_image,@mp_number_cw,@mp_number_ch,@mp_wave_number) if @mp_number_refresh
  4127.       end
  4128.       if @mp_number2 != nil
  4129.          if MP_NUMBER_ANIMATION
  4130.             update_number(4,@mp_number2_old)
  4131.          else
  4132.             update_number_fix(4) if @mp_number2_old != @actor.mmp
  4133.          end  
  4134.          refresh_number(4,@mp_number2_old,@mp_number2,@mp_number2_image,@mp_number2_cw,@mp_number2_ch,@mp_wave_number) if @mp_number2_refresh
  4135.       end      
  4136.       if @mp_meter != nil
  4137.          update_flow_mp
  4138.       end
  4139.       if @mp_icon != nil
  4140.          refresh_mp_icon if @mp_icon_old != @actor.mp
  4141.       end
  4142.       if @mp_icon3 != nil
  4143.          update_icon_mp_ex_anime
  4144.       end         
  4145.       if @mp_icon_number != nil
  4146.          refresh_icon_number_mp if can_refresh_icon_number_mp?
  4147.       end      
  4148.   end  
  4149.  
  4150. end
  4151.  
  4152. #==============================================================================
  4153. #==============================================================================
  4154. # ** Battle Hud EX
  4155. #==============================================================================
  4156. #==============================================================================
  4157. class Battle_Hud_EX
  4158.  
  4159.   #--------------------------------------------------------------------------
  4160.   # * Create TP Number
  4161.   #--------------------------------------------------------------------------  
  4162.   def create_tp_number(viewport)
  4163.       return if !TP_NUMBER_VISIBLE
  4164.       @tp_number = Sprite.new
  4165.       @tp_number.bitmap = Bitmap.new(@tp_number_cw * 3, @tp_number_ch)
  4166.       @tp_number.z = HUD_Z + TP_NUMBER_Z
  4167.       @tp_number.x = @hud_position[0] + TP_NUMBER_POSITION[0]
  4168.       @tp_number.y = @hud_position[1] + TP_NUMBER_POSITION[1]
  4169.       @tp_number.viewport = viewport
  4170.   end
  4171.  
  4172.   #--------------------------------------------------------------------------
  4173.   # * Create TP Number MAX
  4174.   #--------------------------------------------------------------------------  
  4175.   def create_tp_number_max(viewport)
  4176.       return if !TP_NUMBER_MAX_VISIBLE
  4177.       @tp_number2 = Sprite.new
  4178.       @tp_number2.bitmap = Bitmap.new(@tp_number2_cw * 3, @tp_number2_ch)
  4179.       @tp_number2.z = HUD_Z + TP_NUMBER_Z
  4180.       @tp_number2.x = @hud_position[0] + TP_NUMBER_MAX_POSITION[0]
  4181.       @tp_number2.y = @hud_position[1] + TP_NUMBER_MAX_POSITION[1]
  4182.       @tp_number2.viewport = viewport
  4183.   end  
  4184.  
  4185.   #--------------------------------------------------------------------------
  4186.   # * Create TP Meter
  4187.   #--------------------------------------------------------------------------   
  4188.   def create_tp_meter(viewport)
  4189.       return if !TP_METER_VISIBLE
  4190.       @tp_flow_max = @tp_meter_cw * 2
  4191.       @tp_flow = rand(@tp_flow_max)
  4192.       @tp_meter = Sprite.new
  4193.       @tp_meter.bitmap = Bitmap.new(@tp_meter_cw,@tp_meter_ch)
  4194.       @tp_meter.z = HUD_Z + TP_METER_Z
  4195.       @tp_meter.x = @hud_position[0] + TP_METER_POSITION[0]
  4196.       @tp_meter.y = @hud_position[1] + TP_METER_POSITION[1]
  4197.       @tp_meter.angle = TP_METER_ANGLE
  4198.       @tp_meter.mirror = TP_METER_MIRROR_EFFECT
  4199.       @tp_meter.viewport = viewport
  4200.   end
  4201.  
  4202.   #--------------------------------------------------------------------------
  4203.   # ● Update Flow TP
  4204.   #--------------------------------------------------------------------------            
  4205.   def update_flow_tp
  4206.       @tp_meter.bitmap.clear      
  4207.       @tp_flow = 0 if !TP_METER_GRADIENT_ANIMATION
  4208.       meter_width = @tp_meter_cw * @actor.tp / @actor.max_tp rescue nil  
  4209.       meter_width = 0 if meter_width == nil
  4210.       execute_tp_damage_flow(meter_width)      
  4211.       meter_src_rect = Rect.new(@tp_flow, 0,meter_width, @tp_meter_ch)
  4212.       @tp_meter.bitmap.blt(0,0, @tp_meter_image, meter_src_rect)  
  4213.       @tp_flow += 2
  4214.       @tp_flow = 0 if @tp_flow >= @tp_flow_max
  4215.   end  
  4216.  
  4217.   #--------------------------------------------------------------------------
  4218.   # ● Execute TP Damage Flow
  4219.   #--------------------------------------------------------------------------
  4220.   def execute_tp_damage_flow(meter_width)
  4221.       return if !TP_METER_REDUCTION_ANIMATION
  4222.       return if @tp_old_meter == meter_width
  4223.       n = (@tp_old_meter - meter_width).abs * 3 / 100
  4224.       damage_flow = [[n, 2].min,0.5].max
  4225.       @tp_old_meter -= damage_flow
  4226.       @tp_old_meter = meter_width if @tp_old_meter <= meter_width
  4227.       src_rect_old = Rect.new(0,@tp_meter_ch, @tp_old_meter, @tp_meter_ch)
  4228.       @tp_meter.bitmap.blt(0,0, @tp_meter_image, src_rect_old)      
  4229.   end
  4230.  
  4231.   #--------------------------------------------------------------------------
  4232.   # * Create TP Icon
  4233.   #--------------------------------------------------------------------------  
  4234.   def create_tp_icon(viewport)
  4235.       return if !TP_ICON_VISIBLE
  4236.       @tp_icon = Sprite.new
  4237.       icon_width = @tp_icon_col_max * (@tp_icon_cw + TP_ICON_SPACE[0].abs)
  4238.       icon_height = @tp_icon_row_max * (@tp_icon_ch + TP_ICON_SPACE[1].abs)
  4239.       @tp_icon.bitmap = Bitmap.new(icon_width,icon_height)      
  4240.       @tp_icon.z = HUD_Z + TP_ICON_Z
  4241.       @tp_icon.x = @hud_position[0] + TP_ICON_POSITION[0]
  4242.       @tp_icon.y = @hud_position[1] + TP_ICON_POSITION[1]
  4243.       @tp_icon.viewport = viewport
  4244.   end
  4245.  
  4246.   #--------------------------------------------------------------------------
  4247.   # * Refresh TP Icon
  4248.   #--------------------------------------------------------------------------   
  4249.   def refresh_tp_icon
  4250.       @tp_icon_old = @actor.tp
  4251.       @tp_icon.bitmap.clear
  4252.       max_value = (@actor.max_tp / @tp_icon_real_max) * @tp_icon_real_max
  4253.       if @actor.mp > max_value
  4254.          icon_max = icon_limit(@actor.max_tp,@tp_icon_real_max)
  4255.       else   
  4256.          icon_max = @actor.max_tp
  4257.       end      
  4258.       for i in 0...icon_max
  4259.           break if (i / @tp_icon_col_max) >= @tp_icon_row_max
  4260.           rx = (i * (@tp_icon_cw + TP_ICON_SPACE[0]) ) - ((i / @tp_icon_col_max) * (@tp_icon_cw + TP_ICON_SPACE[0]) * @tp_icon_col_max)
  4261.           ry = (i / @tp_icon_col_max) * (@tp_icon_ch + TP_ICON_SPACE[1])
  4262.           i_scr = Rect.new(0,0,@tp_icon_cw,@tp_icon_ch)
  4263.           @tp_icon.bitmap.blt(rx,ry,@tp_icon_image ,i_scr )      
  4264.       end      
  4265.       icon_max = icon_limit(@actor.tp,@tp_icon_real_max)
  4266.       rx = 0
  4267.       ry = 0
  4268.       for i in 0...icon_max
  4269.           break if (i / @tp_icon_col_max) >= @tp_icon_row_max
  4270.           rx = (i * (@tp_icon_cw + TP_ICON_SPACE[0]) ) - ((i / @tp_icon_col_max) * (@tp_icon_cw + TP_ICON_SPACE[0]) * @tp_icon_col_max)
  4271.           ry = (i / @tp_icon_col_max) * (@tp_icon_ch + TP_ICON_SPACE[1])
  4272.           i_scr = Rect.new(@mp_icon_cw,0,@tp_icon_cw,@tp_icon_ch)
  4273.           @tp_icon.bitmap.blt(rx,ry,@tp_icon_image ,i_scr )
  4274.       end
  4275.       refresh_tp_icon_ex(rx,ry)      
  4276.   end
  4277.  
  4278.   #--------------------------------------------------------------------------
  4279.   # * Create TP Icon EX
  4280.   #--------------------------------------------------------------------------  
  4281.   def create_tp_icon_ex(viewport)
  4282.       return if !TP_ICON_EX_VISIBLE
  4283.       @tp_icon3_anime_phase = 0
  4284.       @tp_icon3 = Sprite.new
  4285.       @tp_icon3.bitmap = Bitmap.new(@tp_icon2_cw,@tp_icon2_ch)
  4286.       @tp_icon3.ox = @tp_icon3.bitmap.width / 2
  4287.       @tp_icon3.oy = @tp_icon3.bitmap.height / 2
  4288.       @tp_icon3.z = HUD_Z + TP_ICON_Z + 2
  4289.       @tp_icon3_org = [@hud_position[0] + TP_ICON_POSITION[0] + TP_ICON_EX_POSITION[0] + @tp_icon3.ox,
  4290.                        @hud_position[1] + TP_ICON_POSITION[1] + TP_ICON_EX_POSITION[1] + @tp_icon3.oy]
  4291.       @tp_icon3.x = @tp_icon3_org[0]
  4292.       @tp_icon3.y = @tp_icon3_org[1]
  4293.       @tp_icon3.viewport = viewport
  4294.   end   
  4295.  
  4296.   #--------------------------------------------------------------------------
  4297.   # * Refresh TP Icon EX
  4298.   #--------------------------------------------------------------------------      
  4299.   def refresh_tp_icon_ex(rx,ry)
  4300.       return if @tp_icon3 == nil
  4301.       @tp_icon3.bitmap.clear
  4302.       return if @actor.tp == 0
  4303.       i_scr = Rect.new(0,0,@tp_icon2_cw,@tp_icon2_ch)
  4304.       @tp_icon3.bitmap.blt(0,0, @tp_icon2_image ,i_scr )
  4305.       @tp_icon3.x = @tp_icon3_org[0] + rx
  4306.       @tp_icon3.y = @tp_icon3_org[1] + ry     
  4307.   end
  4308.  
  4309.   #--------------------------------------------------------------------------
  4310.   # * Update Icon TP EX Anime
  4311.   #--------------------------------------------------------------------------  
  4312.   def update_icon_tp_ex_anime
  4313.       return if !MP_ICON_EX_ZOOM_EFFECT
  4314.       if @tp_icon3_anime_phase == 0
  4315.          @tp_icon3.zoom_x += 0.01
  4316.          if @tp_icon3.zoom_x >= 1.30
  4317.             @tp_icon3.zoom_x = 1.30
  4318.             @tp_icon3_anime_phase = 1
  4319.          end  
  4320.       else
  4321.         @tp_icon3.zoom_x -= 0.01
  4322.         if @tp_icon3.zoom_x <= 1.05
  4323.            @tp_icon3.zoom_x = 1.05
  4324.            @tp_icon3_anime_phase = 0
  4325.         end   
  4326.       end  
  4327.       @tp_icon3.zoom_y = @tp_icon3.zoom_x
  4328.   end   
  4329.  
  4330.   #--------------------------------------------------------------------------
  4331.   # * Create HP Icon Number
  4332.   #--------------------------------------------------------------------------      
  4333.   def create_tp_icon_number(viewport)
  4334.       return if !TP_ICON_NUMBER_VISIBLE
  4335.       @tp_icon_number_old = [-1,-1]
  4336.       @tp_icon_number = Sprite.new
  4337.       @tp_icon_number.bitmap = Bitmap.new(@tp_icon_number_cw * 3,@tp_icon_number_ch)
  4338.       @tp_icon_number.z = HUD_Z + TP_ICON_NUMBER_Z
  4339.       @tp_icon_number.x = @hud_position[0] + TP_ICON_NUMBER_POSITION[0]
  4340.       @tp_icon_number.y = @hud_position[1] + TP_ICON_NUMBER_POSITION[1]
  4341.       @tp_icon_number.viewport = viewport
  4342.   end
  4343.  
  4344.   #--------------------------------------------------------------------------
  4345.   # * Refresh Icon Number TP
  4346.   #--------------------------------------------------------------------------  
  4347.   def refresh_icon_number_tp
  4348.       @tp_icon_number_old[0] = @actor.tp
  4349.       @tp_icon_number_old[1] = @actor.max_tp
  4350.       @tp_icon_number.bitmap.clear
  4351.       value = ((@actor.tp - 1) / @tp_icon_col_max) / @tp_icon_row_max
  4352.       value = 0 if value < 0
  4353.       number_value = value.truncate.abs.to_s.split(//)
  4354.       for r in 0..number_value.size - 1         
  4355.          number_value_abs = number_value[r].to_i
  4356.          nsrc_rect = Rect.new(@tp_icon_number_cw * number_value_abs, 0, @tp_icon_number_cw, @tp_icon_number_ch)
  4357.          @tp_icon_number.bitmap.blt(@tp_icon_number_cw *  r, 0, @tp_icon_number_image, nsrc_rect)
  4358.       end
  4359.       cx = (number_value.size * @tp_icon_number_cw)
  4360.       case TP_ICON_NUMBER_ALIGN_TYPE
  4361.          when 0; @tp_icon_number.x = @hud_position[0] + TP_ICON_NUMBER_POSITION[0]
  4362.          when 1; @tp_icon_number.x = @hud_position[0] + TP_ICON_NUMBER_POSITION[0] - (cx / 2)
  4363.          when 2; @tp_icon_number.x = @hud_position[0] + TP_ICON_NUMBER_POSITION[0] - cx
  4364.       end        
  4365.   end
  4366.  
  4367.   #--------------------------------------------------------------------------
  4368.   # * Can Refresh Icon Number TP
  4369.   #--------------------------------------------------------------------------  
  4370.   def can_refresh_icon_number_tp?
  4371.       return true if @tp_icon_number_old[0] != @actor.tp
  4372.       return true if @tp_icon_number_old[1] != @actor.max_tp
  4373.       return false
  4374.   end   
  4375.  
  4376.   #--------------------------------------------------------------------------
  4377.   # * Update TP
  4378.   #--------------------------------------------------------------------------   
  4379.   def update_tp
  4380.       if @tp_number != nil
  4381.          if MP_NUMBER_ANIMATION
  4382.             update_number(2,@tp_number_old)
  4383.          else
  4384.             update_number_fix(2) if @tp_number_old != @actor.tp
  4385.          end           
  4386.          refresh_number(2,@tp_number_old,@tp_number,@tp_number_image,@tp_number_cw,@tp_number_ch,@tp_wave_number) if @tp_number_refresh         
  4387.       end   
  4388.       if @tp_number2 != nil
  4389.          if MP_NUMBER_ANIMATION
  4390.             update_number(5,@tp_number2_old)
  4391.          else
  4392.             update_number_fix(5) if @tp_number2_old != @actor.max_tp
  4393.          end           
  4394.          refresh_number(5,@tp_number2_old,@tp_number2,@tp_number2_image,@tp_number2_cw,@tp_number2_ch,@tp_wave_number) if @tp_number2_refresh
  4395.       end        
  4396.       if @tp_meter != nil
  4397.          update_flow_tp
  4398.       end
  4399.       if @tp_icon != nil
  4400.          refresh_tp_icon if @tp_icon_old != @actor.tp
  4401.       end
  4402.       if @tp_icon3 != nil
  4403.          update_icon_tp_ex_anime
  4404.       end         
  4405.       if @tp_icon_number != nil
  4406.          refresh_icon_number_tp if can_refresh_icon_number_tp?
  4407.       end  
  4408.   end  
  4409.  
  4410. end
  4411.  
  4412. #==============================================================================
  4413. #==============================================================================
  4414. # ** Battle Hud EX
  4415. #==============================================================================
  4416. #==============================================================================
  4417. class Battle_Hud_EX
  4418.  
  4419.   #--------------------------------------------------------------------------
  4420.   # * Create AT Number
  4421.   #--------------------------------------------------------------------------  
  4422.   def create_at_number(viewport)
  4423.       return if !AT_NUMBER_VISIBLE
  4424.       @at_number = Sprite.new
  4425.       @at_number.bitmap = Bitmap.new(@at_number_cw * 4,@at_number_ch)
  4426.       @at_number.z = HUD_Z + AT_NUMBER_Z
  4427.       @at_number.x = @hud_position[0] + AT_NUMBER_POSITION[0]
  4428.       @at_number.y = @hud_position[1] + AT_NUMBER_POSITION[1]
  4429.       @at_number.viewport = viewport
  4430.   end
  4431.  
  4432.   #--------------------------------------------------------------------------
  4433.   # * Create AT Number Max
  4434.   #--------------------------------------------------------------------------  
  4435.   def create_at_number_max(viewport)
  4436.       return if !AT_NUMBER_MAX_VISIBLE
  4437.       @at_number2 = Sprite.new
  4438.       @at_number2.bitmap = Bitmap.new(@at_number2_cw * 4,@at_number2_ch)
  4439.       @at_number2.z = HUD_Z + AT_NUMBER_Z
  4440.       @at_number2.x = @hud_position[0] + AT_NUMBER_MAX_POSITION[0]
  4441.       @at_number2.y = @hud_position[1] + AT_NUMBER_MAX_POSITION[1]
  4442.       @at_number2.viewport = viewport
  4443.   end  
  4444.  
  4445.   #--------------------------------------------------------------------------
  4446.   # * Create AT Meter
  4447.   #--------------------------------------------------------------------------   
  4448.   def create_at_meter(viewport)
  4449.       return if !AT_METER_VISIBLE
  4450.       @at_flow_max = @at_meter_cw * 2
  4451.       @at_flow = rand(@at_flow_max)
  4452.       @at_meter = Sprite.new
  4453.       @at_meter.bitmap = Bitmap.new(@at_meter_cw,@at_meter_ch)
  4454.       @at_meter.z = HUD_Z + AT_METER_Z
  4455.       @at_meter.x = @hud_position[0] + AT_METER_POSITION[0]
  4456.       @at_meter.y = @hud_position[1] + AT_METER_POSITION[1]
  4457.       @at_meter.angle = AT_METER_ANGLE
  4458.       @at_meter.mirror = AT_METER_MIRROR_EFFECT
  4459.       @at_meter.viewport = viewport
  4460.   end
  4461.  
  4462.   #--------------------------------------------------------------------------
  4463.   # ● Update Flow AT
  4464.   #--------------------------------------------------------------------------            
  4465.   def update_flow_at
  4466.       @at_meter.bitmap.clear
  4467.       @at_flow = 0 if !AT_METER_GRADIENT_ANIMATION
  4468.       if actor_cast?
  4469.          meter_width = @at_meter_cw * actor_cast / actor_max_cast rescue nil
  4470.          meter_width = 0 if meter_width == nil
  4471.          ch = @at_meter_ch * 2
  4472.       else
  4473.          meter_width = @at_meter_cw * actor_at / actor_max_at rescue nil
  4474.          meter_width = 0 if meter_width == nil         
  4475.          ch = actor_at >= actor_max_at ? @at_meter_ch : 0
  4476.       end   
  4477.       meter_src_rect = Rect.new(@at_flow, ch,meter_width, @at_meter_ch)
  4478.       @at_meter.bitmap.blt(0,0, @at_meter_image, meter_src_rect)  
  4479.       @at_flow += 2
  4480.       @at_flow = 0 if @at_flow >= @at_flow_max
  4481.   end  
  4482.  
  4483.   #--------------------------------------------------------------------------
  4484.   # * Update AT
  4485.   #--------------------------------------------------------------------------   
  4486.   def update_at
  4487.       if @at_number != nil
  4488.          if AT_NUMBER_ANIMATION
  4489.             update_number(6,@at_number_old)
  4490.          else   
  4491.             update_number_fix(6) if @at_number_old != actor_at
  4492.          end  
  4493.          refresh_number(6,@at_number_old,@at_number,@at_number_image,@at_number_cw,@at_number_ch,@at_wave_number) if @at_number_refresh
  4494.       end
  4495.       if @at_number2 != nil
  4496.          if AT_NUMBER_ANIMATION
  4497.             update_number(7,@at_number2_old)
  4498.          else   
  4499.             update_number_fix(7) if @at_number2_old != actor_max_at
  4500.          end  
  4501.          refresh_number(7,@at_number2_old,@at_number2,@at_number2_image,@at_number2_cw,@at_number2_ch,@at_wave_number) if @at_number2_refresh
  4502.       end
  4503.       if @at_meter != nil
  4504.          update_flow_at
  4505.       end   
  4506.   end  
  4507.  
  4508. end
  4509.  
  4510. #==============================================================================
  4511. #==============================================================================
  4512. # ** Battle Hud EX
  4513. #==============================================================================
  4514. #==============================================================================
  4515. class Battle_Hud_EX
  4516.  
  4517.   #--------------------------------------------------------------------------
  4518.   # * Create Level Number
  4519.   #--------------------------------------------------------------------------   
  4520.   def create_level_number(viewport)
  4521.       return if !LEVEL_NUMBER_VISIBLE
  4522.       @old_level = -1
  4523.       @lv_number = Sprite.new
  4524.       @lv_number.bitmap = Bitmap.new(@lv_number_cw * 2, @lv_number_ch)
  4525.       @lv_number.z = HUD_Z + LEVEL_NUMBER_Z
  4526.       @lv_number.x = @hud_position[0] + LEVEL_NUMBER_POSITION[0]
  4527.       @lv_number.y = @hud_position[1] + LEVEL_NUMBER_POSITION[1]
  4528.       @lv_number.viewport = viewport
  4529.   end
  4530.  
  4531.   #--------------------------------------------------------------------------
  4532.   # * Refresh Level Number
  4533.   #--------------------------------------------------------------------------  
  4534.   def refresh_level_number
  4535.       @lv_number.bitmap.clear
  4536.       @old_level = @actor.level      
  4537.       number_value = @actor.level.abs.to_s.split(//)
  4538.       for r in 0..number_value.size - 1         
  4539.          number_value_abs = number_value[r].to_i
  4540.          nsrc_rect = Rect.new(@lv_number_cw * number_value_abs, 0, @lv_number_cw, @lv_number_ch)
  4541.          @lv_number.bitmap.blt(@lv_number_cw *  r, 0, @lv_number_image, nsrc_rect)
  4542.       end
  4543.       cx = (number_value.size * @lv_number_cw)
  4544.       case LEVEL_NUMBER_ALIGN_TYPE
  4545.            when 0; @lv_number.x = @hud_position[0] + LEVEL_NUMBER_POSITION[0]
  4546.            when 1; @lv_number.x = @hud_position[0] + LEVEL_NUMBER_POSITION[0] - (cx / 2)
  4547.            when 2; @lv_number.x = @hud_position[0] + LEVEL_NUMBER_POSITION[0] - cx
  4548.       end
  4549.   end
  4550.  
  4551.   #--------------------------------------------------------------------------
  4552.   # * Update Level
  4553.   #--------------------------------------------------------------------------  
  4554.   def update_level
  4555.       if @lv_number != nil
  4556.          refresh_level_number if @old_level != @actor.level
  4557.       end   
  4558.   end
  4559.  
  4560. end
  4561.  
  4562. #==============================================================================
  4563. #==============================================================================
  4564. # ** Battle Hud EX
  4565. #==============================================================================
  4566. #==============================================================================
  4567. class Battle_Hud_EX
  4568.  
  4569.   #--------------------------------------------------------------------------
  4570.   # * Create States
  4571.   #--------------------------------------------------------------------------  
  4572.   def create_states(viewport)
  4573.       return if !STATES_VISIBLE
  4574.       @status_old = nil
  4575.       @status_flow = [-24,0]
  4576.       @status = Sprite.new
  4577.       @status.bitmap = Bitmap.new(24,24)
  4578.       @status.x = @hud_position[0] + STATES_POSITION[0]
  4579.       @status.y = @hud_position[1] + STATES_POSITION[1]
  4580.       @status.z = HUD_Z + STATES_Z
  4581.       @status.angle = STATE_ANGLE
  4582.       @status.viewport = viewport
  4583.   end
  4584.  
  4585.   #--------------------------------------------------------------------------
  4586.   # * Refresh States
  4587.   #--------------------------------------------------------------------------        
  4588.   def refresh_states
  4589.       check_icon_image
  4590.       @status_old = @actor.states
  4591.       @status_flow = [0,0]
  4592.       @actor_status.dispose if @actor_status != nil
  4593.       @states_size = @actor.states.size > 0 ? (26 * @actor.states.size) : 24
  4594.       @actor_status = Bitmap.new(@states_size,24)
  4595.       index = 0
  4596.       for i in @actor.states
  4597.          rect = Rect.new(i.icon_index % 16 * 24, i.icon_index / 16 * 24, 24, 24)
  4598.          @actor_status.blt(26 * index , 0, @icon_image, rect)
  4599.          index += 1
  4600.       end
  4601.   end   
  4602.  
  4603.   #--------------------------------------------------------------------------
  4604.   # * Flow_Status
  4605.   #--------------------------------------------------------------------------         
  4606.   def flow_states
  4607.       return if @actor_status == nil
  4608.       @status.bitmap.clear
  4609.       return if @actor.states.size == 0
  4610.       st_src_rect = Rect.new(@status_flow[0],0, 24,24)
  4611.       @status.bitmap.blt(0,0, @actor_status, st_src_rect)
  4612.       if STATES_SCROLLING_ANIMATION
  4613.          @status_flow[0] += 1
  4614.          @status_flow[0] = -24 if @status_flow[0] >= @states_size + 2
  4615.       else   
  4616.          @status_flow[1] += 1 unless @actor.states.size <= 1
  4617.          if @status_flow[1] > 30
  4618.             @status_flow[1] = 0
  4619.             @status_flow[0] += 26
  4620.             @status_flow[0] = 0 if @status_flow[0] >= (@states_size - 0)
  4621.          end   
  4622.      end   
  4623.   end      
  4624.  
  4625.   #--------------------------------------------------------------------------
  4626.   # * Update States
  4627.   #--------------------------------------------------------------------------  
  4628.   def update_states
  4629.       return if @status == nil
  4630.       refresh_states if @status_old != @actor.states
  4631.       flow_states
  4632.   end  
  4633.  
  4634. end
  4635.  
  4636. #==============================================================================
  4637. #==============================================================================
  4638. # ** Battle Hud EX
  4639. #==============================================================================
  4640. #==============================================================================
  4641. class Battle_Hud_EX
  4642.  
  4643.   #--------------------------------------------------------------------------
  4644.   # * Create Face
  4645.   #--------------------------------------------------------------------------   
  4646.   def create_face(viewport)
  4647.       return if !FACE_VISIBLE
  4648.       @face_old_hp = @actor.hp
  4649.       @face_old_mp = @actor.mp
  4650.       @face_old_tp = @actor.tp
  4651.       @face_name = ""
  4652.       @face = Sprite.new
  4653.       @face_org = [@hud_position[0] + FACE_POSITION[0], @hud_position[1] + FACE_POSITION[1]]
  4654.       @face.x = @face_org[0]
  4655.       @face.y = @face_org[1]
  4656.       @face.z = HUD_Z + FACE_Z
  4657.       @face.viewport = viewport
  4658.       refresh_face_name
  4659.   end
  4660.  
  4661.   #--------------------------------------------------------------------------
  4662.   # * Refresh Face Name
  4663.   #--------------------------------------------------------------------------      
  4664.   def refresh_face_name      
  4665.       @face_image.dispose if @face_image != nil
  4666.       @face.bitmap.dispose if @face.bitmap != nil
  4667.       return if @actor == nil or @actor.id == nil
  4668.       @face_image = Cache.battle_hud(@actor.battler_face_name.to_s) rescue nil
  4669.       @face_image = Bitmap.new(32,32) if @face_image == nil
  4670.       @face_cw = FACE_ANIMATION ? @face_image.width / 5 : @face_image.width
  4671.       @face_ch = @face_image.height
  4672.       @face.ox = @face_cw / 2
  4673.       @face.oy = @face_ch / 2      
  4674.       @face.bitmap = Bitmap.new(@face_cw,@face_ch)
  4675.       @face_org = [@hud_position[0] + FACE_POSITION[0],
  4676.                    @hud_position[1] + @face.oy + FACE_POSITION[1]]
  4677.       if $game_temp.battler_face_pos[@actor_index] == nil
  4678.          $game_temp.battler_face_pos[@actor_index] = []
  4679.       end
  4680.       @face.x = @face_org[0]
  4681.       @face.y = @face_org[1]  
  4682.       limit_Y = (@hud_position[1] + FACE_POSITION[1] + @face_image.height)
  4683.       fy = @face_org[1]
  4684.       if limit_Y > Graphics.height
  4685.          @face.y = Graphics.height - (@face_image.height - @face.oy)
  4686.          fy = Graphics.height - 16
  4687.       end
  4688.       $game_temp.battler_face_pos[@actor_index][0] = @face_org[0]
  4689.       $game_temp.battler_face_pos[@actor_index][1] = fy
  4690.       $game_temp.battler_face_pos[@actor_index][2] = @face.z     
  4691.       clear_face_index
  4692.   end
  4693.  
  4694.   #--------------------------------------------------------------------------
  4695.   # * Refresh Face
  4696.   #--------------------------------------------------------------------------  
  4697.   def refresh_face
  4698.       @face.mirror = false
  4699.       @face.zoom_x = 1.00
  4700.       @face.zoom_y = 1.00
  4701.       @face_index = @actor.face_animation[1]
  4702.       @face.bitmap.clear
  4703.       if !FACE_ANIMATION
  4704.          f_scr = Rect.new(0,0,@face_cw,@face_ch)
  4705.       else
  4706.          f_scr = Rect.new(@face_index * @face_cw,0,@face_cw,@face_ch)
  4707.       end
  4708.       @face.bitmap.blt(0,0,@face_image,f_scr)
  4709.   end
  4710.  
  4711.   #--------------------------------------------------------------------------
  4712.   # * Update Face Duration
  4713.   #--------------------------------------------------------------------------   
  4714.   def update_face_duration
  4715.       return if @actor.face_animation[0] == 0
  4716.       @actor.face_animation[0] -= 1
  4717.       update_face_shake_effect
  4718.       update_face_zoom if @actor.face_animation[1] == 2
  4719.       return if @actor.face_animation[0] > 0
  4720.       clear_face_index
  4721.   end
  4722.  
  4723.   #--------------------------------------------------------------------------
  4724.   # * Clear Face Index
  4725.   #--------------------------------------------------------------------------      
  4726.   def clear_face_index
  4727.       @actor.face_animation[1] = @actor.low_hp? ? 3 : 0
  4728.       @actor.face_animation[1] = 4 if @actor.dead?
  4729.       refresh_face
  4730.   end
  4731.  
  4732.   #--------------------------------------------------------------------------
  4733.   # * Update Face Zoom
  4734.   #--------------------------------------------------------------------------      
  4735.   def update_face_zoom
  4736.       return if !FACE_ZOOM_ANIMATION
  4737.       case @actor.face_animation[0]
  4738.          when 30..60
  4739.             @face.zoom_x += 0.01
  4740.             @face.zoom_x = 1.30 if @face.zoom_x > 1.30
  4741.             @face.mirror = true unless !FACE_ZOOM_MIRROR_EFFECT
  4742.          when 1..29
  4743.             @face.zoom_x -= 0.01
  4744.             @face.zoom_x = 1.00 if @face.zoom_x < 1.00
  4745.             @face.mirror = false
  4746.          else
  4747.             @face.zoom_x = 1.00
  4748.             @face.mirror = false
  4749.       end
  4750.       @face.zoom_y = @face.zoom_x
  4751.   end
  4752.  
  4753.   #--------------------------------------------------------------------------
  4754.   # * Can Refresh Index MP TP?
  4755.   #--------------------------------------------------------------------------     
  4756.   def can_refresh_index_mp_tp?
  4757.       return true if @face_old_mp != @actor.mp
  4758.       return false
  4759.   end
  4760.  
  4761.   #--------------------------------------------------------------------------
  4762.   # * Refresh Face Index HP
  4763.   #--------------------------------------------------------------------------  
  4764.   def refresh_face_index_hp
  4765.       @actor.face_animation[0] = FACE_ANIMATION_DURATION
  4766.       @actor.face_animation[1] = @face_old_hp > @actor.hp ? 3 : 1
  4767.       @face_old_hp = @actor.hp
  4768.   end
  4769.  
  4770.   #--------------------------------------------------------------------------
  4771.   # * Refresh Face Index MP TP
  4772.   #--------------------------------------------------------------------------  
  4773.   def refresh_face_index_mp_tp
  4774.       if @face_old_mp < @actor.mp
  4775.          @actor.face_animation[0] = FACE_ANIMATION_DURATION
  4776.          @actor.face_animation[1] = 1
  4777.       end
  4778.       @face_old_mp = @actor.mp
  4779.       @face_old_tp = @actor.tp
  4780.   end  
  4781.  
  4782.   #--------------------------------------------------------------------------
  4783.   # * Update Face Shake Effect
  4784.   #--------------------------------------------------------------------------  
  4785.   def update_face_shake_effect
  4786.       return if !FACE_SHAKE_EFFECT
  4787.       if FACE_ANIMATION
  4788.          update_shake_animated_face
  4789.       else            
  4790.          update_shake_still_face
  4791.       end  
  4792.   end      
  4793.  
  4794.   #--------------------------------------------------------------------------
  4795.   # * Update Shake Still Effect Face
  4796.   #--------------------------------------------------------------------------   
  4797.   def update_shake_still_face
  4798.       if @actor.face_animation[0] > 0 and @actor.face_animation[1] == 3 and @actor.hp > 0
  4799.          @face.x = @face_org[0] - 4 + rand(8)
  4800.       else
  4801.          @face.x = @face_org[0]
  4802.       end     
  4803.   end
  4804.  
  4805.   #--------------------------------------------------------------------------
  4806.   # * Update Shake Animated Face
  4807.   #--------------------------------------------------------------------------   
  4808.   def update_shake_animated_face
  4809.       if @actor.face_animation[0] == 0
  4810.          @face.x = @face_org[0]
  4811.          return
  4812.       end
  4813.       if @actor.face_animation[1] == 3 and @actor.hp > 0
  4814.          @face.x = @face_org[0] - 4 + rand(8)
  4815.       else
  4816.          @face.x = @face_org[0]
  4817.       end         
  4818.   end
  4819.  
  4820.   #--------------------------------------------------------------------------
  4821.   # * Update Face
  4822.   #--------------------------------------------------------------------------   
  4823.   def update_face
  4824.       return if @face == nil
  4825.       refresh_face_index_hp if !FACE_ANIMATION and @face_old_hp != @actor.hp
  4826.       update_face_duration
  4827.       return if !FACE_ANIMATION
  4828.       refresh_face_index_mp_tp if can_refresh_index_mp_tp?
  4829.       refresh_face_index_hp if @face_old_hp != @actor.hp
  4830.       refresh_face if @face_index != @actor.face_animation[1]
  4831.   end  
  4832.  
  4833. end
  4834.  
  4835. #==============================================================================
  4836. # ■ Battle Manager
  4837. #==============================================================================
  4838. class << BattleManager
  4839.  
  4840.   #--------------------------------------------------------------------------
  4841.   # ● Battle End
  4842.   #--------------------------------------------------------------------------                    
  4843.   alias mog_battle_hud_battle_process_victory process_victory
  4844.   def process_victory
  4845.       execute_face_effect   
  4846.       mog_battle_hud_battle_process_victory
  4847.   end
  4848.  
  4849.   #--------------------------------------------------------------------------
  4850.   # ● Prepare
  4851.   #--------------------------------------------------------------------------                  
  4852.   def execute_face_effect
  4853.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4854.       for i in $game_party.members
  4855.           i.face_animation = [120,1,0] if i.hp > 0   
  4856.       end  
  4857.   end
  4858.  
  4859.   #--------------------------------------------------------------------------
  4860.   # * Display EXP Earned
  4861.   #--------------------------------------------------------------------------
  4862.   alias mog_battle_hud_ex_message_battle_process_defeat process_defeat
  4863.   def process_defeat
  4864.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4865.       mog_battle_hud_ex_message_battle_process_defeat
  4866.   end
  4867.  
  4868.   #--------------------------------------------------------------------------
  4869.   # * Process Escape
  4870.   #--------------------------------------------------------------------------
  4871.   alias mog_battle_hud_ex_message_battle_process_escape process_escape
  4872.   def process_escape
  4873.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4874.       mog_battle_hud_ex_message_battle_process_escape
  4875.   end
  4876.  
  4877.   #--------------------------------------------------------------------------
  4878.   # * Display EXP Earned
  4879.   #--------------------------------------------------------------------------
  4880.   alias mog_battle_hud_ex_message_battle_display_exp display_exp
  4881.   def display_exp
  4882.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4883.       mog_battle_hud_ex_message_battle_display_exp
  4884.   end
  4885.  
  4886.   #--------------------------------------------------------------------------
  4887.   # * Gold Acquisition and Display
  4888.   #--------------------------------------------------------------------------
  4889.   alias mog_battle_hud_ex_message_battle_gain_gold gain_gold
  4890.   def gain_gold
  4891.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4892.       mog_battle_hud_ex_message_battle_gain_gold
  4893.   end
  4894.  
  4895.   #--------------------------------------------------------------------------
  4896.   # * Dropped Item Acquisition and Display
  4897.   #--------------------------------------------------------------------------
  4898.   alias mog_battle_hud_ex_message_battle_gain_drop_items gain_drop_items
  4899.   def gain_drop_items
  4900.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4901.       mog_battle_hud_ex_message_battle_gain_drop_items
  4902.   end
  4903.  
  4904.   #--------------------------------------------------------------------------
  4905.   # * EXP Acquisition and Level Up Display
  4906.   #--------------------------------------------------------------------------
  4907.   alias mog_battle_hud_ex_message_battle_gain_exp gain_exp
  4908.   def gain_exp
  4909.       $game_message.position = MOG_BATTLE_HUD_EX::BATTLE_MESSAGE_POSITION
  4910.       mog_battle_hud_ex_message_battle_gain_exp
  4911.   end  
  4912.  
  4913. end
  4914.  
  4915. #==============================================================================
  4916. # ** Scene Battle
  4917. #==============================================================================
  4918. class Scene_Battle < Scene_Base
  4919.  
  4920.   #--------------------------------------------------------------------------
  4921.   # * Use Item
  4922.   #--------------------------------------------------------------------------      
  4923.   alias mog_monogatari_use_item use_item
  4924.   def use_item
  4925.       execute_face_animation
  4926.       mog_monogatari_use_item
  4927.   end
  4928.  
  4929.   #--------------------------------------------------------------------------
  4930.   # * Execute Face Animation
  4931.   #--------------------------------------------------------------------------  
  4932.   def execute_face_animation
  4933.       return if @subject.is_a?(Game_Enemy)
  4934.       @subject.face_animation = [60 ,2,0]   
  4935.   end
  4936.  
  4937. end
  4938.  
  4939. #==============================================================================
  4940. #==============================================================================
  4941. # ** Battle Hud EX
  4942. #==============================================================================
  4943. #==============================================================================
  4944. class Battle_Hud_EX
  4945.  
  4946.   #--------------------------------------------------------------------------
  4947.   # * Dispose
  4948.   #--------------------------------------------------------------------------  
  4949.   def dispose
  4950.       terminate
  4951.       dispose_layout
  4952.       dispose_layout_2
  4953.       dispose_name
  4954.       dispose_face
  4955.       dispose_hp_number
  4956.       dispose_hp_number_max
  4957.       dispose_hp_meter
  4958.       dispose_hp_icon
  4959.       dispose_hp_icon_ex
  4960.       dispose_hp_icon_number
  4961.       dispose_mp_number
  4962.       dispose_mp_number_max
  4963.       dispose_mp_meter
  4964.       dispose_mp_icon
  4965.       dispose_mp_icon_ex
  4966.       dispose_mp_icon_number
  4967.       dispose_tp_number
  4968.       dispose_tp_number_max
  4969.       dispose_tp_meter
  4970.       dispose_tp_icon
  4971.       dispose_tp_icon_ex
  4972.       dispose_tp_icon_number
  4973.       dispose_at_number
  4974.       dispose_at_number_max
  4975.       dispose_at_meter      
  4976.       dispose_lv_number
  4977.       dispose_states
  4978.   end
  4979.  
  4980.   #--------------------------------------------------------------------------
  4981.   # * Dispose Layout
  4982.   #--------------------------------------------------------------------------  
  4983.   def dispose_layout
  4984.       return if @layout == nil
  4985.       @layout.dispose
  4986.       @layout = nil
  4987.   end
  4988.  
  4989.   #--------------------------------------------------------------------------
  4990.   # * Dispose Layout 2
  4991.   #--------------------------------------------------------------------------  
  4992.   def dispose_layout_2
  4993.       return if @layout2 == nil
  4994.       @layout2.dispose
  4995.       @layout2 = nil
  4996.   end  
  4997.  
  4998.   #--------------------------------------------------------------------------
  4999.   # * Dispose Name
  5000.   #--------------------------------------------------------------------------         
  5001.   def dispose_name
  5002.       return if @name == nil
  5003.       @name.bitmap.dispose
  5004.       @name.dispose
  5005.       @name = nil
  5006.   end  
  5007.  
  5008.   #--------------------------------------------------------------------------
  5009.   # * Dispose Face
  5010.   #--------------------------------------------------------------------------        
  5011.   def dispose_face
  5012.       return if @face == nil      
  5013.       @face.bitmap.dispose if @face.bitmap != nil   
  5014.       @face.dispose
  5015.       @face = nil
  5016.       @face_image.dispose if @face_image != nil
  5017.   end  
  5018.  
  5019.   #--------------------------------------------------------------------------
  5020.   # * Dispose HP Number
  5021.   #--------------------------------------------------------------------------   
  5022.   def dispose_hp_number
  5023.       return if @hp_number == nil
  5024.       @hp_number.bitmap.dispose
  5025.       @hp_number.dispose
  5026.       @hp_number = nil
  5027.   end
  5028.  
  5029.   #--------------------------------------------------------------------------
  5030.   # * Dispose HP Number Max
  5031.   #--------------------------------------------------------------------------   
  5032.   def dispose_hp_number_max
  5033.       return if @hp_number2 == nil
  5034.       @hp_number2.bitmap.dispose
  5035.       @hp_number2.dispose
  5036.       @hp_number2 = nil
  5037.   end   
  5038.  
  5039.   #--------------------------------------------------------------------------
  5040.   # * Dispose HP Meter
  5041.   #--------------------------------------------------------------------------     
  5042.   def dispose_hp_meter
  5043.       return if @hp_meter == nil
  5044.       @hp_meter.bitmap.dispose
  5045.       @hp_meter.dispose
  5046.       @hp_meter = nil
  5047.   end   
  5048.  
  5049.   #--------------------------------------------------------------------------
  5050.   # * Dispose HP Icon
  5051.   #--------------------------------------------------------------------------      
  5052.   def dispose_hp_icon
  5053.       return if @hp_icon == nil
  5054.       @hp_icon.bitmap.dispose if @hp_icon.bitmap != nil
  5055.       @hp_icon.dispose
  5056.       @hp_icon = nil
  5057.   end   
  5058.  
  5059.   #--------------------------------------------------------------------------
  5060.   # * Dispose HP Icon EX
  5061.   #--------------------------------------------------------------------------      
  5062.   def dispose_hp_icon_ex
  5063.       return if @hp_icon3 == nil
  5064.       @hp_icon3.bitmap.dispose
  5065.       @hp_icon3.dispose
  5066.       @hp_icon3 = nil
  5067.   end      
  5068.  
  5069.   #--------------------------------------------------------------------------
  5070.   # * Dispose HP Icon Number
  5071.   #--------------------------------------------------------------------------  
  5072.   def dispose_hp_icon_number
  5073.       return if @hp_icon_number == nil
  5074.       @hp_icon_number.bitmap.dispose
  5075.       @hp_icon_number.dispose
  5076.       @hp_icon_number = nil
  5077.   end   
  5078.  
  5079.   #--------------------------------------------------------------------------
  5080.   # * Dispose MP Number
  5081.   #--------------------------------------------------------------------------   
  5082.   def dispose_mp_number
  5083.       return if @mp_number == nil
  5084.       @mp_number.bitmap.dispose
  5085.       @mp_number.dispose
  5086.       @mp_number = nil
  5087.   end   
  5088.  
  5089.   #--------------------------------------------------------------------------
  5090.   # * Dispose MP Number Max
  5091.   #--------------------------------------------------------------------------   
  5092.   def dispose_mp_number_max
  5093.       return if @mp_number2 == nil
  5094.       @mp_number2.bitmap.dispose
  5095.       @mp_number2.dispose
  5096.       @mp_number2 = nil
  5097.   end   
  5098.  
  5099.   #--------------------------------------------------------------------------
  5100.   # * Dispose MP Meter
  5101.   #--------------------------------------------------------------------------     
  5102.   def dispose_mp_meter
  5103.       return if @mp_meter == nil
  5104.       @mp_meter.bitmap.dispose
  5105.       @mp_meter.dispose
  5106.       @mp_meter = nil
  5107.   end     
  5108.  
  5109.   #--------------------------------------------------------------------------
  5110.   # * Dispose MP Icon
  5111.   #--------------------------------------------------------------------------      
  5112.   def dispose_mp_icon
  5113.       return if @mp_icon == nil
  5114.       @mp_icon.bitmap.dispose if @mp_icon.bitmap != nil
  5115.       @mp_icon.dispose
  5116.       @mp_icon = nil
  5117.   end     
  5118.  
  5119.   #--------------------------------------------------------------------------
  5120.   # * Dispose MP Icon EX
  5121.   #--------------------------------------------------------------------------      
  5122.   def dispose_mp_icon_ex
  5123.       return if @mp_icon3 == nil
  5124.       @mp_icon3.bitmap.dispose
  5125.       @mp_icon3.dispose
  5126.       @mp_icon3 = nil
  5127.   end        
  5128.  
  5129.   #--------------------------------------------------------------------------
  5130.   # * Dispose MP Icon Number
  5131.   #--------------------------------------------------------------------------  
  5132.   def dispose_mp_icon_number
  5133.       return if @mp_icon_number == nil
  5134.       @mp_icon_number.bitmap.dispose
  5135.       @mp_icon_number.dispose
  5136.       @mp_icon_number = nil
  5137.   end   
  5138.  
  5139.   #--------------------------------------------------------------------------
  5140.   # * Dispose TP Number
  5141.   #--------------------------------------------------------------------------   
  5142.   def dispose_tp_number
  5143.       return if @tp_number == nil
  5144.       @tp_number.bitmap.dispose
  5145.       @tp_number.dispose
  5146.       @tp_number = nil
  5147.   end
  5148.  
  5149.   #--------------------------------------------------------------------------
  5150.   # * Dispose TP Number Max
  5151.   #--------------------------------------------------------------------------   
  5152.   def dispose_tp_number_max
  5153.       return if @tp_number2 == nil
  5154.       @tp_number2.bitmap.dispose
  5155.       @tp_number2.dispose
  5156.       @tp_number2 = nil
  5157.   end  
  5158.  
  5159.   #--------------------------------------------------------------------------
  5160.   # * Dispose TP Meter
  5161.   #--------------------------------------------------------------------------     
  5162.   def dispose_tp_meter
  5163.       return if @tp_meter == nil
  5164.       @tp_meter.bitmap.dispose
  5165.       @tp_meter.dispose
  5166.       @tp_meter = nil
  5167.   end     
  5168.  
  5169.   #--------------------------------------------------------------------------
  5170.   # * Dispose TP Icon
  5171.   #--------------------------------------------------------------------------      
  5172.   def dispose_tp_icon
  5173.       return if @tp_icon == nil
  5174.       @tp_icon.bitmap.dispose if @tp_icon.bitmap != nil
  5175.       @tp_icon.dispose
  5176.       @tp_icon = nil
  5177.   end   
  5178.  
  5179.   #--------------------------------------------------------------------------
  5180.   # * Dispose TP Icon EX
  5181.   #--------------------------------------------------------------------------      
  5182.   def dispose_tp_icon_ex
  5183.       return if @tp_icon3 == nil
  5184.       @tp_icon3.bitmap.dispose
  5185.       @tp_icon3.dispose
  5186.       @tp_icon3 = nil
  5187.   end   
  5188.  
  5189.   #--------------------------------------------------------------------------
  5190.   # * Dispose TP Icon Number
  5191.   #--------------------------------------------------------------------------  
  5192.   def dispose_tp_icon_number
  5193.       return if @tp_icon_number == nil
  5194.       @tp_icon_number.bitmap.dispose
  5195.       @tp_icon_number.dispose
  5196.       @tp_icon_numbe = nil
  5197.   end     
  5198.  
  5199.   #--------------------------------------------------------------------------
  5200.   # * Dispose AT Number
  5201.   #--------------------------------------------------------------------------   
  5202.   def dispose_at_number
  5203.       return if @at_number == nil
  5204.       @at_number.bitmap.dispose
  5205.       @at_number.dispose
  5206.       @at_number = nil
  5207.   end
  5208.  
  5209.   #--------------------------------------------------------------------------
  5210.   # * Dispose AT Number Max
  5211.   #--------------------------------------------------------------------------   
  5212.   def dispose_at_number_max
  5213.       return if @at_number2 == nil
  5214.       @at_number2.bitmap.dispose
  5215.       @at_number2.dispose
  5216.       @at_number2 = nil
  5217.   end   
  5218.  
  5219.   #--------------------------------------------------------------------------
  5220.   # * Dispose AT Meter
  5221.   #--------------------------------------------------------------------------     
  5222.   def dispose_at_meter
  5223.       return if @at_meter == nil
  5224.       @at_meter.bitmap.dispose
  5225.       @at_meter.dispose
  5226.       @at_meter = nil
  5227.   end     
  5228.  
  5229.   #--------------------------------------------------------------------------
  5230.   # * Dispose Lv Number
  5231.   #--------------------------------------------------------------------------   
  5232.   def dispose_lv_number
  5233.       return if @lv_number == nil
  5234.       @lv_number.bitmap.dispose
  5235.       @lv_number.dispose
  5236.       @lv_number = nil
  5237.   end
  5238.  
  5239.   #--------------------------------------------------------------------------
  5240.   # * Dispose States
  5241.   #--------------------------------------------------------------------------      
  5242.   def dispose_states
  5243.       return if @status == nil
  5244.       @status.bitmap.dispose if @status.bitmap != nil
  5245.       @status.dispose
  5246.       @actor_status.dispose if @actor_status != nil
  5247.       @status = nil
  5248.   end
  5249.  
  5250. end
  5251.  
  5252. #==============================================================================
  5253. #==============================================================================
  5254. # ** Battle Hud EX
  5255. #==============================================================================
  5256. #==============================================================================
  5257. class Battle_Hud_EX
  5258.  
  5259.   #--------------------------------------------------------------------------
  5260.   # * Update
  5261.   #--------------------------------------------------------------------------  
  5262.   def update
  5263.       return if @actor == nil
  5264.       update_layout
  5265.       update_layout_2
  5266.       update_name
  5267.       update_face
  5268.       update_hp
  5269.       update_mp
  5270.       update_tp
  5271.       update_at
  5272.       update_level
  5273.       update_states
  5274.   end
  5275.  
  5276. end
  

本人的游戏主页:YBGame

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-2-23
帖子
130
2
发表于 2014-5-2 22:29:55 | 只看该作者
124行有设置名字绘制
  1. NAME_VISIBLE = false
复制代码
把这个改为true就行了

点评

夜光君又是你来答了"o((>ω< ))o"  发表于 2014-5-3 10:52

评分

参与人数 2星屑 +135 收起 理由
Sion + 105 认可答案
子弹君 + 30 认可答案

查看全部评分

梦想是成为触手的新手DE☆SU(<ゝω·)绮罗星 ~☆
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2011-5-22
帖子
14
3
发表于 2014-5-3 00:22:06 | 只看该作者
风格好赞。。。楼主把下载的地址共享一下吧。。。在下多谢了

点评

图书馆4层 Atelier-Rgss  发表于 2014-5-24 22:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2011-5-22
帖子
14
4
发表于 2014-5-27 10:51:14 | 只看该作者
maxdpy 发表于 2014-5-3 00:22
风格好赞。。。楼主把下载的地址共享一下吧。。。在下多谢了

3q very much
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-27 06:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表