Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Stonesearch Custom Battle Algorithms
- #==============================================================================#
- # Notetags Field
- #==============================================================================#
- module REGEXP
- module ITEM
- KNOTOFRUST = /<(?:KNOTRUST|knotrust)>/i
- end
- end
- class Game_Battler
- def create_custom_item_cache
- @__knotrust = false
- self.note.split(/[\r\n]+/).each { |line|
- case line
- when Regexp::Item
- # 非表示
- @__knotrust = true
- end
- }
- end
- def knotrust?
- create_custom_item_cache if @__knotrust == nil
- return @__knotrust
- end
- def make_obj_damage_value(user, obj)
- # KNOT OF RUST DAMAGE CALCULATION
- if knotrust?
- damage = user.hp / rand(10)
- else
- damage = obj.base_damage # get base damage
- if damage > 0 # a positive number?
- damage += user.atk * 4 * obj.atk_f / 100 # Attack F of the user
- damage += user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
- unless obj.ignore_defense # Except for ignore defense
- damage -= self.def * 2 * obj.atk_f / 100 # Attack F of the target
- damage -= self.spi * 1 * obj.spi_f / 100 # Spirit F of the target
- end
- damage = 0 if damage < 0 # If negative, make 0
- elsif damage < 0 # a negative number?
- damage -= user.atk * 4 * obj.atk_f / 100 # Attack F of the user
- damage -= user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
- end
- damage *= elements_max_rate(obj.element_set) # elemental adjustment
- damage /= 100
- damage = apply_variance(damage, obj.variance) # variance
- damage = apply_guard(damage) # guard adjustment
- if obj.damage_to_mp
- @mp_damage = damage # damage MP
- else
- @hp_damage = damage # damage HP
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment