Advertisement
roninator2

Multi Enemy Transform

Dec 11th, 2024
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.36 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Multi Enemy Transform                  ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║ Transform Enemy when dead with state          ║    30 Apr 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║        Enemy transforms with state after death                     ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Configure Hash below to you preference                           ║
  20. # ║   When the state is applied to the enemy,                          ║
  21. # ║   the enemy will transform into a random enemy specified           ║
  22. # ╚════════════════════════════════════════════════════════════════════╝
  23. # ╔════════════════════════════════════════════════════════════════════╗
  24. # ║ Updates:                                                           ║
  25. # ║ 1.00 - 22 Nov 2024 - Script finished                               ║
  26. # ║                                                                    ║
  27. # ╚════════════════════════════════════════════════════════════════════╝
  28. # ╔════════════════════════════════════════════════════════════════════╗
  29. # ║ Credits and Thanks:                                                ║
  30. # ║   Roninator2                                                       ║
  31. # ║                                                                    ║
  32. # ╚════════════════════════════════════════════════════════════════════╝
  33. # ╔════════════════════════════════════════════════════════════════════╗
  34. # ║ Terms of use:                                                      ║
  35. # ║  Follow the original Authors terms of use where applicable         ║
  36. # ║    - When not made by me (Roninator2)                              ║
  37. # ║  Free for all uses in RPG Maker except nudity                      ║
  38. # ║  Anyone using this script in their project before these terms      ║
  39. # ║  were changed are allowed to use this script even if it conflicts  ║
  40. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  41. # ║  No part of this code can be used with AI programs or tools        ║
  42. # ║  Credit must be given                                              ║
  43. # ╚════════════════════════════════════════════════════════════════════╝
  44.  
  45. module R2_Multi_Transform
  46.   # { state id => [ enemy id 1, enemy id 2, enemy id 3, ... ] }
  47.   State1 = { 10 => [ 15,16,17 ] }
  48.   State2 = { 11 => [ 18,19,20 ] }
  49.   State3 = { 28 => [ 3,4,5 ] }
  50. end
  51.  
  52. class Game_Battler
  53.   alias r2_check_state_transform_death execute_damage
  54.   def execute_damage(user)
  55.     @infected_states = self.states
  56.     r2_check_state_transform_death(user)
  57.     check_enemy_transform
  58.     @infected_states = nil
  59.   end
  60.   def check_enemy_transform
  61.     return if self.is_a?(Game_Actor) || self.hp > 0
  62.     infected = []
  63.     @infected_states.each do |state|
  64.       infected << state.id
  65.     end
  66.     @tren = nil
  67.     R2_Multi_Transform.constants.each do |i|
  68.       hash_check = R2_Multi_Transform.const_get(i).to_hash
  69.       state_check = hash_check.keys[0]
  70.       @tren = hash_check.values[0] if infected.include?(state_check)
  71.     end
  72.     if !@tren.nil?
  73.       tren = @tren.sample
  74.     end
  75.     remove_state(death_state_id) if @tren != nil
  76.     transform(tren) if @tren != nil
  77.     recover_all if @tren != nil
  78.     @tren = nil
  79.   end
  80. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement