mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-06-02 22:08:36 -05:00
Merge 1a858e1727 into 6765d8422d
This commit is contained in:
commit
a060e50e2c
|
|
@ -21,7 +21,7 @@ export class RandomGen1Teams extends RandomGen2Teams {
|
|||
override randomCCTeam() {
|
||||
this.enforceNoDirectCustomBanlistChanges();
|
||||
|
||||
const team = [];
|
||||
const team: RandomTeamsTypes.RandomSet[] = [];
|
||||
|
||||
const randomN = this.randomNPokemon(this.maxTeamSize, this.forceMonotype);
|
||||
|
||||
|
|
|
|||
|
|
@ -612,7 +612,7 @@ export class RandomGen3Teams extends RandomGen4Teams {
|
|||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
speciesId: species.id,
|
||||
gender: species.gender,
|
||||
gender: species.gender || (this.random(2) ? 'F' : 'M'),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -727,7 +727,7 @@ export class RandomGen4Teams extends RandomGen5Teams {
|
|||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
speciesId: species.id,
|
||||
gender: species.gender,
|
||||
gender: species.gender || (this.random(2) ? 'F' : 'M'),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -790,7 +790,7 @@ export class RandomGen5Teams extends RandomGen6Teams {
|
|||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
speciesId: species.id,
|
||||
gender: species.gender,
|
||||
gender: species.gender || (this.random(2) ? 'F' : 'M'),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -653,7 +653,7 @@ export class RandomBabyTeams extends RandomTeams {
|
|||
return {
|
||||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
gender: species.gender,
|
||||
gender: species.baseSpecies === 'Greninja' ? 'M' : (species.gender || (this.random(2) ? 'F' : 'M')),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ export class RandomCAPTeams extends RandomTeams {
|
|||
return {
|
||||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
gender: species.baseSpecies === 'Greninja' ? 'M' : species.gender,
|
||||
gender: species.baseSpecies === 'Greninja' ? 'M' : (species.gender || (this.random(2) ? 'F' : 'M')),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -882,7 +882,7 @@ export class RandomFFATeams extends RandomTeams {
|
|||
return {
|
||||
name: species.baseSpecies,
|
||||
species: forme,
|
||||
gender: species.gender,
|
||||
gender: species.baseSpecies === 'Greninja' ? 'M' : (species.gender || (this.random(2) ? 'F' : 'M')),
|
||||
shiny: this.randomChance(1, 1024),
|
||||
level,
|
||||
moves: shuffledMoves,
|
||||
|
|
|
|||
|
|
@ -517,7 +517,7 @@ declare namespace RandomTeamsTypes {
|
|||
name: string;
|
||||
species: string;
|
||||
speciesId?: string;
|
||||
gender: string | boolean;
|
||||
gender: Exclude<GenderName, ''> | false;
|
||||
moves: string[];
|
||||
ability: string;
|
||||
evs: SparseStatsTable;
|
||||
|
|
|
|||
|
|
@ -336,9 +336,7 @@ export class Pokemon {
|
|||
|
||||
set.level = this.battle.clampIntRange(set.adjustLevel || set.level || 100, 1, 9999);
|
||||
this.level = set.level;
|
||||
const genders: { [key: string]: GenderName | null } = { __proto__: null, M: 'M', F: 'F', N: 'N' };
|
||||
this.gender = genders[set.gender] || this.species.gender || this.battle.sample(['M', 'F']);
|
||||
if (this.gender === 'N') this.gender = '';
|
||||
this.gender = ['M', 'F'].includes(set.gender) ? set.gender : '';
|
||||
this.happiness = typeof set.happiness === 'number' ? this.battle.clampIntRange(set.happiness, 0, 255) : 255;
|
||||
if (this.battle.format.mod === 'gen7letsgo') this.happiness = 70;
|
||||
this.pokeball = toID(this.set.pokeball) || 'pokeball' as ID;
|
||||
|
|
|
|||
|
|
@ -1113,8 +1113,12 @@ export class TeamValidator {
|
|||
}
|
||||
|
||||
if (!problems.length) {
|
||||
if (this.gen > 5 && !ruleTable.has('obtainablemisc')) {
|
||||
set.gender ||= 'N';
|
||||
if (!set.gender) {
|
||||
if (this.gen <= 5 || ruleTable.has('obtainablemisc')) {
|
||||
set.gender = species.gender || (Math.random() <= species.genderRatio.M ? 'M' : 'F');
|
||||
} else {
|
||||
set.gender = 'N';
|
||||
}
|
||||
}
|
||||
if (adjustLevel) set.level = adjustLevel;
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ describe('Quick Claw', () => {
|
|||
});
|
||||
|
||||
it(`[Gen 2] shares its activation roll with every holder on any given turn`, () => {
|
||||
battle = common.gen(2).createBattle({ seed: [1, 2, 3, 27] }, [[
|
||||
battle = common.gen(2).createBattle({ seed: [56315, 2707, 289, 7274] }, [[
|
||||
{ species: 'snorlax', item: 'quickclaw', moves: ['sleeptalk'] },
|
||||
], [
|
||||
{ species: 'mewtwo', item: 'quickclaw', moves: ['sleeptalk'] },
|
||||
|
|
@ -28,7 +28,7 @@ describe('Quick Claw', () => {
|
|||
});
|
||||
|
||||
it(`[Gen 3] causes Speed ties with every holder when activated`, () => {
|
||||
battle = common.gen(3).createBattle({ seed: [163, 106, 112, 542] }, [[
|
||||
battle = common.gen(3).createBattle({ seed: [54340, 18392, 54347, 33433] }, [[
|
||||
{ species: 'snorlax', item: 'quickclaw', moves: ['spore'] },
|
||||
], [
|
||||
{ species: 'deoxys', item: 'quickclaw', moves: ['seismictoss'] },
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ describe('Assurance', () => {
|
|||
it(`should double the power against damaged Pokemon, not damaged slots`, () => {
|
||||
battle = common.createBattle({ gameType: 'doubles' }, [[
|
||||
{ species: 'bulbasaur', level: 1, moves: ['sleeptalk'] },
|
||||
{ species: 'landorus', moves: ['sleeptalk'] },
|
||||
{ species: 'landorus', ability: 'shellarmor', moves: ['sleeptalk'] },
|
||||
], [
|
||||
{ species: 'alakazam', moves: ['psychic'] },
|
||||
{ species: 'pawniard', moves: ['assurance'] },
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ describe('Burn Up', () => {
|
|||
|
||||
it('should not thaw the user if it is not a Fire type', () => {
|
||||
battle = common.createBattle({
|
||||
seed: [0, 0, 0, 0],
|
||||
seed: [0, 0, 38, 40643],
|
||||
customRules: 'guaranteedsecondarymod',
|
||||
}, [[
|
||||
{ species: 'Moltres', moves: ['burnup'] },
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ describe(`Pursuit`, () => {
|
|||
{ species: "Clefable", moves: ['calmmind'] },
|
||||
{ species: "Furret", moves: ['calmmind'] },
|
||||
], [
|
||||
{ species: "Clefable", moves: ['calmmind'] },
|
||||
{ species: "Clefable", ability: 'shellarmor', moves: ['calmmind'] },
|
||||
{ species: "Alakazam", moves: ['calmmind'] },
|
||||
{ species: "Roserade", moves: ['calmmind'] },
|
||||
]]);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user