The PokéCommunity Forums Fan Games Game Development Scripts, Tutorials & Tools
Essentials Script Custom Animation Move (Elite Battle System)

Scripts, Tutorials & Tools This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.

Reply
 
Thread Tools
  #1    
Old 4 Weeks Ago (2:12 PM). Edited 4 Weeks Ago by WolfPP.
WolfPP's Avatar
WolfPP WolfPP is online now
     
    Join Date: Aug 2018
    Location: Brazil
    Gender: Male
    Nature: Jolly
    Posts: 153
    Hi guys!

    I'll create new animations and add them here when I finish.
    THAT SCRIPTS ARE FOR THE EBS - ELITE BATTLE SYSTEM (by Luka S.J.).

    You just need to paste the script into 'MoveAnimations Script', under 'def pbAnimation (moveid, user, target, hitnum = 0)' between last 'end' and bug bite script Like:

    Code:
      end
    PASTE HERE
      #-----------------------------------------------------------------------------
      #  Bug Bite
      #-----------------------------------------------------------------------------
    If you have custom animations and you want to share with us, feel free (and we would even appreciate it).

    Counter (your move.txt will have that move in 115):
    Spoiler:

    Code:
      #-----------------------------------------------------------------------------
      #  Counter
      #-----------------------------------------------------------------------------
      def pbMoveAnimationSpecific115(userindex,targetindex,hitnum=0,multihit=false)
        # inital configuration
        usersprite = @sprites["pokemon#{userindex}"]
        targetsprite = @sprites["pokemon#{targetindex}"]
        player = (targetindex%2==0)
        itself = (userindex==targetindex)
        factor = (player ? 2 : 1.5)
        defaultvector = @battle.doublebattle ? VECTOR2 : VECTOR1
        # set up animation
        fp = {}
        fp["bg"] = Sprite.new(targetsprite.viewport)
        fp["bg"].bitmap = Bitmap.new(targetsprite.viewport.rect.width,targetsprite.viewport.rect.height)
        fp["bg"].bitmap.fill_rect(0,0,fp["bg"].bitmap.width,fp["bg"].bitmap.height,Color.new(217/6,189/6,52/6))
        fp["bg"].opacity = 0
        l = 0; m = 0; q = 0
        for i in 0...12
          fp["#{i}"] = Sprite.new(targetsprite.viewport)
          fp["#{i}"].opacity = 0
          fp["#{i}"].z = 51
        end
        fp["punch"] = Sprite.new(targetsprite.viewport)
        fp["punch"].bitmap = pbBitmap("Graphics/Animations/eb108")
        fp["punch"].ox = fp["punch"].bitmap.width/2
        fp["punch"].oy = fp["punch"].bitmap.height/2
        fp["punch"].opacity = 0
        fp["punch"].z = 40
        fp["punch"].angle = 180
        fp["punch"].zoom_x = player ? 6 : 4
        fp["punch"].zoom_y = player ? 6 : 4
        fp["punch"].color = Color.new(217,189,52,50)
        # start animation
        @vector.set(getRealVector(targetindex,player))
        pbSEPlay("#{SE_EXTRA_PATH}fog2",75)
        for i in 0...72
          cx, cy = getCenter(targetsprite,true)
          fp["punch"].x = cx
          fp["punch"].y = cy
          fp["punch"].angle -= 45 if i < 40
          fp["punch"].zoom_x -= player ? 0.2 : 0.15 if i < 40
          fp["punch"].zoom_y -= player ? 0.2 : 0.15 if i < 40
          fp["punch"].opacity += 8 if i < 40
          if i >= 40
            fp["punch"].tone = Tone.new(255,255,255) if i == 40
            fp["punch"].toneAll(-25.5)
            fp["punch"].opacity -= 25.5
          end
          pbSEPlay("#{SE_EXTRA_PATH}hit") if i==40
          for n in 0...12
            next if m>(i-40)/4
            fp["#{n}"].opacity += 51 if fp["#{n}"].tone.gray == 0
            fp["#{n}"].tone.gray = 1 if fp["#{n}"].opacity >= 255
            q += 1 if fp["#{n}"].opacity >= 255
            fp["#{n}"].opacity -= 10 if fp["#{n}"].tone.gray > 0 && q > 96
          end
          fp["bg"].opacity += 4 if  i < 40
          fp["bg"].opacity -= 10 if i >= 56
          targetsprite.tone = Tone.new(100,80,60) if i == 40
          if i >= 40
            if (i-40)/3 > l
              m += 1
              m = 0 if m > 1
              l = (i-40)/3
            end
            targetsprite.zoom_y -= 0.16*(m==0 ? 1 : -1)
            targetsprite.zoom_x += 0.08*(m==0 ? 1 : -1)
            targetsprite.tone.red -= 5 if targetsprite.tone.red > 0
            targetsprite.tone.green -= 4 if targetsprite.tone.green > 0
            targetsprite.tone.blue -= 3 if targetsprite.tone.blue > 0
            targetsprite.still
          end
          wait(1,(i < 40))
        end
        @vector.set(defaultvector) if !multihit
        pbDisposeSpriteHash(fp)
        return true
      end


    Force Palm (move.txt = 102) eb_109 in attachments
    Spoiler:

    Code:
      #-----------------------------------------------------------------------------
      #  Force Palm
      #-----------------------------------------------------------------------------
      def pbMoveAnimationSpecific102(userindex,targetindex,hitnum=0,multihit=false)
        # inital configuration
        usersprite = @sprites["pokemon#{userindex}"]
        targetsprite = @sprites["pokemon#{targetindex}"]
        player = (targetindex%2==0)
        itself = (userindex==targetindex)
        factor = (player ? 2 : 1.5)
        defaultvector = @battle.doublebattle ? VECTOR2 : VECTOR1
        # set up animation
        fp = {}
        fp["bg"] = Sprite.new(targetsprite.viewport)
        fp["bg"].bitmap = Bitmap.new(targetsprite.viewport.rect.width,targetsprite.viewport.rect.height)
        fp["bg"].bitmap.fill_rect(0,0,fp["bg"].bitmap.width,fp["bg"].bitmap.height,Color.new(217/6,189/6,52/6))
        fp["bg"].opacity = 0
        l = 0; m = 0; q = 0
        for i in 0...12
          fp["#{i}"] = Sprite.new(targetsprite.viewport)
          fp["#{i}"].opacity = 0
          fp["#{i}"].z = 51
        end
        fp["punch"] = Sprite.new(targetsprite.viewport)
        fp["punch"].bitmap = pbBitmap("Graphics/Animations/eb109")
        fp["punch"].ox = fp["punch"].bitmap.width/2
        fp["punch"].oy = fp["punch"].bitmap.height/2
        fp["punch"].opacity = 0
        fp["punch"].z = 40
        fp["punch"].angle = 180
        fp["punch"].zoom_x = player ? 6 : 4
        fp["punch"].zoom_y = player ? 6 : 4
        #fp["punch"].color = Color.new(217,189,52,50)
        fp["punch"].color = Color.new(180,53,2,0)
        # start animation
        @vector.set(getRealVector(targetindex,player))
        pbSEPlay("#{SE_EXTRA_PATH}fog2",75)
        for i in 0...72
          cx, cy = getCenter(targetsprite,true)
          fp["punch"].x = cx
          fp["punch"].y = cy
          fp["punch"].angle -= 45 if i < 40
          fp["punch"].zoom_x -= player ? 0.2 : 0.15 if i < 40
          fp["punch"].zoom_y -= player ? 0.2 : 0.15 if i < 40
          fp["punch"].opacity += 8 if i < 40
          if i >= 40
            fp["punch"].tone = Tone.new(255,255,255) if i == 40
            fp["punch"].toneAll(-25.5)
            fp["punch"].opacity -= 25.5
          end
          pbSEPlay("#{SE_EXTRA_PATH}hit") if i==40
          for n in 0...12
            next if m>(i-40)/4
            fp["#{n}"].opacity += 51 if fp["#{n}"].tone.gray == 0
            fp["#{n}"].tone.gray = 1 if fp["#{n}"].opacity >= 255
            q += 1 if fp["#{n}"].opacity >= 255
            fp["#{n}"].opacity -= 10 if fp["#{n}"].tone.gray > 0 && q > 96
          end
          fp["bg"].opacity += 4 if  i < 40
          fp["bg"].opacity -= 10 if i >= 56
          targetsprite.tone = Tone.new(100,80,60) if i == 40
          if i >= 40
            if (i-40)/3 > l
              m += 1
              m = 0 if m > 1
              l = (i-40)/3
            end
            targetsprite.zoom_y -= 0.16*(m==0 ? 1 : -1)
            targetsprite.zoom_x += 0.08*(m==0 ? 1 : -1)
            targetsprite.tone.red -= 5 if targetsprite.tone.red > 0
            targetsprite.tone.green -= 4 if targetsprite.tone.green > 0
            targetsprite.tone.blue -= 3 if targetsprite.tone.blue > 0
            targetsprite.still
          end
          wait(1,(i < 40))
        end
        @vector.set(defaultvector) if !multihit
        pbDisposeSpriteHash(fp)
        return true
      end


    I will make new animations from what the system already has, and sharing with you here in this topic.

    See you later!
    Attached Images
    File Type: png eb109.png‎ (833 Bytes, 220 views) (Save to Dropbox)
    Reply With Quote
      #2    
    Old 2 Weeks Ago (11:07 AM).
    ArchyTheArc ArchyTheArc is offline
       
      Join Date: Apr 2017
      Posts: 69
      This is something i've been wondering about for ages! thanks for making this script/tutorial kinda so i know how to add/make new animations (kinda)

      Hope you/others (or me if i can ever make animations well) keep this alive so EBS gets most/all official moves animated or give developers knowledge on making more move animations.

      One thing i've been unsure on how to do more, if possible, is the terrain moves, with their coding would them having animations act as move animations or like the weathers? (if you know that) sorry to pester with questions/ requests ig jsut wondering how they'd work! ^^;
      Reply With Quote
        #3    
      Old 2 Weeks Ago (11:05 PM).
      thepsynergist's Avatar
      thepsynergist thepsynergist is offline
      A Gym Leader, Kyushu Region
         
        Join Date: Mar 2009
        Location: California, USA
        Age: 28
        Gender: Male
        Nature: Adamant
        Posts: 759
        This helps a bunch. I've just been lazily recoloring a lot of the other moves over for use.
        __________________




        Pokemon Pyrite is now complete, check out the trailer/download link here: https://www.youtube.com/watch?v=X6g5pXPXyV4
        Reply With Quote
          #4    
        Old 2 Weeks Ago (6:34 AM). Edited 2 Weeks Ago by WolfPP.
        WolfPP's Avatar
        WolfPP WolfPP is online now
           
          Join Date: Aug 2018
          Location: Brazil
          Gender: Male
          Nature: Jolly
          Posts: 153
          Quote:
          Originally Posted by ArchyTheArc View Post
          This is something i've been wondering about for ages! thanks for making this script/tutorial kinda so i know how to add/make new animations (kinda)

          Hope you/others (or me if i can ever make animations well) keep this alive so EBS gets most/all official moves animated or give developers knowledge on making more move animations.

          One thing i've been unsure on how to do more, if possible, is the terrain moves, with their coding would them having animations act as move animations or like the weathers? (if you know that) sorry to pester with questions/ requests ig jsut wondering how they'd work! ^^;
          Oh! Of course i will! Im vacation now, but untill friday i will make them...

          Im concentrate in necrozma's moves, like photon geyser, sun steel strike and moon bla bla cuz im mergin EBS to Z-Move :D (look: https://www.pokecommunity.com/showthread.php?t=414602&highlight=z-move)
          Reply With Quote
            #5    
          Old 2 Weeks Ago (6:48 AM).
          rekman's Avatar
          rekman rekman is offline
             
            Join Date: Jan 2018
            Posts: 19
            Good idea Wolf!
            I made in few seconds those 3 animations with the same code you used:
            Bone Club, Bonemerang, Bone Rush
            Download the graphic attachment.
            Spoiler:
            Code:
              #-----------------------------------------------------------------------------
              #  Bone Club
              #-----------------------------------------------------------------------------
              def pbMoveAnimationSpecific227(userindex,targetindex,hitnum=0,multihit=false)
                # inital configuration
                usersprite = @sprites["pokemon#{userindex}"]
                targetsprite = @sprites["pokemon#{targetindex}"]
                player = (targetindex%2==0)
                itself = (userindex==targetindex)
                factor = (player ? 2 : 1.5)
                defaultvector = @battle.doublebattle ? VECTOR2 : VECTOR1
                # set up animation
                fp = {}
                fp["bg"] = Sprite.new(targetsprite.viewport)
                fp["bg"].bitmap = Bitmap.new(targetsprite.viewport.rect.width,targetsprite.viewport.rect.height)
                fp["bg"].bitmap.fill_rect(0,0,fp["bg"].bitmap.width,fp["bg"].bitmap.height,Color.new(217/6,189/6,52/6))
                fp["bg"].opacity = 0
                l = 0; m = 0; q = 0
                for i in 0...12
                  fp["#{i}"] = Sprite.new(targetsprite.viewport)
                  fp["#{i}"].opacity = 0
                  fp["#{i}"].z = 51
                end
                fp["punch"] = Sprite.new(targetsprite.viewport)
                fp["punch"].bitmap = pbBitmap("Graphics/Animations/eb227")
                fp["punch"].ox = fp["punch"].bitmap.width/2
                fp["punch"].oy = fp["punch"].bitmap.height/2
                fp["punch"].opacity = 0
                fp["punch"].z = 40
                fp["punch"].angle = 180
                fp["punch"].zoom_x = player ? 6 : 4
                fp["punch"].zoom_y = player ? 6 : 4
                #fp["punch"].color = Color.new(217,189,52,50)
                fp["punch"].color = Color.new(180,53,2,0)
                # start animation
                @vector.set(getRealVector(targetindex,player))
                pbSEPlay("#{SE_EXTRA_PATH}fog2",75)
                for i in 0...72
                  cx, cy = getCenter(targetsprite,true)
                  fp["punch"].x = cx
                  fp["punch"].y = cy
                  fp["punch"].angle -= 45 if i < 40
                  fp["punch"].zoom_x -= player ? 0.2 : 0.15 if i < 40
                  fp["punch"].zoom_y -= player ? 0.2 : 0.15 if i < 40
                  fp["punch"].opacity += 8 if i < 40
                  if i >= 40
                    fp["punch"].tone = Tone.new(255,255,255) if i == 40
                    fp["punch"].toneAll(-25.5)
                    fp["punch"].opacity -= 25.5
                  end
                  pbSEPlay("#{SE_EXTRA_PATH}hit") if i==40
                  for n in 0...12
                    next if m>(i-40)/4
                    fp["#{n}"].opacity += 51 if fp["#{n}"].tone.gray == 0
                    fp["#{n}"].tone.gray = 1 if fp["#{n}"].opacity >= 255
                    q += 1 if fp["#{n}"].opacity >= 255
                    fp["#{n}"].opacity -= 10 if fp["#{n}"].tone.gray > 0 && q > 96
                  end
                  fp["bg"].opacity += 4 if  i < 40
                  fp["bg"].opacity -= 10 if i >= 56
                  targetsprite.tone = Tone.new(100,80,60) if i == 40
                  if i >= 40
                    if (i-40)/3 > l
                      m += 1
                      m = 0 if m > 1
                      l = (i-40)/3
                    end
                    targetsprite.zoom_y -= 0.16*(m==0 ? 1 : -1)
                    targetsprite.zoom_x += 0.08*(m==0 ? 1 : -1)
                    targetsprite.tone.red -= 5 if targetsprite.tone.red > 0
                    targetsprite.tone.green -= 4 if targetsprite.tone.green > 0
                    targetsprite.tone.blue -= 3 if targetsprite.tone.blue > 0
                    targetsprite.still
                  end
                  wait(1,(i < 40))
                end
                @vector.set(defaultvector) if !multihit
                pbDisposeSpriteHash(fp)
                return true
              end
              #-----------------------------------------------------------------------------
              #  Bonemerang
              #-----------------------------------------------------------------------------  
              def pbMoveAnimationSpecific231(userindex,targetindex,hitnum=0,multihit=false)
                return pbMoveAnimationSpecific227(userindex,targetindex,hitnum=0,multihit=false)
              end
              #-----------------------------------------------------------------------------
              #  Bone Rush
              #-----------------------------------------------------------------------------  
              def pbMoveAnimationSpecific233(userindex,targetindex,hitnum=0,multihit=false)
                pbMoveAnimationSpecific227(userindex,targetindex,hitnum=0,multihit=false)
              end


            I've made other animations for my game but they are not really good. Maybe if other people come up with new animations, I will put them with a bit of work of respriting.
            Attached Images
            File Type: png eb227.png‎ (1.6 KB, 157 views) (Save to Dropbox)
            __________________
            Pokemon Winter memories ~ Developing..
            ________________________
            Defining trainers' EV through formula: https://www.pokecommunity.com/showthread.php?t=414192
            Reply With Quote
              #6    
            Old 2 Weeks Ago (3:59 PM). Edited 2 Weeks Ago by Luka S.J..
            Luka S.J.'s Avatar
            Luka S.J. Luka S.J. is offline
            Jealous Croatian
               
              Join Date: Dec 2008
              Location: Croatia
              Age: 25
              Gender: Male
              Nature: Adamant
              Posts: 1,116
              In case you want a point of reference, I used the following video when making the animations from scratch in Essentials, to get them close to what they look like in the official gen 5 games.

              The graphics I had to make from scratch, though the sound effects were provided to me by BadSamaritan (who seems to have deleted all their forum postsposts in the EBS thread) which I don't have anymore to in turn give to you, unfortunately.



              Hope the video can do you some good at least.
              __________________

              Reply With Quote
                #7    
              Old 2 Weeks Ago (3:51 PM).
              rekman's Avatar
              rekman rekman is offline
                 
                Join Date: Jan 2018
                Posts: 19
                Spoiler:
                Quote:
                Originally Posted by Luka S.J. View Post
                In case you want a point of reference, I used the following video when making the animations from scratch in Essentials, to get them close to what they look like in the official gen 5 games.

                The graphics I had to make from scratch, though the sound effects were provided to me by BadSamaritan (who seems to have deleted all their forum postsposts in the EBS thread) which I don't have anymore to in turn give to you, unfortunately.



                Hope the video can do you some good at least.

                Thanks Luka! I must say that the EBS covers really well a wide range of moves with the common animation script at the bottom of the 7th page of EBS scripts :) Also, in the case one wants to mix already scripted animation of essentials with yours, only FEW moves remain to be scripted because of their particularity (like bone rush, etc..). The video you posted is a very good place where to start.
                I hope that, even if EBS is not available anymore, the community won't stop to improve the animations, that are usually ignored.
                __________________
                Pokemon Winter memories ~ Developing..
                ________________________
                Defining trainers' EV through formula: https://www.pokecommunity.com/showthread.php?t=414192
                Reply With Quote
                  #8    
                Old 1 Week Ago (6:22 AM).
                WolfPP's Avatar
                WolfPP WolfPP is online now
                   
                  Join Date: Aug 2018
                  Location: Brazil
                  Gender: Male
                  Nature: Jolly
                  Posts: 153
                  Quote:
                  Originally Posted by Luka S.J. View Post
                  In case you want a point of reference, I used the following video when making the animations from scratch in Essentials, to get them close to what they look like in the official gen 5 games.

                  The graphics I had to make from scratch, though the sound effects were provided to me by BadSamaritan (who seems to have deleted all their forum postsposts in the EBS thread) which I don't have anymore to in turn give to you, unfortunately.



                  Hope the video can do you some good at least.
                  I saw this video. Thanks Luka! Maybe next week i will put a tutorial "How add Z-move in EBS" :D i hope you comment!
                  Reply With Quote
                    #9    
                  Old 1 Week Ago (6:19 AM).
                  buttjuice's Avatar
                  buttjuice buttjuice is offline
                     
                    Join Date: Jul 2016
                    Gender: Male
                    Nature: Lax
                    Posts: 102
                    Would love to see dig, bounce and any other two turn, invisible move animations for EBS. Maybe looking at the code for fly can help ^^
                    __________________
                    Reply With Quote
                      #10    
                    Old 1 Week Ago (4:11 PM).
                    WolfPP's Avatar
                    WolfPP WolfPP is online now
                       
                      Join Date: Aug 2018
                      Location: Brazil
                      Gender: Male
                      Nature: Jolly
                      Posts: 153
                      Quote:
                      Originally Posted by buttjuice View Post
                      Would love to see dig, bounce and any other two turn, invisible move animations for EBS. Maybe looking at the code for fly can help ^^
                      Try to make them... Just read how its works some move in 'MoveAnimations Script' and create a animation for these moves :D
                      Reply With Quote
                      Reply

                      Quick Reply

                      Join the conversation!

                      Create an account to post a reply in this thread, participate in other discussions, and more!

                      Create a PokéCommunity Account
                      Thread Tools

                      Posting Rules
                      You may not post new threads
                      You may not post replies
                      You may not post attachments
                      You may not edit your posts

                      BB code is On
                      Smilies are On
                      [IMG] code is On
                      HTML code is Off

                      Forum Jump


                      All times are GMT -8. The time now is 11:33 PM.