Advertisement
dsiver144

Multi Anime Fix Patch

Jul 4th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. #==============================================================================
  2. # Multi Anime Fix Patch for Player Card Sprite (dsiver144)
  3. #==============================================================================
  4. class Sprite_CardBattler < Sprite_Base
  5. #--------------------------------------------------------------------------
  6. # alias method: dispose
  7. #--------------------------------------------------------------------------
  8. alias dsi_sprite_battlerdispose_sani dispose
  9. def dispose
  10. dispose_dark_state_animation
  11. dsi_sprite_battlerdispose_sani
  12. end
  13. #--------------------------------------------------------------------------
  14. # new method: dispose_dark_state_animation
  15. #--------------------------------------------------------------------------
  16. def dispose_dark_state_animation
  17. if @sprite_states
  18. @sprite_states.values.each do |sprite|
  19. sprite.bitmap.dispose if sprite.bitmap
  20. sprite.dispose
  21. end
  22. @sprite_states = nil
  23. end
  24. end
  25. #--------------------------------------------------------------------------
  26. # alias method: setup_new_effect
  27. #--------------------------------------------------------------------------
  28. alias dsi_sprite_battlersetup_new_effect_sani setup_new_effect
  29. def setup_new_effect
  30. dsi_sprite_battlersetup_new_effect_sani
  31. setup_state_ani_effect
  32. end
  33. #--------------------------------------------------------------------------
  34. # new method: setup_state_ani_effect
  35. #--------------------------------------------------------------------------
  36. def setup_state_ani_effect
  37. if @sprite_states
  38. battler_ids = []
  39. @battler.states.each do |state|
  40. if state.state_animation > 0
  41. battler_ids << state.id
  42. end
  43. end
  44. minus_state_ids = @sprite_states.keys - battler_ids
  45. if minus_state_ids.size > 0
  46. minus_state_ids.each do |state_id|
  47. if @sprite_states[state_id]
  48. @sprite_states[state_id].bitmap.dispose if @sprite_states[state_id].bitmap
  49. @sprite_states[state_id].dispose
  50. @sprite_states.delete(state_id)
  51. end
  52. end
  53. end
  54. end
  55. if @battler.actor?
  56. if !DSIVER144::STATE_ANIMATION::PLAY_ACTOR
  57. return
  58. end
  59. end
  60. @battler.states.each do |state|
  61. next unless state.state_animation > 0
  62. animation = $data_animations[state.state_animation]
  63. start_dark_state_animation(state.id,animation)
  64. end
  65. end
  66. #--------------------------------------------------------------------------
  67. # new method: start_dark_state_animation
  68. #--------------------------------------------------------------------------
  69. def start_dark_state_animation(state_id,anime)
  70. @sprite_states ||= {}
  71. return if @sprite_states.has_key?(state_id)
  72. @sprite_states[state_id] = Sprite_MultiAnime.new(viewport,self,anime,false,@battler)
  73. end
  74. #--------------------------------------------------------------------------
  75. # alias method: update
  76. #--------------------------------------------------------------------------
  77. alias dsi_sprite_battlerupdate_sani update
  78. def update
  79. dsi_sprite_battlerupdate_sani
  80. if @sprite_states
  81. @sprite_states.values.each do |sprite|
  82. sprite.update
  83. end
  84. end
  85. end
  86. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement