Analyzing this video, I realized if Kyurem's player does not have the SCARY FACE or GLACIATE moves, when fused with Reshiram or Zekrom, White / Black Kyurem will not have in his moveset the FUSION FLARE / FUSION BOLT, ICE BURN / FREEZE SHOCK moves.
Having this in mind and wanting to make my game as similar as possible to the official, I created the script below for when the player make fusion, Kyurem plus Reshiram or Zekrom:
Inside 'Pokemon_Forms', above GENESECT code, paste:
And done :D
P.S: If anyone knew how to simplify the code, please help me! I'll be grateful!
The DNA Splicers than I use:
Having this in mind and wanting to make my game as similar as possible to the official, I created the script below for when the player make fusion, Kyurem plus Reshiram or Zekrom:
Inside 'Pokemon_Forms', above GENESECT code, paste:
Spoiler:
Code:
MultipleForms.register(:KYUREM,{
"onSetForm"=>proc{|pokemon,form|
moves=[
:SCARYFACE, # Standard
:FUSIONFLARE, # White Kyurem
:FUSIONBOLT # Black Kyurem
]
hasoldmove=-1
for i in 0...4
for j in 0...moves.length
if isConst?(pokemon.moves[i].id,PBMoves,moves[j])
hasoldmove=i;break
end
end
break if hasoldmove>=0
end
# Automatically replace the old form's special move with the new one's
if form>0
if pokemon.hasMove?(:SCARYFACE)
pokemon.moves[hasoldmove] = PBMove.new(getID(PBMoves,:FUSIONFLARE)) if form==1
pokemon.moves[hasoldmove] = PBMove.new(getID(PBMoves,:FUSIONBOLT)) if form==2
end
else
if pokemon.hasMove?(:FUSIONFLARE) || pokemon.hasMove?(:FUSIONBOLT)
pokemon.moves[hasoldmove] = PBMove.new(getID(PBMoves,:SCARYFACE))
end
end
secondmoves=[
:GLACIATE, # Standard
:ICEBURN, # White Kyurem
:FREEZESHOCK # Black Kyurem
]
hassecondoldmove=-1
for i in 0...4
for j in 0...secondmoves.length
if isConst?(pokemon.moves[i].id,PBMoves,secondmoves[j])
hassecondoldmove=i;break
end
end
break if hassecondoldmove>=0
end
# Automatically replace the old form's special move with the new one's
if form>0
if pokemon.hasMove?(:GLACIATE)
pokemon.moves[hassecondoldmove] = PBMove.new(getID(PBMoves,:ICEBURN)) if form==1
pokemon.moves[hassecondoldmove] = PBMove.new(getID(PBMoves,:FREEZESHOCK)) if form==2
end
else
if pokemon.hasMove?(:ICEBURN) || pokemon.hasMove?(:FREEZESHOCK)
pokemon.moves[hassecondoldmove] = PBMove.new(getID(PBMoves,:GLACIATE))
end
end
}
})
And done :D
P.S: If anyone knew how to simplify the code, please help me! I'll be grateful!
The DNA Splicers than I use:
Spoiler:
Code:
ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc{|item,pokemon,scene|
if isConst?(pokemon.species,PBSpecies,:KYUREM)
if pokemon.hp>0
if pokemon.fused!=nil
if pokemon.hasItem? && item>0
$PokemonBag.pbStoreItem(pokemon.item)
pokemon.setItem(0)
end
if $Trainer.party.length>=6
scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
next false
else
$Trainer.party[$Trainer.party.length]=pokemon.fused
#scene.pbAnimForme(pokemon.species,$Trainer.party.index(pokemon),pokemon.form)
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
#$PokemonBag.pbChangeItem(:SDNASPLICERS,:DNASPLICERS)
next true
end
else
chosen=scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?"))
if chosen>=0
poke2=$Trainer.party[chosen]
if (isConst?(poke2.species,PBSpecies,:RESHIRAM) || isConst?(poke2.species,PBSpecies,:ZEKROM)) &&
poke2.hp>0 && !poke2.egg?
if poke2.hasItem? && item>0
$PokemonBag.pbStoreItem(poke2.item)
poke2.setItem(0)
end
#if $game_switches[TOGGLE_FOLLOWING]
#$game_variables[CURRENT_SPECIES]=pokemon.personalID if poke2==$Trainer.party[pbFollowerPosition]
#end
#nform=1 if isConst?(poke2.species,PBSpecies,:RESHIRAM)
#nform=2 if isConst?(poke2.species,PBSpecies,:ZEKROM)
#scene.pbAnimFormeFusion(pokemon.species,$Trainer.party.index(pokemon),poke2.species,chosen,nform)
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:RESHIRAM)
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:ZEKROM)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
#pbPlayCry(pokemon)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
#$PokemonBag.pbChangeItem(:DNASPLICERS,:SDNASPLICERS)
next true
elsif poke2.egg?
scene.pbDisplay(_INTL("It cannot be fused with an Egg."))
elsif poke2.hp<=0
scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon."))
elsif pokemon==poke2
scene.pbDisplay(_INTL("It cannot be fused with itself."))
else
scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
end
else
next false
end
end
else
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
end
else
scene.pbDisplay(_INTL("It had no effect."))
next false
end
})
#ItemHandlers::UseOnPokemon.copy(:DNASPLICERS,:SDNASPLICERS)
Last edited: