Advertisement
Fomar0153

Fomar0153 - Sprite Based Side View Battler System1.0

Jun 4th, 2012
1,727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.69 KB | None | 0 0
  1. =begin
  2. Sprite Based Side View Battle Script
  3. by Fomar0153
  4. Version 1.0
  5. ----------------------
  6. Notes
  7. ----------------------
  8. No requirements
  9. Displays battlers for the player's party.
  10. This script uses the player sprite facing left.
  11. ----------------------
  12. Instructions
  13. ----------------------
  14. Plug and play
  15. ----------------------
  16. Known bugs
  17. ----------------------
  18. None
  19. =end
  20. class Game_Actor < Game_Battler
  21.   #--------------------------------------------------------------------------
  22.   # ● Rewrites use_sprite?
  23.   #--------------------------------------------------------------------------
  24.   def use_sprite?
  25.     return true
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● New Method screen_x
  29.   #--------------------------------------------------------------------------
  30.   def screen_x
  31.     return 450
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● New Method screen_y
  35.   #--------------------------------------------------------------------------
  36.   def screen_y
  37.     return 120 + self.index * 40
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● New Method screen_z
  41.   #--------------------------------------------------------------------------
  42.   def screen_z
  43.     return 100
  44.   end
  45. end
  46.  
  47. class Spriteset_Battle
  48.   #--------------------------------------------------------------------------
  49.   # ● Rewrites create_actors
  50.   #--------------------------------------------------------------------------
  51.   def create_actors
  52.     @actor_sprites = $game_party.battle_members.reverse.collect do |actor|
  53.       Sprite_Battler.new(@viewport1, actor)
  54.     end
  55.   end
  56. end
  57.  
  58. class Sprite_Battler < Sprite_Base
  59.   #--------------------------------------------------------------------------
  60.   # * Update Transfer Origin Bitmap
  61.   #--------------------------------------------------------------------------
  62.   alias sbb_update_bitmap update_bitmap
  63.   def update_bitmap
  64.     if @battler.is_a?(Game_Actor)
  65.       char_bitmap = Cache.character(@battler.character_name)
  66.       sign = @battler.character_name[/^[\!\$]./]
  67.       if sign && sign.include?('$')
  68.         cw = char_bitmap.width / 3
  69.         ch = char_bitmap.height / 4
  70.       else
  71.         cw = char_bitmap.width / 12
  72.         ch = char_bitmap.height / 8
  73.       end
  74.       new_bitmap = Bitmap.new(cw, ch)
  75.       sx = (@battler.character_index % 4 * 3 + 1) * cw
  76.       sy = (@battler.character_index / 4 * 4 + 1) * ch
  77.       new_bitmap.blt(0, 0, char_bitmap, Rect.new(sx, sy, cw, ch))
  78.       if bitmap != new_bitmap
  79.         self.bitmap = new_bitmap
  80.         init_visibility
  81.       end
  82.     else
  83.       sbb_update_bitmap
  84.     end
  85.   end
  86. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement