Isn't it possible to do a simple edit to the compiler to allow any ability to be set in trainers.txt and not just abilityindex? Just like in the newer versions of Essentials
For example in prankster Smeargle it would sit here...
---------------------
SMEARGLE,100,FOCUSSASH,BATONPASS,STICKYWEB,SHIFTGEAR,SPORE,0(This is the abilityindex. It could be coded to accept a string such as "PRANKSTER"),M,1,false,JOLLY,31,70,Bastian,false,,,252,252,252,252,252,252
---------------------
This is the relevant bit in Compiler.rb
if !poke[TPABILITY] || poke[TPABILITY]==""
poke[TPABILITY]=TPDEFAULTS[TPABILITY]
else
poke[TPABILITY]=poke[TPABILITY].to_i
raise _INTL("Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}",poke[TPABILITY],FileLineData.linereport) if poke[TPABILITY]<0 || poke[TPABILITY]>5
end
As it's seen, only native to species (normal&hidden) abilities are accepted. What do I edit to make it accept any ability?
edit: So I created a def parseAbility and sloppily changed the code above to:
iAblt=poke[TPABILITY].to_i
if !poke[TPABILITY] || poke[TPABILITY]==""
poke[TPABILITY]=TPDEFAULTS[TPABILITY]
elsif iAblt<0 || iAblt>5
poke[TPABILITY]=parseAbility(poke[TPABILITY])
else
poke[TPABILITY]=poke[TPABILITY].to_i
raise _INTL("Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}",poke[TPABILITY],FileLineData.linereport) if poke[TPABILITY]<0 || poke[TPABILITY]>5
end
It's not working so far
edit2: Of course it isn't, all I did was clean up the text if the variable isn't between 0 and 5. I achieved nothing. Why does it ignore characters instead of trying to match them with what's in PBAbilities just like the other fields?