Add Full Arceus Clause (#11725)
Some checks failed
Node.js CI / build (18.x) (push) Has been cancelled

* Enable Arceus EV Limit Mod

* English

* Add comment with implementation location

* Add Full Arceus Clause

* Add event for clause

* Move comment

* Lint

* Simplify assignments

* Revert Melmetal changes

* Revert "Revert Melmetal changes"

This reverts commit 8c4a04e67c.

* Reapply "Revert Melmetal changes"

This reverts commit 7553972011.

* Add explanation comment

* Remove test

* Comment
This commit is contained in:
André Bastos Dias 2026-02-08 17:24:39 +00:00 committed by GitHub
parent b9caaaa927
commit 737a8095ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 27 additions and 1 deletions

View File

@ -1606,6 +1606,12 @@ export const Rulesets: import('../sim/dex-formats').FormatDataTable = {
this.add('rule', 'Terastal Clause: You cannot Terastallize');
},
},
fullarceusclause: {
effectType: 'ValidatorRule',
name: 'Full Arceus Clause',
desc: "Allows Level 80 Arceus from Hall of Origin",
// Implemented in sim/team-validator.ts
},
inversemod: {
effectType: 'Rule',
name: 'Inverse Mod',

View File

@ -650,6 +650,7 @@ export class TeamValidator {
}
}
if (species.id === 'melmetal' && set.gigantamax && this.dex.species.getLearnsetData(species.id).eventData) {
// Gigantamax Melmetal cannot be obtained through the Max Soup
setSources.sourcesBefore = 0;
setSources.sources = ['8S0 melmetal'];
}
@ -955,7 +956,12 @@ export class TeamValidator {
}
}
} else if (ruleTable.has('obtainablemisc') && (eventOnlyData = this.getEventOnlyData(outOfBattleSpecies))) {
const { species: eventSpecies, eventData } = eventOnlyData;
const eventSpecies = eventOnlyData.species;
let eventData = eventOnlyData.eventData;
if (ruleTable.has('fullarceusclause') && eventSpecies.baseSpecies === 'Arceus') {
// Hall of Origin Arceus
eventData = [...eventData, { generation: 4, level: 80, moves: ['refresh', 'futuresight', 'recover', 'hyperbeam'] }];
}
let legal = false;
for (const event of eventData) {
if (this.validateEvent(set, setSources, event, eventSpecies)) continue;

View File

@ -181,4 +181,18 @@ describe('Team Validator', () => {
];
assert.legalTeam(team, 'gen4anythinggoes');
});
it(`should allow Hall of Origin Arceus with Full Arceus Clause`, () => {
let team = [
{ species: 'arceus', level: 80, ability: 'multitype', moves: ['judgment'], evs: { hp: 1 } },
];
assert.false.legalTeam(team, 'gen4anythinggoes');
assert.false.legalTeam(team, 'gen4anythinggoes@@@fullarceusclause');
team = [
{ species: 'arceus', level: 100, ability: 'multitype', moves: ['judgment'], evs: { hp: 1 } },
];
assert.false.legalTeam(team, 'gen4anythinggoes');
assert.legalTeam(team, 'gen4anythinggoes@@@fullarceusclause');
});
});