- 10
- Posts
- 7
- Years
- Seen Apr 10, 2025
I have added Necrozma, Solgaleo, Lunala, all of Necrozma's forms, the N-Solarizer and the N-Lunarizer.
I have copied the Item effect of the DNA-Splicers to make the N-Solarizer and N-Lunarizer work.
DNA Splicers
N-Solarizer
N-Lunarizer
Then I added the Ultranecrozium-Z and the form change that occurs when Dusk Mane Necrozma or Dawn Wing Necrozma is holding it.
Necrozma Forms
But now I need help figuring out how to get Ultra Necrozma to change back to Dusk Mane or Dawn Wings Necrozma. I've tried adding this:
Ultra Necrozma trying to revert back to Dusk Mane or Dawn Wings.
but I got a syntax error. (I don't if it's the (>0 || <3) or !isConst?)
I'm sure there are a lot of people who would like to have Ultra Necrozma in their game.
I have copied the Item effect of the DNA-Splicers to make the N-Solarizer and N-Lunarizer work.
DNA Splicers
Spoiler:
ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc{|item,pokemon,scene|
if isConst?(pokemon.species,PBSpecies,:KYUREM)
if pokemon.hp>0
if pokemon.fused!=nil
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.kfused
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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?
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:RESHIRAM)
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:ZEKROM)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
if isConst?(pokemon.species,PBSpecies,:KYUREM)
if pokemon.hp>0
if pokemon.fused!=nil
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.kfused
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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?
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:RESHIRAM)
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:ZEKROM)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
N-Solarizer
Spoiler:
ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc{|item,pokemon,scene|
if isConst?(pokemon.species,PBSpecies,:NECROZMA)
if pokemon.hp>0
if pokemon.fused!=nil
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
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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,:SOLGALEO) ||
isConst?(poke2.species,PBSpecies,:SOLGALEO)) && poke2.hp>0 && !poke2.egg?
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:SOLGALEO)
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:SOLGALEO)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
if isConst?(pokemon.species,PBSpecies,:NECROZMA)
if pokemon.hp>0
if pokemon.fused!=nil
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
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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,:SOLGALEO) ||
isConst?(poke2.species,PBSpecies,:SOLGALEO)) && poke2.hp>0 && !poke2.egg?
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:SOLGALEO)
pokemon.form=1 if isConst?(poke2.species,PBSpecies,:SOLGALEO)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
N-Lunarizer
Spoiler:
ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc{|item,pokemon,scene|
if isConst?(pokemon.species,PBSpecies,:NECROZMA)
if pokemon.hp>0
if pokemon.fused!=nil
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
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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,:LUNALA) ||
isConst?(poke2.species,PBSpecies,:LUNALA)) && poke2.hp>0 && !poke2.egg?
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:LUNALA)
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:LUNALA)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
if isConst?(pokemon.species,PBSpecies,:NECROZMA)
if pokemon.hp>0
if pokemon.fused!=nil
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
pokemon.fused=nil
pokemon.form=0
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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,:LUNALA) ||
isConst?(poke2.species,PBSpecies,:LUNALA)) && poke2.hp>0 && !poke2.egg?
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:LUNALA)
pokemon.form=2 if isConst?(poke2.species,PBSpecies,:LUNALA)
pokemon.fused=poke2
pbRemovePokemonAt(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pokemon.name))
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
})
Then I added the Ultranecrozium-Z and the form change that occurs when Dusk Mane Necrozma or Dawn Wing Necrozma is holding it.
Necrozma Forms
Spoiler:
MultipleForms.register(:NECROZMA,{
"getForm"=>proc{|pokemon|
next 3 if pokemon.form==1 && isConst?(pokemon.item,PBItems,:ULTRANECROZIUMZ2) #ULTRANECROZIUMZ is the key item, the one that appears in the bag. ULTRANECROZIUMZ2 is the normal item, the one that the Pok?mon can hold.
next 3 if pokemon.form==2 && isConst?(pokemon.item,PBItems,:ULTRANECROZIUMZ2)
}
})
"getForm"=>proc{|pokemon|
next 3 if pokemon.form==1 && isConst?(pokemon.item,PBItems,:ULTRANECROZIUMZ2) #ULTRANECROZIUMZ is the key item, the one that appears in the bag. ULTRANECROZIUMZ2 is the normal item, the one that the Pok?mon can hold.
next 3 if pokemon.form==2 && isConst?(pokemon.item,PBItems,:ULTRANECROZIUMZ2)
}
})
But now I need help figuring out how to get Ultra Necrozma to change back to Dusk Mane or Dawn Wings Necrozma. I've tried adding this:
Ultra Necrozma trying to revert back to Dusk Mane or Dawn Wings.
Spoiler:
next rand(>0 || <3) if pokemon.form==3 && !isConst?(pokemon.item,PBItems,:ULTRANECROZIUMZ2)
but I got a syntax error. (I don't if it's the (>0 || <3) or !isConst?)
I'm sure there are a lot of people who would like to have Ultra Necrozma in their game.