Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Sprite_Character < Sprite_Base
- def set_character_bitmap
- self.bitmap = Cache.character(@character_name)
- @sign = @character_name[/^[\!\$\@]./]
- if @sign && @sign.include?('@')
- @cw = bitmap.width / 8
- @ch = bitmap.height / 4
- elsif @sign && @sign.include?('$')
- @cw = bitmap.width / 3
- @ch = bitmap.height / 4
- else
- @cw = bitmap.width / 12
- @ch = bitmap.height / 8
- end
- self.ox = @cw / 2
- self.oy = @ch
- end
- def update_src_rect
- if @tile_id == 0
- index = @character.character_index
- max = (@sign && @sign.include?('@')) ? 8 : 3
- pattern = @character.pattern < max ? @character.pattern : 1
- sx = (index % 3 * 3 + pattern) * @cw
- sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
- self.src_rect.set(sx, sy, @cw, @ch)
- end
- end
- end
- class Game_CharacterBase
- def update_anime_pattern
- if !@step_anime && @stop_count > 0
- @pattern = @original_pattern
- else
- @pattern = (@pattern + 1) % pattern_max
- end
- end
- def pattern_max
- sign = @character_name[/^[\!\$\@]./]
- sign && sign.include?('@') ? 9 : 4
- end
- end
- class Game_Player
- def move_by_input
- return if !movable? || $game_map.interpreter.running?
- input = Input.dir8
- return unless input > 0
- return move_straight(input) if input % 2 == 0
- vert = input > 6 ? 8 : 2
- horz = input % 3 == 0 ? 6 : 4
- move_diagonal(horz,vert)
- end
- end
- class Game_Interpreter
- def overlap?(string)
- event = $game_map.events[@event_id]
- $game_map.events_xy(event.x,event.y).each do |event|
- return true if event.name == string
- end
- return false
- end
- end
- class Game_Event
- def name
- @event.name
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement