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

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

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
 
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/threads/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:
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

  • [PokeCommunity.com] [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)
    item763.png
    1 KB · Views: 378
Last edited:
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:
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! :)
 
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.
 
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:
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:
[PokeCommunity.com] [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)


EDIT2: Neutralizing Gas improved (V2.0)
 
Last edited:
Last edited:
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
 
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

  • [PokeCommunity.com] [Essentials v17.2] Gen 8 stuffs (Abilities, Items & Move)
    Screenshot_20200430-094826_Discord.jpg
    75.9 KB · Views: 18
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):
[PokeCommunity.com] [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.
 
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):
[PokeCommunity.com] [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!
 
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.

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.
 
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