From aff5b50b5167e20724c7f71737d61ff4e30dd44e Mon Sep 17 00:00:00 2001 From: Shiva Devarajan Date: Sun, 29 Sep 2024 12:57:07 -0500 Subject: [PATCH] Add more restricted gay changes --- calc/src/data/moves.ts | 9 +++++++++ calc/src/mechanics/gen789.ts | 11 ++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/calc/src/data/moves.ts b/calc/src/data/moves.ts index 3f7b1dc17..5659baf75 100644 --- a/calc/src/data/moves.ts +++ b/calc/src/data/moves.ts @@ -5019,6 +5019,15 @@ const GAY_PATCH = { 'Blast Burn': {bp: 140}, 'Rock Wrecker': {bp: 140}, 'Meteor Assault': {bp: 150}, + 'Prismatic Laser': {bp: 140}, + 'Eternabeam': {bp: 180}, + 'Spectral Thief': {bp: 100}, + 'Hyperspace Hole': {bp: 90}, + 'Confusion': {bp: 30}, + 'Relic Song': {bp: 90}, + 'Double Iron Bash': {bp: 50}, + 'Astral Barrage': {bp: 100}, + 'Glacial Lance': {bp: 100}, 'Trump Card': {bp: 80}, // 'Hidden Power Normal': {bp: 60, type: 'Normal', category: 'Physical'}, 'Hidden Power Fairy': {bp: 60, type: 'Fairy', category: 'Special'}, diff --git a/calc/src/mechanics/gen789.ts b/calc/src/mechanics/gen789.ts index 2eb569946..e943cfba8 100644 --- a/calc/src/mechanics/gen789.ts +++ b/calc/src/mechanics/gen789.ts @@ -118,7 +118,7 @@ export function calculateSMSSSV( } if (defender.teraType !== 'Stellar') desc.defenderTera = defender.teraType; - if (move.named('Photon Geyser', 'Light That Burns The Sky', 'Hydro Cannon', 'Blast Burn', 'Frenzy Plant') || + if (move.named('Photon Geyser', 'Light That Burns The Sky', 'Hydro Cannon', 'Blast Burn', 'Frenzy Plant', 'Confusion') || (move.named('Tera Blast') && attacker.teraType)) { move.category = attacker.stats.atk > attacker.stats.spa ? 'Physical' : 'Special'; } @@ -1172,8 +1172,6 @@ export function calculateBPModsSMSSSV( field.hasWeather('Sand') && move.hasType('Rock', 'Ground', 'Steel')) || (attacker.hasAbility('Punk Rock') && move.flags.sound) || (attacker.hasAbility('Honey Gather') && move.named('Pollen Puff')) || - (attacker.hasAbility('Full Metal Body') && move.hasType('Steel')) || - (attacker.hasAbility('Shadow Shield') && move.hasType('Ghost')) || (attacker.hasAbility('True Aurora') && move.named('Aurora Beam')) || (attacker.hasAbility('Hammer Time') && move.name.toLowerCase().includes('hammer')) || (attacker.hasAbility('Just the Tip') && move.name.toLowerCase().includes('drill')) || @@ -1736,6 +1734,9 @@ export function calculateFinalModsSMSSSV( } else if (attacker.hasAbility('Sniper') && isCritical) { finalMods.push(6144); desc.attackerAbility = attacker.ability; + } else if (attacker.hasAbility('Turboblaze', 'Teravolt') && typeEffectiveness < 1) { + finalMods.push(6144); + desc.attackerAbility = attacker.ability; } else if (attacker.hasAbility('Tinted Lens') && typeEffectiveness < 1) { finalMods.push(8192); desc.attackerAbility = attacker.ability; @@ -1763,7 +1764,7 @@ export function calculateFinalModsSMSSSV( desc.defenderAbility = defender.ability; } - if (defender.hasAbility('Fluffy') && move.flags.contact && !attacker.hasAbility('Long Reach')) { + if (defender.hasAbility('Fluffy', 'Full Metal Body') && move.flags.contact && !attacker.hasAbility('Long Reach')) { finalMods.push(2048); desc.defenderAbility = defender.ability; } else if ( @@ -1784,7 +1785,7 @@ export function calculateFinalModsSMSSSV( desc.isFriendGuard = true; } - if (defender.hasAbility('Fluffy') && move.hasType('Fire')) { + if (defender.hasAbility('Fluffy', 'Full Metal Body') && move.hasType('Fire')) { finalMods.push(8192); desc.defenderAbility = defender.ability; }