TechSkylander1518

EBS Intros for Vanilla Essentials (WIP)

Jun 15th, 2021 (edited)
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 13.76 KB | None | 0 0
  1.  
  2. #===============================================================================
  3. # EBDX Trainer 1
  4. #===============================================================================
  5.  
  6. class EBDXTrainer1
  7.   def initialize(numframes)
  8.     @numframes = numframes
  9.     @duration = numframes
  10.     @disposed = false
  11.     @width  = Graphics.width
  12.     @height = Graphics.height
  13.     @viewport = Viewport.new(0,0,@width,@height)
  14.     @viewport.z = 99999
  15.     if @numframes<=0
  16.       @disposed = true
  17.       return
  18.     end
  19.     # black background
  20.     @black = Sprite.new(@viewport)
  21.     @black.bitmap = Bitmap.new(@viewport.width,@viewport.height)
  22.     @black.bitmap.fill_rect(0,0,@viewport.width,@viewport.height,Color.black)
  23.     @black.visible = false
  24.     # load ball sprite
  25.     @ball = Sprite.new(@viewport)
  26.     @ball.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
  27.     @ball.center!(true)
  28.     @ball.zoom_x = 0
  29.     @ball.zoom_y = 0
  30.   end
  31.  
  32.   def disposed?; @disposed; end
  33.  
  34.   def dispose
  35.     return if disposed?
  36.     @ball.dispose if @ball
  37.     @bmp.dispose if @bmp
  38.     @black.dispose if @black
  39.     @field1.dispose if @field1
  40.     @field2.dispose if @field2
  41.     @viewport.dispose if @viewport
  42.     @disposed = true
  43.   end
  44.  
  45.   def update
  46.     return if disposed?
  47.     if @duration==0
  48.       dispose
  49.     else
  50.     # spin ball into place
  51.       if @ball.angle < 360
  52.           @ball.angle += 22.5
  53.           @ball.zoom_x += 0.0625
  54.           @ball.zoom_y += 0.0625
  55.       else
  56.         # take screenshot
  57.         @bmp = Graphics.snap_to_bitmap
  58.         # split screenshot into two halves
  59.         @field1 = Sprite.new(@viewport)
  60.         @field1.bitmap = Bitmap.new(@viewport.width, @viewport.height)
  61.         @field1.bitmap.blt(0, 0, @bmp, @viewport.rect)
  62.         @field1.src_rect.height = @viewport.height/2
  63.         @field2 = Sprite.new(@viewport)
  64.         @field2.bitmap = @field1.bitmap.clone
  65.         @field2.y = @viewport.height/2
  66.         @field2.src_rect.height = @viewport.height/2
  67.         @field2.src_rect.y = @viewport.height/2
  68.         # hide ball sprite
  69.         @ball.visible = false
  70.        # pbWait(8)
  71.         @black.visible = true
  72.         @field1.visible = true
  73.         @field2.visible = true
  74.         # move halves off screen
  75.           if @field1.x< @viewport.width
  76.             @field1.x -= @viewport.width/16
  77.             @field2.x += @viewport.width/16
  78.           else
  79.             dispose
  80.           end
  81.       end
  82.     end
  83.   end
  84.  
  85. end
  86.  
  87.  
  88. #===============================================================================
  89. # EBDX Trainer 2
  90. #===============================================================================
  91.  
  92.  
  93.  
  94. class EBDXTrainer2
  95.   def initialize(numframes)
  96.     @numframes = numframes
  97.     @duration = numframes
  98.     @disposed = false
  99.     @width  = Graphics.width
  100.     @height = Graphics.height
  101.     @viewport = Viewport.new(0,0,@width,@height)
  102.     @viewport.z = 99999
  103.     if @numframes<=0
  104.       @disposed = true
  105.       return
  106.     end
  107.    # take screenshot and draw black background
  108.     @bmp = Graphics.snap_to_bitmap
  109.     @black = Sprite.new(@viewport)
  110.     @black.bitmap = Bitmap.new(@viewport.width,@viewport.height)
  111.     @black.bitmap.fill_rect(0,0,@viewport.width,@viewport.height,Color.black)
  112.     # split screenshot into two halves
  113.     @field1 = Sprite.new(@viewport)
  114.     @field1.bitmap = Bitmap.new(@viewport.width, @viewport.height)
  115.     @field1.bitmap.blt(0, 0, @bmp, @viewport.rect)
  116.     @field1.src_rect.height = @viewport.height/2
  117.     @field2 = Sprite.new(@viewport)
  118.     @field2.bitmap = @field1.bitmap.clone
  119.     @field2.y = @viewport.height/2
  120.     @field2.src_rect.height = @viewport.height/2
  121.     @field2.src_rect.y = @viewport.height/2
  122.     # draw ballsprites for transition
  123.     @ball1 = Sprite.new(@viewport)
  124.     @ball1.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
  125.     @ball1.center!
  126.     @ball1.x = @viewport.width + @ball1.ox
  127.     @ball1.y = @viewport.height/4
  128.     @ball1.zoom_x = 0.5
  129.     @ball1.zoom_y = 0.5
  130.     @ball2 = Sprite.new(@viewport)
  131.     @ball2.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
  132.     @ball2.center!
  133.     @ball2.y = (@viewport.height/4)*3
  134.     @ball2.x = -@ball2.ox
  135.     @ball2.zoom_x = 0.5
  136.     @ball2.zoom_y = 0.5
  137.   end
  138.  
  139.   def disposed?; @disposed; end
  140.  
  141.   def dispose
  142.     return if disposed?
  143.     @ball1.dispose if @ball1
  144.     @ball2.dispose if @ball2
  145.     @field1.dispose if @field1
  146.     @field2.dispose if @field2
  147.     @viewport.dispose if @viewport
  148.     @disposed = true
  149.   end
  150.  
  151.   def update
  152.     return if disposed?
  153.     if @duration==0
  154.       dispose
  155.     else
  156.         # move ballsprites on screen
  157.       if @ball2.x < 2 * @viewport.width
  158.        # 16.times do
  159.           @ball1.x -= (@viewport.width/8)
  160.           @ball2.x += (@viewport.width/8)
  161.           #pbWait(1)
  162.        
  163.       else
  164.         # move screenshots
  165.         if @field2.y < @viewport.height
  166.        # 32.times do
  167.           @field1.x -= (@viewport.width/16)
  168.           @field1.y -= (@viewport.height/32)
  169.           @field2.x += (@viewport.width/16)
  170.           @field2.y += (@viewport.height/32)
  171.           #pbWait(1)
  172.         else
  173.         @viewport.color = Color.new(0,0,0,255)
  174.         dispose
  175.         end
  176.       end
  177.     end
  178.   end
  179. end
  180.  
  181.  
  182. #===============================================================================
  183. # EBDX Trainer 3
  184. #===============================================================================
  185.  
  186.  
  187. class EBDXTrainer3
  188.   def initialize(numframes)
  189.     @numframes = numframes
  190.     @duration = numframes
  191.     @disposed = false
  192.     @width  = Graphics.width
  193.     @height = Graphics.height
  194.     @viewport = Viewport.new(0,0,@width,@height)
  195.     @viewport.z = 99999
  196.     if @numframes<=0
  197.       @disposed = true
  198.       return
  199.     end
  200.     # hash to store all sprites
  201.     @balls = {}
  202.     @rects = {}
  203.     # creates blank ball bitmap
  204.     @ball = Bitmap.new(@viewport.height/6,@viewport.height/6)
  205.     @bmp = pbBitmap("Graphics/Transitions/Common/ball")
  206.     @ball.stretch_blt(Rect.new(0,0,@ball.width,@ball.height),@bmp,Rect.new(0,0,@bmp.width,@bmp.height))
  207.     # creates necessary sprites
  208.     for i in 0...6
  209.       # black rectangles
  210.       @rects["#{i}"] = Sprite.new(@viewport)
  211.       @rects["#{i}"].bitmap = Bitmap.new(2,@viewport.height/6)
  212.       @rects["#{i}"].bitmap.fill_rect(0,0,2,@viewport.height/6,Color.black)
  213.       @rects["#{i}"].x = (i%2==0) ? -32 : @viewport.width+32
  214.       @rects["#{i}"].ox = (i%2==0) ? 0 : 2
  215.       @rects["#{i}"].y = (@viewport.height/6)*i
  216.       @rects["#{i}"].zoom_x = 0
  217.       # ballsprites
  218.       @balls["#{i}"] = Sprite.new(@viewport)
  219.       @balls["#{i}"].bitmap = @ball
  220.       @balls["#{i}"].center!
  221.       @balls["#{i}"].x = @rects["#{i}"].x
  222.       @balls["#{i}"].y = @rects["#{i}"].y + @rects["#{i}"].bitmap.height/2
  223.     end
  224.   end
  225.  
  226.   def disposed?; @disposed; end
  227.  
  228.   def dispose
  229.     return if disposed?
  230.     # disposes unused sprites
  231.     @viewport.dispose if @viewport
  232.     pbDisposeSpriteHash(@balls)
  233.     pbDisposeSpriteHash(@rects)
  234.     @bmp.dispose if @bmp
  235.     @disposed = true
  236.   end
  237.  
  238.   def update
  239.     return if disposed?
  240.     if @duration==0
  241.       dispose
  242.     else
  243.       if @balls["0"].x < Graphics.width + @balls["0"].bitmap.width
  244.         for i in 0...6
  245.           @balls["#{i}"].x += (i%2==0) ? 24 : -24
  246.           @balls["#{i}"].angle -= (i%2==0) ? 32 : -32
  247.           @rects["#{i}"].zoom_x += 12
  248.         end
  249.       else
  250.        # @viewport.color = Color.new(0,0,0,255)
  251.         dispose
  252.       end
  253.     end
  254.   end
  255.  
  256.  
  257. end
  258.  
  259.  
  260.  
  261. #===============================================================================
  262. # EBDX Rainbow Intro
  263. #===============================================================================
  264.  
  265.  
  266. class RainbowIntro
  267.   def initialize(numframes)
  268.     @numframes = numframes
  269.     @duration = numframes
  270.     @disposed = false
  271.     @width  = Graphics.width
  272.     @height = Graphics.height
  273.     @viewport = Viewport.new(0,0,@width,@height)
  274.     @viewport.z = 99999
  275.     if @numframes<=0
  276.       @disposed = true
  277.       return
  278.     end
  279.     @sprites = {} if !@sprites
  280.     # takes screenshot
  281.     bmp = Graphics.snap_to_bitmap
  282.     # creates non-blurred overlay
  283.     @sprites["bg1"] = Sprite.new(@viewport)
  284.     @sprites["bg1"].bitmap = Bitmap.new(@viewport.width, @viewport.height)
  285.     @sprites["bg1"].bitmap.blt(0, 0, bmp, @viewport.rect)
  286.     @sprites["bg1"].center!(true)
  287.     # creates blurred overlay
  288.     @sprites["bg2"] = Sprite.new(@viewport)
  289.     @sprites["bg2"].bitmap = @sprites["bg1"].bitmap.clone
  290.     @sprites["bg2"].blur_sprite(3)
  291.     @sprites["bg2"].center!(true)
  292.     @sprites["bg2"].opacity = 0
  293.     # creates rainbow rings
  294.     for i in 1..2
  295.       z = [0.35,0.1]
  296.       @sprites["glow#{i}"] = Sprite.new(@viewport)
  297.       @sprites["glow#{i}"].bitmap = pbBitmap("Graphics/Transitions/Common/glow")
  298.       @sprites["glow#{i}"].ox = @sprites["glow#{i}"].bitmap.width/2
  299.       @sprites["glow#{i}"].oy = @sprites["glow#{i}"].bitmap.height/2
  300.       @sprites["glow#{i}"].x = @viewport.width/2
  301.       @sprites["glow#{i}"].y = @viewport.height/2
  302.       @sprites["glow#{i}"].zoom_x = z[i-1]
  303.       @sprites["glow#{i}"].zoom_y = z[i-1]
  304.       @sprites["glow#{i}"].opacity = 0
  305.     end
  306.     @viewport.color = Color.new(255,255,255,0)
  307.   end
  308.  
  309.   def disposed?; @disposed; end
  310.  
  311.   def dispose
  312.     return if disposed?
  313.     pbDisposeSpriteHash(@sprites)
  314.     @viewport.dispose if @viewport
  315.     @disposed = true
  316.   end
  317.  
  318.   def update
  319.     return if disposed?
  320.     if @duration==0
  321.       dispose
  322.     else
  323.     # main animation
  324.     if @sprites["bg1"].zoom_x < 1.64
  325.       # zooms in the two screenshots
  326.       @sprites["bg1"].zoom_x += 0.02
  327.       @sprites["bg1"].zoom_y += 0.02
  328.       @sprites["bg2"].zoom_x += 0.02
  329.       @sprites["bg2"].zoom_y += 0.02
  330.       # fades in the blurry screenshot
  331.       @sprites["bg2"].opacity += 12
  332.       # fades to white
  333.         if @sprites["bg1"].zoom_x >= 0.32
  334.           @sprites["bg2"].tone.red += 16
  335.           @sprites["bg2"].tone.green += 16
  336.           @sprites["bg2"].tone.blue += 16
  337.         end
  338.         # zooms in rainbow rings
  339.         if @sprites["bg1"].zoom_x >= 0.48
  340.           @sprites["glow1"].opacity += 64
  341.           @sprites["glow1"].zoom_x += 0.02
  342.           @sprites["glow1"].zoom_y += 0.02
  343.         end
  344.     else
  345.     # second part of animation
  346.       if @sprites["glow1"].zoom_x < 1.64
  347.         # zooms in rainbow rings
  348.         @sprites["glow1"].zoom_x += 0.02
  349.         @sprites["glow1"].zoom_y += 0.02
  350.           if @sprites["bg1"].zoom_x >= 1.8
  351.             @sprites["glow2"].opacity += 64
  352.             @sprites["glow2"].zoom_x += 0.02
  353.             @sprites["glow2"].zoom_y += 0.02
  354.           end
  355.           # fades viewport to white
  356.           if @sprites["bg1"].zoom_x >= 2.28
  357.             @viewport.color.alpha += 16
  358.           end
  359.       else
  360.         dispose
  361.     # disposes of the elements
  362.     #EliteBattle.set(:colorAlpha,255)
  363.        # @viewport.color = Color.new(0,0,0,255)
  364.         end
  365.       end
  366.     end
  367.   end
  368.  
  369.  
  370. end
  371.  
  372.  
  373. #===============================================================================
  374. # EBDX Wild Indoor
  375. #===============================================================================
  376.  
  377. class EBDXWildIndoor
  378.   def initialize(numframes)
  379.     @numframes = numframes
  380.     @duration = numframes
  381.     @disposed = false
  382.     @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
  383.     @viewport.z = 99999
  384.     # draws blank bitmap upon which to draw snaking pattern
  385.     @screen = Sprite.new(@viewport)
  386.     @screen.bitmap = Bitmap.new(@viewport.width,@viewport.height)
  387.     # gets screen size
  388.     @width = @viewport.width
  389.     @height = @viewport.height/16
  390.     if @numframes<=0
  391.       @disposed = true
  392.       return
  393.     end
  394.     @done = 0
  395.   end
  396.  
  397.   def disposed?; @disposed; end
  398.  
  399.   def dispose
  400.     return if disposed?
  401.     # disposes unused sprites
  402.     @viewport.dispose if @viewport
  403.     @screen.dispose if @screen
  404.     @disposed = true
  405.   end
  406.  
  407.   def update
  408.     return if disposed?
  409.     if @duration==0
  410.       dispose
  411.     else
  412.       if @done < 16
  413.         for j in 0...16
  414.           x = (j%2 == 0) ? 0 : @viewport.width - @done*(@width/16)
  415.           @screen.bitmap.fill_rect(x,j*@height,@done*(@width/16),@height,Color.black)
  416.         end
  417.         @done+=1
  418.       else
  419.         dispose
  420.       end
  421.     end
  422.   end
  423.  
  424. end
  425.  
  426.  
  427.  
  428. #===============================================================================
  429. # EBDX Wild Overlevel (Pokemon is a higher level than party leader)
  430. #===============================================================================
  431.  
  432. class EBDXOverlevel
  433.   def initialize(numframes)
  434.     @numframes = numframes
  435.     @duration = numframes
  436.     @disposed = false
  437.     @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
  438.     @viewport.z = 99999
  439.     # gets screen size
  440.     @height = @viewport.height/4
  441.     @width = @viewport.width/10
  442.     # creates a sprite of screen
  443.     @backdrop = Sprite.new(@viewport)
  444.     @backdrop.snap_screen
  445.     # creates blank sprite
  446.     @sprite = Sprite.new(@viewport)
  447.     @sprite.bitmap = Bitmap.new(@viewport.width, @viewport.height)
  448.     if @numframes<=0
  449.       @disposed = true
  450.       return
  451.     end
  452.     # animates gradient pattern
  453.     for j in 0...4
  454.       y = [0,2,1,3]
  455.       for i in 1..10
  456.         @sprite.bitmap.fill_rect(0,@height*y[j],@width*i,@height,Color.white)
  457.         @backdrop.tone.red += 3
  458.         @backdrop.tone.green += 3
  459.         @backdrop.tone.blue += 3
  460.         #pbWait(1)
  461.         #Graphics.update
  462.       end
  463.     end
  464.     # ensures viewport is black
  465.     @viewport.color = Color.new(0,0,0,0)
  466.   end
  467.  
  468.   def disposed?; @disposed; end
  469.  
  470.   def dispose
  471.     return if disposed?
  472.     # disposes unused sprites
  473.     @backdrop.dispose if @backdrop
  474.     @sprite.dispose if @sprite
  475.     @viewport.dispose if @viewport
  476.     @disposed = true
  477.   end
  478.  
  479.   def update
  480.     return if disposed?
  481.     if @viewport.color.alpha < 255
  482.       @viewport.color.alpha += 25.5
  483.     else
  484.       dispose
  485.     end
  486.   end
  487.  
  488. end
  489.  
Add Comment
Please, Sign In to add comment