Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # DSI Multi State Animations Update
- # -- Last Updated: 2018.01.19
- # -- Author: dsiver144
- # -- Level: Easy
- # -- Requires: n/a
- #==============================================================================
- # New State Notetag: Maybe I won't need to explain this xD
- # <state display mode: front>
- # <state display mode: behind>
- #==============================================================================
- # Sprite_Battler
- #==============================================================================
- class Sprite_Battler < Sprite_Base
- #--------------------------------------------------------------------------
- # 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,state_id)
- end
- end # Sprite_Battler
- #==============================================================================
- # Sprite_MultiAnime
- #==============================================================================
- class Sprite_MultiAnime < Sprite_Base
- #--------------------------------------------------------------------------
- # * Initialize
- #--------------------------------------------------------------------------
- def initialize(viewport, ref_sprite, anime, flip = false, battler=nil, state_id=nil)
- super(viewport)
- @display_mode = $data_states[state_id].state_display_mode
- @ref_sprite = ref_sprite
- @battler = battler
- update_reference_sprite
- start_animation(anime, flip)
- end
- #--------------------------------------------------------------------------
- # * update_reference_sprite
- #--------------------------------------------------------------------------
- def update_reference_sprite
- src_rect.set(@ref_sprite.src_rect)
- self.ox = @ref_sprite.ox
- self.oy = @ref_sprite.oy
- self.x = @ref_sprite.x
- self.y = @ref_sprite.y
- if @display_mode == :behind
- self.z = @ref_sprite.z - 1
- elsif @display_mode == :front
- self.z = @ref_sprite.z + 1
- end
- end
- end # Sprite_MultiAnime
- #==============================================================================
- # Sprite_CardBattler
- #==============================================================================
- class Sprite_CardBattler < Sprite_Base
- #--------------------------------------------------------------------------
- # 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,state_id)
- end
- end
- #==============================================================================
- # �� RPG::State
- #==============================================================================
- class RPG::State < RPG::BaseItem
- #--------------------------------------------------------------------------
- # public instance variables
- #--------------------------------------------------------------------------
- attr_accessor :state_animation
- attr_accessor :state_display_mode
- #--------------------------------------------------------------------------
- # common cache: load_notetags_sani
- #--------------------------------------------------------------------------
- def load_notetags_state_animation
- @state_animation = 0
- @state_display_mode = :behind
- #---
- self.note.split(/[\r\n]+/).each do |line|
- if line =~ DSIVER144::STATE_ANIMATION::STATEANI
- @state_animation = $1.to_i
- end
- if line =~ /<state display mode:\s*(front|behind)>/i
- @state_display_mode = $1.to_sym
- end
- end
- end
- end # RPG::State
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement