• 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!
  • It's time to vote for your favorite Pokémon Battle Revolution protagonist in our new weekly protagonist poll! Click here to cast your vote and let us know which PBR protagonist you like most.
  • 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.

All Pokémon Mega Evolve, even without a Mega Stone

  • 6
    Posts
    5
    Years
    • Seen Oct 1, 2023
    Hello guys,
    I'm using Essentials v17 and I have an issue with the mega evolution script. All the pokémon that have an alternative form are mega evolving and they evolve regardless they are using a mega stone or not. Does anyone know how to solve this problem?
     
    Hello guys,
    I'm using Essentials v17 and I have an issue with the mega evolution script. All the pokémon that have an alternative form are mega evolving and they evolve regardless they are using a mega stone or not. Does anyone know how to solve this problem?

    Have you modified anything in "def pbCanMegaEvolve?(index)" or in "def pbEnemyShouldMegaEvolve?(index)"?
     
    Have you modified anything in "def pbCanMegaEvolve?(index)" or in "def pbEnemyShouldMegaEvolve?(index)"?

    No. The code looks like this:

    ################################################################################
    # Mega Evolve battler.
    ################################################################################
    def pbCanMegaEvolve?(index)
    return false if $game_switches[NO_MEGA_EVOLUTION]
    return false if !@battlers[index].hasMega?
    return false if pbIsOpposing?(index) && !@opponent
    return true if $DEBUG && Input.press?(Input::CTRL)
    return false if !pbHasMegaRing?(index)
    side=(pbIsOpposing?(index)) ? 1 : 0
    owner=pbGetOwnerIndex(index)
    return false if @megaEvolution[side]!=-1
    return false if @battlers[index].effects[PBEffects::SkyDrop]
    return true
    end

    def pbRegisterMegaEvolution(index)
    side=(pbIsOpposing?(index)) ? 1 : 0
    owner=pbGetOwnerIndex(index)
    @megaEvolution[side]=index
    end

    def pbMegaEvolve(index)
    return if !@battlers[index] || !@battlers[index].pokemon
    return if !(@battlers[index].hasMega? rescue false)
    return if (@battlers[index].isMega? rescue true)
    ownername=pbGetOwner(index).fullname
    ownername=pbGetOwner(index).name if pbBelongsToPlayer?(index)
    case (@battlers[index].pokemon.megaMessage rescue 0)
    when 1 # Rayquaza
    pbDisplay(_INTL("{1}'s fervent wish has reached {2}!",ownername,@battlers[index].pbThis))
    else
    pbDisplay(_INTL("{1}'s {2} is reacting to {3}'s {4}!",
    @battlers[index].pbThis,PBItems.getName(@battlers[index].item),
    ownername,pbGetMegaRingName(index)))
    end
    pbCommonAnimation("MegaEvolution",@battlers[index],nil)
    @battlers[index].pokemon.makeMega
    @battlers[index].form=@battlers[index].pokemon.form
    @battlers[index].pbUpdate(true)
    @scene.pbChangePokemon(@battlers[index],@battlers[index].pokemon)
    pbCommonAnimation("MegaEvolution2",@battlers[index],nil)
    meganame=(@battlers[index].pokemon.megaName rescue nil)
    if !meganame || meganame==""
    meganame=_INTL("Mega {1}",PBSpecies.getName(@battlers[index].pokemon.species))
    end
    pbDisplay(_INTL("{1} has Mega Evolved into {2}!",@battlers[index].pbThis,meganame))
    PBDebug.log("[Mega Evolution] #{@battlers[index].pbThis} became #{meganame}")
    side=(pbIsOpposing?(index)) ? 1 : 0
    owner=pbGetOwnerIndex(index)
    @megaEvolution[side]=-2
    end
     
    No. The code looks like this:

    Spoiler:

    Mine is here:
    Spoiler:

    But I think that you should check this one, maybe you have it different. (Btw, I'm using v17.2 and I don't know if there's any difference in this case with v17).
    Code:
    ################################################################################
    # Decide whether the opponent should Mega Evolve their Pokémon.
    ################################################################################
      def pbEnemyShouldMegaEvolve?(index)
        # Simple "always should if possible"
        return pbCanMegaEvolve?(index)
      end

    If you need it, there you have my Pokemon_MegaEvolution script.
    Spoiler:

    Be careful, I have some scripts that aren't in an Essentials without modifying (like Mimikyu's parts).
     
    Last edited:
    It works perfectly now. It looks like the problem was in the Pokemon_MegaEvolution script. Some things were missing. Thank you so much!
     
    Back
    Top