Turned fusion items into two separate items for the sake of them having different descriptions, fixed ability-changing items not doing so, added Zygarde Cube's Gen 8 effect

This commit is contained in:
Maruno17
2021-08-21 18:26:48 +01:00
parent 41ce9309d7
commit 45fba56455
10 changed files with 335 additions and 129 deletions

View File

@@ -1183,6 +1183,7 @@ BattleHandlers::TargetItemOnHit.add(:WEAKNESSPOLICY,
if target.pbCanRaiseStatStage?(:SPECIAL_ATTACK,target) if target.pbCanRaiseStatStage?(:SPECIAL_ATTACK,target)
target.pbRaiseStatStageByCause(:SPECIAL_ATTACK,2,target,target.itemName,showAnim) target.pbRaiseStatStageByCause(:SPECIAL_ATTACK,2,target,target.itemName,showAnim)
end end
battle.pbDisplay(_INTL("The {1} was used up...", target.itemName))
target.pbHeldItemTriggered(item) target.pbHeldItemTriggered(item)
} }
) )

View File

@@ -711,6 +711,8 @@ def pbItemBall(item,quantity=1)
meName = (item.is_key_item?) ? "Key item get" : "Item get" meName = (item.is_key_item?) ? "Key item get" : "Item get"
if item == :LEFTOVERS if item == :LEFTOVERS
pbMessage(_INTL("\\me[{1}]You found some \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname)) pbMessage(_INTL("\\me[{1}]You found some \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
elsif item == :DNASPLICERS
pbMessage(_INTL("\\me[{1}]You found \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
elsif item.is_machine? # TM or HM elsif item.is_machine? # TM or HM
pbMessage(_INTL("\\me[{1}]You found \\c[1]{2} {3}\\c[0]!\\wtnp[30]",meName,itemname,GameData::Move.get(move).name)) pbMessage(_INTL("\\me[{1}]You found \\c[1]{2} {3}\\c[0]!\\wtnp[30]",meName,itemname,GameData::Move.get(move).name))
elsif quantity>1 elsif quantity>1
@@ -720,7 +722,7 @@ def pbItemBall(item,quantity=1)
else else
pbMessage(_INTL("\\me[{1}]You found a \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname)) pbMessage(_INTL("\\me[{1}]You found a \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
end end
pbMessage(_INTL("You put the {1} away\\nin the <icon=bagPocket{2}>\\c[1]{3} Pocket\\c[0].", pbMessage(_INTL("You put the {1} in\\nyour Bag's <icon=bagPocket{2}>\\c[1]{3}\\c[0] pocket.",
itemname,pocket,PokemonBag.pocketNames()[pocket])) itemname,pocket,PokemonBag.pocketNames()[pocket]))
return true return true
end end
@@ -754,6 +756,8 @@ def pbReceiveItem(item,quantity=1)
meName = (item.is_key_item?) ? "Key item get" : "Item get" meName = (item.is_key_item?) ? "Key item get" : "Item get"
if item == :LEFTOVERS if item == :LEFTOVERS
pbMessage(_INTL("\\me[{1}]You obtained some \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname)) pbMessage(_INTL("\\me[{1}]You obtained some \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
elsif item == :DNASPLICERS
pbMessage(_INTL("\\me[{1}]You obtained \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
elsif item.is_machine? # TM or HM elsif item.is_machine? # TM or HM
pbMessage(_INTL("\\me[{1}]You obtained \\c[1]{2} {3}\\c[0]!\\wtnp[30]",meName,itemname,GameData::Move.get(move).name)) pbMessage(_INTL("\\me[{1}]You obtained \\c[1]{2} {3}\\c[0]!\\wtnp[30]",meName,itemname,GameData::Move.get(move).name))
elsif quantity>1 elsif quantity>1
@@ -764,7 +768,7 @@ def pbReceiveItem(item,quantity=1)
pbMessage(_INTL("\\me[{1}]You obtained a \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname)) pbMessage(_INTL("\\me[{1}]You obtained a \\c[1]{2}\\c[0]!\\wtnp[30]",meName,itemname))
end end
if $PokemonBag.pbStoreItem(item,quantity) # If item can be added if $PokemonBag.pbStoreItem(item,quantity) # If item can be added
pbMessage(_INTL("You put the {1} away\\nin the <icon=bagPocket{2}>\\c[1]{3} Pocket\\c[0].", pbMessage(_INTL("You put the {1} in\\nyour Bag's <icon=bagPocket{2}>\\c[1]{3}\\c[0] pocket.",
itemname,pocket,PokemonBag.pocketNames()[pocket])) itemname,pocket,PokemonBag.pocketNames()[pocket]))
return true return true
end end

View File

@@ -961,7 +961,7 @@ ItemHandlers::UseOnPokemon.add(:PRISONBOTTLE,proc { |item,pkmn,scene|
}) })
ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:KYUREM) if !pkmn.isSpecies?(:KYUREM) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
elsif pkmn.fainted? elsif pkmn.fainted?
@@ -969,51 +969,59 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene|
next false next false
end end
# Fusing # Fusing
if pkmn.fused.nil? chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?"))
chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?")) next false if chosen < 0
next false if chosen<0 other_pkmn = $Trainer.party[chosen]
poke2 = $Trainer.party[chosen] if pkmn == other_pkmn
if pkmn==poke2 scene.pbDisplay(_INTL("It cannot be fused with itself."))
scene.pbDisplay(_INTL("It cannot be fused with itself.")) next false
next false elsif other_pkmn.egg?
elsif poke2.egg? scene.pbDisplay(_INTL("It cannot be fused with an Egg."))
scene.pbDisplay(_INTL("It cannot be fused with an Egg.")) next false
next false elsif other_pkmn.fainted?
elsif poke2.fainted? scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon.")) next false
next false elsif !other_pkmn.isSpecies?(:RESHIRAM) && !other_pkmn.isSpecies?(:ZEKROM)
elsif !poke2.isSpecies?(:RESHIRAM) && scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
!poke2.isSpecies?(:ZEKROM) next false
scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
next false
end
newForm = 0
newForm = 1 if poke2.isSpecies?(:RESHIRAM)
newForm = 2 if poke2.isSpecies?(:ZEKROM)
pkmn.setForm(newForm) {
pkmn.fused = poke2
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name))
}
next true
end end
# Unfusing newForm = 0
if $Trainer.party_full? newForm = 1 if other_pkmn.isSpecies?(:RESHIRAM)
newForm = 2 if other_pkmn.isSpecies?(:ZEKROM)
pkmn.setForm(newForm) {
pkmn.fused = other_pkmn
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
}
$PokemonBag.pbChangeItem(:DNASPLICERS, :DNASPLICERSUSED)
next true
})
ItemHandlers::UseOnPokemon.add(:DNASPLICERSUSED,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:KYUREM) || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect."))
next false
elsif pkmn.fainted?
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
next false
elsif $Trainer.party_full?
scene.pbDisplay(_INTL("You have no room to separate the Pokémon.")) scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
next false next false
end end
# Unfusing
pkmn.setForm(0) { pkmn.setForm(0) {
$Trainer.party[$Trainer.party.length] = pkmn.fused $Trainer.party[$Trainer.party.length] = pkmn.fused
pkmn.fused = nil pkmn.fused = nil
scene.pbHardRefresh scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name)) scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
} }
$PokemonBag.pbChangeItem(:DNASPLICERSUSED, :DNASPLICERS)
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form == 2 if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
elsif pkmn.fainted? elsif pkmn.fainted?
@@ -1021,47 +1029,56 @@ ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene|
next false next false
end end
# Fusing # Fusing
if pkmn.fused.nil? chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?"))
chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?")) next false if chosen < 0
next false if chosen<0 other_pkmn = $Trainer.party[chosen]
poke2 = $Trainer.party[chosen] if pkmn == other_pkmn
if pkmn==poke2 scene.pbDisplay(_INTL("It cannot be fused with itself."))
scene.pbDisplay(_INTL("It cannot be fused with itself.")) next false
next false elsif other_pkmn.egg?
elsif poke2.egg? scene.pbDisplay(_INTL("It cannot be fused with an Egg."))
scene.pbDisplay(_INTL("It cannot be fused with an Egg.")) next false
next false elsif other_pkmn.fainted?
elsif poke2.fainted? scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon.")) next false
next false elsif !other_pkmn.isSpecies?(:SOLGALEO)
elsif !poke2.isSpecies?(:SOLGALEO) scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that Pokémon.")) next false
next false
end
pkmn.setForm(1) {
pkmn.fused = poke2
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name))
}
next true
end end
# Unfusing pkmn.setForm(1) {
if $Trainer.party_full? pkmn.fused = other_pkmn
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
}
$PokemonBag.pbChangeItem(:NSOLARIZER, :NSOLARIZERUSED)
next true
})
ItemHandlers::UseOnPokemon.add(:NSOLARIZERUSED,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 1 || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect."))
next false
elsif pkmn.fainted?
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
next false
elsif $Trainer.party_full?
scene.pbDisplay(_INTL("You have no room to separate the Pokémon.")) scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
next false next false
end end
# Unfusing
pkmn.setForm(0) { pkmn.setForm(0) {
$Trainer.party[$Trainer.party.length] = pkmn.fused $Trainer.party[$Trainer.party.length] = pkmn.fused
pkmn.fused = nil pkmn.fused = nil
scene.pbHardRefresh scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name)) scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
} }
$PokemonBag.pbChangeItem(:NSOLARIZERUSED, :NSOLARIZER)
next true next true
}) })
ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene| ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form == 1 if !pkmn.isSpecies?(:NECROZMA) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
elsif pkmn.fainted? elsif pkmn.fainted?
@@ -1069,42 +1086,51 @@ ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene|
next false next false
end end
# Fusing # Fusing
if pkmn.fused.nil? chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?"))
chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?")) next false if chosen < 0
next false if chosen<0 other_pkmn = $Trainer.party[chosen]
poke2 = $Trainer.party[chosen] if pkmn == other_pkmn
if pkmn==poke2 scene.pbDisplay(_INTL("It cannot be fused with itself."))
scene.pbDisplay(_INTL("It cannot be fused with itself.")) next false
next false elsif other_pkmn.egg?
elsif poke2.egg? scene.pbDisplay(_INTL("It cannot be fused with an Egg."))
scene.pbDisplay(_INTL("It cannot be fused with an Egg.")) next false
next false elsif other_pkmn.fainted?
elsif poke2.fainted? scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon.")) next false
next false elsif !other_pkmn.isSpecies?(:LUNALA)
elsif !poke2.isSpecies?(:LUNALA) scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that Pokémon.")) next false
next false
end
pkmn.setForm(2) {
pkmn.fused = poke2
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name))
}
next true
end end
# Unfusing pkmn.setForm(2) {
if $Trainer.party_full? pkmn.fused = other_pkmn
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
}
$PokemonBag.pbChangeItem(:NLUNARIZER, :NLUNARIZERUSED)
next true
})
ItemHandlers::UseOnPokemon.add(:NLUNARIZERUSED,proc { |item,pkmn,scene|
if !pkmn.isSpecies?(:NECROZMA) || pkmn.form != 2 || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect."))
next false
elsif pkmn.fainted?
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
next false
elsif $Trainer.party_full?
scene.pbDisplay(_INTL("You have no room to separate the Pokémon.")) scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
next false next false
end end
# Unfusing
pkmn.setForm(0) { pkmn.setForm(0) {
$Trainer.party[$Trainer.party.length] = pkmn.fused $Trainer.party[$Trainer.party.length] = pkmn.fused
pkmn.fused = nil pkmn.fused = nil
scene.pbHardRefresh scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!",pkmn.name)) scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
} }
$PokemonBag.pbChangeItem(:NLUNARIZERUSED, :NLUNARIZER)
next true next true
}) })
@@ -1124,6 +1150,7 @@ ItemHandlers::UseOnPokemon.add(:ABILITYCAPSULE,proc { |item,pkmn,scene|
newabil = (pkmn.ability_index + 1) % 2 newabil = (pkmn.ability_index + 1) % 2
newabilname = GameData::Ability.get((newabil == 0) ? abil1 : abil2).name newabilname = GameData::Ability.get((newabil == 0) ? abil1 : abil2).name
pkmn.ability_index = newabil pkmn.ability_index = newabil
pkmn.ability = nil
scene.pbRefresh scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s Ability changed! Its Ability is now {2}!", pkmn.name, newabilname)) scene.pbDisplay(_INTL("{1}'s Ability changed! Its Ability is now {2}!", pkmn.name, newabilname))
next true next true

View File

@@ -216,7 +216,7 @@ ItemHandlers::BattleUseOnBattler.add(:MAXMUSHROOMS,proc { |item, battler, scene|
}) })
ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, pkmn, scene| ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, pkmn, scene|
if !pkmn.isSpecies?(:CALYREX) if !pkmn.isSpecies?(:CALYREX) || !pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect.")) scene.pbDisplay(_INTL("It had no effect."))
next false next false
elsif pkmn.fainted? elsif pkmn.fainted?
@@ -224,46 +224,55 @@ ItemHandlers::UseOnPokemon.add(:REINSOFUNITY, proc { |item, pkmn, scene|
next false next false
end end
# Fusing # Fusing
if pkmn.fused.nil? chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?"))
chosen = scene.pbChoosePokemon(_INTL("Fuse with which Pokémon?")) next false if chosen < 0
next false if chosen < 0 other_pkmn = $Trainer.party[chosen]
other_pkmn = $Trainer.party[chosen] if pkmn == other_pkmn
if pkmn == other_pkmn scene.pbDisplay(_INTL("It cannot be fused with itself."))
scene.pbDisplay(_INTL("It cannot be fused with itself.")) next false
next false elsif other_pkmn.egg?
elsif other_pkmn.egg? scene.pbDisplay(_INTL("It cannot be fused with an Egg."))
scene.pbDisplay(_INTL("It cannot be fused with an Egg.")) next false
next false elsif other_pkmn.fainted?
elsif other_pkmn.fainted? scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that fainted Pokémon.")) next false
next false elsif !other_pkmn.isSpecies?(:GLASTRIER) &&
elsif !other_pkmn.isSpecies?(:GLASTRIER) && !other_pkmn.isSpecies?(:SPECTRIER)
!other_pkmn.isSpecies?(:SPECTRIER) scene.pbDisplay(_INTL("It cannot be fused with that Pokémon."))
scene.pbDisplay(_INTL("It cannot be fused with that Pokémon.")) next false
next false
end
newForm = 0
newForm = 1 if other_pkmn.isSpecies?(:GLASTRIER)
newForm = 2 if other_pkmn.isSpecies?(:SPECTRIER)
pkmn.setForm(newForm) {
pkmn.fused = other_pkmn
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
}
next true
end end
# Unfusing newForm = 0
if $Trainer.party_full? newForm = 1 if other_pkmn.isSpecies?(:GLASTRIER)
newForm = 2 if other_pkmn.isSpecies?(:SPECTRIER)
pkmn.setForm(newForm) {
pkmn.fused = other_pkmn
$Trainer.remove_pokemon_at_index(chosen)
scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
}
$PokemonBag.pbChangeItem(:REINSOFUNITY, :REINSOFUNITYUSED)
next true
})
ItemHandlers::UseOnPokemon.add(:REINSOFUNITYUSED, proc { |item, pkmn, scene|
if !pkmn.isSpecies?(:CALYREX) || pkmn.fused.nil?
scene.pbDisplay(_INTL("It had no effect."))
next false
elsif pkmn.fainted?
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
next false
elsif $Trainer.party_full?
scene.pbDisplay(_INTL("You have no room to separate the Pokémon.")) scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
next false next false
end end
# Unfusing
pkmn.setForm(0) { pkmn.setForm(0) {
$Trainer.party[$Trainer.party.length] = pkmn.fused $Trainer.party[$Trainer.party.length] = pkmn.fused
pkmn.fused = nil pkmn.fused = nil
scene.pbHardRefresh scene.pbHardRefresh
scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name)) scene.pbDisplay(_INTL("{1} changed Forme!", pkmn.name))
} }
$PokemonBag.pbChangeItem(:REINSOFUNITYUSED, :REINSOFUNITY)
next true next true
}) })
@@ -278,6 +287,7 @@ ItemHandlers::UseOnPokemon.add(:ABILITYPATCH, proc { |item, pkmn, scene|
end end
new_ability_name = GameData::Ability.get(new_ability_id).name new_ability_name = GameData::Ability.get(new_ability_id).name
pkmn.ability_index = 2 pkmn.ability_index = 2
pkmn.ability = nil
scene.pbRefresh scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s Ability changed! Its Ability is now {2}!", scene.pbDisplay(_INTL("{1}'s Ability changed! Its Ability is now {2}!",
pkmn.name, new_ability_name)) pkmn.name, new_ability_name))
@@ -340,6 +350,34 @@ BattleHandlers::ItemOnSwitchIn.add(:ROOMSERVICE,
} }
) )
ItemHandlers::UseOnPokemon.add(:ZYGARDECUBE, proc { |item, pkmn, scene|
if !pkmn.isSpecies?(:ZYGARDE)
scene.pbDisplay(_INTL("It had no effect."))
next false
elsif pkmn.fainted?
scene.pbDisplay(_INTL("This can't be used on the fainted Pokémon."))
next false
end
case scene.pbShowCommands(_INTL("What will you do with {1}?", pkmn.name),
[_INTL("Change form"), _INTL("Change Ability"), _INTL("Cancel")])
when 0 # Change form
newForm = (pkmn.form == 0) ? 1 : 0
pkmn.setForm(newForm) {
scene.pbRefresh
scene.pbDisplay(_INTL("{1} transformed!", pkmn.name))
}
next true
when 1 # Change ability
new_abil = (pkmn.ability_index + 1) % 2
pkmn.ability_index = new_abil
pkmn.ability = nil
scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s Ability changed! Its Ability is now {2}!", pkmn.name, pkmn.ability.name))
next true
end
next false
})
=begin =begin

View File

@@ -213,10 +213,13 @@ class TriadScene
def pbDisplay(text) def pbDisplay(text)
@sprites["helpwindow"].text = text @sprites["helpwindow"].text = text
(Graphics.frame_rate*1.5).floor.times do timer = 0.0
loop do
Graphics.update Graphics.update
Input.update Input.update
pbUpdate pbUpdate
timer += Graphics.delta_s
break if timer >= 1.5
end end
end end

View File

@@ -23,19 +23,12 @@ Some abilities have changed effects:
Pokémon. In Gen 8, speed- and priority-modifying effects aren't considered, Pokémon. In Gen 8, speed- and priority-modifying effects aren't considered,
but in earlier Gens they are. but in earlier Gens they are.
Some items have changed properties/effects:
- Zygarde Cube now changes a Zygarde's ability.
Other notes: Other notes:
- In Gen 7+, Shaymin/Hoopa revert their form when withdrawn from storage rather - In Gen 7+, Shaymin/Hoopa revert their form when withdrawn from storage rather
than when deposited. It still also reverts under other conditions. Shaymin than when deposited. It still also reverts under other conditions. Shaymin
reverts its form when deposited in the Day Care (all Gens). reverts its form when deposited in the Day Care (all Gens).
- If a battle ends because of Rocky Helmet damage, the side that the Rocky - If a battle ends because of Rocky Helmet damage, the side that the Rocky
Helmet holder is on should lose (Gen 7+) or win (Gen 6-). Helmet holder is on should lose (Gen 7+) or win (Gen 6-).
- Maybe the DNA Splicers/N-Solarizer/N-Lunarizer/Reins of Unity should actually
be two items each (one that combines, one that splits) and they alternate upon
use. No reasonable game would have multiple sets of Pokémon to fuse at once,
so allowing just one of each fusion at a time is probably fine.
Can use Fly from within the Town Map if possible. (Good QoL, add if possible.) Can use Fly from within the Town Map if possible. (Good QoL, add if possible.)
(Will be implemented by me in the next PR) (Will be implemented by me in the next PR)
@@ -161,6 +154,11 @@ Other changes:
Stick changed. Stick changed.
- Changes to evolutions due to removal of moss rock/ice rock/magnetic field. - Changes to evolutions due to removal of moss rock/ice rock/magnetic field.
- Form differences. - Form differences.
- Maybe the DNA Splicers/N-Solarizer/N-Lunarizer/Reins of Unity should actually
be two items each (one that combines, one that splits) and they alternate upon
use. No reasonable game would have multiple sets of Pokémon to fuse at once,
so allowing just one of each fusion at a time is probably fine.
- Zygarde Cube now changes a Zygarde's form/ability.
What happens to the PP of Iron Head when turned into/from Behemoth Blade/Bash What happens to the PP of Iron Head when turned into/from Behemoth Blade/Bash
for Zacian/Zamazenta? It gets decreased to the total PP if it is higher than the for Zacian/Zamazenta? It gets decreased to the total PP if it is higher than the

View File

@@ -4218,6 +4218,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning. Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning.
#------------------------------- #-------------------------------
[DNASPLICERSUSED]
Name = DNA Splicers
NamePlural = DNA Splicers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A splicer that separates Kyurem and a certain Pokémon when they have been fused.
#-------------------------------
[REVEALGLASS] [REVEALGLASS]
Name = Reveal Glass Name = Reveal Glass
NamePlural = Reveal Glasses NamePlural = Reveal Glasses

View File

@@ -5020,6 +5020,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A bottle believed to have been used to seal away the power of a certain Pokémon long, long ago. Description = A bottle believed to have been used to seal away the power of a certain Pokémon long, long ago.
#------------------------------- #-------------------------------
[ZYGARDECUBE]
Name = Zygarde Cube
NamePlural = Zygarde Cubes
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = An item in which Zygarde Cores and Cells are gathered. You can also use it to change Zygarde's forms.
#-------------------------------
[DNASPLICERS] [DNASPLICERS]
Name = DNA Splicers Name = DNA Splicers
NamePlural = DNA Splicers NamePlural = DNA Splicers
@@ -5029,6 +5038,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning. Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning.
#------------------------------- #-------------------------------
[DNASPLICERSUSED]
Name = DNA Splicers
NamePlural = DNA Splicers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A splicer that separates Kyurem and a certain Pokémon when they have been fused.
#-------------------------------
[NSOLARIZER] [NSOLARIZER]
Name = N-Solarizer Name = N-Solarizer
NamePlural = N-Solarizers NamePlural = N-Solarizers
@@ -5038,6 +5056,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Solgaleo. Description = A machine to fuse Necrozma, which needs light, and Solgaleo.
#------------------------------- #-------------------------------
[NSOLARIZERUSED]
Name = N-Solarizer
NamePlural = N-Solarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Solgaleo.
#-------------------------------
[NLUNARIZER] [NLUNARIZER]
Name = N-Lunarizer Name = N-Lunarizer
NamePlural = N-Lunarizers NamePlural = N-Lunarizers
@@ -5047,6 +5074,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Lunala. Description = A machine to fuse Necrozma, which needs light, and Lunala.
#------------------------------- #-------------------------------
[NLUNARIZERUSED]
Name = N-Lunarizer
NamePlural = N-Lunarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Lunala.
#-------------------------------
[OVALCHARM] [OVALCHARM]
Name = Oval Charm Name = Oval Charm
NamePlural = Oval Charms NamePlural = Oval Charms

View File

@@ -6396,6 +6396,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A catalog of devices that Rotom like. Use the catalog to have Rotom hop in and out of the devices listed within. Description = A catalog of devices that Rotom like. Use the catalog to have Rotom hop in and out of the devices listed within.
#------------------------------- #-------------------------------
[ZYGARDECUBE]
Name = Zygarde Cube
NamePlural = Zygarde Cubes
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = An item in which Zygarde Cores and Cells are gathered. You can also use it to change Zygarde's forms.
#-------------------------------
[DNASPLICERS] [DNASPLICERS]
Name = DNA Splicers Name = DNA Splicers
NamePlural = DNA Splicers NamePlural = DNA Splicers
@@ -6405,6 +6414,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning. Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning.
#------------------------------- #-------------------------------
[DNASPLICERSUSED]
Name = DNA Splicers
NamePlural = DNA Splicers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A splicer that separates Kyurem and a certain Pokémon when they have been fused.
#-------------------------------
[NSOLARIZER] [NSOLARIZER]
Name = N-Solarizer Name = N-Solarizer
NamePlural = N-Solarizers NamePlural = N-Solarizers
@@ -6414,6 +6432,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Solgaleo. Description = A machine to fuse Necrozma, which needs light, and Solgaleo.
#------------------------------- #-------------------------------
[NSOLARIZERUSED]
Name = N-Solarizer
NamePlural = N-Solarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Solgaleo.
#-------------------------------
[NLUNARIZER] [NLUNARIZER]
Name = N-Lunarizer Name = N-Lunarizer
NamePlural = N-Lunarizers NamePlural = N-Lunarizers
@@ -6423,6 +6450,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Lunala. Description = A machine to fuse Necrozma, which needs light, and Lunala.
#------------------------------- #-------------------------------
[NLUNARIZERUSED]
Name = N-Lunarizer
NamePlural = N-Lunarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Lunala.
#-------------------------------
[REINSOFUNITY] [REINSOFUNITY]
Name = Reins of Unity Name = Reins of Unity
NamePlural = Reins of Unity NamePlural = Reins of Unity
@@ -6432,6 +6468,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = Reins that people presented to the king. They unite Calyrex with its beloved steed. Description = Reins that people presented to the king. They unite Calyrex with its beloved steed.
#------------------------------- #-------------------------------
[REINSOFUNITYUSED]
Name = Reins of Unity
NamePlural = Reins of Unity
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = Reins that people presented to the king. They separate Calyrex and its beloved steed.
#-------------------------------
[OVALCHARM] [OVALCHARM]
Name = Oval Charm Name = Oval Charm
NamePlural = Oval Charms NamePlural = Oval Charms

