• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)

184
Posts
5
Years
    • Seen Mar 7, 2023
    I found the court change script here didn't work well, and was missing a few effects such as aurora veil and tailwind. Here is a replacement.
    PBS:
    Code:
    686,COURTCHANGE,Court Change,A16,0,NORMAL,Status,100,10,0,20,0,e,"With its mysterious power, the user swaps the effects on either side of the field."
    PokeBattle_MoveEffects:
    Code:
    ################################################################################
    # Switches effects on all sides. (Court Change)
    ################################################################################
    class PokeBattle_Move_A16 < PokeBattle_Move
       def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
        return super(attacker,opponent,hitnum,alltargets,showanimation) if pbIsDamaging?
        pbShowAnimation(@id,attacker,opponent,hitnum,alltargets,showanimation)
        if attacker.pbOpposingSide.effects[PBEffects::Reflect] != attacker.pbOwnSide.effects[PBEffects::Reflect] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::Reflect] 
          attacker.pbOpposingSide.effects[PBEffects::Reflect] = attacker.pbOwnSide.effects[PBEffects::Reflect] 
          attacker.pbOwnSide.effects[PBEffects::Reflect] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::LightScreen] != attacker.pbOwnSide.effects[PBEffects::LightScreen] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::LightScreen] 
          attacker.pbOpposingSide.effects[PBEffects::LightScreen] = attacker.pbOwnSide.effects[PBEffects::LightScreen] 
          attacker.pbOwnSide.effects[PBEffects::LightScreen] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::AuroraVeil] != attacker.pbOwnSide.effects[PBEffects::AuroraVeil] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::AuroraVeil] 
          attacker.pbOpposingSide.effects[PBEffects::AuroraVeil] = attacker.pbOwnSide.effects[PBEffects::AuroraVeil] 
          attacker.pbOwnSide.effects[PBEffects::AuroraVeil] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::Mist] != attacker.pbOwnSide.effects[PBEffects::Mist] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::Mist] 
          attacker.pbOpposingSide.effects[PBEffects::Mist] = attacker.pbOwnSide.effects[PBEffects::Mist] 
          attacker.pbOwnSide.effects[PBEffects::Mist] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::Safeguard] != attacker.pbOwnSide.effects[PBEffects::Safeguard] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::Safeguard] 
          attacker.pbOpposingSide.effects[PBEffects::Safeguard] = attacker.pbOwnSide.effects[PBEffects::Safeguard] 
          attacker.pbOwnSide.effects[PBEffects::Safeguard] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::Spikes] != attacker.pbOwnSide.effects[PBEffects::Spikes] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::Spikes] 
          attacker.pbOpposingSide.effects[PBEffects::Spikes] = attacker.pbOwnSide.effects[PBEffects::Spikes] 
          attacker.pbOwnSide.effects[PBEffects::Spikes] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::StealthRock] != attacker.pbOwnSide.effects[PBEffects::StealthRock] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::StealthRock] 
          attacker.pbOpposingSide.effects[PBEffects::StealthRock] = attacker.pbOwnSide.effects[PBEffects::StealthRock] 
          attacker.pbOwnSide.effects[PBEffects::StealthRock] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::StickyWeb] != attacker.pbOwnSide.effects[PBEffects::StickyWeb] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::StickyWeb] 
          attacker.pbOpposingSide.effects[PBEffects::StickyWeb] = attacker.pbOwnSide.effects[PBEffects::StickyWeb] 
          attacker.pbOwnSide.effects[PBEffects::StickyWeb] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::ToxicSpikes] != attacker.pbOwnSide.effects[PBEffects::ToxicSpikes] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::ToxicSpikes] 
          attacker.pbOpposingSide.effects[PBEffects::ToxicSpikes] = attacker.pbOwnSide.effects[PBEffects::ToxicSpikes] 
          attacker.pbOwnSide.effects[PBEffects::ToxicSpikes] = tempreflect
        end
        if attacker.pbOpposingSide.effects[PBEffects::Tailwind] != attacker.pbOwnSide.effects[PBEffects::Tailwind] 
          tempreflect=attacker.pbOpposingSide.effects[PBEffects::Tailwind] 
          attacker.pbOpposingSide.effects[PBEffects::Tailwind] = attacker.pbOwnSide.effects[PBEffects::Tailwind] 
          attacker.pbOwnSide.effects[PBEffects::Tailwind] = tempreflect
        end
        @battle.pbDisplay(_INTL("{1} changed things up!",attacker.pbThis))
      end
      
    end
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Time ago bulbapedia didn't have those details :p I'll update the code later. Thanks anyway!

    EDIT:
    It's Done! But I still don't get that part:
    Code:
    If Court Change transfers an entry hazard, it will not have any effect until a new Pokémon is switched in.[B][I][U] If a Pokémon with Defiant or Competitive is then switched in onto a Sticky Web, the Speed drop happens as usual, but the Abilities will not activate. Other Abilities like Contrary will, however.[/U][/I][/B]

    Anyway, here the new code. Update its script in main post:
    Spoiler:


    I made a script for it. Maybe you could take a look and modify it if you want.
    https://www.pokecommunity.com/showthread.php?t=422817&page=4

    Unfortunately we still need to find a way to code about Desoland Land and other one because 'user' is wrong ('cause user is the attacker not the target/opponent) there and the code didn't store the target, just after the code:
    Spoiler:


    I tried using 'opp=choice[3]'; '[email protected][user.index][3]' before but no success.
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Utility Umbrella:
    Add inside 'items.txt' ('XXX' will be your last number):
    Code:
    XXX,UTILITYUMBRELLA,Utility Umbrella,Utility Umbrellas,1,4000,"An item to be held by a Pokémon. This sturdy umbrella protects the holder from the effects of weather.",0,0,0,

    Basically we need to use CTRL+Shift+F to find some SUNNYDAY, HARSHSUN, RAINDANCE and HEAVYRAIN cases. There we go!
    Spoiler:


    Bonus about Primordial Weathers' "bug":
    Spoiler:
     

    Attachments

    • [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)
      item763.png
      1 KB · Views: 378
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Neutralizing Gas:
    V2.0 ("single battle" and "double battle fainted", fixed):
    Spoiler:


    V1.0
    Spoiler:

    P.S: Need to code to not appears the phrases after pokémon with Neutralizing Gas fainted or switched for Unnerve and Imposter abilities.

    BONUS
    Official phrases for Unnever (but IDK how to code when we have 2 pokémon into the same party with that ability :/ Anyway):
    Inside 'PokeBattle_Battler' script, above '# Air Balloon message', paste the code, like:
    Code:
        # Unnerve
        if self.hasWorkingAbility(:UNNERVE) && onactive
          PBDebug.log("[Ability triggered] #{pbThis}'s Unnerve")
          if @battle.pbOwnedByPlayer?(@index)
            @battle.pbDisplay(_INTL("The opposing team is too nervous to eat Berries!"))
          else
            @battle.pbDisplay(_INTL("Your team is too nervous to eat Berries!"))
          end
        end
        # Air Balloon message
        if self.hasWorkingItem(:AIRBALLOON) && onactive
          @battle.pbDisplay(_INTL("{1} floats in the air with its {2}!",pbThis,PBItems.getName(self.item)))
        end
      end
    
      def pbEffectsOnDealingDamage(move,user,target,damage)

    Now, Only the foking Milcery's evo method to finish all gen 8 (Dynamax/Gigantamax and Camping not included)!

    Cya!
     
    Last edited:
    143
    Posts
    4
    Years
    • Seen Mar 26, 2024
    Hey there,
    I was just wondering if it was intended for weather inducing abilities (Snow Warning,Drought...) to trigger while Neutralizing Gas is active? I tested the ability against a static ability (Weak Armor) which was supressed by it, but switch in abilities trigger anyways when the said Pokémon is sent into battle.
    Anyways, the hard work you guys are putting into all this coding is appreciated. Keep it up! :)
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Hey there,
    I was just wondering if it was intended for weather inducing abilities (Snow Warning,Drought...) to trigger while Neutralizing Gas is active? I tested the ability against a static ability (Weak Armor) which was supressed by it, but switch in abilities trigger anyways when the said Pokémon is sent into battle.
    Anyways, the hard work you guys are putting into all this coding is appreciated. Keep it up! :)

    I didn't undestand what you wrote TBH o.o I just followed what are here:
    https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(Ability)

    About the phrases it's like official games does: If your pokémon fainted or switched, it'll trigger the message and then activate all abilities that have message.
     
    143
    Posts
    4
    Years
    • Seen Mar 26, 2024
    I didn't undestand what you wrote TBH o.o I just followed what are here:
    From what I thought Neutralizing Gas should supress abilities that trigger on switch in, like Intimidate, Snow Warning etc. as long as the ability(Neutralizing Gas) is active. And then to make up for it Intimidate would activate when the Pokémon with Neutralizing Gas would switch out/faint. But for me Snow Warning triggers anyways at the start of the battle. I just wanted to know if that's intended?
    Sorry for me being unclear and if I still am please tell me. :)
    EDIT: Intimidate works (it's getting supressed) but the weather abilities still function.
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • From what I thought Neutralizing Gas should supress abilities that trigger on switch in, like Intimidate, Snow Warning etc. as long as the ability(Neutralizing Gas) is active. And then to make up for it Intimidate would activate when the Pokémon with Neutralizing Gas would switch out/faint. But for me Snow Warning triggers anyways at the start of the battle. I just wanted to know if that's intended?
    Sorry for me being unclear and if I still am please tell me. :)
    EDIT: Intimidate works (it's getting supressed) but the weather abilities still function.

    Do you have the games to confirm me or a video to show me about weather abilities?

    Also, am working to improve Neutralizing Gas about single battle and fainted case and I'll post it later. But yep, please answer above. xD

    Here Snow Warning case; looks fine to me:
    [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)


    EDIT2: Neutralizing Gas improved (V2.0)
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Last edited:
    143
    Posts
    4
    Years
    • Seen Mar 26, 2024
    Sorry if I annoyed you, I really double checked your versions with mine. Though if it matters, I've come up with a solution for me now. I kept on testing last night and it seems only the weather and surge abilities don't function, all the other entering abilities work. So I just hardcoded [email protected][PBEffects::NeutralizingGas] at the beginning of all of those and now it's working. Thank you still though for all the work you put into this! :)
    Example:
    Code:
    if isConst?(ability,PBAbilities,:DELTASTREAM) && onactive && [email protected][PBEffects::NeutralizingGas] &&
          @battle.weather!=PBWeather::STRONGWINDS
          @battle.weather=PBWeather::STRONGWINDS
          @battle.weatherduration=-1
          @battle.pbDisplay(_INTL("A mysterious air current is protecting Flying-type Pokemon!"))
         end
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Sorry if I annoyed you, I really double checked your versions with mine. Though if it matters, I've come up with a solution for me now. I kept on testing last night and it seems only the weather and surge abilities don't function, all the other entering abilities work. So I just hardcoded [email protected][PBEffects::NeutralizingGas] at the beginning of all of those and now it's working. Thank you still though for all the work you put into this! :)
    Example:
    Code:
    if isConst?(ability,PBAbilities,:DELTASTREAM) && onactive && [email protected][PBEffects::NeutralizingGas] &&
          @battle.weather!=PBWeather::STRONGWINDS
          @battle.weather=PBWeather::STRONGWINDS
          @battle.weatherduration=-1
          @battle.pbDisplay(_INTL("A mysterious air current is protecting Flying-type Pokemon!"))
         end

    I don't undestand what are you talking about actually, since this thread is to code all official descriptions of gen 8 stuffs o.o

    From official games, the code for Neutralizing Gas works perfectly for weather ability etc.
    Also I asked to a SHSW's player to confirm me about your case and I have what I uploaded here.

    If you are doing a custom edition, go ahead but this thread we are following the official/right description for every stuffs.
     

    Attachments

    • [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)
      Screenshot_20200430-094826_Discord.jpg
      75.9 KB · Views: 18
    421
    Posts
    9
    Years
  • Hey, I love the Yamask script, but for me, it plain doesn't work. It doesn't crash the game or anything, just simply does nothing. I swear I copied in everything right, too. I checked over everything several times.
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Hey, I love the Yamask script, but for me, it plain doesn't work. It doesn't crash the game or anything, just simply does nothing. I swear I copied in everything right, too. I checked over everything several times.

    It working fine here o.o (even if you heal Yamask AFTER battle and no battle again - if so, the code will reset - it'll evolves):
    [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)


    I just made a little update: I noticed if you receive a Yamask and go into the map that it'll evo, it'll give error. To fix that:
    Spoiler:


    Update the main post about the evo method.
     
    421
    Posts
    9
    Years
  • It working fine here o.o (even if you heal Yamask AFTER battle and no battle again - if so, the code will reset - it'll evolves):
    [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)


    I just made a little update: I noticed if you receive a Yamask and go into the map that it'll evo, it'll give error. To fix that:
    Spoiler:


    Update the main post about the evo method.

    Thanks for the reply, but I still can't get it to work, even copying your steps. So, I'll have to make a different method for Yamask instead. Again, thanks, though!
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Thanks for the reply, but I still can't get it to work, even copying your steps. So, I'll have to make a different method for Yamask instead. Again, thanks, though!

    It's weird. Did you try to put the code into a Vanilla/Fresh Essentials version? To check if some of your custom codes bug that script.
     

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Well, I found the problem... I accidentally put a zero instead of a one in the evo param. Such a silly mistake on my part. I feel absolutely silly.

    DW! Thanks to you I made a little update/fix on the script.
    Feel free to post your questions and feedbacks. Always!
     
    2
    Posts
    4
    Years
    • Seen May 2, 2020
    i havent read through the whole thing but wheres the grapics / sprites to all of gen 8 pokemon im probaly dum but can someone tell me the link or something
     
    Back
    Top