- 824
- Posts
- 9
- Years
- The Dissa Region
- Seen May 20, 2024
I just discovered that Wormadam's three forms are compatible with different groups of TMs from each other. Does Essentials already take this into account?
Edit: Discovered that it doesn't. Here's the solution I came up with:
1.) In PItem_Items, search "pbSpeciesCompatible?" It should take you to the following function. Add in the red stuff.
2.) Search "def pbCheckUseOnPokemonQuick(". Within that code should be a line that looks like this, where you should add the red stuff:
(if the blue line doesn't exist, add the red line directly above the mostly-black line.)
3.) Go to PScreen_Utilities. Search "def pbMoveTutorChoose(". You should find code like this. Again, add in the red bits:
4.) Search "def pbMoveTutorAnnotations(". Within the function you should find the following code. One last time, add in the red bits:
For those who pay attention to the word "species" within each pbSpeciesCompatible? function, you can just do exactly the same thing to the word "form" that you add. For example, if it says "pokemon.species" at the start of the arguments, make it say "pokemon.form" at the end of the arguments. If it says "$Trainer.party.species" at the start, make it say "$Trainer.party.form". The versions of the steps above take into account people not wanting to think too hard about this.
This also includes the same solution for Move Tutor moves.
Edit: Discovered that it doesn't. Here's the solution I came up with:
1.) In PItem_Items, search "pbSpeciesCompatible?" It should take you to the following function. Add in the red stuff.
Code:
def pbSpeciesCompatible?(species,move[COLOR="red"],form=-1[/COLOR])
return false if species<=0
data=load_data("Data/tm.dat")
return false if !data[move]
[COLOR="Red"] if isConst?(species,PBSpecies,:WORMADAM)
case form
when 0
return true if isConst?(move,PBMoves,:SOLARBEAM)
return true if isConst?(move,PBMoves,:ENERGYBALL)
return true if isConst?(move,PBMoves,:GRASSKNOT)
return false if isConst?(move,PBMoves,:EARTHQUAKE)
return false if isConst?(move,PBMoves,:DIG)
return false if isConst?(move,PBMoves,:SANDSTORM)
return false if isConst?(move,PBMoves,:ROCKTOMB)
return false if isConst?(move,PBMoves,:BULLDOZE)
return false if isConst?(move,PBMoves,:GYROBALL)
return false if isConst?(move,PBMoves,:FLASHCANNON)
return true if isConst?(move,PBMoves,:GIGADRAIN)
return true if isConst?(move,PBMoves,:SEEDBOMB)
return true if isConst?(move,PBMoves,:SYNTHESIS)
return true if isConst?(move,PBMoves,:WORRYSEED)
return false if isConst?(move,PBMoves,:EARTHPOWER)
return false if isConst?(move,PBMoves,:STEALTHROCK)
return false if isConst?(move,PBMoves,:MAGNETRISE)
return false if isConst?(move,PBMoves,:IRONDEFENSE)
return false if isConst?(move,PBMoves,:IRONHEAD)
when 1
return false if isConst?(move,PBMoves,:SOLARBEAM)
return false if isConst?(move,PBMoves,:ENERGYBALL)
return false if isConst?(move,PBMoves,:GRASSKNOT)
return true if isConst?(move,PBMoves,:EARTHQUAKE)
return true if isConst?(move,PBMoves,:DIG)
return true if isConst?(move,PBMoves,:SANDSTORM)
return true if isConst?(move,PBMoves,:ROCKTOMB)
return true if isConst?(move,PBMoves,:BULLDOZE)
return false if isConst?(move,PBMoves,:GYROBALL)
return false if isConst?(move,PBMoves,:FLASHCANNON)
return false if isConst?(move,PBMoves,:GIGADRAIN)
return false if isConst?(move,PBMoves,:SEEDBOMB)
return false if isConst?(move,PBMoves,:SYNTHESIS)
return false if isConst?(move,PBMoves,:WORRYSEED)
return true if isConst?(move,PBMoves,:EARTHPOWER)
return true if isConst?(move,PBMoves,:STEALTHROCK)
return false if isConst?(move,PBMoves,:MAGNETRISE)
return false if isConst?(move,PBMoves,:IRONDEFENSE)
return false if isConst?(move,PBMoves,:IRONHEAD)
when 2
return false if isConst?(move,PBMoves,:SOLARBEAM)
return false if isConst?(move,PBMoves,:ENERGYBALL)
return false if isConst?(move,PBMoves,:GRASSKNOT)
return false if isConst?(move,PBMoves,:EARTHQUAKE)
return false if isConst?(move,PBMoves,:DIG)
return false if isConst?(move,PBMoves,:SANDSTORM)
return false if isConst?(move,PBMoves,:ROCKTOMB)
return false if isConst?(move,PBMoves,:BULLDOZE)
return true if isConst?(move,PBMoves,:GYROBALL)
return true if isConst?(move,PBMoves,:FLASHCANNON)
return false if isConst?(move,PBMoves,:GIGADRAIN)
return false if isConst?(move,PBMoves,:SEEDBOMB)
return false if isConst?(move,PBMoves,:SYNTHESIS)
return false if isConst?(move,PBMoves,:WORRYSEED)
return false if isConst?(move,PBMoves,:EARTHPOWER)
return true if isConst?(move,PBMoves,:STEALTHROCK)
return true if isConst?(move,PBMoves,:MAGNETRISE)
return true if isConst?(move,PBMoves,:IRONDEFENSE)
return true if isConst?(move,PBMoves,:IRONHEAD)
else
return true if isConst?(move,PBMoves,:SOLARBEAM)
return true if isConst?(move,PBMoves,:ENERGYBALL)
return true if isConst?(move,PBMoves,:GRASSKNOT)
return true if isConst?(move,PBMoves,:EARTHQUAKE)
return true if isConst?(move,PBMoves,:DIG)
return true if isConst?(move,PBMoves,:SANDSTORM)
return true if isConst?(move,PBMoves,:ROCKTOMB)
return true if isConst?(move,PBMoves,:BULLDOZE)
return true if isConst?(move,PBMoves,:GYROBALL)
return true if isConst?(move,PBMoves,:FLASHCANNON)
return true if isConst?(move,PBMoves,:GIGADRAIN)
return true if isConst?(move,PBMoves,:SEEDBOMB)
return true if isConst?(move,PBMoves,:SYNTHESIS)
return true if isConst?(move,PBMoves,:WORRYSEED)
return true if isConst?(move,PBMoves,:EARTHPOWER)
return true if isConst?(move,PBMoves,:STEALTHROCK)
return true if isConst?(move,PBMoves,:MAGNETRISE)
return true if isConst?(move,PBMoves,:IRONDEFENSE)
return true if isConst?(move,PBMoves,:IRONHEAD)
end
end[/COLOR]
return data[move].any? {|item| item==species }
end
2.) Search "def pbCheckUseOnPokemonQuick(". Within that code should be a line that looks like this, where you should add the red stuff:
Code:
[COLOR="Blue"] species=pokemon.species[/COLOR][COLOR="Red"]
form=pokemon.form[/COLOR]
isCompat=pbSpeciesCompatible?([COLOR="Blue"]species[/COLOR],machine[COLOR="red"],form[/COLOR])
3.) Go to PScreen_Utilities. Search "def pbMoveTutorChoose(". You should find code like this. Again, add in the red bits:
Code:
pokemon=$Trainer.party[chosen][COLOR="Blue"]
species=pokemon.species[/COLOR][COLOR="red"]
form=pokemon.form[/COLOR]
isCompat=pbSpeciesCompatible?([COLOR="blue"]species[/COLOR],move[COLOR="Red"],form[/COLOR])
4.) Search "def pbMoveTutorAnnotations(". Within the function you should find the following code. One last time, add in the red bits:
Code:
[COLOR="blue"] species=$Trainer.party[i].species[/COLOR]
[COLOR="Red"] form=$Trainer.party[i].form[/COLOR]
isCompat=pbSpeciesCompatible?([COLOR="blue"]species[/COLOR],move,[COLOR="red"]form[/COLOR])
This also includes the same solution for Move Tutor moves.
Last edited: