Advertisement
roninator2

Split Damage on Skills

Dec 10th, 2024
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.19 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Split Damage on Skills                 ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║ Split damage amongst enemy targets            ║    24 Jan 2022     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Skills can split the damage amongst the enemies              ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Use <split damage> to have a skill split the damage              ║
  20. # ║   for the enemies targeted. i.e. target 2 random, split 2          ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 24 Jan 2022 - Script finished                               ║
  25. # ║                                                                    ║
  26. # ╚════════════════════════════════════════════════════════════════════╝
  27. # ╔════════════════════════════════════════════════════════════════════╗
  28. # ║ Credits and Thanks:                                                ║
  29. # ║   Roninator2                                                       ║
  30. # ║                                                                    ║
  31. # ╚════════════════════════════════════════════════════════════════════╝
  32. # ╔════════════════════════════════════════════════════════════════════╗
  33. # ║ Terms of use:                                                      ║
  34. # ║  Follow the original Authors terms of use where applicable         ║
  35. # ║    - When not made by me (Roninator2)                              ║
  36. # ║  Free for all uses in RPG Maker except nudity                      ║
  37. # ║  Anyone using this script in their project before these terms      ║
  38. # ║  were changed are allowed to use this script even if it conflicts  ║
  39. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  40. # ║  No part of this code can be used with AI programs or tools        ║
  41. # ║  Credit must be given                                              ║
  42. # ╚════════════════════════════════════════════════════════════════════╝
  43.  
  44. class Game_Battler < Game_BattlerBase
  45.   #--------------------------------------------------------------------------
  46.   # * Calculate Damage
  47.   #--------------------------------------------------------------------------
  48.   alias r2_make_damage_split_troop  make_damage_value
  49.   def make_damage_value(user, item)
  50.     r2_make_damage_split_troop(user, item)
  51.     value = @result.hp_damage
  52.     return if value == 0
  53.     split = item.note =~ /<split damage>/i ? true : false
  54.     enmysz = $game_troop.alive_members.size.to_i
  55.     enmy = 0
  56.     case item.scope
  57.     when 1 || 3
  58.       enmy = 1
  59.     when 2
  60.       enmy = $game_troop.alive_members.size.to_i
  61.     when 4
  62.       enmy = 2
  63.       enmy = enmysz if enmysz < enmy
  64.     when 5
  65.       enmy = 3
  66.       enmy = enmysz if enmysz < enmy
  67.     when 6
  68.       enmy = 4
  69.       enmy = enmysz if enmysz < enmy
  70.     end
  71.     value = value / enmy if (enmy > 0) && (split == true)
  72.     @result.make_damage(value.to_i, item)
  73.   end
  74. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement