Jump to content

Illegal EVs


howwedewend24

Recommended Posts

  • Global Mods
59 minutes ago, howwedewend24 said:

There's pokemon ingame with an upward of 1000 (seriously) EV on stats, not even possible with debug which is stupid (why is debug limited?). How did the developers do it?

If you're referring to 252 x 6 EVs, there is a password called FullEVs
If you're referring to a single EV stat being above the cap of 255, which is only on a very select few of postgame fights, and developer battles, it can only be done by editing the scripts and changing the EV caps. Devs can do it because there are no caps for NPC EVs. Debug is not built to be a cheating tool, it's built for development of the game, hence why there are no options to do op EVs. 

Link to comment
Share on other sites

On 4/1/2023 at 11:03 PM, Dred said:

If you're referring to 252 x 6 EVs, there is a password called FullEVs
If you're referring to a single EV stat being above the cap of 255, which is only on a very select few of postgame fights, and developer battles, it can only be done by editing the scripts and changing the EV caps. Devs can do it because there are no caps for NPC EVs. Debug is not built to be a cheating tool, it's built for development of the game, hence why there are no options to do op EVs. 

 

Alright. I am most curious about illegal abilities however, I can see that dev trainer Smeargletail has a Smeargle with Prankster.

The text in trainers.txt looks like:

SMEARGLE,100,FOCUSSASH,BATONPASS,STICKYWEB,SHIFTGEAR,SPORE,0,M,1,false,JOLLY,31,70,Bastian,false,,,252,252,252,252,252,252

I don't see anything relevant here, how did they manage that?

 

edit: Nevermind, they achieved it through creating a new form (=1) for the pokemon. Seems like there's no direct way then.

Edited by howwedewend24
Link to comment
Share on other sites

  • Global Mods
31 minutes ago, howwedewend24 said:

 

Alright. I am most curious about illegal abilities however, I can see that dev trainer Smeargletail has a Smeargle with Prankster.

The text in trainers.txt looks like:

SMEARGLE,100,FOCUSSASH,BATONPASS,STICKYWEB,SHIFTGEAR,SPORE,0,M,1,false,JOLLY,31,70,Bastian,false,,,252,252,252,252,252,252

I don't see anything relevant here, how did they manage that?

 

edit: Nevermind, they achieved it through creating a new form (=1) for the pokemon. Seems like there's no direct way then.

Illegal abilities would also have to be done by directly editing the specific pokemons data in the PBS files, or as you mentioned, via a different form. 

Link to comment
Share on other sites

On 4/4/2023 at 10:35 PM, Dred said:

Illegal abilities would also have to be done by directly editing the specific pokemons data in the PBS files, or as you mentioned, via a different form. 

 

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?

Edited by howwedewend24
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...