Jump to content

BluePen

Veterans
  • Posts

    19
  • Joined

  • Last visited

 Content Type 

Profiles

Forums

Events

Reborn Development Blog

Rejuvenation Development Blog

Starlight Divide Devblog

Desolation Dev Blog

Posts posted by BluePen

  1. On the download site, it says you need to be in certain places if you want to play V13 from your previous safe file. Thing is I lost the V12 game file. So, I'm unable to go to one of the suggested places. Do I have to start a new game or is there any way to  modify my safe file? The files below are from V12, btw.

     

     

    Game.rxdata Game - 779 - BluePen - 64h 9m - 14 badges.rxdata

  2. Blaziken

    - speed nature, for example: jolly, to outspeed most Pkm

    - Hi Jump Kick

    - replace Hidden Power Ice because few Pkm have a 4x weakness to Ice, and even then, they're mostly protected by their respective field. I think you're better off with using Bulk Up for early game and then Swords Dance as soon as it will be available

     

    Greninja

    - speed nature, for example: timid, hasty or naive

    - most water Pkm are bulky, so Grass Knot might be better or you could just slap U-Turn on it. Or, maybe, even a hazard move like Spike to break Focus Sash?

     

    Mamoswine

    - should be Adamant at the very least since you aren't using any special moves

    - I don't think max HP is the way to go on an Assault Vest set since it already has lots of HP. Depending on what it should survive, try putting lots of EVs into its Special Defense

    - Ice Shard is necessary to deal with weakened Pkm and especially because Mamoswine is so slow

     

    The rest is fine, but you might consider using Brave Bird instead of Drill Peck on Skarmory for figher damage output. Also, if possible, get Roost on it. Sleep Powder on Exeggutor works as well.

  3. I was wondering if STAB moves do more damage than usual. It feels like as if my Pkm have a hidden adaptability or do the trainer's Pkm just have bad natures and EVs? Wartortle's water moves will often one-shot a Pkm if they don't resist it.

  4. 34 minutes ago, LilyX said:

    https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(Ability)

     

     

    Where did you find 33% for Tough Claws?

    Oh, I'm sorry. I meant or I must have confused it with pokewiki. https://www.pokewiki.de/Krallenwucht

    There it said 33%. Hmm, that's quite different than from bulba. Anyway, I now checked it with Serebii and Smogon, and both of them show a boost of 33%. So, I'm going to assume it's a mistake from the German side. Sorry for my mistake.

  5. Hello, it's me again. Not sure if the public version of the newest episode has those small issues I found in the testversion, but I thought I should mention them anyway.

    First of all, in PokéBattle_Move Tough Claws is boosted by 1.3, which is wrong, I think. 1.3 equals to 30% if I'm not mistaken, but according to Bulbapedia the boost should be 33%. Thus, the damage multiplication should be rather: 4/3. So, if I'm correct, PokeBattle_Zmove and PokeBattle_Ai are concerned as well.

     

    Next, I think you have forgotten to include Mega Launcher in PokeBattle_Ai.

     

    This concerns Plasmafist and Mindblown in PokeBattle_Ai as well. 

  6. In PokeBattle_Move, there is this code.



    if (attacker.hasWorkingItem(:EXPERTBELT) || attacker.hasWorkingAbility(:NEUROFORCE))  &&
           opponent.damagestate.typemod>4
          finaldamagemult=(finaldamagemult*1.2).round
        end

    However, Neuroforce does not boost moves by 20%. According to Bulbapedia, it's 25%.

     

    In PokeBattle_ZMoves, I didn't find the ability. Therefore, it must have been forgotten. Theoretically, Neuroforce should boost a Z-Move that is effective against an opposing Pkm.

     

    In PokeBattle_AI, I didn't find the ability as well. For consistency, I'd suggest to include this code after Stakeout.



    # Neuroforce
        if skill>=PBTrainerAI.mediumSkill
          if attacker.hasWorkingAbility(:NEUROFORCE) && typemod>4
            damage=(damage*1.25).round
          end 
        end

  7. Hello!

     

    I started a new game in the testversion of the newest episode: 18. I'm currently in the Underground railnet to infiltrate the Devon Corporation, but I don't know which railnet I have to change. There's a path that's blocking me, and it leads to two directions, right and under. I don't know which one of them I have to pay attention. Help wold be appreciated.^^

    PS: The videos I watched on youtube did not work as the newest episode seems to be a bit different than the old ones.

  8. I'm playing a testversion of the newest episode: 18. While I was teaming up with Cal on the Ametrine Mountain, I noticed that his Medicham did not use any move at all. Only his other Pkm did use a move.

    And when I'm in this Glitch Field, my opponent cannot hurt me at all. The following message appears if my opponent (be it a trainer or a wild Pkm) uses a move that hurts me:

     

     


    Exception: NoMethodError
    Message: undefined method `>' for nil:NilClass
    PokeBattle_Move:2529:in `pbCalcDamage'
    PokeBattle_Move:3645:in `pbEffect'
    PokeBattle_Battler:4629:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:4529:in `each'
    PokeBattle_Battler:4529:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:5294:in `pbUseMove'
    PokeBattle_Battler:5244:in `loop'
    PokeBattle_Battler:5297:in `pbUseMove'
    PokeBattle_Battler:6066:in `pbProcessTurn'
    PokeBattle_Battler:6065:in `logonerr'

     

     

    On the other hand, Mewto and Terra can hurt me. (Edit)

    Apart from that, I noticed a small Text problem.

     

     


    So, when I'm in this house where you can see lots of Pikachu, there's a person asking you if you want your Pikachu to be healed. If I click yes, then he will heall your whole party even if Pikachu is not in your team. I'm not sure whether the trainer is supposed to heal only Pikachu or only the whole team.
     

     

  9. I'm playing a testversion of the newest episode: 18. While I was fighting against a Wobbuffet from a trainer in Vanhanan Castle, I noticed that the first Destiny Bond worked, but the next four ones did fail. As far as I know, if the second Destiny Bond does fail, the next one should not fail.

     

    As for Shields Down, I noticed that when I attacked Minior and managed to activate its ability, it will change its form in the same turn it attacks! According to Bulpabedia, this should only happen at the end of the turn.

  10. I hope this is the right thread to post, if not please do tell me so that I can move it somewhere else.^^

     

    Short Description

     

     


    Now, this post is a suggestion for improving AI in certain battles such as those against Gym Leader, Elite Four, Champ, or other individuals.

    To demonstrate how effective my codes can be, I will resort to Cynthia's Pokémon as she has a very diverse team allowing her to gain momentum whenever she switches out one of her members. And it is this switch mechanic which will be the main focus of my post. Apart from explaining my thought process, I will provide the codes so that you can try them out if you are interested in. But you should do that in a separate file just in case you and/or I did some mistakes.
     

     

     

    Codes for AI switching out Pokémon

     

     


    If you don't feel like reading through my wall text but want to look at my codes immediately, well, here they are. I should mention, however, that without any explanations you likely won't understand why some Pokémon such as Spiritomb have a high chance to switch out or why Garchomp should switch out if the opponent has the move Extra Sensory as those cases are linked to the battlefield I created specifically for Cynthia. Other then that, I would put those codes in PokeBattle_AI, directly under :

    if currentmon.effects[PBEffects::Yawn]>0 && currentmon.status!=PBStatuses::SLEEP
         switchscore+=95   

    end 

     

    - - -

    # Start: Trainer AI: Cynthia
        if $fefieldeffect == 58 && !@doublebattle && @opponent.name == "Cynthia"
          # Spiritomb
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            currentmon.turncount>0
            switchscore+=160
          end
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.pbHasType?(:FAIRY)
            switchscore+=100
          end
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.pbHasType?(:DARK) && opponent1.hp/opponent1.totalhp>(11/20)
            switchscore+=100
          end
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            isConst?(opponent1.species,PBSpecies,:MANDIBUZZ) && opponent1.hp/opponent1.totalhp>(1/8)
            switchscore+=160
          end
          if currentmon.name == "Spiritomb" && currentmon.hp/currentmon.totalhp>(2/5) && 
            isConst?(opponent1.species,PBSpecies,:UMBREON) && opponent1.hp/opponent1.totalhp>(1/8)
            switchscore+=160
          end
          # Lucario
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.hasWorkingAbility(:BULLETPROOF)
            switchscore+=160
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:FIRE) ||
                opponent1.pbHasType?(:FIGHTING) ||
                opponent1.pbHasType?(:GROUND)
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if !opponent1.pbHasType?(:FIRE) && opponent1.pbHasMove?(getID(PBMoves,:OVERHEAT))
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp<(19/20) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if !opponent1.pbHasType?(:FIRE) && opponent1.pbHasMove?(getID(PBMoves,:FIREBLAST))
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp<(3/4) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if !opponent1.pbHasType?(:FIRE) && opponent1.pbHasMove?(getID(PBMoves,:FLAMETHROWER))
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp<(9/10) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:BRELOOM) && opponent1.pbHasMove?(getID(PBMoves,:MACHPUNCH)) && opponent1.hasWorkingAbility(:TECHNICIAN)
                if !opponent1.hasWorkingItem(:CHOICEBAND) &&
                  !opponent1.hasWorkingItem(:LIFEORB) &&
                  !opponent1.hasWorkingItem(:FIGHTINGGEM) &&
                  !opponent1.hasWorkingItem(:BLACKBELT) &&
                  !opponent1.hasWorkingItem(:FISTPLATE)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:BRELOOM) && opponent1.pbHasMove?(getID(PBMoves,:MACHPUNCH)) && opponent1.hasWorkingAbility(:TECHNICIAN)
                if opponent1.hasWorkingItem(:CHOICEBAND) ||
                  opponent1.hasWorkingItem(:LIFEORB) ||
                  opponent1.hasWorkingItem(:FIGHTINGGEM) ||
                  opponent1.hasWorkingItem(:BLACKBELT) ||
                  opponent1.hasWorkingItem(:FISTPLATE)
                  switchscore+=100
                end
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp<(13/20) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:CONKELDURR) && opponent1.pbHasMove?(getID(PBMoves,:MACHPUNCH))
                if !opponent1.hasWorkingItem(:CHOICEBAND) &&
                  !opponent1.hasWorkingItem(:LIFEORB) &&
                  !opponent1.hasWorkingItem(:FIGHTINGGEM) &&
                  !opponent1.hasWorkingItem(:BLACKBELT) &&
                  !opponent1.hasWorkingItem(:FISTPLATE) &&
                  !opponent1.hasWorkingAbility(:IRONFIST)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:CONKELDURR) && opponent1.pbHasMove?(getID(PBMoves,:MACHPUNCH))
                if opponent1.hasWorkingItem(:CHOICEBAND) ||
                  opponent1.hasWorkingItem(:LIFEORB) ||
                  opponent1.hasWorkingItem(:FIGHTINGGEM) ||
                  opponent1.hasWorkingItem(:BLACKBELT) ||
                  opponent1.hasWorkingItem(:FISTPLATE)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Lucario" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:CONKELDURR) && opponent1.pbHasMove?(getID(PBMoves,:MACHPUNCH))
                if opponent1.hasWorkingAbility(:IRONFIST) ||
                  opponent1.hasWorkingAbility(:GUTS)
                  switchscore+=50
                end
              end
            end
          end
          # Togekiss
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5) && 
            currentmon.turncount>0
            switchscore+=100
          end
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5) && currentmon.turncount>0
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:ICEBEAM)) ||
                opponent1.pbHasMove?(getID(PBMoves,:BLIZZARD)) ||
                opponent1.pbHasMove?(getID(PBMoves,:FREEZEDRY)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICICLECRASH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICEPUNCH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICICLESPEAR)) ||
                opponent1.pbHasMove?(getID(PBMoves,:STONEEDGE)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ROCKSLIDE)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ROCKBLAST)) ||
                opponent1.pbHasMove?(getID(PBMoves,:HEADSMASH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ANCIENTPOWER)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ROCKSLIDE)) ||
                opponent1.pbHasMove?(getID(PBMoves,:POWERGEM)) ||
                opponent1.pbHasMove?(getID(PBMoves,:GUNKSHOT)) ||
                opponent1.pbHasMove?(getID(PBMoves,:SLUDGEBOMB)) ||
                opponent1.pbHasMove?(getID(PBMoves,:SLUDGEWAVE)) ||
                opponent1.pbHasMove?(getID(PBMoves,:POISONJAB)) ||
                opponent1.pbHasMove?(getID(PBMoves,:IRONTAIL)) ||
                opponent1.pbHasMove?(getID(PBMoves,:METEORMASH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:IRONHEAD)) ||
                opponent1.pbHasMove?(getID(PBMoves,:FLASHCANNON)) ||
                opponent1.pbHasMove?(getID(PBMoves,:THUNDER)) ||
                opponent1.pbHasMove?(getID(PBMoves,:THUNDERBOLT)) ||
                opponent1.pbHasMove?(getID(PBMoves,:WILDCHARGE)) ||
                opponent1.pbHasMove?(getID(PBMoves,:THUNDERPUNCH))
                switchscore+=100
              end
            end
          end
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5) && currentmon.turncount>0
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:ROCK) ||
                opponent1.pbHasType?(:ICE) ||
                opponent1.pbHasType?(:POISON) ||
                opponent1.pbHasType?(:STEEL)
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:ELECTRIC)
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Togekiss" && currentmon.hp/currentmon.totalhp>(2/5) && currentmon.turncount>0
            if isConst?(opponent1.species,PBSpecies,:SCIZOR) && opponent1.pbHasMove?(getID(PBMoves,:BULLETPUNCH))
              switchscore+=100
            end
          end
          # Milotic
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(1/2) && 
            opponent1.pbHasType?(:ELECTRIC)
            switchscore+=160
          end
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(1/2) && 
            opponent1.pbHasType?(:GRASS)
            switchscore+=160
          end
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(2/5) && 
            isConst?(opponent1.species,PBSpecies,:VENUSAUR) && opponent1.form==1
            switchscore+=160
          end
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(2/5) && 
            isConst?(opponent1.species,PBSpecies,:TOXAPEX)
            switchscore+=160
          end
          if currentmon.name == "Milotic" && currentmon.hp/currentmon.totalhp>(2/5) && 
            isConst?(opponent1.species,PBSpecies,:TENTACRUEL)
            switchscore+=160
          end
          # Roserade
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(2/5) && 
            currentmon.turncount>0
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:PSYCHIC) ||
                opponent1.pbHasType?(:FLYING) ||
                opponent1.pbHasType?(:FIRE) ||
                opponent1.pbHasType?(:ICE)
                switchscore+=100
              end
            end
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(1/2) &&
            opponent1.pbHasType?(:PSYCHIC)
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(1/2) && 
            opponent1.pbHasType?(:FLYING)
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(1/2) && 
            opponent1.pbHasType?(:FIRE)
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(1/2) && 
            opponent1.pbHasType?(:ICE)
            switchscore+=100
          end
          if currentmon.name == "Roserade" && currentmon.hp/currentmon.totalhp>(2/5)
            if opponent1.pbHasMove?(getID(PBMoves,:ICESHARD)) && opponent1.pbHasType?(:ICE)
              if opponent1.hasWorkingItem(:CHOICEBAND) ||
                opponent1.hasWorkingItem(:LIFEORB) ||
                opponent1.hasWorkingItem(:ICEGEM) ||
                opponent1.hasWorkingItem(:NEVERMELTICE) ||
                opponent1.hasWorkingItem(:ICICLEPLATE)
                switchscore+=100
              end
            end
          end
          # Garchomp
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5) && 
            currentmon.turncount>0
            switchscore+=100
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5) && 
            opponent1.effects[PBEffects::DestinyBond]
            switchscore+=100
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(17/20) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:GARDEVOIR) && opponent1.form==1
                if opponent1.pbHasMove?(getID(PBMoves,:HYPERVOICE))
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(3/4) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:GARDEVOIR) && opponent1.form==1
                if opponent1.pbHasMove?(getID(PBMoves,:MOONBLAST))
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(1/2) && currentmon.hp/currentmon.totalhp>(1/3)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if isConst?(opponent1.species,PBSpecies,:RIBOMBEE) && opponent1.pbHasMove?(getID(PBMoves,:MOONBLAST))
                if !opponent1.hasWorkingItem(:CHOICESPEC) &&
                  !opponent1.hasWorkingItem(:LIFEORB) &&
                  !opponent1.hasWorkingItem(:PIXIEPLATE) &&
                  !opponent1.hasWorkingItem(:FAIRYGEM) &&
                  !opponent1.hasWorkingItem(:FAIRIUMZ2)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:ICEBEAM)) ||
                opponent1.pbHasMove?(getID(PBMoves,:BLIZZARD)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICICLECRASH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICEPUNCH)) ||
                opponent1.pbHasMove?(getID(PBMoves,:ICICLESPEAR)) ||
                opponent1.pbHasMove?(getID(PBMoves,:DRACOMETEOR)) ||
                opponent1.pbHasMove?(getID(PBMoves,:EXTRASENSORY))
                switchscore+=160
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(3/4) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:ICESHARD)) && opponent1.pbHasType?(:ICE)
                if opponent1.hasWorkingItem(:CHOICEBAND) ||
                  opponent1.hasWorkingItem(:LIFEORB) ||
                  opponent1.hasWorkingItem(:ICEGEM) ||
                  opponent1.hasWorkingItem(:NEVERMELTICE) ||
                  opponent1.hasWorkingItem(:ICICLEPLATE)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(1/2) && currentmon.hp/currentmon.totalhp>(1/3)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) > pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:ICESHARD)) && opponent1.pbHasType?(:ICE)
                if !opponent1.hasWorkingItem(:CHOICEBAND) &&
                  !opponent1.hasWorkingItem(:LIFEORB) &&
                  !opponent1.hasWorkingItem(:ICEGEM) &&
                  !opponent1.hasWorkingItem(:NEVERMELTICE) &&
                  !opponent1.hasWorkingItem(:ICICLEPLATE)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:DRAGON)
                if opponent1.pbHasMove?(getID(PBMoves,:OUTRAGE)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:DRAGONRUSH)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:DRAGONPULSE))
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(2/3) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:DRAGONCLAW)) && opponent1.pbHasType?(:DRAGON)
                if !opponent1.hasWorkingItem(:CHOICEBAND) &&
                  !opponent1.hasWorkingItem(:LIFEORB) &&
                  !opponent1.hasWorkingItem(:DRAGONFANG) &&
                  !opponent1.hasWorkingItem(:DRACOPLATE)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(3/4) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:DRAGONCLAW)) && opponent1.pbHasType?(:DRAGON)
                if opponent1.hasWorkingItem(:DRACOPLATE) ||
                  opponent1.hasWorkingItem(:DRAGONFANG)
                  switchscore+=160              
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(4/5) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:DRAGONCLAW)) && opponent1.pbHasType?(:DRAGON)
                if opponent1.hasWorkingItem(:LIFEORB)
                  switchscore+=160              
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp<(19/20) && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasMove?(getID(PBMoves,:DRAGONCLAW)) && opponent1.pbHasType?(:DRAGON)
                if opponent1.hasWorkingItem(:CHOICEBAND)
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.pbHasType?(:DRAGON) && (opponent1.hasWorkingItem(:DRAGONIUMZ2) || opponent1.hasWorkingItem(:DRAGONGEM))
                if opponent1.pbHasMove?(getID(PBMoves,:DRAGONCLAW)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:DRAGONRUSH)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:OUTRAGE)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:DRAGONPULSE)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:DRACOMETEOR))
                  switchscore+=160
                end
              end
            end
          end
          if currentmon.name == "Garchomp" && currentmon.hp/currentmon.totalhp>(2/5)
            if pbRoughStat(currentmon,PBStats::SPEED,skill) < pbRoughStat(opponent1,PBStats::SPEED,skill)
              if opponent1.hasWorkingItem(:ICIUMZ2) || opponent1.hasWorkingItem(:ICEGEM)
                if opponent1.pbHasMove?(getID(PBMoves,:FREEZEDRY)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:ICEBEAM)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:BLIZZARD)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:ICEPUNCH)) ||
                  opponent1.pbHasMove?(getID(PBMoves,:ICICLECRASH))
                  switchscore+=160
                end
              end
            end
          end
        end  
        # End
     

     

     

    Explanation for Cynthia's AI

     

     


    Spiritomb

     

    Starting with the second turn, Cynthia will most likely switch out Spiritomb so long its HP is above 40%. This is because I want it to be as annoying as possible. While you will most likely switch out your Pkm as you don't want your Pkm to suffer from Spiritomb's Torment effect and its dangerous moves more than necessary, you will probably send in a Pkm that might hurt Spiritomb badly. So switching out Spiritomb at the same time when you switch out your Pkm will prevent you from getting rid off Spiritomb for the moment.

    Now, you might wonder why Spiritomb should not rather switch out if its hp is under 40%. It's because it would be just useless and there's the possibility that you might set up Spikes or Stealth Rock, which would render Spiritomb useless anyway.

     

    If you happen to be a Dark of Fairy Pkm, Spiritomb tends to flee from the battle as a Fairy Pkm will most likely carry with it a Fairy move that is effective against Spiritomb, and a Dark Pkm can deal lots of damages to Spiritomb while Spiritomb usually can't do much against Dark Pkm. And if you happen to be Mandibuzz or Umbreon, it will very, very likely flee from the battle because it can't do much against them, and I think you don't want to prolong this battle with some cheap stall strategies.

     

     

    Lucario

     

    If you have Bulletproof, Lucario will likely switch out as its moves are ineffective against you.

    If you are a Fire/Fighting/Ground Pkm that is faster than Lucario, Cynthia will switch out Lucario as well.

     

    If you are not a Fire Pkm but carry some strong Fire moves such as Flame Thrower, then Lucario will be switched out depending on its health.

     

    If you have Breloom with Technician and Mach Punch, it will get back to Cynthia depending on its health and depending on your item.

    The same applies to Conkeldurr.

     

     

    Togekiss

     

    Togekiss has a high chance to get back to its trainer if it's longer than the first turn because I want it to profit from its Ancient Trait, which gives priority to all of its moves during its first turn.

     

    If you are faster than Togekiss and carry with you a move effective against Togekiss, Togekiss will likely free from the battle.

     

    If you have a Scizor and if Togekiss is somewhat damaged, it will likely switch out as well because Bullet Punch deals quite a lot of damage to it.

     

     

    Milotic

     

    Milotic's list is not as long as those of the others—so it's a bit incomplete—, but Cynthia will switch it out if it's facing a Grass or Electric Pkm. If it's Toxapex, Tentacruel, or Mega Venusaur, then it's very likely that it gets back to Cynthia.

     

    Roserade

     

    Roserade is quite similar to Lucario, so there aren't that many differences between Lucario and Roserade. Instead of fearing Mach Punch, Roserade will fear Ice Shard, though.

     

    Garchomp

     

    Garchomp on the other hand has a very long list, and that is because as it's Cynthia's strongest Pkm it will likely be your main target because you do not want it to cause much problems to you. Therefore, getting rid off it as soon as possible will make your life easier. Hence why switching out Garchomp as soon and as often as possible will give Cynthia some control over the battle.

    When it will likely switch out depends on its health, on your moves, on your Pkm, and on your items.

     

    Other then that I made sure that if, for some reasons, you are slower than one of Cynthia's Pkm and if you used Destiny Bond, she will likely switch out her Pkm so that you can't take down the Pkm you want. It's only possible if you are faster than one of them. At least, in theory. I haven't tested out Destiny Bond yet, so I'm not sure if Cynthia will really do as I intended her to do but I sure as hell hope it works.

    This code stuffs for AI will be more effective when the AI's team is as diverse as Cynthia's while it might be a little bit difficult for a Mono Team. However, some basics can be included as well, such as deciding if it's worth to switch out a Pkm if it's slower than the opponent. To give an example: I created Karen's team and made sure that if Mega Houndoom is facing a Ground/Fighting/Water/Rock Pkm faster than it, it will likely switch out. So in this case, Karen might send in Spiritomb or Honchkrow.

     

    With that said, I should mention that the codes are far from being perfect. I tried out a lof of different scenarios and noticed some oddities. To give an example:

    Cynthia had only Choice Scarf Roserade and Life Orb Lucario left, and both of them were on full health. She sent in Roserade while I sent in Choice Scarf Darmanitan. Because my Pkm outspeeds her, this was likely the reason why she called Roserade back and sent in Lucario. Because Lucario won't get any damages if it switches in due to some features I included, it got no damages. Okay, she now knew Darmanitan used Flare Blitz. So, what happened next? I used Flare Blitz again, but this time she called Lucario back and sent in Roserade. And Roserade died.

    This is where I didn't really get the AI's decision or it's just me being very critical. It is possible that the AI wanted to see which move Darmanitan would use, which is why the AI called Roserade back and sent in Lucario. And a possible reason why Lucario was then called back might be because of Roserade's special features. If you attack it with a contact move, she will poison you. And on top of that, you will get Rough Skin damage. So, it's possible that the AI wanted to play safe and deal as much damage as possible.

    It could also be, however, that due to the way I programmed the AI for Cynthia, she would have kept switching out Roserade and Lucario because both of them are weak to Fire moves and are outsped by Choice Scarf Darmanitan.

    Now, this is where I wished, Roserade didn't have a Choice Scarf so that I could verify if one of my two hypothesis is correct.

     

    Another odditiy I noticed was when Cynthia had enough Pkm left (four of five, I believe) while I had only one or two left. Her Lucario was on full health and on the field while I had Talonflame, which was weakened by Stealth Rock. I used Flare Blitz, and Cynthia called back Lucario. And now, this is where I expected her to send in Milotic. However, which Pkm did she send in? Roserade. This, I did not understand at first. However, I could only reason that Cynthia can play a lot more risky because she had 4-5 Pkm left while I had only one or two. And then there's the fact that Roserade punishes Pkm using contact moves. It was very interesting to see how after Talonflame used Flare Blitz against Roserade, it died due to recoil, Life Orb, and Roserade's punishing features. Not sure if this is correct, but I wanted to point out all those oddities just to be sure and clarify that my codes for specific trainer battle are far from being perfect. They could, however, serve as a basis or inspiration for you if you want to make battles more interesting and challenging. I'd also like to stress that I'm not an expert on coding stuff and that there are a lot of things I have yet to learn and understand. To give an example: I don't know yet how to force the AI to send in a certain Pkm if a certain Pkm is called back. Other then that, I also have to complete my list. For example:

    If you have a Pkm that has Focus Sash or Sturdy, full health, and Counter

    If the opponent has enough HP to survive one or two moves that is not Counter

    If the opponent happens to have a special move, it will use this special move instead of a physical move to break the Focus Sash/Sturdy and avoid Counter. After that, it will use a physical move.

    Best example: Counter Alakazam vs. Fire Blast Alola Muk.

    Due to my limited programming skills, I can do that only for certain trainers such as Cynthia instead for the general case. I haven't implemented it yet as all my ideas for Cynthia's battlefield require a lot of time and has yet to be completed and I wanted to share with you my first results at first. But maybe, being aware of some gimmick situations such as Focus Sash + Counter might make you want to write a code that would punish players for using those tactiques.

    Anyway, if you managed to go through everything I have written, chapeau!

     

    And before I forget, the following codes should work if you copy and implemented them correctly. There is also rooms for improvements as Cynthia's features are incomplete. While I coded some effects for certain Hidden Power, I have yet to do so for many more of them, and this is quite time consuming. I also have yet to include some special effects for moves such as Aura Sphere or Shadow Ball if their special effect in Cynthia's field are activated. Cynthia's field is all about ruins and runes, and part of it is an idea from the Pkm Trading Card Game. Sky Ridge, to be more precise. In Sky Ridge, you have some TMs that will cause certain effects depending on the type of the user and the kind of energy it has. If you use Aura Sphere, it gets additional Fire Type and it becomes stronger. A possible effect I might include could be: Burning the target or raising user's special attack or lowering target's special defense.  However, I have to think about whether or not these effects might be too much.

    Another feature I implemented was the Ancient Trait from the ORAS edition. Depending on the Greek's signs such as alpha, beta, etc., a certain Pkm might double its status. Whiscash, for example, would raise its Special Defense to 4 stages if it uses Amnesia. Togekiss, on the other hand, has priority on its first turn. As this list is rather large and needs a lot of time to think about and to implement them, I have only included Pkm such as Togekiss so far, as my main focus was Cynthia's team. Feel free to use these ideas and codes, but make sure to credit them. First of all, without Reborn's resources I would not have been able to do this. And second, Ancient Traits and Sky Ridge come from the Pokémon Trading Card Game. If you think there's something I forgot to mention, let me know. Feel also free to voice your opinion on this post.^^

     
     

     

     

    Cynthia's Team in PBS: trainers

     

     


    #-------------------
    CYNTHIA
    Cynthia
    6
    GARCHOMP,85,GARCHOMPITE,EARTHQUAKE,STEALTHROCK,STONEEDGE,FLAMETHROWER,1,F,0,,JOLLY,31,255,,false,10,1,252,4,0,252,0,0
    SPIRITOMB,85,ASSAULTVEST,FOULPLAY,SHADOWBALL,SHADOWSNEAK,SPECTRALTHIEF,0,F,0,shiny,SASSY,31,255,,false,10,1,252,0,4,0,0,252
    LUCARIO,85,LIFEORB,AURASPHERE,HIDDENPOWERGRA,DARKPULSE,IRONTAIL,1,M,0,,TIMID,31,255,,false,10,1,0,0,0,252,252,4
    TOGEKISS,85,SITRUSBERRY,EXTRASENSORY,WATERPULSE,ROOST,AURASPHERE,1,F,0,,BOLD,31,255,,false,10,1,252,0,236,20,0,0
    MILOTIC,85,LEFTOVERS,WATERPULSE,RECOVER,HIDDENPOWERICE,TOXIC,0,F,0,,CALM,31,255,,false,10,1,252,0,0,4,0,252
    ROSERADE,85,CHOICESCARF,MAGICALLEAF,SLUDGEBOMB,EXTRASENSORY,HIDDENPOWERFIR,2,F,0,,TIMID,31,255,,false,10,1,0,0,0,252,252,4

     

    - - -

    I will admit that some move/item/nature/EVs choices might be weird at first glance. I will stress, however, that in most cases they are adjusted to the battlefield I created for Cynthia, and to my battle experiences against the AI.

    - Garchomp is sent out first so that it can set up Stealth Rock, thus supporting the rest of the team if they have to rely on an 2HKO or even OHKO.

    - This is especially true for Roserade as even without Choice Scarf the AI tends to send out Roserade when Cynthia has only one or two Pkm left. And Roserade needs Choice Scarf so that it can easily sweep your team if you have some fast Pkm. It's also strong enough to threaten your team as it makes good use of the battlefield, which boosts moves such as Magical Leaf and Extra Sensory and gives them an additional type, Electric for the former and Ice for the latter.

    - As for Spiritomb, you can change its nature and EVs to make it more bulky on the physical side as it tends to deal with Pkm that are strong on the physical side. You can also change Spectral Thief to Rock Tomb if you want to stay true to the "rules" as Spiritomb cannot learn Marshadow's signature move (even though, it would make perfectly sense for it). Other then that, it's god damn annoying and if you don't watch out, it will easily take down 2-3 of your Pkm. This is because thanks to the runes on Cynthia's battlefield (which is all about ruines and runes), it will get 0,75 less damage (this is as much as the Filter or Solid Rock ability). It will also heal 1/8 of its hp in each round (this is also true for Pkm that are connected to the runes and/or ruins in some way, such as Sigilyph, Golurk, Lucario, Claydol, etc., so you can use this field to your advantage). Its moves are also boosted by 1.3, which is like a free Life Orb bonus. And if you attack Spiritomb, it will Torment you, thus limiting your move choices. And as long as it is on the field and as long as you are under Torment effect, you will loose 1/8 of your hp. Ugh, it's so evil...

    - Lucario is a special sweeper because it makes good use of the field. Although it is Timid, it has Iron Tail, which is enough to OHKO every Fairy Pkm weak to Steel, unless you invested some EVs into their Defense. Hidden Power Grass gets boosted by the field and it gets an additional Electric type. So Fire Pkm are one of the few that can switch into its attacks.

    - Milotic has a Calm nature as it needs to sponge the many strong special attacks that are boosted by the field. The runes field boosts Psychic moves, Aura moves, and all other moves connected to legendary Pkm or to the environment/theme. Water Pulse gets additonal Electric type while Hidden Power Ice gets additional Fire type.

    - Togekiss needs a Sitrus Berry as it won't stay long on the field and it tends to switch into moves when Cynthia switches out one of her other Pkm. A Bold nature allows Togekiss to survive many strong physical attacks, which you might not expect, and retaliate back.

    - Last but not least, Garchomp. It has a Mega Stone because champs such as Steve and Diantha have a mega stone as well! And they use it on their strongest Pkm! And as Garchomp is Cynthia's strongest Pkm, it only makes sense for her to mega evolve Garchomp. Garchomp has maximum Speed and HP because I want it to be as fast and as durable as possible. The field boosts Garchomp's power high enough, so it doesn't really need full EVs into its Attack. Under mega evolution it will always land a Crit due to its aggressive nature according to the Pokédex, and the field activates Sand Force. And don't worry, you have enough ways to OHKO Mega Garchomp. Moves such as Extra Sensory or Shadow Ball get additional Ice type and are boosted by the field. And many Pkm can learn Shadow Ball, so Mega Garchomp won't be much of a problem. In my experiences, it is not as dangerous as Spiritomb or Lucario.

     

    If you want to increase your chances to win, you need a way to deal with Roserade as ridiculous as it may sound. I suggest a strong Pkm with a Choice Scarf. Make sure it outspeeds Roserade!

    I also advise against using Hyper Offensive teams as they tend to be very fragile, and many of Cynthia's Pkm are quite bulky and deal lots of damages. Make sure you are prepared against Spiritomb, otherwise it will turn out to be a catastrophe for you.

    Do not assume Cynthia won't switch out her Pkm!!! Because she will often do so as I programmed her that way. But do not rely too much on that fact as the AI has to decide whether or not it is worth to switch out a Pkm. The AI tends to not switch out a Pkm if Cynthia doesn't have many Pkm left or if the Pkm she uses has been switched out once or is somewhat hurt.

    Be careful when you want to switch out one of your Pkm as Pkm such as Lucario or Roserade will do lots of damages even against foes resistant to one of their moves. To give an example: Magical Leaf is a 2HKO for Skarmory, Mega Charizard Y, and Talonflame as this move gets additional Electric type. With Stealth Rock on the field you can say good bye to them.

    Beware of Togekiss! Due to its Ancient Trait (an idea from the Pokémon Card Game) all of its moves have a priority of 3 when it is its first turn. After that, it looses its priority effect and will have it again when Cynthia switches out Togekiss and uses it later.

    If you use your own Garchomp, your life will get a lot easier. First of all, Dragon Rush has perfect accuracy in this field and its a priority move if it is used by non Mega Garchomp and if it is its first turn. Stone Egde has perfect accuracy as well and gets boosted by the field. And if you add Dragonium Z, you can take out 2-3 of Cynthia's Pkm if you are careful.
     

     

     

    PBS: trainertypes

     

     


    137,CYNTHIA,Champ,21,Battle- Dramatic.mp3,Victory2,,Female,100
     

     

     

    Graphic: Character/Battlebacks

     

     


    You need to include a character image for Characters and name it trainer137

    You also need to include three backgrounds for Battlebacks and name them: battlebgCynthia, enemybaseCynthia, playerbaseCynthia
     

     

     

    PokeBattle_Battle:

     

     


    Only the codes between --- and --- are relevant for you! I put them under spoiler to make it easier for you to copy.

    1) Put under: pri+=1 if isConst?(@battlers.ability,PBAbilities,:GALEWINGS) && @choices[2].type==2 && ((@battlers.hp == @battlers.totalhp) || (($fefieldeffect == 27 || $fefieldeffect == 28) && @weather == PBWeather::STRONGWINDS))

     

     

    This here



    # Start: Garchomp's Prio Moves
            pri+=1 if isConst?(@battlers.species,PBSpecies,:GARCHOMP) && @battlers.form==0 && 
            @choices[2].type==16 && @choices[2].basedamage==100 && 
            $fefieldeffect == 58 && @battlers.turncount==1
            # Start: Togekiss' Ancient Trait
            pri+=3 if isConst?(@battlers.species,PBSpecies,:TOGEKISS) && $fefieldeffect == 58 && @battlers.turncount==1

     

    This will grant Garchomp a Dragon Rush priority on its first turn.

     

     

    This will grant Togekiss a priority of 3 on its first turn.

     

    2) Directly under: 

    when 42 # citynew
                    pbApplySceneBG("battlebg","Graphics/Battlebacks/battlebgCityNew.png")
                    pbApplySceneBG("playerbase","Graphics/Battlebacks/playerbaseCityNew.png")
                    pbApplySceneBG("enemybase","Graphics/Battlebacks/enemybaseCityNew.png")

     

     

     



    - - -

    when 58 # Cynthia's Room
                    pbApplySceneBG("battlebg","Graphics/Battlebacks/battlebgCynthia.png")
                    pbApplySceneBG("playerbase","Graphics/Battlebacks/playerbaseCynthia.png")
                    pbApplySceneBG("enemybase","Graphics/Battlebacks/enemybaseCynthia.png") 

    - - -
     

     

     

    3) Directly under:

    when 37
          pbDisplay(_INTL("The field became mysterious!"))

     

     



    - - -

    when 58
          pbDisplay(_INTL("The runes are radiating!")) 

    - - -
     

     

     

    4) Directly under:

    #### AME - 003 - START
        # Field Effects
        endmessage=false
        for i in priority  
          next if i.isFainted?
          case $fefieldeffect
            when 2 # Grassy Field
              next if i.hp<=0   
              if !i.isAirborne? 
                if i.effects[PBEffects::HealBlock]==0 && i.totalhp != i.hp
                  pbDisplay(_INTL("The grassy terrain healed the Pokemon on the field.",i.pbThis)) if endmessage == false
                  endmessage=true
                  hpgain=(i.totalhp/16).floor
                  hpgain=(hpgain*1.3).floor if isConst?(i.item,PBItems,:BIGROOT)
                  hpgain=i.pbRecoverHP(hpgain,true)
                end
              end

     

     



    - - -

    when 58 # Cynthia
              next if i.hp<=0   
              if isConst?(i.species,PBSpecies,:SPIRITOMB)
                if i.effects[PBEffects::HealBlock]==0 && i.totalhp != i.hp
                  pbDisplay(_INTL("{1} used the runes to heal itself!",i.pbThis)) if endmessage == false
                  endmessage=true
                  hpgain=(i.totalhp/8).floor
                  hpgain=i.pbRecoverHP(hpgain,true)
                end
              end
              if isConst?(i.species,PBSpecies,:LUCARIO)
                if i.effects[PBEffects::HealBlock]==0 && i.totalhp != i.hp
                  pbDisplay(_INTL("{1} used the runes to heal itself!",i.pbThis)) if endmessage == false
                  endmessage=true
                  hpgain=(i.totalhp/8).floor
                  hpgain=i.pbRecoverHP(hpgain,true)
                end
              end
              if i.pbOwnSide.effects[PBEffects::LuckyChant]>0
                if i.effects[PBEffects::HealBlock]==0 && i.totalhp != i.hp
                  pbDisplay(_INTL("The Lucky Chant unleashed the runes' healing power!",i.pbThis)) if endmessage == false
                  endmessage=true
                  hpgain=(i.totalhp/16).floor
                  hpgain=i.pbRecoverHP(hpgain,true)
                end
              end

    - - -
     

     

    This will allow Spiritomb and Lucario to heal themselves, and if Lucky Chant is active all of your Pkm will recover 1/16 of their hp so long they are on the field

     

    5) Directly under

    if i.hasWorkingAbility(:WATERVEIL) && ($fefieldeffect == 21 || 
            $fefieldeffect == 22)
            if i.status>0
                  pbDisplay(_INTL("{1}'s Water Veil cured its status problem!",i.pbThis))
              i.status=0
              i.statusCount=0
            end
          end

     

     



    - - -

    # Spiritomb Status
          if isConst?(i.species,PBSpecies,:SPIRITOMB) && $fefieldeffect == 58
            if i.status>0
              case i.status
                when PBStatuses::SLEEP
                  pbDisplay(_INTL("The runes cured {1}'s sleep problem!",i.pbThis))
                when PBStatuses::FROZEN
                  pbDisplay(_INTL("The runes cured {1}'s ice problem!",i.pbThis))
                when PBStatuses::BURN
                  pbDisplay(_INTL("The runes cured {1}'s burn problem!",i.pbThis))
                when PBStatuses::POISON
                  pbDisplay(_INTL("The runes cured {1}'s poison problem!",i.pbThis))
                when PBStatuses::PARALYSIS
                  pbDisplay(_INTL("The runes cured {1}'s paralysis problem!",i.pbThis))
              end
              i.status=0
              i.statusCount=0
            end
          end
          
          # Lucario Status
          if isConst?(i.species,PBSpecies,:LUCARIO) && $fefieldeffect == 58
            if i.status>0
              case i.status
                when PBStatuses::SLEEP
                  pbDisplay(_INTL("The runes cured {1}'s sleep problem!",i.pbThis))
                when PBStatuses::FROZEN
                  pbDisplay(_INTL("The runes cured {1}'s ice problem!",i.pbThis))
                when PBStatuses::BURN
                  pbDisplay(_INTL("The runes cured {1}'s burn problem!",i.pbThis))
                when PBStatuses::POISON
                  pbDisplay(_INTL("The runes cured {1}'s poison problem!",i.pbThis))
                when PBStatuses::PARALYSIS
                  pbDisplay(_INTL("The runes cured {1}'s paralysis problem!",i.pbThis))
              end
              i.status=0
              i.statusCount=0
            end
          end
          
          # Lucky Chant Cure
          if i.pbOwnSide.effects[PBEffects::LuckyChant]>0 && $fefieldeffect == 58
            if i.status>0
              case i.status
                when PBStatuses::SLEEP
                  pbDisplay(_INTL("The activated runes cured {1}'s sleep problem!",i.pbThis))
                when PBStatuses::FROZEN
                  pbDisplay(_INTL("The activated runes cured {1}'s ice problem!",i.pbThis))
                when PBStatuses::BURN
                  pbDisplay(_INTL("The activated runes cured {1}'s burn problem!",i.pbThis))
                when PBStatuses::POISON
                  pbDisplay(_INTL("The activated runes cured {1}'s poison problem!",i.pbThis))
                when PBStatuses::PARALYSIS
                  pbDisplay(_INTL("The activated runes cured {1}'s paralysis problem!",i.pbThis))
              end
              i.status=0
              i.statusCount=0
            end
          end
          # End

    - - -
     

     

    This will cure a Pkm from status problems

     

    6) Directly under 

    # Water Compaction on Water-based Fields
        if i.hasWorkingAbility(:WATERCOMPACTION)
          if $fefieldeffect==8 || $fefieldeffect==21 || $fefieldeffect==22 || 
            $fefieldeffect==26 # Swamp, Water Surface, Underwater, Murkwater
            if !i.pbTooHigh?(PBStats::DEFENSE)
              i.pbIncreaseStatBasic(PBStats::DEFENSE,2)
              pbCommonAnimation("StatUp",i,nil)
              pbDisplay(_INTL("{1}'s Water Compaction sharply raised its defense!",
               i.pbThis))     
             end
           end
         end 

     

     



    # Spiritomb's Torment
        if i.effects[PBEffects::Torment] && ($fefieldeffect==57 || $fefieldeffect==58)  && !isConst?(i.ability,PBAbilities,:MAGICGUARD)
          if isConst?(i.pbOpposing1.species,PBSpecies,:SPIRITOMB) || 
             isConst?(i.pbOpposing2.species,PBSpecies,:SPIRITOMB)
            hploss=i.pbReduceHP((i.totalhp/8).floor,true)
            pbDisplay(_INTL("Spiritomb intensified {1}'s pain!",i.pbThis)) if hploss>0
          end
        end
        if i.isFainted?
          return if !i.pbFaint
          next
        end

    - - -
     

     

    If Spiritomb is on the field and if the opponent is under the effect of Torment, it will loose 1/8 of its hp every round.

     

     
     


    - - -

    # Start: Garchomp's Prio Moves
            pri+=1 if isConst?(@battlers.species,PBSpecies,:GARCHOMP) && @battlers.form==0 && 
            @choices[2].type==16 && @choices[2].basedamage==100 && 
            $fefieldeffect == 58 && @battlers.turncount==1
            # Start: Togekiss' Ancient Trait
            pri+=3 if isConst?(@battlers.species,PBSpecies,:TOGEKISS) && $fefieldeffect == 58 && @battlers.turncount==1

    - - -
     
     

     

    PokeBattle_ActualScene

    I put the codes under spoiler. There should be two of them under spoiler

    1) Directly under 

    elsif $feoverride == 42
            backdrop="CityNew"

     

     

     



    - - -

    elsif $feoverride == 58
            backdrop=="Cynthia" 

    - - -
     

     

     

    2) Directly under

    elsif backdrop=="CityNew"
          fieldbd = 42

     

     

     



    - - -

    elsif backdrop=="Cynthia"
          fieldbd = 58

    - - - 
     

     

     

    PokeBattle_ZMoves

    Replace

     

     

     



    if attacker.hasWorkingAbility(:SANDFORCE) &&
         (@battle.pbWeather==PBWeather::SANDSTORM ||
         $fefieldeffect == 12|| $fefieldeffect == 20) &&
         (isConst?(type,PBTypes,:ROCK) ||
         isConst?(type,PBTypes,:GROUND) ||
         isConst?(type,PBTypes,:STEEL))
          damagemult=(damagemult*1.3).round
        end
     

     

    With

     

     

     



    if attacker.hasWorkingAbility(:SANDFORCE) &&
         (@battle.pbWeather==PBWeather::SANDSTORM ||
         $fefieldeffect == 12|| $fefieldeffect == 20 || $fefieldeffect == 58) &&
         (isConst?(type,PBTypes,:ROCK) ||
         isConst?(type,PBTypes,:GROUND) ||
         isConst?(type,PBTypes,:STEEL))
          damagemult=(damagemult*1.3).round
        end
     

     

    This will activate Sand Force

     

    Above

     

     

     



    # Guts
        if attacker.hasWorkingAbility(:GUTS) && attacker.status==0 && pbIsPhysical?(type) && $fefieldeffect==56
          atkmult=(atkmult*1.5).round
        end
     

     

    Please put this

     

     

     



    # Spiritomb
        if isConst?(attacker.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
          atkmult=(atkmult*1.3).round
          @battle.pbDisplay(_INTL("The runes provided Spiritomb with some additional power!"))
        end
     

     

    This allows you to boost Spiritomb's ZMoves.

     

    Replace

     

     

     



    if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsPhysical?(type) &&
         (opponent.status>0 || $fefieldeffect == 3 || $fefieldeffect == 9 ||
          $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34) && !(opponent.moldbroken) 
          defmult=(defmult*1.5).round
        end
     

     

     

    With

     

     

     



    if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsPhysical?(type) &&
         (opponent.status>0 || $fefieldeffect == 3 || $fefieldeffect == 9 ||
          $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34 || $fefieldeffect == 58) && !(opponent.moldbroken) 
          defmult=(defmult*1.5).round
        end
        # Start: Marvel Scale blessed by Lucky Chant
        if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsSpecial?(type) &&
          $fefieldeffect == 58 && opponent.pbOwnSide.effects[PBEffects::LuckyChant]>0
          defmult=(defmult*1.5).round
        end  
        # End
     

     

     

    If you see this

     

     

     



    when 32 # Dragon's Den
            if isConst?(type,PBTypes,:FIRE)
              damage=(damage*1.5).floor
              @battle.pbDisplay(_INTL("The lava's heat boosted the flame!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
             if isConst?(type,PBTypes,:ICE) || isConst?(type,PBTypes,:WATER)
              damage=(damage*0.5).floor
              @battle.pbDisplay(_INTL("The lava's heat softened the attack...",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
            if isConst?(type,PBTypes,:DRAGON)
              damage=(damage*2).floor
              @battle.pbDisplay(_INTL("The draconic energy boosted the attack!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
     

     

    Put the following codes under it.

     

     

     

     



    when 58 # Cynthia's Room
            if isConst?(type,PBTypes,:ROCK)
              damage=(damage*1.5).floor
              @battle.pbDisplay(_INTL("The ruin increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
            if isConst?(type,PBTypes,:PSYCHIC)
              damage=(damage*1.5).floor
              @battle.pbDisplay(_INTL("The runes increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
            if isConst?(type,PBTypes,:DRAGON)
              damage=(damage*1.5).floor
              @battle.pbDisplay(_INTL("The sacred field increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
     

     

    Above

     

     

     



    if attacker.hasWorkingAbility(:STAKEOUT) && @battle.switchedOut[opponent.index]
          finaldamagemult=(finaldamagemult*2.0).round
        end 
     

     

     

    Put this

     

     

     



    # Cynthia

    if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==0 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("The runes strengthened Lucario's resilience!")) 
        end
        if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==1 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.675).round
          @battle.pbDisplay(_INTL("The runes strengthened Lucario's resilience!")) 
        end

    if isConst?(opponent.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("The runes strengthened Spiritomb's resilience!"))
        end
        if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==0 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("Garchomp blocked the hit!"))
        end
        if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==1 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.675).round
          @battle.pbDisplay(_INTL("Mega Garchomp blocked the hit fiercely!"))
        end

    # End
     

     

     

    PokeBattle_Move

    Under

     

     

     



    #Telepathy
        if opponent.hasWorkingAbility(:TELEPATHY) && 
         @basedamage>0 &&
         !(opponent.moldbroken)
          partner=attacker.pbPartner
          if opponent.index == partner.index
            # if !@battle.pbIsOpposing?(attacker.index) #If it's your partner
            @battle.pbDisplay(_INTL("{1} avoids attacks by its ally Pokémon!",opponent.pbThis))
            return 0
          end
        end
     

     

     Put this

     

     

     



    # Cynthia's Lucario dodges if it switches in
        if isConst?(opponent.species,PBSpecies,:LUCARIO) && $fefieldeffect==58 &&
          @battle.switchedOut[opponent.index]
          @battle.pbDisplay(_INTL("{1} anticipated the attack due to its heightened senses!",opponent.pbThis))
          return 0
        end
     

     

    If Lucario switches in, it will receive no damage because the runes increase its aura abilities and its flexibility.

     

    If you see this

     

     

     



    when 35 # New World
            if (id == PBMoves::DOOMDUMMY)
              typemod2=pbTypeModifier(PBTypes::FIRE,attacker,opponent)
              typemod3= ((typemod*typemod2) * 0.25).ceil
              typemod=typemod3
              typeChange=PBTypes::FIRE
            end
     

     

     

    Put the following codes under it

     

     

     



    # Start
          when 58 # Cynthia's Room
            if id == PBMoves::MAGICALLEAF
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                typemod2=pbTypeModifier(PBTypes::ELECTRIC,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::ELECTRIC
              end
            end
            if id == PBMoves::HIDDENPOWERGRA
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                typemod2=pbTypeModifier(PBTypes::ELECTRIC,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::ELECTRIC
              end 
            end
            if id == PBMoves::WATERPULSE
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                typemod2=pbTypeModifier(PBTypes::ELECTRIC,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::ELECTRIC
              end 
            end
            if id == PBMoves::MYSTICALFIRE
              typemod2=pbTypeModifier(PBTypes::ICE,attacker,opponent)
              typemod3= ((typemod*typemod2) * 0.25).ceil
              typemod=typemod3
              typeChange=PBTypes::ICE
            end
            if id == PBMoves::EXTRASENSORY
              if !opponent.pbHasType?(:DARK)
                typemod2=pbTypeModifier(PBTypes::ICE,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::ICE
              end  
            end
            if id == PBMoves::SHADOWBALL
              if !opponent.pbHasType?(:NORMAL) && 
                !opponent.hasWorkingAbility(:BULLETPROOF)
                typemod2=pbTypeModifier(PBTypes::ICE,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::ICE
              end  
            end
            if id == PBMoves::AURASPHERE
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                typemod2=pbTypeModifier(PBTypes::FIRE,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::FIRE
              end 
            end
            if id == PBMoves::ANCIENTPOWER
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                typemod2=pbTypeModifier(PBTypes::FIRE,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::FIRE
              end 
            end
            if id == PBMoves::HIDDENPOWERICE
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                typemod2=pbTypeModifier(PBTypes::FIRE,attacker,opponent)
                typemod3= ((typemod*typemod2) * 0.25).ceil
                typemod=typemod3
                typeChange=PBTypes::FIRE
              end  
            end
          # End
     

     

    This is a gimmick from the Pokémon Trading Card Game, Sky Ridge. Some moves get additional type in Cynthia's field. So it's like Flying Press, only better. For example: Ancient Power becomes a Rock/Fire move. If your opponent has Flashfire, it's only a Rock move. What's also important to mention is the primary type. ExtraSensory is a psychic move. While it gets an additional Ice type, it won't affect a Dark Pokémon.

     

    Under: return true if opponent.effects[PBEffects::Telekinesis]>0

     

    Put this

     

     

     



    return true if isConst?(attacker.species,PBSpecies,:LUCARIO) && ($fefieldeffect == 58)
     

     

    Due to increased aura abilities, Lucario's moves have perfect accuracy

     

    Above

     

     

     



    when 11 # Corrosive Mist Field
          if id == PBMoves::TOXIC
            baseaccuracy=100
          end
     

     

     

    Put this

     

     

     



    when 58 # Cynthia's Room
          if id == PBMoves::STONEEDGE || id == PBMoves::ROCKSLIDE || id == PBMoves::ROCKCLIMB || id == PBMoves::ROCKTOMB
            baseaccuracy=100
          end
          if id == PBMoves:: WILLOWISP
            if attacker.pbHasType?(:GHOST) ||
              isConst?(attacker.species,PBSpecies,:NINETALES) ||
              isConst?(attacker.species,PBSpecies,:ABSOL)
              baseaccuracy=100
            end
          end
          if id == PBMoves::DRAGONRUSH && attacker.pbHasType?(:DRAGON)
            baseaccuracy=100
          end
     

     

     

    If you see this: return true if @function==0xA0 # Frost Breath

     

    Put the following codes under it:

     

     

     



    return true if isConst?(attacker.species,PBSpecies,:GARCHOMP) && attacker.form==1 && $fefieldeffect==58
     

     

    Mega Garchomp will always land a critical hit in this field. That's a reference to the Pokédex, which says that due to its transformation it is enraged

     

    Replace

     

     

     



    if attacker.hasWorkingAbility(:SANDFORCE) &&
         (@battle.pbWeather==PBWeather::SANDSTORM ||
         $fefieldeffect == 12 || $fefieldeffect == 20) &&
         (isConst?(type,PBTypes,:ROCK) ||
         isConst?(type,PBTypes,:GROUND) ||
         isConst?(type,PBTypes,:STEEL))
          damagemult=(damagemult*1.3).round
        end
     

     

     

    With

     

     

     



    if attacker.hasWorkingAbility(:SANDFORCE) &&
         (@battle.pbWeather==PBWeather::SANDSTORM ||
         $fefieldeffect == 12 || $fefieldeffect == 20 || $fefieldeffect == 58) &&
         (isConst?(type,PBTypes,:ROCK) ||
         isConst?(type,PBTypes,:GROUND) ||
         isConst?(type,PBTypes,:STEEL))
          damagemult=(damagemult*1.3).round
        end
     

     

     

    If you see this

     

     

     



    when 16 # Superheated Field
            if (id == PBMoves::SURF || id == PBMoves::MUDDYWATER ||
             id == PBMoves::WATERPLEDGE || id == PBMoves::WATERSPOUT ||
             id == PBMoves::SPARKLINGARIA)
              damagemult=(damagemult*0.625).round
            end
            if (id == PBMoves::SCALD || id == PBMoves::STEAMERUPTION)
            damagemult=(damagemult*1.667).round
            @battle.pbDisplay(_INTL("The field super-heated the attack!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
     

     

     

    Put the following codes under it

     

     

     



    when 58
            if (id == PBMoves::JUDGMENT || id == PBMoves::SACREDFIRE || id == PBMoves::SECRETPOWER)
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
            if (id == PBMoves::DRAGONPULSE || id == PBMoves::DARKPULSE)
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes unleashed the aura!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
            if (id == PBMoves::HIDDENPOWER || id == PBMoves::HIDDENPOWERNOR || id == PBMoves::HIDDENPOWERFIR ||
              id == PBMoves::HIDDENPOWERFIG || id == PBMoves::HIDDENPOWERWAT || id == PBMoves::HIDDENPOWERFLY ||
              id == PBMoves::HIDDENPOWERPOI || id == PBMoves::HIDDENPOWERELE ||
              id == PBMoves::HIDDENPOWERGRO || id == PBMoves::HIDDENPOWERPSY || id == PBMoves::HIDDENPOWERROC ||
              id == PBMoves::HIDDENPOWERBUG || id == PBMoves::HIDDENPOWERDRA ||
              id == PBMoves::HIDDENPOWERGHO || id == PBMoves::HIDDENPOWERDAR || id == PBMoves::HIDDENPOWERSTE ||
              id == PBMoves::HIDDENPOWERFAI)
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
            # Magical Leaf: Thunder Force
            if id == PBMoves::MAGICALLEAF
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Gamma: Thunder Force!",opponent.pbThis)) if $feshutup == 0 &&
              !opponent.pbHasType?(:GROUND) && 
              !opponent.hasWorkingAbility(:VOLTABSORB) &&
              !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
              !opponent.hasWorkingAbility(:MOTORDRIVE)
              $feshutup+=1
            end
            if id == PBMoves::MAGICALLEAF
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                damagemult=(damagemult*1.5).round
              end
            end
            # Hiddern Power Grass: Thunder Force
            if id == PBMoves::HIDDENPOWERGRA
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Gamma: Thunder Force!",opponent.pbThis)) if $feshutup == 0 &&
              !opponent.pbHasType?(:GROUND) && 
              !opponent.hasWorkingAbility(:VOLTABSORB) &&
              !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
              !opponent.hasWorkingAbility(:MOTORDRIVE)
              $feshutup+=1
            end
            if id == PBMoves::HIDDENPOWERGRA
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                damagemult=(damagemult*1.5).round
              end
            end
            # Water Pulse: Thunder Force
            if id == PBMoves::WATERPULSE
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes unleashed the aura!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Gamma: Thunder Force!",opponent.pbThis)) if $feshutup == 0 &&
              !opponent.pbHasType?(:GROUND) && 
              !opponent.hasWorkingAbility(:VOLTABSORB) &&
              !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
              !opponent.hasWorkingAbility(:MOTORDRIVE)
              $feshutup+=1
            end
            if id == PBMoves::WATERPULSE
              if !opponent.pbHasType?(:GROUND) && 
                !opponent.hasWorkingAbility(:VOLTABSORB) &&
                !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                !opponent.hasWorkingAbility(:MOTORDRIVE)
                damagemult=(damagemult*1.5).round
              end 
            end 
            # Mystical Fire: Freezing Force
            if id == PBMoves::MYSTICALFIRE
              damagemult=(damagemult*2.25).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Beta: Freezing Force!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
            # Extra Sensory: Freezing Force
            if id == PBMoves::EXTRASENSORY
              if !opponent.pbHasType?(:DARK)
                damagemult=(damagemult*1.5).round
                @battle.pbDisplay(_INTL("Miracle Sphere Beta: Freezing Force!",opponent.pbThis)) if $feshutup == 0
                $feshutup+=1
              end
            end
            # Shadow Ball: Freezing Force
            if id == PBMoves::SHADOWBALL
              if !opponent.pbHasType?(:NORMAL) &&
                !opponent.hasWorkingAbility(:BULLETPROOF)
                damagemult=(damagemult*1.5).round
                @battle.pbDisplay(_INTL("Miracle Sphere Beta: Freezing Force!",opponent.pbThis)) if $feshutup == 0
                $feshutup+=1
              end
            end
            # Hiddern Power Ice: Freezing Force
            if id == PBMoves::HIDDENPOWERICE
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Beta: Freezing Force!",opponent.pbThis)) if $feshutup == 0 && !opponent.hasWorkingAbility(:FLASHFIRE)
              $feshutup+=1
            end
            if id == PBMoves::HIDDENPOWERICE
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                damagemult=(damagemult*1.5).round
              end 
            end
            # Aurasphere: Fire Force
            if id == PBMoves::AURASPHERE
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes unleashed the aura!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Alpha: Fire Force!",opponent.pbThis)) if $feshutup == 0 && !opponent.hasWorkingAbility(:FLASHFIRE)
              $feshutup+=1
            end
            if id == PBMoves::AURASPHERE
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                damagemult=(damagemult*1.5).round
              end 
            end
            # Ancient Power: Fire Force
            if id == PBMoves::ANCIENTPOWER
              damagemult=(damagemult*1.5).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              @battle.pbDisplay(_INTL("Miracle Sphere Alpha: Fire Force!",opponent.pbThis)) if $feshutup == 0 && !opponent.hasWorkingAbility(:FLASHFIRE)
              $feshutup+=1
            end
            if id == PBMoves::ANCIENTPOWER
              if !opponent.hasWorkingAbility(:FLASHFIRE)
                damagemult=(damagemult*1.5).round
              end 
            end
            # End of Spheres
            if (id == PBMoves::PSYSTRIKE || id == PBMoves::AEROBLAST ||
             id == PBMoves::ORIGINPULSE || id == PBMoves::PRECIPICEBLADES ||
             id == PBMoves::DRAGONASCENT || id == PBMoves::DOOMDUMMY ||
             id == PBMoves::MISTBALL || id == PBMoves::LUSTERPURGE ||
             id == PBMoves::PSYCHOBOOST || id == PBMoves::SPACIALREND ||
             id == PBMoves::ROAROFTIME || id == PBMoves::CRUSHGRIP ||
             id == PBMoves::SECRETSWORD || id == PBMoves::RELICSONG ||
             id == PBMoves::HYPERSPACEHOLE || id == PBMoves::LANDSWRATH ||
             id == PBMoves::MOONGEISTBEAM || id == PBMoves::SUNSTEELSTRIKE ||         
             id == PBMoves::PRISMATICLASER || id == PBMoves::FLEURCANNON)
              damagemult=(damagemult*1.3).round
              @battle.pbDisplay(_INTL("The runes' energy resonated with the attack!",opponent.pbThis)) if $feshutup == 0
              $feshutup+=1
            end
     

     

    This will boost certain moves.

     

    Above

     

     

     



    # Guts
        if attacker.hasWorkingAbility(:GUTS) && attacker.status==0 && pbIsPhysical?(type) && $fefieldeffect==56
          atkmult=(atkmult*1.5).round
        end
     

     

     

    Put this

     

     

     



    # Spiritomb
        if isConst?(attacker.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
          atkmult=(atkmult*1.3).round
          @battle.pbDisplay(_INTL("The runes provided Spiritomb with some additional power!"))
        end
     

     

     

    Replace

     

     

     



    if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsPhysical?(type) &&
         (opponent.status>0 || $fefieldeffect == 3 || $fefieldeffect == 9 ||
          $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34 || $fefieldeffect == 58) && !(opponent.moldbroken) 
          defmult=(defmult*1.5).round
        end
     

     

     

    With

     

     

     



    if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsPhysical?(type) &&
         (opponent.status>0 || $fefieldeffect == 3 || $fefieldeffect == 9 ||
          $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34 || $fefieldeffect == 58) && !(opponent.moldbroken) 
          defmult=(defmult*1.5).round
        end
        # Start: Marvel Scale blessed by Lucky Chant
        if opponent.hasWorkingAbility(:MARVELSCALE) && pbIsSpecial?(type) &&
          $fefieldeffect == 58 && opponent.pbOwnSide.effects[PBEffects::LuckyChant]>0
          defmult=(defmult*1.5).round
        end  
        # End
     

     

    Marvel Scale is activated. If Lucky Chant is active, it will boost Special Defense.

     

    Under

     

     

     



    when 32 # Dragon's Den
            if isConst?(type,PBTypes,:FIRE)
              damage=(damage*1.5).floor
              @battle.pbDisplay(_INTL("The lava's heat boosted the flame!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
             if isConst?(type,PBTypes,:ICE) || isConst?(type,PBTypes,:WATER)
              damage=(damage*0.5).floor
              @battle.pbDisplay(_INTL("The lava's heat softened the attack...",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
            if isConst?(type,PBTypes,:DRAGON)
              damage=(damage*2).floor
              @battle.pbDisplay(_INTL("The draconic energy boosted the attack!",opponent.pbThis)) if $feshutup2 == 0
              $feshutup2+=1
            end
     

     

     

    Put this

     

     

     



    when 58 # Cynthia's Room
            if isConst?(type,PBTypes,:ROCK)
              if id != PBMoves::HIDDENPOWER &&
                id != PBMoves::HIDDENPOWERROC &&
                id != PBMoves::ANCIENTPOWER &&
                id != PBMoves::JUDGMENT
                damage=(damage*1.5).floor
                @battle.pbDisplay(_INTL("The ruin increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
                $feshutup2+=1
              end  
            end
            if isConst?(type,PBTypes,:PSYCHIC)
              if id != PBMoves::HIDDENPOWER &&
                id != PBMoves::HIDDENPOWERPSY &&
                id != PBMoves::PSYSTRIKE &&
                id != PBMoves::PSYCHOBOOST &&
                id != PBMoves::MISTBALL &&
                id != PBMoves::LUSTERPURGE &&
                id != PBMoves::PRISMATICLASER &&
                id != PBMoves::JUDGMENT &&
                id != PBMoves::HYPERSPACEHOLE
                damage=(damage*1.5).floor
                @battle.pbDisplay(_INTL("The ruins increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
                $feshutup2+=1
              end
            end
            if isConst?(type,PBTypes,:DRAGON)
              if id != PBMoves::ROAROFTIME &&
                id != PBMoves::SPACIALREND &&
                id != PBMoves::JUDGMENT
                damage=(damage*1.3).floor
                @battle.pbDisplay(_INTL("The sacred field increased the damage output!",opponent.pbThis)) if $feshutup2 == 0
                $feshutup2+=1
              end
            end
     

     

    This will boost, for example, Psychic moves.

     

    Above

     

     

     



    if attacker.hasWorkingAbility(:STAKEOUT) && @battle.switchedOut[opponent.index]
          finaldamagemult=(finaldamagemult*2.0).round
        end
     

     

     

    Put this

     

     

     



    # Cynthia

    if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==0 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("The runes strengthened Lucario's resilience!")) 
        end
        if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==1 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.675).round
          @battle.pbDisplay(_INTL("The runes strengthened Lucario's resilience!")) 
        end

    if isConst?(opponent.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("The runes strengthened Spiritomb's resilience!"))
        end
        if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==0 && $fefieldeffect==58
          finaldamagemult=(finaldamagemult*0.75).round
          @battle.pbDisplay(_INTL("Garchomp blocked the hit!"))
        end
        if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==1 && ($fefieldeffect==58)
          finaldamagemult=(finaldamagemult*0.675).round
          @battle.pbDisplay(_INTL("Mega Garchomp blocked the hit fiercely!"))
        end
        # End
     

     

     

    PokeBattle_Battler

    If you see this

     

     

     



    # Fairy Tale Field Entry
        if $fefieldeffect == 31
          if !pbTooHigh?(PBStats::DEFENSE)
            if (self.hasWorkingAbility(:BATTLEARMOR) || self.hasWorkingAbility(:SHELLARMOR) || self.hasWorkingAbility(:POWEROFALCHEMY)) && onactive
              pbIncreaseStatBasic(PBStats::DEFENSE,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("{1}'s shining armor boosted its Defense!",
               pbThis,PBAbilities.getName(ability)))
            end     
            if (self.hasWorkingAbility(:STANCECHANGE)) && onactive
              pbIncreaseStatBasic(PBStats::DEFENSE,1)
            end  
          end
          if !pbTooHigh?(PBStats::SPDEF)
            if (self.hasWorkingAbility(:MAGICGUARD) || self.hasWorkingAbility(:MAGICBOUNCE) || self.hasWorkingAbility(:POWEROFALCHEMY)) && onactive
              pbIncreaseStatBasic(PBStats::SPDEF,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("{1}'s magical power boosted its Special Defense!",
               pbThis,PBAbilities.getName(ability)))
            end     
          end
          if !pbTooHigh?(PBStats::SPATK)
            if (self.hasWorkingAbility(:MAGICIAN)) && onactive
              pbIncreaseStatBasic(PBStats::SPATK,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("{1}'s magical power boosted its Special Attack!",
               pbThis,PBAbilities.getName(ability)))
            end     
          end
        end
     

     

     

    Put this under it

     

     

     



    # Cynthia's Room
        if $fefieldeffect == 58
          if !pbTooHigh?(PBStats::DEFENSE)
            if (self.hasWorkingAbility(:BATTLEARMOR) || self.hasWorkingAbility(:SHELLARMOR) || self.hasWorkingAbility(:POWEROFALCHEMY)) && onactive
              pbIncreaseStatBasic(PBStats::DEFENSE,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("The runes boosted {1}'s Defense!",
               pbThis))
            end
          end
          if !pbTooHigh?(PBStats::SPDEF)
            if (self.hasWorkingAbility(:MAGICGUARD) || self.hasWorkingAbility(:MAGICBOUNCE)) && onactive
              pbIncreaseStatBasic(PBStats::SPDEF,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("The runes boosted {1}'s Special Defense!",
               pbThis))
            end     
          end
          if !pbTooHigh?(PBStats::SPATK)
            if (self.hasWorkingAbility(:MAGICIAN)) && onactive
              pbIncreaseStatBasic(PBStats::SPATK,1)
              @battle.pbCommonAnimation("StatUp",self,nil)
              @battle.pbDisplay(_INTL("The runes boosted {1}'s Special Attack!",
               pbThis))
            end     
          end
        end  
     

     

    Rune do not only heal, they also boost your defense, hence why certain abilities get boosted!

     

    If you see this

     

     

     



    if target.hasWorkingAbility(:TANGLINGHAIR,true) 
              if user.hasWorkingAbility(:CONTRARY)
                user.pbReduceStat(PBStats::SPEED,1,false,nil,nil,true,false,false,false)
                @battle.pbDisplay(_INTL("{1}'s {2} boosted {3}'s Speed!",target.pbThis,PBAbilities.getName(target.ability),user.pbThis(true)))
              elsif user.hasWorkingAbility(:WHITESMOKE) ||
               user.hasWorkingAbility(:CLEARBODY) || user.hasWorkingAbility(:FULLMETALBODY)
                @battle.pbDisplay(_INTL("{1}'s {2} prevents stat loss!",user.pbThis,PBAbilities.getName(user.ability)))
              else
                user.pbReduceStat(PBStats::SPEED,1,false,nil,nil,true,false,false,false)
                @battle.pbDisplay(_INTL("{1}'s {2} lowered {3}'s Speed!",target.pbThis,PBAbilities.getName(target.ability),user.pbThis(true)))
              end
            end        
            eschance = 3
            eschance = 6 if ($fefieldeffect == 19)
            eschance.to_i  
            if target.hasWorkingAbility(:POISONPOINT) &&
             @battle.pbRandom(10) < eschance && user.pbCanPoison?(false)
              user.pbPoison(target)
              @battle.pbDisplay(_INTL("{1}'s {2} poisoned {3}!",target.pbThis,
               PBAbilities.getName(target.ability),user.pbThis(true)))
            end
     

     

     

    Put this under it.

     

     

     



    # Roserade
            if isConst?(target.species,PBSpecies,:ROSERADE) && $fefieldeffect==58
              if !user.pbHasType?(:POISON) && 
                !user.pbHasType?(:STEEL) &&
                !user.hasWorkingAbility(:IMMUNITY) && 
                user.status != PBStatuses::PARALYSIS && 
                user.status != PBStatuses::POISON &&
                user.status != PBStatuses::SLEEP
                @battle.pbRandom(10) < eschance && user.pbCanPoison?(false)
                user.pbPoison(target)
                @battle.pbDisplay(_INTL("{1}'s thorny whips poisoned {2}!",target.pbThis,user.pbThis(true)))
              end
            end
     

     

    Free Poison if you touch Roserade.

     

    Above

     

     

     



    if target.hasWorkingAbility(:ROUGHSKIN,true) && !user.isFainted? &&
             !user.hasWorkingAbility(:MAGICGUARD)
              @battle.scene.pbDamageAnimation(user,0)
              user.pbReduceHP((user.totalhp/8).floor)
              @battle.pbDisplay(_INTL("{1}'s {2} hurt {3}!",target.pbThis,
               PBAbilities.getName(target.ability),user.pbThis(true)))
            end
     

     

     

    Put this

     

     

     



    # Cynthia
            if isConst?(target.species,PBSpecies,:LUCARIO) && $fefieldeffect==58 && !user.isFainted? &&
             !user.hasWorkingAbility(:FOREWARN) &&
             !user.hasWorkingAbility(:ANTICIPATION)
             @battle.scene.pbDamageAnimation(user,0)
             user.pbReduceHP((user.totalhp/8).floor)
             @battle.pbDisplay(_INTL("{1} striked back!",target.pbThis))
            end
            if isConst?(target.species,PBSpecies,:ROSERADE) && $fefieldeffect==58 && !user.isFainted? &&
             !user.hasWorkingAbility(:FOREWARN) &&
             !user.hasWorkingAbility(:ANTICIPATION)
             @battle.scene.pbDamageAnimation(user,0)
             user.pbReduceHP((user.totalhp/8).floor)
             @battle.pbDisplay(_INTL("{1} striked back with its thorny whips!",target.pbThis))
            end
            if isConst?(target.species,PBSpecies,:GARCHOMP) && target.form==1 && $fefieldeffect==58 && !user.isFainted? &&
             !user.hasWorkingAbility(:FOREWARN) &&
             !user.hasWorkingAbility(:ANTICIPATION)
             @battle.scene.pbDamageAnimation(user,0)
             user.pbReduceHP((user.totalhp/6).floor)
             @battle.pbDisplay(_INTL("{1} striked back!",target.pbThis))
            end
            # End
     

     

    It's like Rough Skin, but if you happen to have Forewarn or Anticipation, you won't receive any damages.

     

    Above

     

     

     



    if target.hasWorkingAbility(:WEAKARMOR) && move.pbIsPhysical?(movetype)
              if target.pbCanReduceStatStage?(PBStats::DEFENSE,false,true)
                target.pbReduceStatBasic(PBStats::DEFENSE,1)
                @battle.pbCommonAnimation("StatDown",target,nil)
                @battle.pbDisplay(_INTL("{1}'s {2} lowered its Defense!",
                 target.pbThis,PBAbilities.getName(target.ability)))
              end
              if target.pbCanIncreaseStatStage?(PBStats::SPEED)
                target.pbIncreaseStatBasic(PBStats::SPEED,2)
                @battle.pbCommonAnimation("StatUp",target,nil)
                @battle.pbDisplay(_INTL("{1}'s {2} sharply raised its Speed!",
                 target.pbThis,PBAbilities.getName(target.ability)))
              end
            end
     

     

     

    Put this

     

     

     



    # Spiritomb
            if isConst?(target.species,PBSpecies,:SPIRITOMB) && ($fefieldeffect == 58)
              if !user.isFainted? && !user.effects[PBEffects::Torment]
                user.effects[PBEffects::Torment]=target.index
                @battle.pbDisplay(_INTL("{1}'s cry tormented {2}!",target.pbThis,user.pbThis(true)))
              end 
            end

    # Togekiss
            if isConst?(target.species,PBSpecies,:TOGEKISS) && target.isFainted? && target.pbOwnSide.effects[PBEffects::LuckyChant]==0 && $fefieldeffect == 58
               target.pbOwnSide.effects[PBEffects::LuckyChant]=8
               @battle.pbDisplay(_INTL("{1} blessed the field with a Lucky Chant!",target.pbThis))
            end 
     

     

    If you attack Spiritomb, you will be put under the effect of Torment.

    If Togekiss faints, it will bless the field with a lucky chant.

     

    PokeBattle_AI: Again, I know

    Now that you implemented all the features of Cynthia's field, the AI has to know what they all do, otherwise the AI won't fight as effectively as they should. Therefore, it's important to include the following codes. 

     

    If you see this

     

     

     



    score+=200 if (score>100 && move.priority>0)
     

     

     

    Replace it with this.

     

     

     



    score+=200 if ((score>100 && move.priority>0)  ||
        (score>100 && $fefieldeffect==58 && isConst?(attacker.species,PBSpecies,:GARCHOMP) && attacker.form==0 && move.id==getID(PBMoves,:DRAGONRUSH) && attacker.turncount==1) ||
        (score>100 && $fefieldeffect==58 && isConst?(attacker.species,PBSpecies,:TOGEKISS) && attacker.turncount==1))
     

     

    This makes sure that AI knows that Togekiss and Garchomp have priority during their first turn, which is why Garchomp will most likely use Dragon Rush to finish off a fast, weakened Pkm. While Cynthia's Garchomp doesn't have Dragon Rush, I included this code for consistency, and maybe you want to teach her Garchomp Dragon Rush.

     

    Above

     

     

     



    when 16 # Superheated Field
              if (move.id == PBMoves::SURF || move.id == PBMoves::MUDDYWATER ||
               move.id == PBMoves::WATERPLEDGE || move.id == PBMoves::WATERSPOUT ||
               move.id == PBMoves::SPARKLINGARIA)
                basedamage=(basedamage*0.625).round
              end
              if (move.id == PBMoves::SCALD || move.id == PBMoves::STEAMERUPTION)
                basedamage=(basedamage*1.667).round
              end
     

     

     

    Put this

     

     

     



    when 58
              if (move.id == PBMoves::MAGICALLEAF || move.id == PBMoves::ANCIENTPOWER || move.id == PBMoves::JUDGMENT ||
                move.id == PBMoves::SACREDFIRE || move.id == PBMoves::SECRETPOWER)
                basedamage=(basedamage*1.5).round
              end
              if (move.id == PBMoves::AURASPHERE || move.id == PBMoves::DRAGONPULSE ||
                move.id == PBMoves::DARKPULSE || move.id == PBMoves::WATERPULSE)
                basedamage=(basedamage*1.5).round
              end
              if (move.id == PBMoves::HIDDENPOWER || move.id == PBMoves::HIDDENPOWERNOR || move.id == PBMoves::HIDDENPOWERFIR ||
                 move.id == PBMoves::HIDDENPOWERFIG || move.id == PBMoves::HIDDENPOWERWAT || move.id == PBMoves::HIDDENPOWERFLY ||
                 move.id == PBMoves::HIDDENPOWERGRA || move.id == PBMoves::HIDDENPOWERPOI || move.id == PBMoves::HIDDENPOWERELE ||
                 move.id == PBMoves::HIDDENPOWERGRO || move.id == PBMoves::HIDDENPOWERPSY || move.id == PBMoves::HIDDENPOWERROC ||
                 move.id == PBMoves::HIDDENPOWERICE || move.id == PBMoves::HIDDENPOWERBUG || move.id == PBMoves::HIDDENPOWERDRA ||
                 move.id == PBMoves::HIDDENPOWERGHO || move.id == PBMoves::HIDDENPOWERDAR || move.id == PBMoves::HIDDENPOWERSTE ||
                 move.id == PBMoves::HIDDENPOWERFAI)
                basedamage=(basedamage*1.5).round
              end
              # Magical Leaf: Thunder Force
              if move.id == PBMoves::MAGICALLEAF
                if !opponent.pbHasType?(:GROUND) && 
                  !opponent.hasWorkingAbility(:VOLTABSORB) &&
                  !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                  !opponent.hasWorkingAbility(:MOTORDRIVE)
                  basedamage=(basedamage*1.5).round
                end
              end
              # Hidden Power Grass: Thunder Force
              if move.id == PBMoves::HIDDENPOWERGRA
                if !opponent.pbHasType?(:GROUND) && 
                  !opponent.hasWorkingAbility(:VOLTABSORB) &&
                  !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                  !opponent.hasWorkingAbility(:MOTORDRIVE)
                  basedamage=(basedamage*1.5).round
                end
              end
              # Water Pulse: Thunder Force
              if move.id == PBMoves::WATERPULSE
                if !opponent.pbHasType?(:GROUND) && 
                  !opponent.hasWorkingAbility(:VOLTABSORB) &&
                  !opponent.hasWorkingAbility(:LIGHTNINGROD) &&
                  !opponent.hasWorkingAbility(:MOTORDRIVE)
                  basedamage=(basedamage*1.5).round
                end
              end
              # Mystical Fire: Freezing Force
              if move.id == PBMoves::MYSTICALFIRE
                basedamage=(basedamage*2.25).round
              end
              # Extra Sensory: Freezing Force
              if move.id == PBMoves::EXTRASENSORY
                if !opponent.pbHasType?(:DARK)
                  basedamage=(basedamage*1.5).round
                end
              end
              # Shadow Ball: Freezing Force
              if move.id == PBMoves::SHADOWBALL
                if !opponent.pbHasType?(:NORMAL) && 
                  !opponent.hasWorkingAbility(:BULLETPROOF)
                  basedamage=(basedamage*1.5).round
                end
              end
              # Hidden Power Ice: Freezing Force
              if move.id == PBMoves::HIDDENPOWERICE
                if !opponent.hasWorkingAbility(:FLASHFIRE)
                  basedamage=(basedamage*1.5).round
                end  
              end
              # Aurasphere: Fire Force
              if move.id == PBMoves::AURASPHERE
                if !opponent.hasWorkingAbility(:FLASHFIRE)
                  basedamage=(basedamage*1.5).round
                end 
              end
              # Ancient Power: Fire Force
              if move.id == PBMoves::ANCIENTPOWER
                if !opponent.hasWorkingAbility(:FLASHFIRE)
                  basedamage=(basedamage*1.5).round
                end 
              end
              # End of Spheres
              if (move.id == PBMoves::PSYSTRIKE || move.id == PBMoves::AEROBLAST ||
                move.id == PBMoves::ORIGINPULSE || move.id == PBMoves::PRECIPICEBLADES ||
                move.id == PBMoves::DRAGONASCENT || move.id == PBMoves::DOOMDUMMY ||
                move.id == PBMoves::MISTBALL || move.id == PBMoves::LUSTERPURGE ||
                move.id == PBMoves::PSYCHOBOOST || move.id == PBMoves::SPACIALREND ||
                move.id == PBMoves::ROAROFTIME || move.id == PBMoves::CRUSHGRIP ||
                move.id == PBMoves::SECRETSWORD || move.id == PBMoves::RELICSONG ||
                move.id == PBMoves::HYPERSPACEHOLE || move.id == PBMoves::LANDSWRATH ||
                move.id == PBMoves::MOONGEISTBEAM || move.id == PBMoves::SUNSTEELSTRIKE ||         
                move.id == PBMoves::PRISMATICLASER || move.id == PBMoves::FLEURCANNON)
                basedamage=(basedamage*1.3).round
              end
     

     

     

    Above

     

     

     



    # Guts
        if skill>=PBTrainerAI.mediumSkill
          if attacker.hasWorkingAbility(:GUTS) && attacker.status==0 && move.pbIsPhysical?(type) && $fefieldeffect==56
            atk=(atk*1.5).round
          end  
        end
     

     

     

    Put this

     

     

     



    # Spiritomb
        if skill>=PBTrainerAI.mediumSkill
          if isConst?(attacker.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
            atk=(atk*1.3).round
          end
        end
     

     

     

    Replace

     

     

     



    # Marvel Scale
        if skill>=PBTrainerAI.mediumSkill
          if opponent.hasWorkingAbility(:MARVELSCALE) &&
            move.pbIsPhysical?(type)
            if opponent.status>0   
              defense=(defense*1.5).round
            elsif ($fefieldeffect == 3 || $fefieldeffect == 9 ||
               $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34) && 
               skill>=PBTrainerAI.bestSkill
              defense=(defense*1.5).round
            end        
          end
        end
     

     

     

    With

     

     

     



    # Marvel Scale
        if skill>=PBTrainerAI.mediumSkill
          if opponent.hasWorkingAbility(:MARVELSCALE) &&
            move.pbIsPhysical?(type)
            if opponent.status>0   
              defense=(defense*1.5).round
            elsif ($fefieldeffect == 3 || $fefieldeffect == 9 ||
               $fefieldeffect == 31 || $fefieldeffect == 32 || $fefieldeffect == 34 || $fefieldeffect == 58) && 
               skill>=PBTrainerAI.bestSkill
              defense=(defense*1.5).round
            end        
          end
        end
        # Start: Marvel Scale blessed by Lucky Chant
        if skill>=PBTrainerAI.mediumSkill
          if opponent.hasWorkingAbility(:MARVELSCALE) && move.pbIsSpecial?(type) &&
            $fefieldeffect == 58 && opponent.pbOwnSide.effects[PBEffects::LuckyChant]>0
            defense=(defense*1.5).round
          end
        end  
        # End
     

     

     

    Above

     

     

     



    when 37 # Psychic Terrain
              if isConst?(type,PBTypes,:PSYCHIC)
                isgrounded=move.pbTypeModifier(PBTypes::GROUND,opponent,attacker)
                if isgrounded != 0
                  damage=(damage*1.5).floor
                end
              end        
          end      
        end
        if skill>=PBTrainerAI.bestSkill
     

     

     

    Put this

     

     

     



    when 58 # Cynthia's Room
              if isConst?(type,PBTypes,:ROCK)
                if move.id != PBMoves::HIDDENPOWER &&
                  move.id != PBMoves::HIDDENPOWERROC &&
                  move.id != PBMoves::ANCIENTPOWER &&
                  move.id != PBMoves::JUDGMENT
                  damage=(damage*1.5).floor
                end  
              end
              if isConst?(type,PBTypes,:PSYCHIC)
                if move.id != PBMoves::HIDDENPOWER &&
                  move.id != PBMoves::HIDDENPOWERPSY &&
                  move.id != PBMoves::PSYSTRIKE &&
                  move.id != PBMoves::PSYCHOBOOST &&
                  move.id != PBMoves::MISTBALL &&
                  move.id != PBMoves::LUSTERPURGE &&
                  move.id != PBMoves::PRISMATICLASER &&
                  move.id != PBMoves::JUDGMENT &&
                  move.id != PBMoves::HYPERSPACEHOLE
                  damage=(damage*1.5).floor
                end
              end
              if isConst?(type,PBTypes,:DRAGON)
                if move.id != PBMoves::ROAROFTIME &&
                  move.id != PBMoves::SPACIALREND &&
                  move.id != PBMoves::JUDGMENT
                  damage=(damage*1.3).floor
                end
              end
     

     

     

    Above

     

     

     



    # Stakeout
        if skill>=PBTrainerAI.mediumSkill
          if attacker.hasWorkingAbility(:STAKEOUT) && switchedOut[opponent.index]
            damage=(damage*2.0).round
          end  
        end
     

     

     

    Put this

     

     

     



    if skill>=PBTrainerAI.mediumSkill
          if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==0 && ($fefieldeffect==58)
            damage=(damage*0.75).round
          end
        end
        if skill>=PBTrainerAI.mediumSkill
          if isConst?(opponent.species,PBSpecies,:LUCARIO) && opponent.form==1 && ($fefieldeffect==58)
            damage=(damage*0.675).round
          end
        end

    if skill>=PBTrainerAI.mediumSkill
          if isConst?(opponent.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58
            damage=(damage*0.75).round
          end
        end
        if skill>=PBTrainerAI.mediumSkill
          if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==0 && $fefieldeffect==58
            damage=(damage*0.75).round
          end
        end
        if skill>=PBTrainerAI.mediumSkill
          if isConst?(opponent.species,PBSpecies,:GARCHOMP) && opponent.form==1 && $fefieldeffect==58
            damage=(damage*0.675).round
          end
        end
        # End
     

     

     

    Under

     

     

     



    #Telepathy
        if opponent.hasWorkingAbility(:TELEPATHY) && 
         move.basedamage>0 &&
         !(opponent.moldbroken)
          partner=attacker.pbPartner
          if opponent.index == partner.index
            return 0
          end
        end
     

     

     

    Put this

     

     

     



    # Cynthia's Lucario dodges if it switches in
        if isConst?(opponent.species,PBSpecies,:LUCARIO) && $fefieldeffect==58 &&
          switchedOut[opponent.index]
          return 0
        end
        # End
     

     

     

    If you see this: return 3 if move.function==0xA0 # Frost Breath

     

    Put the following codes under it

     

     

     



    return 3 if isConst?(attacker.species,PBSpecies,:GARCHOMP) && attacker.form==1 && $fefieldeffect==58
     

     

     

    If you see this: accuracy=100 if opponent.effects[PBEffects::Telekinesis]>0

     

    Put the following codes under it

     

     

     



    accuracy=100 if isConst?(attacker.species,PBSpecies,:LUCARIO) && ($fefieldeffect == 58)
     

     

     

    Replace this

     

     

     



    if restmove || isConst?(mon.ability,PBAbilities,:COMATOSE) || mon.item==getID(PBItems,:TOXICORB) || mon.item==getID(PBItems,:FLAMEORB) || isConst?(mon.ability,PBAbilities,:GUTS) || isConst?(mon.ability,PBAbilities,:QUICKFEET)|| isConst?(mon.ability,PBAbilities,:FLAREBOOST) || isConst?(mon.ability,PBAbilities,:TOXICBOOST) || isConst?(mon.ability,PBAbilities,:NATURALCURE) || isConst?(mon.ability,PBAbilities,:MAGICGUARD) || isConst?(mon.ability,PBAbilities,:MAGICBOUNCE) || (isConst?(mon.ability,PBAbilities,:HYDRATION) && pbWeather==PBWeather::RAINDANCE) 
            monRoles.push("Status Absorber")
          end
     

     

     

    With

     

     

     



    if restmove || isConst?(mon.ability,PBAbilities,:COMATOSE) || mon.item==getID(PBItems,:TOXICORB) || mon.item==getID(PBItems,:FLAMEORB) || isConst?(mon.ability,PBAbilities,:GUTS) || isConst?(mon.ability,PBAbilities,:QUICKFEET)|| isConst?(mon.ability,PBAbilities,:FLAREBOOST) || isConst?(mon.ability,PBAbilities,:TOXICBOOST) || isConst?(mon.ability,PBAbilities,:NATURALCURE) || isConst?(mon.ability,PBAbilities,:MAGICGUARD) || isConst?(mon.ability,PBAbilities,:MAGICBOUNCE) || (isConst?(mon.ability,PBAbilities,:HYDRATION) && pbWeather==PBWeather::RAINDANCE) ||
            (isConst?(opponent.species,PBSpecies,:LUCARIO) && $fefieldeffect==58) || (isConst?(opponent.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58)
            monRoles.push("Status Absorber")
          end
     

     

    If you use status moves such as Will o Wisp or Thunder Wave, AI will switch out their Pkm and use Lucario or Spiritomb as they get healed by the field.

     

    If you see this AGAIN, replace this

     

     

     



    f restmove || isConst?(mon.ability,PBAbilities,:COMATOSE) || mon.item==getID(PBItems,:TOXICORB) || mon.item==getID(PBItems,:FLAMEORB) || isConst?(mon.ability,PBAbilities,:GUTS) || isConst?(mon.ability,PBAbilities,:QUICKFEET)|| isConst?(mon.ability,PBAbilities,:FLAREBOOST) || isConst?(mon.ability,PBAbilities,:TOXICBOOST) || isConst?(mon.ability,PBAbilities,:NATURALCURE) || isConst?(mon.ability,PBAbilities,:MAGICGUARD) || isConst?(mon.ability,PBAbilities,:MAGICBOUNCE) || (isConst?(mon.ability,PBAbilities,:HYDRATION) && pbWeather==PBWeather::RAINDANCE) 
            monRoles.push("Status Absorber")
          end
     

     

     

    With

     

     

     



    if restmove || isConst?(mon.ability,PBAbilities,:COMATOSE) || mon.item==getID(PBItems,:TOXICORB) || mon.item==getID(PBItems,:FLAMEORB) || isConst?(mon.ability,PBAbilities,:GUTS) || isConst?(mon.ability,PBAbilities,:QUICKFEET)|| isConst?(mon.ability,PBAbilities,:FLAREBOOST) || isConst?(mon.ability,PBAbilities,:TOXICBOOST) || isConst?(mon.ability,PBAbilities,:NATURALCURE) || isConst?(mon.ability,PBAbilities,:MAGICGUARD) || isConst?(mon.ability,PBAbilities,:MAGICBOUNCE) || (isConst?(mon.ability,PBAbilities,:HYDRATION) && pbWeather==PBWeather::RAINDANCE) ||
            (isConst?(opponent.species,PBSpecies,:LUCARIO) && $fefieldeffect==58) || (isConst?(opponent.species,PBSpecies,:SPIRITOMB) && $fefieldeffect==58)
            monRoles.push("Status Absorber")
          end
     

     

     

    Under

     

     

     



    if isConst?(i.item,PBItems,:ROCKYHELMET)
                  paincount+=1
                end 
     

     

     

    Put this

     

     

     



    # Cynthia
                if isConst?(i.species,PBSpecies,:LUCARIO) && $fefieldeffect==58
                  paincount+=1
                end
                if isConst?(i.species,PBSpecies,:ROSERADE) && $fefieldeffect==58
                  paincount+=1
                end
                if isConst?(i.species,PBSpecies,:GARCHOMP) && i.form==1 && $fefieldeffect==58
                  paincount+=1
                end
                # End
     

     

     

     

    If you see this AGAIN, then

     

     

     



    if isConst?(i.item,PBItems,:ROCKYHELMET)
                  paincount+=1
                end  
     

     

     

    Put the following codes under it

     

     

     



    # Cynthia
                if isConst?(i.species,PBSpecies,:LUCARIO) && $fefieldeffect==58
                  paincount+=1
                end
                if isConst?(i.species,PBSpecies,:ROSERADE) && $fefieldeffect==58
                  paincount+=1
                end
                if isConst?(i.species,PBSpecies,:GARCHOMP) && i.form==1 && $fefieldeffect==58
                  paincount+=1
                end
     

     

     

    If you see this

     

     

     



    if isConst?(i.ability,PBAbilities,:EFFECTSPORE) || isConst?(i.ability,PBAbilities,:STATIC) || isConst?(i.ability,PBAbilities,:POISONPOINT) || isConst?(i.ability,PBAbilities,:ROUGHSKIN) || isConst?(i.ability,PBAbilities,:IRONBARBS) || isConst?(i.ability,PBAbilities,:FLAMEBODY) || isConst?(i.ability,PBAbilities,:CUTECHARM) || isConst?(i.ability,PBAbilities,:MUMMY) || isConst?(i.ability,PBAbilities,:AFTERMATH) || isConst?(i.ability,PBAbilities,:GOOEY) || (isConst?(i.ability,PBAbilities,:FLUFFY) && (!opponent1.pbHasType?(PBTypes::FIRE) && !opponent2.pbHasType?(PBTypes::FIRE))) 
     

     

     

    Replace it with this:

     

     

     



    if isConst?(i.ability,PBAbilities,:EFFECTSPORE) || isConst?(i.ability,PBAbilities,:STATIC) || isConst?(i.ability,PBAbilities,:POISONPOINT) || isConst?(i.ability,PBAbilities,:ROUGHSKIN) || isConst?(i.ability,PBAbilities,:IRONBARBS) || isConst?(i.ability,PBAbilities,:FLAMEBODY) || isConst?(i.ability,PBAbilities,:CUTECHARM) || isConst?(i.ability,PBAbilities,:MUMMY) || isConst?(i.ability,PBAbilities,:AFTERMATH) || isConst?(i.ability,PBAbilities,:GOOEY) || (isConst?(i.ability,PBAbilities,:FLUFFY) && (!opponent1.pbHasType?(PBTypes::FIRE) && !opponent2.pbHasType?(PBTypes::FIRE))) ||
             
              (isConst?(i.species,PBSpecies,:LUCARIO) && $fefieldeffect==58) || (isConst?(i.species,PBSpecies,:ROSERADE) && $fefieldeffect==58) || (isConst?(i.species,PBSpecies,:GARCHOMP) && i.form==1 && $fefieldeffect==58)
     

     

     

    Under

     

     

     



    when 37
                monscore+=25 if i.hasType?(:PSYCHIC)
                monscore+=20 if isConst?(i.ability,PBAbilities,:PUREPOWER)
                monscore+=20 if isConst?(i.ability,PBAbilities,:ANTICIPATION)
                monscore+=50 if isConst?(i.ability,PBAbilities,:TELEPATHY)
     

     

     

    Put this

     

     

     



    when 58 # Cynthia
                monscore+=25 if i.hasType?(:ROCK)
                monscore+=25 if i.hasType?(:PSYCHIC)
                monscore+=25 if i.hasType?(:DRAGON)
                monscore+=20 if isConst?(i.ability,PBAbilities,:MARVELSCALE)
                monscore+=25 if isConst?(i.ability,PBAbilities,:MAGICIAN)
                monscore+=25 if isConst?(i.ability,PBAbilities,:MAGICGUARD)
                monscore+=25 if isConst?(i.ability,PBAbilities,:MAGICBOUNCE)
                monscore+=25 if isConst?(i.ability,PBAbilities,:BATTLEARMOR)
                monscore+=25 if isConst?(i.ability,PBAbilities,:SHELLARMOR)
                monscore+=30 if isConst?(i.ability,PBAbilities,:SANDFORCE) 
     

     

     

     

  11. 17 minutes ago, Marcello said:

    This is the right place, thanks for the report. The bug bin is where we move stuff after we've dealt with them.

     

    For number 3), are you playing with any mods/playing an outdated version? You are correct that you need the 2 in the item name in the PBS for Z-moves to work correctly, however a quick look at the PBS looks like these are all named correctly, and moreover Amaria's Kingdra doesn't have a Z-Crystal in any variant of the fight. If you're playing with any mods that potentially alter team lineups like this, do be sure to reach out to the mod creater and let them know about this so they can fix it.

     

    The other three bugs you mentioned will be looked into, thanks.

    I have the newest version, but it's very possible that I have an outdated or modified PBS. Thanks for the suggestion!

  12. I hope this is the right place to report (for some reason I don't know, I can't click the bug bin).

    Anyway, here a list of some problems I've encountered:

    1) Gluttony does not activate berries such as Iapapa Berry  if your Pkm's hp is half or a little bit less than half. Those berries will only activate if your Pkm's hp is 1/4 or less than 1/4.

    2) Fur Coat "defmult=(defmult*1.5).round" should be rather "defmult=(defmult*2).round" as this ability doubles your defense and should not increase your defense by 1 stage. Therefore, Fur Coat's defmult in AI, Move, and Z-Move should be corrected.

    3) My opponents have never used a Z-Move, for example Amaria's Kingdra never uses its dragon Z-Move. The only time my opponents use Z-Moves is if you change, for example, "ROCKIUMZ" to "ROCKIUMZ2" in PBS, trainers. So the number "2" seems to be important in activating a Z-Move.

    4) A Pkm with No Guard will miss its attack when your opponent uses moves such as Dig. This is wrong because it should hit the opponent.

  13. These few weeks, I tried to create some custom trainers that could be quite challenging in a battle. And I wanted to focus on Olivia (Rock specialist from Alola) and Aaron (Bug specialist from Sinnoh) as I liked them and their teams. So I created a new field terrain for them and added a lot of additional effects that would make their Pokemon special and difficult to beat. These fields and additional effects that I created could serve as an inspiration for the next updates if people are interested in.^^

    I've tested them many times, and it seems to work perfectly. They could be used in a Pkm tournament or Battle Tower in Reborn.

    Now, I'm going to explain some mechanics and if you want I can provide the codes for the fields and effects. Just say so, and I will do it.

     

    Aaron's field: Jungle Theme

    It's very similar to the forest field, so I will mostly adress new aspects



    - fire moves are weakened by 0.5 due to the humid air in a jungle

    - Sunny Day, Drought, and Desolate Land do not work because as long as there are enough trees no light can pass through the trees' crowns and touch the ground as far as I know

    - water moves are strengthened by 1.2 due to the humid air

    - priority moves increase in their power by 1,2 because a Pkm can have a lot of opportuniy to surprise an opponent in a jungle. Think about an attack from behind or from a tree^^

    - certain Fighting and Flying moves are weakened by 0.5 (for example: High Jumkick, Bounce, Bravebird) as the many trees and plants in a jungle makes it hard to move freely

    - only certain abilities associated with Grass Pkm are boosted and only certain Bug moves are boosted. So things such as Solarpower or X-Scissor are not boosted

    - Hidden Power, Ancient Power, Nature Power, Earth Power, etc. are boosted by 1.5

    - Sniper is always activated (This is for Drapion to make it a terrifying wall breaker)

     

    - if you hurt a Spider Pkm they will activate their traps (Sticky Web, Toxic Spikes), so quite ideal for Araquanid, Galvantula, and Ariados

     

    - if you attack Vespiquen, a swarm of Combee will take the hit for her. So moves against her are weakened by 0.75. If her HP is below 1/3, it's 0.67

    - Vespiquen's attacks are increased by 1.2 or 1.5 depending on her health

    - the swarm of Combee will provide her with honey, which is like free Leftovers for Vespiqueen, and it also cures her from status effects. If her HP is below 1/3, her HP gain is 1/8 instead of 1/16, and it will be 1/16 if her HP is above 1/3

    - if you want, Attack Order gets additional effect: Infestation, which would cost your opponent's Pkm 1/6 of its hp every round

    - Attack Order, Block Order, and Heal Order are boosted, of course, as they are in the forest field

    - Synthetic Seed will boost Defense and Special Defense

    -> all of this will make Vespiquen a truly defensive monster! If you don't watch out, not even Rock Slide from Life Orb Excadrill will threaten her

     

    - so long Yanmega has Speed Boost, moves against her are decreased by 0.5 (Display: "Yanmega is too fast to land a full hit!")

    - Magical Seed boosts Special Attack by 1 and creates Spiky Shield

     

    - moves against Mega Scizor are weakened by 0.75 as this Pkm seeks protection from the trees (The idea behind this was that Mega Scizor needs to be in motion because if it isn't, its body will cause it many problems according to the Pokedex Entry)

    - Decidueye also gets this defensive boost if you happen to have it in your team

    - Mega Scizor's attacks increase by 1.3 because mega evolution provides it with too much energy, which is why it's always in frenzy according to the Pokedex Entry. So every time it attacks, it says "Mega Scizor is in frenzy!", and the jungle with its abundance in power and humidity and warmth will cause it to be frenzy

    - starting with round 4, Mega Scizor will constantly looses its HP by 1/8. According to the Pokedex Entry: The longer it is in a battle, the more problems it will get. This is to balance Mega Scizor out because in my opinion, a defensive and offensive boost might be a little too much. Battle Display: "Mega Scizor gets tired!"

     

    - moves against Drapion decrease by 0.5 if the attacker is poisoned. Battle Display: "Drapion blocked the move with ease!"

    - if you want, you can create a custom move (Double Strike). It's as strong as Twin Needle and causes poison, but what makes it different is that it's a dark move and a priority move

     

    - if Heracross' HP is below half, it will always eat a honey dew from Combee to regain 1/4 of its HP and boost Attack, Defense, and Special Defense by 1

    - Honey Dew will always cure Heracross from special conditions

    - all of this is because Heracross likes to eat honey, among other things

     

    Aaron's Team in trainers:

    Some explanations:

    I opted for Crunch and Thief so that Araquanid and Mega Scizor can deal with certain Water Pkm such as Jellicent.

    After one Swords Dance, Mega Scizor's Quick Attack will get rid off most Pkm that are resistent to Bullet Punch.

    Telluric Seed boosts Attack by 1 and creates Spikey Shield.

    Jolly Darmanitan has only a chance of 6.3 % to OHKO Mega Scizor with Flare Blitz.

    Heracross has a bulky spread to benefit from honey dew and also because with Sticky Web on the field, grounded Pkm's speed decreases by 2

    The combination of Toxic Spikes through Araquanid's trap activation and Assault Vest makes it difficult to take down Drapion, so Drapion has a high chance to take down many of your opponent's Pkm, which might sound ridiculous but do not forget it has Sniper and will always land a critical hit in this jungle field, unless you have something like Battle Armor.



    #-------------------
    TEST
    Herbaro
    6
    ARAQUANID,85,TELLURICSEED,LIQUIDATION,POISONJAB,LEECHLIFE,CRUNCH,0,F,,shiny,ADAMANT,31,255,,false,16,19,196,252,0,60,0,0
    YANMEGA,85,MAGICALSEED,BUGBUZZ,ANCIENTPOWER,HIDDENPOWERGRO,GIGADRAIN,0,F,,shiny,MODEST,31,255,,false,16,19,0,0,0,252,252,4
    HERACROSS,85,LIFEORB,MEGAHORN,CLOSECOMBAT,PURSUIT,ROCKTOMB,0,M,,shiny,ADAMANT,31,255,,false,16,19,204,252,0,52,0,0
    SCIZOR,85,SCIZORITE,BULLETPUNCH,SWORDSDANCE,QUICKATTACK,THIEF,2,M,,shiny,ADAMANT,31,255,,false,16,19,252,156,36,4,0,60
    VESPIQUEN,85,SYNTHETICSEED,ATTACKORDER,HEALORDER,ACROBATICS,DEFENDORDER,0,F,,shiny,CAREFUL,31,255,,false,8,19,252,60,140,4,0,52
    DRAPION,85,ASSAULTVEST,KNOCKOFF,POISONJAB,DOUBLESTRIKE,LEECHLIFE,1,M,,shiny,ADAMANT,31,255,,false,16,19,188,252,4,60,0,4

     

    Olivia's field: Crystal Cave Theme

    It's very similar to the one you know in Reborn, so there aren't many differences. So I will mostly cover new aspects. And, oh my, I fear I made her too strong. You are more likely to win against her in a single battle than in a doubles battle. 



    - priority moves that deal damage do not work (This is a reference to Olivia being the chosen one from Tapu Lele and Tapu Lele's Psychic field. Battle Display would be, however: "The crystalls are dazzling!")

    - Dazzling Gleam and other similar moves get +1 Priority and do work in this field because the crystals do the work

    - all Rock moves are boosted by 1.5

    - increase Stealth Rock damage

    - Hidden Power, Rock Climb, moves based on beams, light or mirrors, and other moves increase by 1.5

    - Trick Room, Reflect, Light Screen, Sandstorm last 8 turns

    - only Sandstorm weather will work because you're deep in cave

    - Sand Force will always work

    - Synthetic Seed will boost Defense and Special Defense by 1

    - Telluric Seed will boost Attack by 1 and create Magnet Rise effect for 8 turns

    - Magic Seed will do the same but with Special Attack instead of Attack

    - Rock moves have 100 % accuracy, so Stone Edge spam! This is because you're in acave with lots of rocks, so a Pkm can easily increase the impact of its Rock moves.

    - if you miss an attack that would deal damage, HP loss is 1/6

    - Crush Claw is increased by 1.2 and will hurt Steel, Rock, and Ground Pkm effectively

     

    - so long Gigalith has Rockium Z, it can take advantage of the crystals around it, meaning:
              1/8 HP healing and status healing every turn

              gets 0.75 less damage

             increase special moves by 1.5 (Battle Display: "Rockium Z activated Gigalith's Crystal Core Enforcer!)

             similar to the ability Berserk, it will not boost Special Attack but Defense and Special Defense by 1

             Solarbeam does not need a turn to wait

     

    - so long Cradily has Big Root, it will provide:

           0.67 less damage from opponent's moves

          1/8 HP healing and status healing every turn

          Grass drain moves increase by 1.5

          increase special and physical moves by 1.5

     

    - Probopass:

        0.5 less damage from opponent's move because it pulls objects such as rocks to protect itself

        0.25 instead of 0.5 less damage if Sandstorm is active because it surrounds itself with a Sandstorm to make it a nigh impenetrable wall

       physical contact with Probopass will make opponent loose HP. Damage is calculated according to how weak or resistent you are against rock

       using certain status moves that would cause a burn, etc. will make Probopass create a Sandstorm and do not affect it

       in a double battle, it will take Steel moves if they are targeted at its partner (does not work for the moment, but I'm working on it)

     

    - so long Alola Golem is under Magnet Rise effect:

         0.5 less damage from opponent's move because it pulls objects such as rocks to protect itself

         physical contact with Alola Golem will make opponent loose HP. Damage is calculated according to how weak or resistent you are against electric

        physical contact with Alola Golem will cause you paralyse
        electric moves are boosted by 1.5

        in a double battle, it will take Steel moves if they are targeted at its partner (does not work for the moment, but I'm working on it)

     

    - Midnight Lycanroc. As Olivia doesn't have a Mega Pkm and Midnight Lycanroc is her strongest Pkm, I wanted to make it her best Pkm that could rival Mega Pokemon

         in my project, it has the ability "Fur Coat" to distinguish itself from its brothers and it would make more sense with its fur and bulky stat distribution

         it will always land a critical hit as it's much more aggressive than its brothers and I have also included this blood lust theme

         Stomp Tantrum and Rock Climb increase by 1.5 if they are used by Lycanroc. This is fitting with its aggressive behaviour and tendency to jump in the latter's case.

        under the influence of blood lust it takes 0.75 or 0.67 less damage from opponent's move depending on its health, and all of its move will heal it (the amount of HP gain is           comparable with Gigadrain)

        under the influence of blood lust it cannot sleep, and certain status effects such as burn or poison will make Lycanroc stronger

     

    - Carbink:

        Levitate (but not as an ability) because it's obviously levitating

        boosts special moves by 1.5

        gets all the benefits Gigalith has without having to rely on Rockium Z

        if it has the ability Clear Body, moves such as Dazzling Gleam or Power Gem are boosted by 1.67 instead of 1.5 (initially, I wanted 2, but it proved to be too much)

     

    - for the moment I have no idea what to do with Armaldo. So if you want to share some ideas with me, that'd be cool!

     

    Olivia's Single Battle Team in trainers:

    Some explanations:

    Gigalith is a very bulky, mixed wall breaker capable of OHKOing Pkm very weak to Ice or Grass moves. Earth Power is chosen instead of Earthquake so Intimidate won't work as effectively on it as it normally would on a physical orientated Pkm. Sand Force + Rock boost + Rock Tumble (Custom Move similar to Payback but 60/120 instead of 50/100) has an insane damage output, so don't try to switch into its moves!

    Cradily is fairly easy to beat but the only reason it's here is to deal with troublesome Water and Ground Pkm. Spiral Drain (Custom Move) is pretty much the same as Draining Kiss, but it will poison you badly.

    Alola Golem is very bulky on the physical side and has a very high damage output and can be quite annoying if you make physical contact.

    Probopass, while pretty much useless in official games, is surprisingly a terror in Olivia's field. Do not use Fighting Pkm against her if they are weak to Fairy because it will most likely OHKO you with Dazzling Gleam before you can even touch it. It also goes without saying you shouldn't use Sandstorm or Sandstream in its presence because it will truly be a pain to take down. And do not underestimate the combo: Magic Seed + Field Boost + Sand Force because only few special walls can switch into its attacks.

    As for Lycanroc, watch out! It's very hard to take down and can deal quite a lot of damage to your Pkm. Your best hope is Destiny Bond or Moldbreaker to break through its defenses. An example of its resilience, supported by synthetic seed: Close Combat from Life Orb Adamant Heracross is a 3HKO!



    #-------------------
    TEST
    Olivia
    6
    ARMALDO,85,FOCUSSASH,STONEEDGE,CRUSHCLAW,STEALTHROCK,KNOCKOFF,1,M,,shiny,ADAMANT,31,255,,false,16,19,4,252,0,252,0,0
    CRADILY,85,BIGROOT,SPIRALDRAIN,EARTHPOWER,HIDDENPOWERFIR,STONEEDGE,2,F,,shiny,RELAXED,31,255,,false,16,19,252,12,116,0,116,12
    GIGALITH,85,ROCKIUMZ,ROCKTUMBLE,EARTHPOWER,SOLARBEAM,HIDDENPOWERICE,2,F,,shiny,BRAVE,31,255,,false,16,19,244,116,76,0,68,4
    GOLEM,85,TELLURICSEED,ROCKTUMBLE,RETURN,AVALANCHE,FIREPUNCH,2,M,1,shiny,ADAMANT,31,255,,false,16,19,252,172,84,0,0,0
    PROBOPASS,85,MAGICALSEED,POWERGEM,DAZZLINGGLEAM,EARTHPOWER,HIDDENPOWERFIR,2,M,,shiny,MODEST,31,255,,false,16,19,252,0,4,0,252,0
    LYCANROC,85,SYNTHETICSEED,STONEEDGE,STOMPINGTANTRUM,ROCKCLIMB,FIREPUNCH,1,M,1,shiny,ADAMANT,31,255,Wolverine,false,16,19,252,124,100,4,0,28

     

    Olivia's Doubles Battle Team in trainers:

    Taking down Carbink to prevent Trick Room is not easy if Golem redirects Steel moves. One of the few ways to stop Carbink is Taunt or a very strong Grass or Water move, but in general that won't help much (even if you use Helping Hand) as Carbink is very bulky on the special side. It can also hit quite strong with its two STAB moves, so don't underestimate it.



    #-------------------
    TEST
    Olivia1
    6
    CARBINK,85,SITRUSBERRY,DAZZLINGGLEAM,POWERGEM,TRICKROOM,SANDSTORM,0,,,shiny,SASSY,31,255,,false,16,19,252,0,36,80,140,0
    GOLEM,85,TELLURICSEED,STRENGTH,RETURN,AVALANCHE,FIREPUNCH,2,M,1,shiny,BRAVE,31,255,,false,16,19,252,172,84,0,0,0
    CRADILY,85,BIGROOT,SPIRALDRAIN,EARTHPOWER,HIDDENPOWERFIR,STONEEDGE,2,F,,shiny,RELAXED,31,255,,false,16,19,252,12,116,0,116,12
    GIGALITH,85,ROCKIUMZ,STONEEDGE,EARTHPOWER,SOLARBEAM,HIDDENPOWERICE,2,F,,shiny,BRAVE,31,255,,false,16,19,244,116,76,0,68,4
    PROBOPASS,85,MAGICALSEED,POWERGEM,DAZZLINGGLEAM,EARTHPOWER,HIDDENPOWERFIR,2,M,,shiny,QUIET,31,255,,false,16,19,252,0,4,0,252,0
    LYCANROC,85,SYNTHETICSEED,STONEEDGE,STOMPINGTANTRUM,ROCKCLIMB,FIREPUNCH,1,M,1,shiny,ADAMANT,31,255,Wolverine,false,16,19,252,124,100,4,0,28

     

     

  14. I have two gym badges and I am in Indras mansion. When Maria frees the second character and I leave the place where the character's soul was hold prisoner, I get this messge:



    ---------------------------
    TrickReJuVeNaTion
    ---------------------------
    Exception: NoMethodError
    Message: undefined method `unlock' for nil:NilClass
    Interpreter:517:in `command_end'
    Interpreter:295:in `execute_command'
    Interpreter:193:in `update'
    Interpreter:106:in `loop'
    Interpreter:198:in `update'
    Scene_Map:103:in `update'
    Scene_Map:101:in `loop'
    Scene_Map:114:in `update'
    Scene_Map:68:in `main'
    Scene_Map:65:in `loop'

    This exception was logged in
    C:\Users\ASUS\Saved Games/TrickReJuVeNaTion/errorlog.txt.
    Press Ctrl+C to copy this message to the clipboard.
    ---------------------------
    OK   
    ---------------------------

    Game.rxdata

  15. 1 hour ago, Walpurgis said:

    Wow, your file is much much more messed up than I thought. Initially I thought the problem was that you had somehow managed to get down the waterfall before time and you had been wiped out by some meteor grunt and that was why you weren't able to fight Terra, which in the intended order of events goes before that, but now I have realized that you also skipped the whole E12 story and Charlotte's gym. Did you alter your game in any way? If not then tell me what the heck did you do from beating Samson to the point you are now in because there's a big hole to fix in this game.

    game.rxdata

    First of all, I'd like to apologize for the inconvenience I caused, and thank you for your efforts! :]

    Now, to answer your questions, the only thing I did was adding a Pkm or an Item to my team through the Debug function or teach some of my Pkm Waterfall and Surf.

    When I arrived with Cain for the first time in Agate City, everyone was sleeping, and we were greeted by Terra. I then went to this circus place and learned the only way to challenge the "triumvirate" was to collect these Battle Pass. So I went to Route 2 and solved this Crustle puzzle, which allowed me to access the Celestine mountain or visit Titania's and her girlfriend's house. I believe I first visited the duo. There was an incident that involved a diary. The girlfriend was unhappy and wanted to jump from this waterfall. Titania followed her, and I had to find a way to help her. For that, I would have needed to challenge a gym leader granting me the ability to use Waterfall outside of the battle. So I explored the Celestine mountain (hoping I would somehow find a Battle Pass), met Cain and some other characters, I believe, and had to fight a Pulse Avalugg. After that, I managed to find Ametrine City. There, I had to find this girl (the saviour of the town because she brought food), and found her in a hotel. I then had to go up to the mountain, where I would fight against this ex ice gym leader. After I had won, Victoria accompanied me in route 3, I believe. I think I had to fight against some Meteor grunts, and after that I explored the area and discovered Calcenon City. I went to each house and spoke to each person. Before I entered the gym for the first time, however, I saw Charlotte, Saphire, and Hardy and talked to them, which triggered this Fern event (but without any appearance from a meteor member if I recall right). I then went to the gym. Charlotte was upset, I believe, and she went away. Hence why there was this man commenting on this and preventing me from progressing in this gym. When I left the house, I came across a house where Shelly and the orphans were. For some reason I didn't understand, she talked about Heather being in Ametrine and her desire to talk to her again. One of the characters in this house told me I needed Waterfall, and beating Terra would allow me to use it outside of the battle. I then saved in Calcenon City. I then tried to go back to this circus place, but route 3 was destroyed and the attendant would not ask me to give him money, so I had to go back the long way. When I arrived in this circus place, I talked to Samson. Ciel appeared and then Terra. The latter disappeared into the computer, and Samson told me I could talk to him whenever I was ready. I then went to my computer to prepare for entering the digi world. When I was done, I wanted to talk to Samson, but he and Ciel disappeared. Luckily enough, I did not save, I believe. and this must be the moment where I asked for help. As a side note, I'm not sure when I defeated Samson, but I believe I did it after Amalia encouraged me to do so.

    Anyway, I used the new save file you gave me, won against Terra and Ciel and did this Devon mission. That's all I can remember.^^

  16. 16 hours ago, Walpurgis said:

    here you go

    game.rxdata

    Thank you very much! I was able to defeat Terra and Ciel, and after that there was this Devon infiltration, which I finished. However, when I came back to Celcanon City, Shelly tells me Heather is in Ametrine City. I could swear I've already saved her. So I don't really understand that. And in Celcanon's gym, there's still this man preventing me from exploring the gym. Charlotte is where Hardy is, and I'm not sure how I can challenge her. If I leave this city, nothing changes. And the Attendant still doesn't ask me if I could offer him some money. I fear that if I now go to Adrienn to do 1-2 missons, my Pkm soon won't be able to take my orders. Gallade (Level 76) is the first one who gives me some issues. And this is strange because I already defeated Ciel. And her badge's limit is 80 as far as I know.

    New save file:

     

    game.rxdata

  17. Hello, 

    I seem to be stuck in Calcenon City. When I arrived in this city for the first time after finishing the events in Ametrine City , I talked to Charlotte, Saphire, and Hardy. Only this Fern guy appeared, if I recall right. After that, I went to the gym and saw Charlotte. When she finished talking, she went away, and you can see her again among Saphire and Hardy. I then approached the Attendant, hoping he would ask me to give him money for the bridge. But there was no mention of it. After that, I went back to where Samson, Ciel and co are. There, I learned something interesting about the third, crazy member, and Samson offered me a chance. I then went to the PC to prepare my team for the third member, but when I finished, Samson and Ciel disappeared. I have no idea what I have to do now.

    Game.rxdata

×
×
  • Create New...