Advertisement
Raizen

Akea Battle Cry

May 2nd, 2014
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 10.00 KB | None | 0 0
  1. #=======================================================
  2. #        Akea Battle Cry
  3. # Autor: Raizen
  4. # Comunidade: http://www.centrorpg.com/
  5. # Compatibilidade: RMVXAce
  6. #
  7. #=======================================================
  8. # =========================Não modificar==============================
  9. $included ||= Hash.new
  10. $included[:akea_battlecry] = true
  11. module Akea_BattleCry
  12. Cry = []
  13. Actors = []
  14. Enemies = []
  15. # =========================Não modificar==============================
  16.  
  17.  
  18.  
  19. #==============================================================================
  20. #------------------------------------------------------------------------------
  21. # Actors - Aqui são definidas aos sons de cada actor,
  22. # os números são definidos na configuração Cry logo abaixo.
  23. # podem ser adicionadas quantas linhas desejar por atores, basta
  24. # o número ter na configuração Cry também.
  25.  
  26. # Podem ser adicionados quantos sons desejarem por ação e quantas
  27. # ações desejar
  28.  
  29. # Os sons devem estar na pasta Audio/SE e o nome é colocado dentro de
  30. # [] e separado por virgula, por exemplo [som1, som2, som3]
  31. #------------------------------------------------------------------------------
  32. #==============================================================================
  33.  
  34.  
  35. #==============================================================================
  36. # Actors[1]  1 == id do personagem no BD
  37. #==============================================================================
  38.  
  39. Actors[1] = {
  40. 1 => ['1-Attack1', '1-Attack2'], # Ataque Normal
  41. 2 => ['1-Skill1'], # Habilidades
  42. 3 => ['1-Start1'], # Som de Entrada
  43. 4 => ['1-Hit1'], # Som ao ser atingido
  44. 5 => ['1-Dead1', '1-Dead2'], # Som ao cair
  45. 6 => ['1-Victory1'], #S Som de vitória
  46. 7 => ['1-Healed1'], #Som de recuperação de vida
  47. }
  48. #==============================================================================
  49. # Actors[8] 8 == id do personagem no BD
  50. #==============================================================================
  51. Actors[8] = {
  52. 1 => ['8-Attack1', '8-Attack2'], # Ataque Normal
  53. 2 => ['8-Skill1'], # Habilidades
  54. 3 => ['8-Start1'], # Som de Entrada
  55. 4 => ['8-Hit1', '8-Hit2'], # Som ao ser atingido
  56. 5 => ['8-Dead1'], # Som ao cair
  57. 6 => ['8-Victory1'], #S Som de vitória
  58. 7 => ['8-Healed1'], #Som de recuperação de vida
  59. }
  60. #==============================================================================
  61. #------------------------------------------------------------------------------
  62. # Enemies o mesmo que acima, porém com inimigos se desejar
  63. #------------------------------------------------------------------------------
  64. #==============================================================================
  65. #==============================================================================
  66. # Enemies[1] 1 == id do inimigo no BD
  67. #==============================================================================
  68. Enemies[1] = {
  69. 1 => ['8-Attack1', '8-Attack2'], # Ataque Normal
  70. 2 => ['8-Skill1'], # Habilidades
  71. 3 => ['8-Start1'], # Som de Entrada
  72. 4 => ['8-Hit1', '8-Hit2'], # Som ao ser atingido
  73. 5 => ['8-Dead1'], # Som ao cair
  74. 6 => ['8-Victory1'], #S Som de vitória
  75. }
  76.  
  77. #==============================================================================
  78. #------------------------------------------------------------------------------
  79. # Cry - Aqui são definidas as préconfigurações de  Battle Cry
  80. # seguindo esse estilo
  81. # Cry[id do cry] = [
  82. #som, som que será chamado logo acima no Actors ou Enemies
  83. # probabilidade de 0-100]
  84.  
  85. # Para adicionar o som ao skill basta colocar no bloco de notas no
  86. # database o seguinte <cry id> aonde id você substitui o id do cry
  87. # configurado abaixo
  88. #------------------------------------------------------------------------------
  89. #==============================================================================
  90. Cry[1] = [ # Por padrão é o som de entrada na batalha
  91. 3, # Id do Som que será tocado  no Actors ou Enemies
  92. 100] # Probabilidade em porcentagem
  93. Cry[2] = [ # Por padrão o som ao ser atingido
  94. 4, # Id do Som que será tocado  no Actors ou Enemies
  95. 100] # Probabilidade em porcentagem
  96. Cry[3] = [ # por padrão o som ao cair
  97. 5, # Id do Som que será tocado  no Actors ou Enemies
  98. 100] # Probabilidade em porcentagem
  99. Cry[4] = [ # Por padrão o som de vitória
  100. 6, # Id do Som que será tocado  no Actors ou Enemies
  101. 100] # Probabilidade em porcentagem
  102. Cry[5] = [ # Por padrão o som ao recuperar vida
  103. 7, # Id do Som que será tocado  no Actors ou Enemies
  104. 100] # Probabilidade em porcentagem
  105.  
  106. Cry[6] = [
  107. 1, # Id do Som que será tocado  no Actors ou Enemies
  108. 100] # Probabilidade em porcentagem
  109.  
  110. Cry[7] = [
  111. 2, # Id do Som que será tocado  no Actors ou Enemies
  112. 100] # Probabilidade em porcentagem
  113.  
  114. end
  115. #==============================================================================
  116. # ** Scene_Battle
  117. #------------------------------------------------------------------------------
  118. #  Esta classe executa o processamento da tela de batalha.
  119. #==============================================================================
  120.  
  121. class Scene_Battle < Scene_Base
  122. alias :akea_bcry_process_action :process_action
  123. alias :akea_bcry_start :start
  124. alias :akea_bcry_use_item :use_item
  125.   #--------------------------------------------------------------------------
  126.   # * Inicialização do processo
  127.   #--------------------------------------------------------------------------
  128.   def start
  129.     akea_bcry_start
  130.     @random_anim = rand($game_party.battle_members.size) unless @random_anim
  131.     battle_cry($game_party.battle_members[@random_anim] , 1)
  132.   end
  133.  
  134.   #--------------------------------------------------------------------------
  135.   # * Processamento de ações
  136.   #--------------------------------------------------------------------------
  137.   def process_action
  138.     unless $included[:lune_animated_battle]
  139.       if !@subject || !@subject.current_action
  140.         @subject = BattleManager.next_subject
  141.       end
  142.       if @subject && @subject.current_action
  143.         battle_notes = @subject.current_action.item.note
  144.         for n in 0...battle_notes.size - 3
  145.           if battle_notes[n..n+4] == "<cry "
  146.             y = 0
  147.             y += 1 until battle_notes[n+4+y] == '>'
  148.             battle_cry(@subject,  battle_notes[n+4..n+4+y].to_i)
  149.           end
  150.         end
  151.       end
  152.       akea_bcry_process_action
  153.     else
  154.       akea_bcry_process_action
  155.       if @subject && @subject.current_action
  156.         battle_notes = @subject.current_action.item.note
  157.         for n in 0...battle_notes.size - 3
  158.           if battle_notes[n..n+4] == "<cry "
  159.             y = 0
  160.             y += 1 until battle_notes[n+4+y] == '>'
  161.             battle_cry(@subject,  battle_notes[n+4..n+4+y].to_i)
  162.           end
  163.         end
  164.       end
  165.     end
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # * Criar chance de som
  169.   #--------------------------------------------------------------------------
  170.   def make_random_cry(n)
  171.     rand(100) < n ? true : false
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # * Chamada Principal
  175.   #--------------------------------------------------------------------------
  176.   def battle_cry(n, cry_id)
  177.     if n.actor? && Akea_BattleCry::Actors[n.id] && Akea_BattleCry::Actors[n.id][Akea_BattleCry::Cry[cry_id][0]]
  178.       sound = Akea_BattleCry::Actors[n.id][Akea_BattleCry::Cry[cry_id][0]].shuffle.first
  179.       RPG::SE.new(sound).play if make_random_cry(Akea_BattleCry::Cry[cry_id][1])
  180.     elsif n.enemy? && Akea_BattleCry::Enemies[n.enemy_id] && Akea_BattleCry::Enemies[n.enemy_id][Akea_BattleCry::Cry[cry_id][0]]
  181.       sound = Akea_BattleCry::Enemies[n.enemy_id][Akea_BattleCry::Cry[cry_id][0]].shuffle.first
  182.       RPG::SE.new(sound).play if make_random_cry(Akea_BattleCry::Cry[cry_id][1])
  183.     end
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # * Usar Item
  187.   #--------------------------------------------------------------------------
  188.   def use_item
  189.     akea_bcry_use_item
  190.     if $game_troop.all_dead?
  191.       if @subject && @subject.actor?
  192.         @random_anim = @subject.index
  193.       else
  194.         @random_anim = rand($game_party.alive_members.size)
  195.       end
  196.       battle_cry($game_party.alive_members[@random_anim] , 4)
  197.     end
  198.   end
  199. end
  200. #==============================================================================
  201. # ** Game_Battler
  202. #------------------------------------------------------------------------------
  203. #  Esta classe gerencia os battlers. Controla a adição de sprites e ações
  204. # dos lutadores durante o combate.
  205. # É usada como a superclasse das classes Game_Enemy e Game_Actor.
  206. #==============================================================================
  207.  
  208. class Game_Battler < Game_BattlerBase
  209. alias :akea_bcry_execute_damage :execute_damage
  210.   #--------------------------------------------------------------------------
  211.   # * Processamento do dano
  212.   #     user : usuário
  213.   #--------------------------------------------------------------------------
  214.   def execute_damage(user)
  215.     akea_bcry_execute_damage(user)
  216.     @result.hp_damage > 0 ? nu = 2 : nu = 5
  217.     nu = 0 if @result.hp_damage == 0
  218.     self.hp == 0 ? n = 3 : n = nu
  219.     if Akea_BattleCry::Cry[n] && self.actor? && Akea_BattleCry::Actors[self.id] && Akea_BattleCry::Actors[self.id][Akea_BattleCry::Cry[n][0]]
  220.       sound = Akea_BattleCry::Actors[self.id][Akea_BattleCry::Cry[n][0]].shuffle.first
  221.       RPG::SE.new(sound).play if make_random_cry(Akea_BattleCry::Cry[n][1])
  222.     elsif Akea_BattleCry::Cry[n] && self.enemy? && Akea_BattleCry::Enemies[self.enemy_id] && Akea_BattleCry::Enemies[self.enemy_id][Akea_BattleCry::Cry[n][0]]
  223.       sound = Akea_BattleCry::Enemies[self.enemy_id][Akea_BattleCry::Cry[n][0]].shuffle.first
  224.       RPG::SE.new(sound).play if make_random_cry(Akea_BattleCry::Cry[n][1])
  225.     end
  226.   end
  227.   #--------------------------------------------------------------------------
  228.   # * Criar chance de som
  229.   #--------------------------------------------------------------------------
  230.   def make_random_cry(n)
  231.     rand(100) < n ? true : false
  232.   end
  233. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement