Make Beat Up info withholding a rule: Beat Up Nicknames Mod (#11825)

This commit is contained in:
Slayer95 2026-03-17 18:30:54 -05:00 committed by GitHub
parent 9e270bebe4
commit 307b84fe4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 31 additions and 13 deletions

View File

@ -5280,7 +5280,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
gameType: 'doubles', gameType: 'doubles',
ruleset: [ ruleset: [
'Obtainable', 'Team Preview', 'Species Clause', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Max Team Size = 6', 'VGC Timer', 'Obtainable', 'Team Preview', 'Species Clause', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Max Team Size = 6', 'VGC Timer',
'Nickname Clause', 'Endless Battle Clause', 'Cancel Mod', 'Picked Team Size = 4', 'Exact HP Mod', 'Item Clause = 1', 'Open Team Sheets', 'Nickname Clause', 'Beat Up Nicknames Mod', 'Endless Battle Clause', 'Cancel Mod', 'Picked Team Size = 4', 'Exact HP Mod', 'Item Clause = 1', 'Open Team Sheets',
], ],
banlist: ['Restricted Legendary', 'Mythical', 'Soul Dew'], banlist: ['Restricted Legendary', 'Mythical', 'Soul Dew'],
bestOfDefault: true, bestOfDefault: true,
@ -5301,7 +5301,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
gameType: 'singles', gameType: 'singles',
ruleset: [ ruleset: [
'Obtainable', 'Team Preview', 'Species Clause', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Max Team Size = 6', 'VGC Timer', 'Obtainable', 'Team Preview', 'Species Clause', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Max Team Size = 6', 'VGC Timer',
'Nickname Clause', 'Endless Battle Clause', 'Cancel Mod', 'Picked Team Size = 3', 'Exact HP Mod', "Item Clause = 1", 'Open Team Sheets', 'Nickname Clause', 'Beat Up Nicknames Mod', 'Endless Battle Clause', 'Cancel Mod', 'Picked Team Size = 3', 'Exact HP Mod', "Item Clause = 1", 'Open Team Sheets',
], ],
banlist: ['Soul Dew', 'Restricted Legendary', 'Mythical', 'Wobbuffet + Leftovers', 'Wynaut + Leftovers'], banlist: ['Soul Dew', 'Restricted Legendary', 'Mythical', 'Wobbuffet + Leftovers', 'Wynaut + Leftovers'],
restricted: [], restricted: [],
@ -5386,7 +5386,9 @@ export const Formats: import('../sim/dex-formats').FormatList = [
searchShow: false, searchShow: false,
ruleset: [ ruleset: [
'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155', 'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155',
'Obtainable', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Species Clause', 'Item Clause = 1', 'Endless Battle Clause', 'Cancel Mod', 'Event Moves Clause', 'Nickname Clause', 'Team Preview', 'Obtainable', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Species Clause', 'Item Clause = 1',
'Endless Battle Clause', 'Cancel Mod', 'Event Moves Clause', 'Nickname Clause', 'Beat Up Nicknames Mod',
'Team Preview',
], ],
banlist: ['Uber'], banlist: ['Uber'],
}, },

View File

@ -2,7 +2,7 @@ export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable
standardag: { standardag: {
inherit: true, inherit: true,
ruleset: [ ruleset: [
'Obtainable', 'Team Preview', 'Exact HP Mod', 'Cancel Mod', 'Obtainable', 'Team Preview', 'Exact HP Mod', 'Cancel Mod', 'Beat Up Nicknames Mod',
], ],
}, },
standard: { standard: {

View File

@ -44,8 +44,10 @@ export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {
duration: 1, duration: 1,
onModifySpAPriority: -101, onModifySpAPriority: -101,
onModifySpA(atk, pokemon, defender, move) { onModifySpA(atk, pokemon, defender, move) {
// https://www.smogon.com/forums/posts/8992145/ if (!this.ruleTable.has('beatupnicknamesmod')) {
// this.add('-activate', pokemon, 'move: Beat Up', '[of] ' + move.allies![0].name); // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
this.add('-activate', pokemon, 'move: Beat Up', '[of] ' + move.allies![0]!.name);
}
this.event.modifier = 1; this.event.modifier = 1;
return this.dex.species.get(move.allies!.shift()!.set.species).baseStats.atk; return this.dex.species.get(move.allies!.shift()!.set.species).baseStats.atk;
}, },

View File

@ -13,7 +13,7 @@ export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable
name: 'Standard Draft', name: 'Standard Draft',
desc: "The custom Draft League ruleset", desc: "The custom Draft League ruleset",
ruleset: [ ruleset: [
'Obtainable', 'Nickname Clause', '+Unreleased', 'Sleep Clause Mod', 'OHKO Clause', 'Evasion Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Obtainable', 'Nickname Clause', 'Beat Up Nicknames Mod', '+Unreleased', 'Sleep Clause Mod', 'OHKO Clause', 'Evasion Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod',
'One Boost Passer Clause', 'Freeze Clause Mod', 'Accuracy Moves Clause', 'Baton Pass Trap Clause', 'One Boost Passer Clause', 'Freeze Clause Mod', 'Accuracy Moves Clause', 'Baton Pass Trap Clause',
], ],
banlist: [ banlist: [

View File

@ -92,8 +92,10 @@ export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {
duration: 1, duration: 1,
onModifyAtkPriority: -101, onModifyAtkPriority: -101,
onModifyAtk(atk, pokemon, defender, move) { onModifyAtk(atk, pokemon, defender, move) {
// https://www.smogon.com/forums/posts/8992145/ if (!this.ruleTable.has('beatupnicknamesmod')) {
// this.add('-activate', pokemon, 'move: Beat Up', '[of] ' + move.allies![0].name); // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
this.add('-activate', pokemon, 'move: Beat Up', '[of] ' + move.allies![0]!.name);
}
this.event.modifier = 1; this.event.modifier = 1;
return this.dex.species.get(move.allies!.shift()!.set.species).baseStats.atk; return this.dex.species.get(move.allies!.shift()!.set.species).baseStats.atk;
}, },

View File

@ -2,7 +2,7 @@ export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable
standardag: { standardag: {
inherit: true, inherit: true,
ruleset: [ ruleset: [
'Obtainable', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause', 'Obtainable', 'HP Percentage Mod', 'Cancel Mod', 'Beat Up Nicknames Mod', 'Endless Battle Clause',
], ],
}, },
standard: { standard: {
@ -14,7 +14,7 @@ export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable
}, },
flatrules: { flatrules: {
inherit: true, inherit: true,
ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'Item Clause = 1', 'Adjust Level Down = 50', 'Picked Team Size = Auto', 'Cancel Mod'], ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'Beat Up Nicknames Mod', 'Item Clause = 1', 'Adjust Level Down = 50', 'Picked Team Size = Auto', 'Cancel Mod'],
}, },
teampreview: { teampreview: {
inherit: true, inherit: true,

View File

@ -38,7 +38,7 @@ export const Rulesets: import('../sim/dex-formats').FormatDataTable = {
effectType: 'ValidatorRule', effectType: 'ValidatorRule',
name: 'Flat Rules', name: 'Flat Rules',
desc: "The in-game Flat Rules: Adjust Level Down 50, Species Clause, Item Clause = 1, -Mythical, -Restricted Legendary, Bring 6 Pick 3-6 depending on game type.", desc: "The in-game Flat Rules: Adjust Level Down 50, Species Clause, Item Clause = 1, -Mythical, -Restricted Legendary, Bring 6 Pick 3-6 depending on game type.",
ruleset: ['Obtainable', 'Team Preview', 'Species Clause', 'Nickname Clause', 'Item Clause = 1', 'Adjust Level Down = 50', 'Picked Team Size = Auto', 'Cancel Mod'], ruleset: ['Obtainable', 'Team Preview', 'Species Clause', 'Nickname Clause', 'Beat Up Nicknames Mod', 'Item Clause = 1', 'Adjust Level Down = 50', 'Picked Team Size = Auto', 'Cancel Mod'],
banlist: ['Mythical', 'Restricted Legendary', 'Greninja-Bond'], banlist: ['Mythical', 'Restricted Legendary', 'Greninja-Bond'],
}, },
limittworestricted: { limittworestricted: {
@ -159,7 +159,7 @@ export const Rulesets: import('../sim/dex-formats').FormatDataTable = {
name: 'Standard Draft', name: 'Standard Draft',
desc: "The custom Draft League ruleset", desc: "The custom Draft League ruleset",
ruleset: [ ruleset: [
'Obtainable', 'Nickname Clause', '+Unreleased', '+CAP', 'Sketch Post-Gen 7 Moves', 'Team Preview', 'Sleep Clause Mod', 'OHKO Clause', 'Evasion Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Obtainable', 'Nickname Clause', 'Beat Up Nicknames Mod', '+Unreleased', '+CAP', 'Sketch Post-Gen 7 Moves', 'Team Preview', 'Sleep Clause Mod', 'OHKO Clause', 'Evasion Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod',
], ],
// timer: {starting: 60 * 60, grace: 0, addPerTurn: 10, maxPerTurn: 100, timeoutAutoChoose: true}, // timer: {starting: 60 * 60, grace: 0, addPerTurn: 10, maxPerTurn: 100, timeoutAutoChoose: true},
}, },
@ -823,6 +823,18 @@ export const Rulesets: import('../sim/dex-formats').FormatDataTable = {
// hardcoded in team-validator.js, so we are done. // hardcoded in team-validator.js, so we are done.
}, },
}, },
beatupnicknamesmod: {
effectType: 'Rule',
name: 'Beat Up Nicknames Mod',
desc: "Prevents Beat Up from revealing any party members, enforcing gameplay that assumes optimal Pokémon nicknaming strategies.",
onBegin() {
if (this.gen <= 4) {
this.add('rule', `Beat Up Nicknames Mod: Beat Up will not reveal any party members`);
}
},
// https://www.smogon.com/forums/posts/8992145/
// hardcoded in data/mods/gen3/moves.ts, data/mods/gen4/moves.ts
},
itemclause: { itemclause: {
effectType: 'ValidatorRule', effectType: 'ValidatorRule',
name: 'Item Clause', name: 'Item Clause',