Guest User

Untitled

a guest
May 22nd, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.07 KB | None | 0 0
  1. # Stonesearch Custom Battle Algorithms
  2.  
  3. #==============================================================================#
  4. #                               Notetags Field
  5. #==============================================================================#
  6. module REGEXP
  7.   module ITEM
  8.   KNOTOFRUST = /<(?:KNOTRUST|knotrust)>/i
  9.   end
  10. end
  11.  
  12.  
  13.  
  14. class Game_Battler
  15.   def create_custom_item_cache
  16.     @__knotrust = false
  17.  
  18.     self.note.split(/[\r\n]+/).each { |line|
  19.       case line
  20.       when Regexp::Item
  21.         # 非表示
  22.         @__knotrust = true
  23.       end
  24.     }
  25.   end
  26.  
  27.   def knotrust?
  28.    create_custom_item_cache if @__knotrust == nil
  29.     return @__knotrust
  30.   end
  31.   def make_obj_damage_value(user, obj)
  32.     # KNOT OF RUST DAMAGE CALCULATION
  33.     if knotrust?
  34.     damage = user.hp / rand(10)
  35.     else
  36.      
  37.     damage = obj.base_damage                        # get base damage
  38.     if damage > 0                                   # a positive number?
  39.       damage += user.atk * 4 * obj.atk_f / 100      # Attack F of the user
  40.       damage += user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
  41.       unless obj.ignore_defense                     # Except for ignore defense
  42.         damage -= self.def * 2 * obj.atk_f / 100    # Attack F of the target
  43.         damage -= self.spi * 1 * obj.spi_f / 100    # Spirit F of the target
  44.       end
  45.       damage = 0 if damage < 0                      # If negative, make 0
  46.     elsif damage < 0                                # a negative number?
  47.       damage -= user.atk * 4 * obj.atk_f / 100      # Attack F of the user
  48.       damage -= user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
  49.     end
  50.     damage *= elements_max_rate(obj.element_set)    # elemental adjustment
  51.     damage /= 100
  52.     damage = apply_variance(damage, obj.variance)   # variance
  53.     damage = apply_guard(damage)                    # guard adjustment
  54.     if obj.damage_to_mp  
  55.       @mp_damage = damage                           # damage MP
  56.     else
  57.       @hp_damage = damage                           # damage HP
  58.     end
  59.   end
  60.   end
  61. end
Add Comment
Please, Sign In to add comment