LorisC

Programmer that likes Pokemon and Dragon Ball

Male
Italy
Seen 3 Weeks Ago
Posted August 5th, 2019
197 posts
2.3 Years
I started this thread because I'm planning to create a Dragon Ball based hack.
In order to do so I started creating some fighter sprites and scripts, and I thought to share them as resources, just in case someone else wants to do something similar.

Sprites
Spoiler:
The sprites are arranged in rows of 4 images, respectively:
  • front sprite
  • front shiny sprite
  • back sprite
  • back shiny sprite
For now the shiny sprites are the same as the normal ones, it isn't my priority to make them at the moment, but sooner or later I'll start making them too.

Gohan
Spoiler:


Goku
Spoiler:


Vegeta
Spoiler:


Krillin
Spoiler:


Bacterian, Giran, King Chappa, Man-Wolf and Pintar
Spoiler:




Tiles
Spoiler:
Soon!


Scripts
Spoiler:
Fusion
Spoiler:
'It needs 2 asm routines, directly linked where they are needed.
'Some things can be done better or generalized, I'll do that soon, but for now I wanted to make a working one!

#org @start
call @buffer
msgbox @select1 0x2
call @select
'check if the selected pokemon is correct
compare 0x8005 <fusee1 species>
if 0x1 goto @selectOther
call @buffer
msgbox @error 0x2
end

#org @buffer
'buffers for messages

bufferpokemon 0x0 <fusee1 species>
bufferpokemon 0x1 <fusee2 species>
bufferpokemon 0x2 <fusion species>
return

#org @selectOther
'store the first fusee's position in 0x8006
copyvar 0x8006 0x8004

'the same operations as before done for the 2nd fusee
call @buffer
msgbox @select2 0x2
call @select
compare 0x8005 <fusee2 species>
if 0x1 goto @fusion
call @buffer
msgbox @error2 0x2
end

#org @fusion
'error if the same pokemon is chosen 2 times
'can happen only the 2 fusees are of the same species
comparevars 0x8006 0x8004
if 0x1 goto @samePokemon

'fusion using first fusee as base
copyvar 0x8001 0x8006
setvar 0x8002 <fusion species>
callasm <Silent Evolution routine address + 1>

'removal of the other one
callasm <removal routine address + 1>

'and lastly some music to celebrate the succeeded fusion!
fanfare 0x13E
call @buffer
msgbox @success 0x4
waitfanfare
closeonkeypress
end

#org @select
'select a pokemon from the party and stores its pokedex number in 0x8005
special 0x9F
waitstate
special2 0x8005 0xBA
return

#org @samePokemon
call @buffer
msgbox @samePokemonMsg 0x2
end

#org @select1
= Select a [buffer1] to fuse.

#org @select2
= Now select a [buffer2] to fuse.

#org @error
= That wasn't a [buffer1]!

#org @error2
= That wasn't a [buffer2]!

#org @samePokemonMsg
= [buffer1] can't fuse with itself!

#org @success
= [buffer1] and [buffer2] fused\ninto [buffer3]!