• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Z-Move Add On

AmethystRain

pixie-powered judgment!
  • 253
    Posts
    13
    Years
    • Seen Nov 28, 2022
    hello again!

    a while ago we finished a z-move system and promised an add-on for Essentials. After a fair bit of testing, it's finally ready! You may use this add-on in your projects assuming credit is given per the included readme. Instructions and graphics can also be found in the download.

    All of this is possible thanks to Reborn scripter Marcello's hard work; I'm just posting it here for him.

    https://rebornevo.com/downloads/ZMoveAddOn.zip

    This has been tested with Essentials 16.2. Please enjoy!
     
    Magnificent! ^^
     
    I had two questions: you make reference to new moves in the scripts but moves like aurora veil havent been added to this script, do you have any plans for that?
    second question: there is a part in the script i fail to understand:

    "getForm"=>proc{|pokemon|
    next 1 if isConst?(pokemon.item,PBItems,:FISTPLATE) || isConst?(pokemon.item,PBItems,:FIGHTINIUMZ2)
    next 2 if isConst?(pokemon.item,PBItems,:SKYPLATE) || isConst?(pokemon.item,PBItems,:FLYINIUMZ2)
    next 3 if isConst?(pokemon.item,PBItems,:TOXICPLATE) || isConst?(pokemon.item,PBItems,:POISONIUMZ2)
    next 4 if isConst?(pokemon.item,PBItems,:EARTHPLATE) || isConst?(pokemon.item,PBItems,:GROUNDIUMZ2)
    next 5 if isConst?(pokemon.item,PBItems,:STONEPLATE) || isConst?(pokemon.item,PBItems,:ROCKIUMZ2)
    next 6 if isConst?(pokemon.item,PBItems,:INSECTPLATE) || isConst?(pokemon.item,PBItems,:BUGINIUMZ2)
    next 7 if isConst?(pokemon.item,PBItems,:SPOOKYPLATE) || isConst?(pokemon.item,PBItems,:GHOSTIUMZ2)
    next 8 if isConst?(pokemon.item,PBItems,:IRONPLATE) || isConst?(pokemon.item,PBItems,:STEELIUMZ2)
    next 10 if isConst?(pokemon.item,PBItems,:FLAMEPLATE) || isConst?(pokemon.item,PBItems,:FIRIUMZ2)
    next 11 if isConst?(pokemon.item,PBItems,:SPLASHPLATE) || isConst?(pokemon.item,PBItems,:WATERIUMZ2)
    next 12 if isConst?(pokemon.item,PBItems,:MEADOWPLATE) || isConst?(pokemon.item,PBItems,:GRASSIUMZ2)
    next 13 if isConst?(pokemon.item,PBItems,:ZAPPLATE) || isConst?(pokemon.item,PBItems,:ELECTRIUMZ2)
    next 14 if isConst?(pokemon.item,PBItems,:MINDPLATE) || isConst?(pokemon.item,PBItems,:PSYCHIUMZ2)
    next 15 if isConst?(pokemon.item,PBItems,:ICICLEPLATE) || isConst?(pokemon.item,PBItems,:ICIUMZ2)
    next 16 if isConst?(pokemon.item,PBItems,:DRACOPLATE) || isConst?(pokemon.item,PBItems,:DRAGONNIUMZ2)
    next 17 if isConst?(pokemon.item,PBItems,:DREADPLATE) || isConst?(pokemon.item,PBItems,:DARKINIUMZ2)
    next 18 if isConst?(pokemon.item,PBItems,:PIXIEPLATE) || isConst?(pokemon.item,PBItems,:FAIRIUMZ2)
    next 0
    }
    })

    why skip next 9?
     
    I had two questions: you make reference to new moves in the scripts but moves like aurora veil havent been added to this script, do you have any plans for that?
    second question: there is a part in the script i fail to understand:

    "getForm"=>proc{|pokemon|
    next 1 if isConst?(pokemon.item,PBItems,:FISTPLATE) || isConst?(pokemon.item,PBItems,:FIGHTINIUMZ2)
    next 2 if isConst?(pokemon.item,PBItems,:SKYPLATE) || isConst?(pokemon.item,PBItems,:FLYINIUMZ2)
    next 3 if isConst?(pokemon.item,PBItems,:TOXICPLATE) || isConst?(pokemon.item,PBItems,:POISONIUMZ2)
    next 4 if isConst?(pokemon.item,PBItems,:EARTHPLATE) || isConst?(pokemon.item,PBItems,:GROUNDIUMZ2)
    next 5 if isConst?(pokemon.item,PBItems,:STONEPLATE) || isConst?(pokemon.item,PBItems,:ROCKIUMZ2)
    next 6 if isConst?(pokemon.item,PBItems,:INSECTPLATE) || isConst?(pokemon.item,PBItems,:BUGINIUMZ2)
    next 7 if isConst?(pokemon.item,PBItems,:SPOOKYPLATE) || isConst?(pokemon.item,PBItems,:GHOSTIUMZ2)
    next 8 if isConst?(pokemon.item,PBItems,:IRONPLATE) || isConst?(pokemon.item,PBItems,:STEELIUMZ2)
    next 10 if isConst?(pokemon.item,PBItems,:FLAMEPLATE) || isConst?(pokemon.item,PBItems,:FIRIUMZ2)
    next 11 if isConst?(pokemon.item,PBItems,:SPLASHPLATE) || isConst?(pokemon.item,PBItems,:WATERIUMZ2)
    next 12 if isConst?(pokemon.item,PBItems,:MEADOWPLATE) || isConst?(pokemon.item,PBItems,:GRASSIUMZ2)
    next 13 if isConst?(pokemon.item,PBItems,:ZAPPLATE) || isConst?(pokemon.item,PBItems,:ELECTRIUMZ2)
    next 14 if isConst?(pokemon.item,PBItems,:MINDPLATE) || isConst?(pokemon.item,PBItems,:PSYCHIUMZ2)
    next 15 if isConst?(pokemon.item,PBItems,:ICICLEPLATE) || isConst?(pokemon.item,PBItems,:ICIUMZ2)
    next 16 if isConst?(pokemon.item,PBItems,:DRACOPLATE) || isConst?(pokemon.item,PBItems,:DRAGONNIUMZ2)
    next 17 if isConst?(pokemon.item,PBItems,:DREADPLATE) || isConst?(pokemon.item,PBItems,:DARKINIUMZ2)
    next 18 if isConst?(pokemon.item,PBItems,:PIXIEPLATE) || isConst?(pokemon.item,PBItems,:FAIRIUMZ2)
    next 0
    }
    })

    why skip next 9?

    Type 9 is the ??? Type. It's not typically used.
     
    I had two questions: you make reference to new moves in the scripts but moves like aurora veil havent been added to this script, do you have any plans for that?
    second question: there is a part in the script i fail to understand:

    "getForm"=>proc{|pokemon|
    next 1 if isConst?(pokemon.item,PBItems,:FISTPLATE) || isConst?(pokemon.item,PBItems,:FIGHTINIUMZ2)
    next 2 if isConst?(pokemon.item,PBItems,:SKYPLATE) || isConst?(pokemon.item,PBItems,:FLYINIUMZ2)
    next 3 if isConst?(pokemon.item,PBItems,:TOXICPLATE) || isConst?(pokemon.item,PBItems,:POISONIUMZ2)
    next 4 if isConst?(pokemon.item,PBItems,:EARTHPLATE) || isConst?(pokemon.item,PBItems,:GROUNDIUMZ2)
    next 5 if isConst?(pokemon.item,PBItems,:STONEPLATE) || isConst?(pokemon.item,PBItems,:ROCKIUMZ2)
    next 6 if isConst?(pokemon.item,PBItems,:INSECTPLATE) || isConst?(pokemon.item,PBItems,:BUGINIUMZ2)
    next 7 if isConst?(pokemon.item,PBItems,:SPOOKYPLATE) || isConst?(pokemon.item,PBItems,:GHOSTIUMZ2)
    next 8 if isConst?(pokemon.item,PBItems,:IRONPLATE) || isConst?(pokemon.item,PBItems,:STEELIUMZ2)
    next 10 if isConst?(pokemon.item,PBItems,:FLAMEPLATE) || isConst?(pokemon.item,PBItems,:FIRIUMZ2)
    next 11 if isConst?(pokemon.item,PBItems,:SPLASHPLATE) || isConst?(pokemon.item,PBItems,:WATERIUMZ2)
    next 12 if isConst?(pokemon.item,PBItems,:MEADOWPLATE) || isConst?(pokemon.item,PBItems,:GRASSIUMZ2)
    next 13 if isConst?(pokemon.item,PBItems,:ZAPPLATE) || isConst?(pokemon.item,PBItems,:ELECTRIUMZ2)
    next 14 if isConst?(pokemon.item,PBItems,:MINDPLATE) || isConst?(pokemon.item,PBItems,:PSYCHIUMZ2)
    next 15 if isConst?(pokemon.item,PBItems,:ICICLEPLATE) || isConst?(pokemon.item,PBItems,:ICIUMZ2)
    next 16 if isConst?(pokemon.item,PBItems,:DRACOPLATE) || isConst?(pokemon.item,PBItems,:DRAGONNIUMZ2)
    next 17 if isConst?(pokemon.item,PBItems,:DREADPLATE) || isConst?(pokemon.item,PBItems,:DARKINIUMZ2)
    next 18 if isConst?(pokemon.item,PBItems,:PIXIEPLATE) || isConst?(pokemon.item,PBItems,:FAIRIUMZ2)
    next 0
    }
    })

    why skip next 9?

    Yepyep M3rein is right-- but this will depend on your given types.txt

    As for the new moves, this is not a Gen 7 Add-on. We lament that we didn't have the foresight to include our generic Gen 7 move/ability/etc scripts in a separate add-on but it's a bit late to for that, so this focuses strictly on Z-Moves with the necessary calls in place.
     
    Ok so I have everything in the game and working, but now, how do I activate Z-moves? Because I have the necessary requirements but nothing happens. I have the Zring and the Z-crystal attached and I get no prompt to use a Z-Move.

    EBS is not compatible with this Z-Move script if you're using it. Idk when it'll be done, but it'll be done eventually.
     
    Question about generation 7 scripts

    Hello! I'm having a little bit of an issue. I am using the generation 7 scripts found on here and, I've run into a problem. All of the enemy trainers have Z moves now. How do I fix this? Thank you very much.
     
    It's very cool!! But work in 15 version?
     
    ok soo ive looked at porting this over to v17.2 looks 2 complicated for me

    has anyone else had any luck?

    I've gotten mine to work for v17.2 but in order to do so you need to manually copy and paste the Z-move scripts from here into you're v17.2. Takes a while but if you look at the errors it'll tell you what you still need to copy and paste in if that makes sense.
     
    Because people have been asking me here is the Z-move code for 17.2. I apologise if I'm not allowed to post this.

    Disclaimer:
    I have no involvement in making any of the scripts or with the people who made it. I did this to help those who may have trouble transferring the Z-move script to 17.2. Please credit the people who made these scripts.

     
    ok so this does indeed work however the zmove icon is not showing during battle any particular reason for this?

    EDIT

    Ok so sortted the file battlezmove needs to be renamed to z move and placed in the pictures/battle folder

    now just gotta add megas
     
    Last edited:
    Because people have been asking me here is the Z-move code for 17.2. I apologise if I'm not allowed to post this.

    Disclaimer:
    I have no involvement in making any of the scripts or with the people who made it. I did this to help those who may have trouble transferring the Z-move script to 17.2. Please credit the people who made these scripts.

    I was using your v17.2 version of scripts and when I went debugging there's an error message when I use the Z-Will'o'Wisp:
    Spoiler:

    I tried debugging it myself and realized that PokeBattle_Move_00A stands for the standard burn effect instead of a legal move. However, I have no idea why the script would try to return the name of it.
    Anyone could help?
    (The script went perfectly for damaging moves.)

    --Update--
    Ok it works to change all
    zchoice[2].name = @name
    into
    @name = zchoice[2].name
    and all
    @oldmove.name = @oldname
    into
    @oldname = @oldmove.name
     
    Last edited:
    Hello, is it possible to modify the script to allow for 2 Z-Moves per battle ? And if so, is there also a way to control that via a game switch ?

    Thank you
     
    Back
    Top