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
Tiles
Scripts
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:
Gohan
Goku
Vegeta
Krillin
Bacterian, Giran, King Chappa, Man-Wolf and Pintar
- front sprite
- front shiny sprite
- back sprite
- back shiny sprite
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]!
'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]!
Last edited: