So for anyone that wants my primal reversion animation (nothing major)
![]()
Spoiler:
in the animation script at "def pbChangePokemon(attacker,pokemon)" under "for in battle sprite changes"
add
under "return pbMegaAnimation"Code:return pbPrimalAnimation(attacker,pokemon) if pokemon.isPrimal? && !CUSTOMANIMATIONS
then under "Def pbMegaAnimation"
add
Code:def pbPrimalGAnimation(attacker,pokemon) for i in 0...4 @sprites["battlebox#{i}"].visible=false if @sprites["battlebox#{i}"] end clearMessageWindow fp = {} pkmn = @sprites["pokemon#{attacker.index}"] vector = @battle.doublebattle ? VECTOR2 : VECTOR1 back = [email protected]?(attacker.index) @vector.set(getRealVector(attacker.index,back)) wait(16,true) factor = pkmn.zoom_x fp["bg"] = ScrollingSprite.new(pkmn.viewport) fp["bg"].setBitmap("Graphics/Animations/ebPrimalBg") fp["bg"].speed = 32 fp["bg"].opacity = 0 # particle initialization for i in 0...16 fp["c#{i}"] = Sprite.new(pkmn.viewport) fp["c#{i}"].z = pkmn.z + 10 fp["c#{i}"].bitmap = pbBitmap(sprintf("Graphics/Animations/ebPrimal%03d",rand(4)+1)) fp["c#{i}"].ox = fp["c#{i}"].bitmap.width/2 fp["c#{i}"].oy = fp["c#{i}"].bitmap.height/2 fp["c#{i}"].opacity = 0 end # ray initialization rangle = [] cx, cy = getCenter(pkmn,true) for i in 0...8; rangle.push((360/8)*i + 15); end for j in 0...8 fp["r#{j}"] = Sprite.new(viewport) fp["r#{j}"].bitmap = pbBitmap("Graphics/Animations/ebPrimal005") fp["r#{j}"].ox = 0 fp["r#{j}"].oy = fp["r#{j}"].bitmap.height/2 fp["r#{j}"].opacity = 0 fp["r#{j}"].zoom_x = 0 fp["r#{j}"].zoom_y = 0 fp["r#{j}"].x = cx fp["r#{j}"].y = cy a = rand(rangle.length) fp["r#{j}"].angle = rangle[a] fp["r#{j}"].z = pkmn.z + 2 rangle.delete_at(a) end # ripple initialization for j in 0...3 fp["v#{j}"] = Sprite.new(viewport) fp["v#{j}"].bitmap = pbBitmap("Graphics/Animations/ebPrimal006") fp["v#{j}"].ox = fp["v#{j}"].bitmap.width/2 fp["v#{j}"].oy = fp["v#{j}"].bitmap.height/2 fp["v#{j}"].x = cx fp["v#{j}"].y = cy fp["v#{j}"].opacity = 0 fp["v#{j}"].zoom_x = 2 fp["v#{j}"].zoom_y = 2 end fp["primal"] = Sprite.new(pkmn.viewport) fp["primal"].bitmap = pbBitmap("Graphics/Animations/ebPrimal007GROUDON") fp["primal"].ox = fp["primal"].bitmap.width/2 fp["primal"].oy = fp["primal"].bitmap.height/2 fp["primal"].x = cx fp["primal"].y = cy fp["primal"].opacity = 0 fp["primal"].z = pkmn.z + 20 fp["primal"].tone = Tone.new(255,255,255) fp["circle"] = Sprite.new(pkmn.viewport) fp["circle"].bitmap = Bitmap.new(pkmn.bitmap.width*1.25,pkmn.bitmap.height*1.25) fp["circle"].bitmap.drawCircle fp["circle"].ox = fp["circle"].bitmap.width/2 fp["circle"].oy = fp["circle"].bitmap.height/2 fp["circle"].x = cx fp["circle"].y = cy fp["circle"].z = pkmn.z + 10 fp["circle"].zoom_x = 0 fp["circle"].zoom_y = 0 t = 0 z = 0.02 pbSEPlay("#{SE_EXTRA_PATH}Harden",120) for i in 0...128 fp["bg"].opacity += 8 fp["bg"].update t += 8 if t < 255 pkmn.tone = Tone.new(t,t,t) # particle animation for j in 0...16 next if j > (i/8) if fp["c#{j}"].opacity == 0 && i < 72 fp["c#{j}"].opacity = 255 x, y = randCircleCord(96*factor) fp["c#{j}"].x = cx - 96*factor + x fp["c#{j}"].y = cy - 96*factor + y end x2 = cx y2 = cy x0 = fp["c#{j}"].x y0 = fp["c#{j}"].y fp["c#{j}"].x += (x2 - x0)*0.1 fp["c#{j}"].y += (y2 - y0)*0.1 fp["c#{j}"].opacity -= 16 end # ray animation for j in 0...8 if fp["r#{j}"].opacity == 0 && j <= (i%128)/16 && i < 96 fp["r#{j}"].opacity = 255 fp["r#{j}"].zoom_x = 0 fp["r#{j}"].zoom_y = 0 end fp["r#{j}"].opacity -= 4 fp["r#{j}"].zoom_x += 0.05 fp["r#{j}"].zoom_y += 0.05 end # circle animation if i < 48 elsif i < 64 fp["circle"].zoom_x += factor/16.0 fp["circle"].zoom_y += factor/16.0 elsif i >= 124 fp["circle"].zoom_x += factor fp["circle"].zoom_y += factor else z *= -1 if (i-96)%4 == 0 fp["circle"].zoom_x += z fp["circle"].zoom_y += z end pbSEPlay("#{SE_EXTRA_PATH}Twine",80) if i == 40 pbSEPlay("#{SE_EXTRA_PATH}Refresh") if i == 56 if i >= 24 # mega symbol animation if i >= 64 fp["primal"].zoom_x += 0.04 fp["primal"].zoom_y += 0.04 #fp["mega"].opacity -= 8 elsif fp["primal"].zoom_y < factor fp["primal"].zoom_x += (factor-1)/16.0 fp["primal"].zoom_y += (factor-1)/16.0 #fp["mega"].opacity += 16 else fp["primal"].tone.red -= 16 if fp["primal"].tone.red > 0 fp["primal"].tone.green -= 16 if fp["primal"].tone.green > 0 fp["primal"].tone.blue -= 16 if fp["primal"].tone.blue > 0 end # ripple animation for j in 0...3 next if j > (i-32)/8 next if fp["v#{j}"].zoom_x <= 0 fp["v#{j}"].opacity += 16 fp["v#{j}"].zoom_x -= 0.05 fp["v#{j}"].zoom_y -= 0.05 end end wait(1,true) end pkmn.viewport.color = Color.new(255,255,255) pkmn.tone = Tone.new(0,0,0) pbDisposeSpriteHash(fp) fp["impact"] = Sprite.new(pkmn.viewport) fp["impact"].bitmap = pbBitmap("Graphics/Pictures/impact") fp["impact"].ox = fp["impact"].bitmap.width/2 fp["impact"].oy = fp["impact"].bitmap.height/2 fp["impact"].x = pkmn.viewport.rect.width/2 fp["impact"].y = pkmn.viewport.rect.height/2 fp["impact"].z = 999 fp["impact"].opacity = 0 pkmn.setPokemonBitmap(pokemon,back) pbPlayCry(pokemon) k = -2 for i in 0...24 fp["impact"].opacity += 64 fp["impact"].angle += 180 if i%4 == 0 fp["impact"].mirror = !fp["impact"].mirror if i%4 == 2 k *= -1 if i%4 == 0 pkmn.viewport.color.alpha -= 16 moveEntireScene(0,k,true,true) wait(1,false) end for i in 0...16 fp["impact"].opacity -= 64 fp["impact"].angle += 180 if i%4 == 0 fp["impact"].mirror = !fp["impact"].mirror if i%4 == 2 wait(1) end @vector.set(vector) for i in 0...4 @sprites["battlebox#{i}"].visible = true if @sprites["battlebox#{i}"] end fp["impact"].dispose end
ill update this post when i figure out how to set up different signs like the official games.
the files for it are in the .zip below; put them in "Graphics/Animations" the last one is empty to show no symbol currently.
Good! Maybe i will draw something to change these circle (like original games).
Also, you can put this:
Code:
def pbPrimalAnimation(attacker,pokemon)
if !(pokemon.species!=383 || pokemon.form<1) && !CUSTOMANIMATIONS
return GroudonAnimation(attacker,pokemon)
elsif !(pokemon.species!=382 || pokemon.form<1) && !CUSTOMANIMATIONS
return KyogreAnimation(userindex,targetindex)
end
end
def GroudonAnimation(attacker,pokemon)
blablabla
end
def KyogreAnimation(attacker,pokemon)
mimimi
end
EDIT: Also, if you want the symbols:
https://www.deviantart.com/coolshallow/art/Primal-Kyogre-Alpha-Symbol-452752492
https://www.deviantart.com/coolshallow/art/Primal-Groudon-Omega-Symbol-452752056
Last edited: