Add Documentation to Partial Abilities, and Fix Missing Partial Tags

Document Missing Features from Partially Implemented Abilities, and mark Pastel Veil and Prankster as Partially Implemented
pull/697/head
Athebyne 2024-05-09 18:31:17 -04:00 committed by GitHub
parent 10cf1cd94f
commit 9d806ba178
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 2 deletions

View File

@ -3052,6 +3052,7 @@ export function initAbilities() {
.attr(MoveAbilityBypassAbAttr),
new Ability(Abilities.SUPER_LUCK, 4)
.attr(BonusCritAbAttr)
//MISSING: Should also affect rate of wild pokemon holding items.
.partial(),
new Ability(Abilities.AFTERMATH, 4)
.attr(PostFaintContactDamageAbAttr,4)
@ -3104,6 +3105,7 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
.ignorable()
//MISSING: Also should transform cherrim.
.partial(),
new Ability(Abilities.BAD_DREAMS, 4)
.unimplemented(),
@ -3200,7 +3202,9 @@ export function initAbilities() {
.attr(TypeImmunityStatChangeAbAttr, Type.GRASS, BattleStat.ATK, 1)
.ignorable(),
new Ability(Abilities.PRANKSTER, 5)
.attr(IncrementMovePriorityAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS),
.attr(IncrementMovePriorityAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS)
//MISSING: Dark Types are Immune
.partial(),
new Ability(Abilities.SAND_FORCE, 5)
.attr(MoveTypePowerBoostAbAttr, Type.ROCK, 1.3)
.attr(MoveTypePowerBoostAbAttr, Type.GROUND, 1.3)
@ -3220,6 +3224,7 @@ export function initAbilities() {
.attr(NoFusionAbilityAbAttr),
new Ability(Abilities.VICTORY_STAR, 5)
.attr(BattleStatMultiplierAbAttr, BattleStat.ACC, 1.1)
//MISSING: Should also apply to allies.
.partial(),
new Ability(Abilities.TURBOBLAZE, 5)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, ' is radiating a blazing aura!'))
@ -3255,6 +3260,7 @@ export function initAbilities() {
.attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP)
.attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY)
.ignorable()
//MISSING: Should also apply to allies.
.partial(),
new Ability(Abilities.STANCE_CHANGE, 6)
.attr(UncopiableAbilityAbAttr)
@ -3316,6 +3322,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
//MISSING: Should also make minior immune to status until it changes form.
.partial(),
new Ability(Abilities.STAKEOUT, 7)
.attr(MovePowerBoostAbAttr, (user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.POKEMON, 2),
@ -3362,6 +3369,7 @@ export function initAbilities() {
.attr(NoTransformAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
.ignorable()
//Ability is still janky.
.partial(),
new Ability(Abilities.BATTLE_BOND, 7)
.attr(PostVictoryFormChangeAbAttr, p => p.getFormKey() ? 2 : 1)
@ -3510,6 +3518,7 @@ export function initAbilities() {
new Ability(Abilities.WANDERING_SPIRIT, 8)
.attr(PostDefendAbilitySwapAbAttr)
.bypassFaint()
//MISSING: If swapping with rock head from a recoil move, the rock head pokemon should lose its ability first, and take recoil.
.partial(),
new Ability(Abilities.GORILLA_TACTICS, 8)
.unimplemented(),
@ -3519,10 +3528,13 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.attr(NoTransformAbilityAbAttr)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, '\'s Neutralizing Gas filled the area!'))
//Has weird interactions with some abilities still.
.partial(),
new Ability(Abilities.PASTEL_VEIL, 8)
.attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
.ignorable(),
.ignorable()
//MISSING: Should also apply to allies
.partial(),
new Ability(Abilities.HUNGER_SWITCH, 8)
.attr(PostTurnFormChangeAbAttr, p => p.getFormKey ? 0 : 1)
.attr(PostTurnFormChangeAbAttr, p => p.getFormKey ? 1 : 0)
@ -3579,6 +3591,7 @@ export function initAbilities() {
new Ability(Abilities.WIND_RIDER, 9)
.attr(MoveImmunityStatChangeAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.WIND_MOVE), BattleStat.ATK, 1)
.ignorable()
//MISSING: Should also be buffed in tailwind.
.partial(),
new Ability(Abilities.GUARD_DOG, 9)
.attr(PostIntimidateStatChangeAbAttr, [BattleStat.ATK], 1, true)
@ -3588,6 +3601,7 @@ export function initAbilities() {
.attr(MoveTypePowerBoostAbAttr, Type.ROCK),
new Ability(Abilities.WIND_POWER, 9)
.attr(PostDefendApplyBattlerTagAbAttr, (target, user, move) => move.hasFlag(MoveFlags.WIND_MOVE), BattlerTagType.CHARGED)
//MISSING: Should also be buffed in tailwind.
.partial(),
new Ability(Abilities.ZERO_TO_HERO, 9)
.attr(UncopiableAbilityAbAttr)
@ -3619,6 +3633,7 @@ export function initAbilities() {
new Ability(Abilities.GOOD_AS_GOLD, 9)
.attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().category === MoveCategory.STATUS)
.ignorable()
//MISSING: Needs more polish for niche situations where a simple blanket status move immunity isn't enough.
.partial(),
new Ability(Abilities.VESSEL_OF_RUIN, 9)
.ignorable()
@ -3661,6 +3676,7 @@ export function initAbilities() {
.ignorable(),
new Ability(Abilities.MYCELIUM_MIGHT, 9)
.attr(MoveAbilityBypassAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS)
//MISSING: These status moves should also have reduced priority.
.partial(),
new Ability(Abilities.MINDS_EYE, 9)
.attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [Type.NORMAL, Type.FIGHTING])