Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ShivaD173 committed Dec 11, 2024
2 parents a68cfa1 + edeb4fd commit 6137b21
Show file tree
Hide file tree
Showing 8 changed files with 225 additions and 167 deletions.
36 changes: 22 additions & 14 deletions config/formats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -826,12 +826,12 @@ export const Formats: import('../sim/dex-formats').FormatList = [
mod: 'gen2doubles',
gameType: 'doubles',
ruleset: ['Standard Doubles', 'Swagger Clause'],
banlist: ['Uber'],
banlist: ['Uber', 'Bright Powder', 'King\'s Rock', 'Quick Claw'],
onBegin() {
this.add('-message', `Welcome to GSC Doubles!`);
this.add('-message', `This is a Generation 2 Pet Mod that brings the Doubles game mode introduced in Generation 3 back in time to GSC.`);
this.add('-message', `You can find our metagame resources here:`);
this.add('-message', `https://www.smogon.com/forums/threads/3660004/post-9132049`);
this.add('-message', `https://www.smogon.com/forums/threads/3755811/`);
},
},

Expand Down Expand Up @@ -942,25 +942,26 @@ export const Formats: import('../sim/dex-formats').FormatList = [
mod: 'gen9',
ruleset: ['Standard OMs', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Sleep Moves Clause', 'Terastal Clause', 'Twisted Dimension Mod', 'Adjust Level = 100'],
banlist: [
'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Ho-Oh', 'Giratina', 'Giratina-Origin', 'Groudon', 'Koraidon', 'Kyogre', 'Kyurem-Black',
'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Rayquaza', 'Reshiram', 'Zacian',
'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Final Gambit', 'Last Respects', 'Shed Tail',
'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Ho-Oh', 'Giratina-Origin', 'Glastrier', 'Groudon', 'Koraidon', 'Kyogre', 'Kyurem-Black',
'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Rayquaza', 'Reshiram', 'Torkoal',
'Zekrom', 'Arena Trap', 'Moody', 'Shadow Tag', 'Iron Ball', 'King\'s Rock', 'Power Anklet', 'Power Band', 'Power Belt', 'Power Bracer', 'Power Lens', 'Power Weight',
'Razor Fang', 'Baton Pass', 'Final Gambit', 'Last Respects', 'Shed Tail',
],
},
{
name: "[Gen 9] Mix and Mega Doubles",
desc: `Mega evolve any Pokémon with any mega stone, or transform them with Primal orbs, Origin orbs, and Rusted items with no limit. Mega and Primal boosts based on form changes from gen 7. Also Doubles.`,
mod: 'mixandmega',
gameType: 'doubles',
ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Terastal Clause'],
ruleset: ['Standard OMs', 'Gravity Sleep Clause', 'Terastal Clause'],
banlist: [
'Calyrex-Shadow', 'Koraidon', 'Miraidon', 'Moody', 'Shadow Tag', 'Beedrillite', 'Blazikenite', 'Blue Orb', 'Gengarite',
'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite', 'Red Orb', 'After You',
'Calyrex-Shadow', 'Koraidon', 'Miraidon', 'Moody', 'Shadow Tag', 'Banettite', 'Beedrillite', 'Blazikenite', 'Blue Orb', 'Gengarite',
'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite', 'Red Orb',
],
restricted: [
'Arceus', 'Calyrex-Ice', 'Deoxys-Normal', 'Deoxys-Attack', 'Dialga', 'Dondozo', 'Eternatus', 'Flutter Mane', 'Giratina', 'Groudon', 'Ho-Oh',
'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza',
'Regigigas', 'Reshiram', 'Slaking', 'Solgaleo', 'Ursaluna-Bloodmoon', 'Urshifu-Rapid-Strike', 'Zacian', 'Zekrom',
'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza',
'Regigigas', 'Reshiram', 'Slaking', 'Solgaleo', 'Ursaluna-Bloodmoon', 'Urshifu-Rapid-Strike', 'Zacian', 'Zamazenta', 'Zekrom',
],
onValidateTeam(team) {
const itemTable = new Set<ID>();
Expand Down Expand Up @@ -2747,7 +2748,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
],
unbanlist: [
'Appletun', 'Aurorus', 'Avalugg-Base', 'Banette-Base', 'Cacturne', 'Celebi', 'Cetitan', 'Chandelure', 'Cryogonal', 'Dipplin', 'Garbodor',
'Golem-Alola', 'Guzzlord', 'Jolteon', 'Jumpluff', 'Luvdisc', 'Magmortar', 'Mawile-Base', 'Milotic', 'Morpeko', 'Okidogi', 'Pachirisu',
'Golem-Alola', 'Guzzlord', 'Jolteon', 'Jumpluff', 'Lokix', 'Luvdisc', 'Magmortar', 'Mawile-Base', 'Milotic', 'Morpeko', 'Pachirisu',
'Perrserker', 'Primarina', 'Pupitar', 'Pyukumuku', 'Ribombee', 'Roserade', 'Rotom-Frost', 'Scovillain', 'Walrein', 'Wo-Chien', 'Wugtrio',
'Yanmega', 'Zoroark-Base',
],
Expand Down Expand Up @@ -2844,7 +2845,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
'Groudon-Primal', 'Hatterene', 'Ho-Oh', 'Kyogre-Primal', 'Lugia', 'Lunala', 'Marshadow', 'Melmetal', 'Mewtwo-Mega-Y', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra',
'Salamence-Mega', 'Smeargle', 'Yveltal', 'Zacian-Crowned', 'Zygarde-50%',
// UUBL
'Arceus-Fairy', 'Arceus-Fire', 'Arceus-Ghost', 'Arceus-Water', 'Blaziken-Mega', 'Chi-Yu', 'Flutter Mane', 'Kyogre', 'Kyurem-Black', 'Rayquaza',
'Arceus-Dragon', 'Arceus-Fairy', 'Arceus-Fire', 'Arceus-Ghost', 'Arceus-Water', 'Blaziken-Mega', 'Chi-Yu', 'Flutter Mane', 'Kyogre', 'Kyurem-Black', 'Rayquaza',
'Shaymin-Sky', 'Zacian', 'Zekrom', 'Power Construct', 'Light Clay', 'Ultranecrozium Z', 'Last Respects',
],
},
Expand Down Expand Up @@ -3062,13 +3063,21 @@ export const Formats: import('../sim/dex-formats').FormatList = [
desc: `Randomized matchups sourced from various 6v6 singles draft leagues.`,
mod: 'gen9',
team: 'randomDraftFactory',
ruleset: ['Standard Draft'],
ruleset: ['Standard Draft', '!Team Preview'],
onBegin() {
for (const pokemon of this.getAllPokemon()) {
if (!(pokemon.set as any).teraCaptain) pokemon.canTerastallize = null;
}
this.add('rule', 'Tera Captain Clause: Only Tera Captains can Terastallize');
},
onTeamPreview() {
this.add('clearpoke');
for (const pokemon of this.getAllPokemon()) {
const details = pokemon.details.replace(', shiny', '')
.replace(/(Greninja|Gourgeist|Pumpkaboo|Xerneas|Zacian|Zamazenta|Dudunsparce)(-[a-zA-Z?-]+)?/g, '$1-*');
this.add('poke', pokemon.side.id, details, '');
}
this.makeRequest('teampreview');
for (const side of this.sides) {
let buf = ``;
for (const pokemon of side.pokemon) {
Expand All @@ -3078,7 +3087,6 @@ export const Formats: import('../sim/dex-formats').FormatList = [
}
this.add(`${buf}`);
}
this.add(`raw|Only Tera Captains are allowed to Terastallize!`);
},
},
{
Expand Down
4 changes: 2 additions & 2 deletions data/formats-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2464,7 +2464,7 @@ export const FormatsData: import('../sim/dex-species').SpeciesFormatsDataTable =
deoxysspeed: {
tier: "OU",
doublesTier: "(DUU)",
natDexTier: "Uber",
natDexTier: "(OU)",
},
turtwig: {
tier: "LC",
Expand Down Expand Up @@ -4075,7 +4075,7 @@ export const FormatsData: import('../sim/dex-species').SpeciesFormatsDataTable =
natDexTier: "NU",
},
hoopaunbound: {
tier: "UU",
tier: "UUBL",
doublesTier: "(DUU)",
natDexTier: "UUBL",
},
Expand Down
64 changes: 64 additions & 0 deletions data/mods/gen4/items.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,35 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
}
},
},
dracoplate: {
inherit: true,
onTakeItem: true,
},
dreadplate: {
inherit: true,
onTakeItem: true,
},
earthplate: {
inherit: true,
onTakeItem: true,
},
fastball: {
inherit: true,
isNonstandard: null,
},
fistplate: {
inherit: true,
onTakeItem: true,
},
flameorb: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 20,
},
flameplate: {
inherit: true,
onTakeItem: true,
},
focussash: {
inherit: true,
onDamage() { },
Expand Down Expand Up @@ -156,10 +176,22 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
inherit: true,
isNonstandard: null,
},
icicleplate: {
inherit: true,
onTakeItem: true,
},
insectplate: {
inherit: true,
onTakeItem: true,
},
ironball: {
inherit: true,
onEffectiveness() {},
},
ironplate: {
inherit: true,
onTakeItem: true,
},
kingsrock: {
inherit: true,
onModifyMove(move) {
Expand Down Expand Up @@ -250,6 +282,10 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
}
},
},
meadowplate: {
inherit: true,
onTakeItem: true,
},
mentalherb: {
inherit: true,
fling: {
Expand Down Expand Up @@ -306,6 +342,10 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
},
},
},
mindplate: {
inherit: true,
onTakeItem: true,
},
moonball: {
inherit: true,
isNonstandard: null,
Expand All @@ -325,6 +365,18 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
}
},
},
skyplate: {
inherit: true,
onTakeItem: true,
},
splashplate: {
inherit: true,
onTakeItem: true,
},
spookyplate: {
inherit: true,
onTakeItem: true,
},
sportball: {
inherit: true,
isNonstandard: null,
Expand All @@ -342,6 +394,10 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
onResidualOrder: 10,
onResidualSubOrder: 20,
},
stoneplate: {
inherit: true,
onTakeItem: true,
},
thickclub: {
inherit: true,
onModifyAtk(atk, pokemon) {
Expand All @@ -355,6 +411,10 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
onResidualOrder: 10,
onResidualSubOrder: 20,
},
toxicplate: {
inherit: true,
onTakeItem: true,
},
widelens: {
inherit: true,
onSourceModifyAccuracyPriority: 4,
Expand All @@ -364,6 +424,10 @@ export const Items: import('../../../sim/dex-items').ModdedItemDataTable = {
}
},
},
zapplate: {
inherit: true,
onTakeItem: true,
},
zoomlens: {
inherit: true,
onSourceModifyAccuracyPriority: 4,
Expand Down
31 changes: 31 additions & 0 deletions data/mods/gen4/moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,37 @@ export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {
inherit: true,
recoil: [1, 3],
},
fling: {
inherit: true,
onPrepareHit(target, source, move) {
if (source.ignoringItem()) return false;
if (source.hasAbility('multitype')) return false;
const item = source.getItem();
if (!this.singleEvent('TakeItem', item, source.itemState, source, source, move, item)) return false;
if (!item.fling) return false;
move.basePower = item.fling.basePower;
this.debug('BP: ' + move.basePower);
if (item.isBerry) {
move.onHit = function (foe) {
if (this.singleEvent('Eat', item, null, foe, null, null)) {
this.runEvent('EatItem', foe, null, null, item);
if (item.id === 'leppaberry') foe.staleness = 'external';
}
if (item.onEat) foe.ateBerry = true;
};
} else if (item.fling.effect) {
move.onHit = item.fling.effect;
} else {
if (!move.secondaries) move.secondaries = [];
if (item.fling.status) {
move.secondaries.push({status: item.fling.status});
} else if (item.fling.volatileStatus) {
move.secondaries.push({volatileStatus: item.fling.volatileStatus});
}
}
source.addVolatile('fling');
},
},
focuspunch: {
inherit: true,
priorityChargeCallback() {},
Expand Down
Loading

0 comments on commit 6137b21

Please sign in to comment.