View File

@@ -6396,6 +6396,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A catalog of devices that Rotom like. Use the catalog to have Rotom hop in and out of the devices listed within. Description = A catalog of devices that Rotom like. Use the catalog to have Rotom hop in and out of the devices listed within.
#------------------------------- #-------------------------------
[ZYGARDECUBE]
Name = Zygarde Cube
NamePlural = Zygarde Cubes
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = An item in which Zygarde Cores and Cells are gathered. You can also use it to change Zygarde's forms.
#-------------------------------
[DNASPLICERS] [DNASPLICERS]
Name = DNA Splicers Name = DNA Splicers
NamePlural = DNA Splicers NamePlural = DNA Splicers
@@ -6405,6 +6414,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning. Description = A splicer that fuses Kyurem and a certain Pokémon. They are said to have been one in the beginning.
#------------------------------- #-------------------------------
[DNASPLICERSUSED]
Name = DNA Splicers
NamePlural = DNA Splicers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A splicer that separates Kyurem and a certain Pokémon when they have been fused.
#-------------------------------
[NSOLARIZER] [NSOLARIZER]
Name = N-Solarizer Name = N-Solarizer
NamePlural = N-Solarizers NamePlural = N-Solarizers
@@ -6414,6 +6432,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Solgaleo. Description = A machine to fuse Necrozma, which needs light, and Solgaleo.
#------------------------------- #-------------------------------
[NSOLARIZERUSED]
Name = N-Solarizer
NamePlural = N-Solarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Solgaleo.
#-------------------------------
[NLUNARIZER] [NLUNARIZER]
Name = N-Lunarizer Name = N-Lunarizer
NamePlural = N-Lunarizers NamePlural = N-Lunarizers
@@ -6423,6 +6450,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = A machine to fuse Necrozma, which needs light, and Lunala. Description = A machine to fuse Necrozma, which needs light, and Lunala.
#------------------------------- #-------------------------------
[NLUNARIZERUSED]
Name = N-Lunarizer
NamePlural = N-Lunarizers
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = A machine to separate Necrozma, which needed light, from Lunala.
#-------------------------------
[REINSOFUNITY] [REINSOFUNITY]
Name = Reins of Unity Name = Reins of Unity
NamePlural = Reins of Unity NamePlural = Reins of Unity
@@ -6432,6 +6468,15 @@ FieldUse = OnPokemon
Type = KeyItem Type = KeyItem
Description = Reins that people presented to the king. They unite Calyrex with its beloved steed. Description = Reins that people presented to the king. They unite Calyrex with its beloved steed.
#------------------------------- #-------------------------------
[REINSOFUNITYUSED]
Name = Reins of Unity
NamePlural = Reins of Unity
Pocket = 8
Price = 0
FieldUse = OnPokemon
Type = KeyItem
Description = Reins that people presented to the king. They separate Calyrex and its beloved steed.
#-------------------------------
[OVALCHARM] [OVALCHARM]
Name = Oval Charm Name = Oval Charm
NamePlural = Oval Charms NamePlural = Oval Charms