Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # Multi Anime Fix Patch for Player Card Sprite (dsiver144)
- #==============================================================================
- class Sprite_CardBattler < Sprite_Base
- #--------------------------------------------------------------------------
- # alias method: dispose
- #--------------------------------------------------------------------------
- alias dsi_sprite_battlerdispose_sani dispose
- def dispose
- dispose_dark_state_animation
- dsi_sprite_battlerdispose_sani
- end
- #--------------------------------------------------------------------------
- # new method: dispose_dark_state_animation
- #--------------------------------------------------------------------------
- def dispose_dark_state_animation
- if @sprite_states
- @sprite_states.values.each do |sprite|
- sprite.bitmap.dispose if sprite.bitmap
- sprite.dispose
- end
- @sprite_states = nil
- end
- end
- #--------------------------------------------------------------------------
- # alias method: setup_new_effect
- #--------------------------------------------------------------------------
- alias dsi_sprite_battlersetup_new_effect_sani setup_new_effect
- def setup_new_effect
- dsi_sprite_battlersetup_new_effect_sani
- setup_state_ani_effect
- end
- #--------------------------------------------------------------------------
- # new method: setup_state_ani_effect
- #--------------------------------------------------------------------------
- def setup_state_ani_effect
- if @sprite_states
- battler_ids = []
- @battler.states.each do |state|
- if state.state_animation > 0
- battler_ids << state.id
- end
- end
- minus_state_ids = @sprite_states.keys - battler_ids
- if minus_state_ids.size > 0
- minus_state_ids.each do |state_id|
- if @sprite_states[state_id]
- @sprite_states[state_id].bitmap.dispose if @sprite_states[state_id].bitmap
- @sprite_states[state_id].dispose
- @sprite_states.delete(state_id)
- end
- end
- end
- end
- if @battler.actor?
- if !DSIVER144::STATE_ANIMATION::PLAY_ACTOR
- return
- end
- end
- @battler.states.each do |state|
- next unless state.state_animation > 0
- animation = $data_animations[state.state_animation]
- start_dark_state_animation(state.id,animation)
- end
- end
- #--------------------------------------------------------------------------
- # new method: start_dark_state_animation
- #--------------------------------------------------------------------------
- def start_dark_state_animation(state_id,anime)
- @sprite_states ||= {}
- return if @sprite_states.has_key?(state_id)
- @sprite_states[state_id] = Sprite_MultiAnime.new(viewport,self,anime,false,@battler)
- end
- #--------------------------------------------------------------------------
- # alias method: update
- #--------------------------------------------------------------------------
- alias dsi_sprite_battlerupdate_sani update
- def update
- dsi_sprite_battlerupdate_sani
- if @sprite_states
- @sprite_states.values.each do |sprite|
- sprite.update
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement