Advertisement
Mukadelheid

[ACE] Opciones de daño Critico

Mar 10th, 2013
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.13 KB | None | 0 0
  1. #==============================================================================
  2. #
  3. #    [ACE] Opciones de daño Critico b0.8
  4. #    b0.8 by Mukadelheid
  5. #
  6. #==============================================================================
  7. # *****************************************************************************
  8. # ▼ Introducción ▼
  9. # Permite asignar el "multiplicador" de la formula de daño critico a través
  10. # de notas en el equipamiento ( Armaduras y Armas ) .
  11. # También permite fijar el daño critico global .
  12. #-*****************************************************************************
  13. # *****************************************************************************
  14. # ▼ Modo de Uso ▼
  15. #  
  16. #  Para Armas y Armaduras; Agrega en la sección "Notas" :
  17. #
  18. #  "<critico=n>"(sin comillas)
  19. #  Siendo "n" el "multiplicador" ,
  20. #  por defecto cada critico multiplica "*3" (daño * 3)  el daño hecho.
  21. #  
  22. #  Ejemplo ; <critico=10>
  23. #  Esto hará que el daño critico sea 10 veces el daño normal.
  24. #
  25. #  Si se utiliza en una Arma y Armadura a la ves ,
  26. #  solo "afectara"  el ultimo equipamiento que se haya equipado.
  27. #  ( Las instancias no suman , solo se vuelven a fijar )
  28. #
  29. #==============================================================================
  30. #
  31. #  Para fijar el "multiplicador" de daño critico por defecto (enemigos y héroes):
  32. #
  33. #  En la sección;   Multiplier_base = 3
  34. #  Cambia el "3" por cualquier valor positivo.
  35. #
  36. #==============================================================================
  37. #==============================================================================
  38.  
  39. module Critical_Global
  40.  
  41.   Multiplier_base = 3 # Multiplicador de daño critico
  42.  
  43. end
  44.  
  45. #==============================================================================
  46. #==============================================================================
  47. class Game_Battler < Game_BattlerBase
  48. #==============================================================================
  49. #==============================================================================
  50.    attr_reader   :actions
  51.    #attr_reader   :result
  52.  
  53. def apply_critical(damage)
  54.  
  55.  if actor?
  56.    
  57.    damage * Critical_Global::Multiplier_base
  58.  else
  59.    
  60.    damage * $Critical_W
  61.  
  62.  end
  63.  
  64. end
  65.  
  66. end
  67.  
  68. #==============================================================================
  69. #==============================================================================
  70. class Game_Actor < Game_Battler
  71. #==============================================================================
  72. #==============================================================================
  73.   alias refresh_crt refresh
  74.  
  75.   def refresh
  76.    
  77.     refresh_crt
  78.     critical_hit
  79.     $Critical_W = critical_hit
  80.   end
  81.    def critical_hit
  82.      
  83.     @data = Critical_Global::Multiplier_base
  84.    
  85.     features = self.weapons + self.armors
  86.     features.each do |feature|
  87.       next if feature == nil
  88.      
  89.       crt = feature.note.scan(/<critico=(.*)>/)
  90.       crt = crt.flatten
  91.       if crt != nil && !crt.empty?
  92.        
  93.         @data = crt[0].to_i
  94.       end
  95.      
  96.     end
  97.    
  98.     return @data
  99.   end
  100.  
  101.   end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement