Skip to content

Commit 5d40d0a

Browse files
Merge remote-tracking branch 'origin/master' into RPTL
2 parents 310fbd9 + 02f5d8f commit 5d40d0a

24 files changed

+438
-544
lines changed

Diff for: config/formats.ts

+54-62
Large diffs are not rendered by default.

Diff for: data/abilities.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
423423
if (!source || source === target || !target.hp || !move.totalDamage) return;
424424
const lastAttackedBy = target.getLastAttackedBy();
425425
if (!lastAttackedBy) return;
426-
const damage = move.multihit ? move.totalDamage : lastAttackedBy.damage;
426+
const damage = move.multihit && !move.smartTarget ? move.totalDamage : lastAttackedBy.damage;
427427
if (target.hp <= target.maxhp / 2 && target.hp + damage > target.maxhp / 2) {
428428
this.boost({spa: 1}, target, target);
429429
}
@@ -4873,6 +4873,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
48734873
if (pokemon.species.forme !== 'Terastal') {
48744874
this.add('-activate', pokemon, 'ability: Tera Shift');
48754875
pokemon.formeChange('Terapagos-Terastal', this.effect, true);
4876+
pokemon.baseMaxhp = Math.floor(Math.floor(
4877+
2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100
4878+
) * pokemon.level / 100 + 10);
4879+
const newMaxHP = pokemon.baseMaxhp;
4880+
pokemon.hp = newMaxHP - (pokemon.maxhp - pokemon.hp);
4881+
pokemon.maxhp = newMaxHP;
4882+
this.add('-heal', pokemon, pokemon.getHealth, '[silent]');
48764883
}
48774884
},
48784885
flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1},

Diff for: data/formats-data.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
11551155
natDexTier: "RU",
11561156
},
11571157
articunogalar: {
1158-
tier: "PU",
1158+
tier: "PUBL",
11591159
doublesTier: "(DUU)",
11601160
natDexTier: "RU",
11611161
},
@@ -2889,7 +2889,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
28892889
natDexTier: "UU",
28902890
},
28912891
snivy: {
2892-
tier: "LC",
2892+
tier: "NFE",
28932893
},
28942894
servine: {
28952895
tier: "ZU",
@@ -3477,7 +3477,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
34773477
tier: "NFE",
34783478
},
34793479
haxorus: {
3480-
tier: "RU",
3480+
tier: "RUBL",
34813481
doublesTier: "(DUU)",
34823482
natDexTier: "UU",
34833483
},
@@ -4172,7 +4172,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
41724172
natDexTier: "RU",
41734173
},
41744174
oricoriopompom: {
4175-
tier: "PUBL",
4175+
tier: "NUBL",
41764176
doublesTier: "(DUU)",
41774177
natDexTier: "RU",
41784178
},
@@ -4311,7 +4311,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
43114311
natDexTier: "RU",
43124312
},
43134313
comfey: {
4314-
tier: "RU",
4314+
tier: "RUBL",
43154315
doublesTier: "DUU",
43164316
natDexTier: "RU",
43174317
},
@@ -5458,7 +5458,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
54585458
},
54595459
fluttermane: {
54605460
tier: "Uber",
5461-
doublesTier: "DOU",
5461+
doublesTier: "DUber",
54625462
natDexTier: "Uber",
54635463
},
54645464
slitherwing: {
@@ -5469,7 +5469,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
54695469
roaringmoon: {
54705470
tier: "OU",
54715471
doublesTier: "DUU",
5472-
natDexTier: "Uber",
5472+
natDexTier: "OU",
54735473
},
54745474
irontreads: {
54755475
tier: "OU",
@@ -5492,7 +5492,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
54925492
natDexTier: "RU",
54935493
},
54945494
ironthorns: {
5495-
tier: "NU",
5495+
tier: "NUBL",
54965496
doublesTier: "(DUU)",
54975497
natDexTier: "RU",
54985498
},

Diff for: data/mods/gen3/abilities.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
5555
inherit: true,
5656
flags: {},
5757
},
58+
hustle: {
59+
inherit: true,
60+
onSourceModifyAccuracy(accuracy, target, source, move) {
61+
const physicalTypes = ['Normal', 'Fighting', 'Flying', 'Poison', 'Ground', 'Rock', 'Bug', 'Ghost', 'Steel'];
62+
if (physicalTypes.includes(move.type) && typeof accuracy === 'number') {
63+
return this.chainModify([3277, 4096]);
64+
}
65+
},
66+
},
5867
intimidate: {
5968
inherit: true,
6069
onStart(pokemon) {
@@ -83,7 +92,8 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
8392
},
8493
lightningrod: {
8594
onFoeRedirectTarget(target, source, source2, move) {
86-
if (move.type !== 'Electric') return;
95+
// don't count Hidden Power as Electric-type
96+
if (this.dex.moves.get(move.id).type !== 'Electric') return;
8797
if (this.validTarget(this.effectState.target, source, move.target)) {
8898
return this.effectState.target;
8999
}

Diff for: data/mods/gen3/random-sets.json

+1-5
Original file line numberDiff line numberDiff line change
@@ -1236,10 +1236,6 @@
12361236
{
12371237
"role": "Bulky Support",
12381238
"movepool": ["batonpass", "protect", "toxic", "wish"]
1239-
},
1240-
{
1241-
"role": "Generalist",
1242-
"movepool": ["batonpass", "meanlook", "moonlight", "toxic"]
12431239
}
12441240
]
12451241
},
@@ -1847,7 +1843,7 @@
18471843
"sets": [
18481844
{
18491845
"role": "Staller",
1850-
"movepool": ["hiddenpowerflying", "morningsun", "stunspore", "substitute", "toxic"]
1846+
"movepool": ["hiddenpowerfire", "morningsun", "psychic", "toxic"]
18511847
}
18521848
]
18531849
},

Diff for: data/mods/gen3/random-teams.ts

+1
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,7 @@ export class RandomGen3Teams extends RandomGen4Teams {
490490
if (species.id === 'marowak') return 'Thick Club';
491491
if (species.id === 'pikachu') return 'Light Ball';
492492
if (species.id === 'shedinja') return 'Lum Berry';
493+
if (species.id === 'shuckle') return 'Leftovers';
493494
if (species.id === 'unown') return counter.get('Physical') ? 'Choice Band' : 'Twisted Spoon';
494495

495496
if (moves.has('trick')) return 'Choice Band';

Diff for: data/mods/gen4/random-sets.json

+14-13
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@
396396
},
397397
{
398398
"role": "Fast Attacker",
399-
"movepool": ["encore", "raindance", "rest", "surf", "toxic"]
399+
"movepool": ["raindance", "rest", "surf", "toxic"]
400400
},
401401
{
402402
"role": "Bulky Support",
@@ -827,8 +827,8 @@
827827
"level": 91,
828828
"sets": [
829829
{
830-
"role": "Bulky Support",
831-
"movepool": ["aromatherapy", "energyball", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"]
830+
"role": "Staller",
831+
"movepool": ["aromatherapy", "earthquake", "energyball", "leechseed", "synthesis", "toxic"]
832832
}
833833
]
834834
},
@@ -1076,7 +1076,7 @@
10761076
"sets": [
10771077
{
10781078
"role": "Setup Sweeper",
1079-
"movepool": ["batonpass", "calmmind", "hiddenpowerfighting", "hiddenpowerfire", "psychic", "substitute", "thunderbolt"]
1079+
"movepool": ["batonpass", "calmmind", "hiddenpowerfighting", "psychic", "substitute", "thunderbolt"]
10801080
}
10811081
]
10821082
},
@@ -1344,8 +1344,9 @@
13441344
"movepool": ["aurasphere", "hiddenpowerice", "shadowball", "thunderbolt"]
13451345
},
13461346
{
1347-
"role": "Setup Sweeper",
1348-
"movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"]
1347+
"role": "Bulky Setup",
1348+
"movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"],
1349+
"preferredTypes": ["Ice"]
13491350
}
13501351
]
13511352
},
@@ -1514,7 +1515,7 @@
15141515
},
15151516
{
15161517
"role": "Wallbreaker",
1517-
"movepool": ["energyball", "focusblast", "hydropump", "icebeam", "surf"]
1518+
"movepool": ["energyball", "hydropump", "icebeam", "surf"]
15181519
}
15191520
]
15201521
},
@@ -2432,7 +2433,7 @@
24322433
},
24332434
{
24342435
"role": "Fast Attacker",
2435-
"movepool": ["earthquake", "firepunch", "headsmash", "superpower", "zenheadbutt"]
2436+
"movepool": ["earthquake", "headsmash", "stoneedge", "superpower"]
24362437
}
24372438
]
24382439
},
@@ -2518,7 +2519,7 @@
25182519
},
25192520
{
25202521
"role": "Setup Sweeper",
2521-
"movepool": ["aquajet", "batonpass", "bulkup", "icepunch", "return", "substitute", "waterfall"]
2522+
"movepool": ["aquajet", "bulkup", "icepunch", "return", "substitute", "waterfall"]
25222523
}
25232524
]
25242525
},
@@ -2767,8 +2768,8 @@
27672768
"movepool": ["explosion", "flashcannon", "hiddenpowerfire", "hiddenpowerice", "thunderbolt"]
27682769
},
27692770
{
2770-
"role": "Bulky Support",
2771-
"movepool": ["hiddenpowerfighting", "hiddenpowerfire", "magnetrise", "substitute", "thunderbolt"]
2771+
"role": "Staller",
2772+
"movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"]
27722773
}
27732774
]
27742775
},
@@ -3028,7 +3029,7 @@
30283029
"sets": [
30293030
{
30303031
"role": "Bulky Support",
3031-
"movepool": ["healbell", "lightscreen", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"]
3032+
"movepool": ["healbell", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"]
30323033
}
30333034
]
30343035
},
@@ -3154,7 +3155,7 @@
31543155
},
31553156
{
31563157
"role": "Bulky Support",
3157-
"movepool": ["hiddenpowerfighting", "lightscreen", "moonlight", "psychic", "reflect", "thunderwave", "toxic"]
3158+
"movepool": ["hiddenpowerfighting", "moonlight", "psychic", "thunderwave", "toxic"]
31583159
}
31593160
]
31603161
},

Diff for: data/mods/gen4/random-teams.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ export class RandomGen4Teams extends RandomGen5Teams {
562562
if (species.id === 'shedinja' || species.id === 'smeargle') return 'Focus Sash';
563563
if (species.id === 'unown') return 'Choice Specs';
564564
if (species.id === 'wobbuffet') return 'Custap Berry';
565-
if (species.id === 'ditto') return 'Choice Scarf';
565+
if (species.id === 'ditto' || (species.id === 'rampardos' && role === 'Fast Attacker')) return 'Choice Scarf';
566566
if (ability === 'Poison Heal' || moves.has('facade')) return 'Toxic Orb';
567567
if (ability === 'Speed Boost' && species.id === 'yanmega') return 'Life Orb';
568568
if (['healingwish', 'switcheroo', 'trick'].some(m => moves.has(m))) {

Diff for: data/mods/gen5/random-sets.json

+20-14
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,14 @@
174174
"ninetales": {
175175
"level": 80,
176176
"sets": [
177+
{
178+
"role": "Bulky Setup",
179+
"movepool": ["fireblast", "hypnosis", "nastyplot", "solarbeam", "willowisp"],
180+
"preferredTypes": ["Grass"]
181+
},
177182
{
178183
"role": "Setup Sweeper",
179-
"movepool": ["fireblast", "hiddenpowerrock", "hypnosis", "nastyplot", "solarbeam", "substitute", "willowisp"],
184+
"movepool": ["fireblast", "hiddenpowerrock", "nastyplot", "solarbeam", "substitute"],
180185
"preferredTypes": ["Grass"]
181186
}
182187
]
@@ -863,8 +868,8 @@
863868
"level": 91,
864869
"sets": [
865870
{
866-
"role": "Bulky Support",
867-
"movepool": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"]
871+
"role": "Staller",
872+
"movepool": ["aromatherapy", "dragontail", "earthquake", "gigadrain", "leechseed", "synthesis", "toxic"]
868873
}
869874
]
870875
},
@@ -1116,7 +1121,7 @@
11161121
"sets": [
11171122
{
11181123
"role": "Setup Sweeper",
1119-
"movepool": ["calmmind", "hiddenpowerfighting", "hiddenpowerfire", "hypervoice", "psychic", "psyshock", "substitute", "thunderbolt"]
1124+
"movepool": ["calmmind", "hiddenpowerfighting", "hypervoice", "psychic", "psyshock", "substitute", "thunderbolt"]
11201125
}
11211126
]
11221127
},
@@ -1405,8 +1410,9 @@
14051410
"movepool": ["aurasphere", "hiddenpowerice", "thunderbolt", "voltswitch"]
14061411
},
14071412
{
1408-
"role": "Setup Sweeper",
1409-
"movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"]
1413+
"role": "Bulky Setup",
1414+
"movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"],
1415+
"preferredTypes": ["Ice"]
14101416
}
14111417
]
14121418
},
@@ -1575,7 +1581,7 @@
15751581
},
15761582
{
15771583
"role": "Wallbreaker",
1578-
"movepool": ["focusblast", "gigadrain", "hydropump", "icebeam", "scald"]
1584+
"movepool": ["gigadrain", "hydropump", "icebeam", "scald"]
15791585
}
15801586
]
15811587
},
@@ -1986,7 +1992,7 @@
19861992
"sets": [
19871993
{
19881994
"role": "Setup Sweeper",
1989-
"movepool": ["crunch", "dragondance", "substitute", "superpower", "waterfall"]
1995+
"movepool": ["crunch", "dragondance", "superpower", "waterfall"]
19901996
}
19911997
]
19921998
},
@@ -2454,12 +2460,12 @@
24542460
"level": 90,
24552461
"sets": [
24562462
{
2457-
"role": "Wallbreaker",
2458-
"movepool": ["crunch", "earthquake", "firepunch", "rockpolish", "rockslide"]
2463+
"role": "Setup Sweeper",
2464+
"movepool": ["earthquake", "firepunch", "rockpolish", "rockslide", "zenheadbutt"]
24592465
},
24602466
{
2461-
"role": "Bulky Attacker",
2462-
"movepool": ["crunch", "earthquake", "firepunch", "headsmash", "superpower"]
2467+
"role": "Fast Attacker",
2468+
"movepool": ["earthquake", "firepunch", "headsmash", "rockslide"]
24632469
}
24642470
]
24652471
},
@@ -3034,7 +3040,7 @@
30343040
"sets": [
30353041
{
30363042
"role": "Bulky Support",
3037-
"movepool": ["healbell", "lightscreen", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"]
3043+
"movepool": ["healbell", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"]
30383044
}
30393045
]
30403046
},
@@ -3676,7 +3682,7 @@
36763682
"sets": [
36773683
{
36783684
"role": "Fast Attacker",
3679-
"movepool": ["crunch", "earthquake", "pursuit", "stealthrock", "stoneedge"]
3685+
"movepool": ["crunch", "earthquake", "pursuit", "stealthrock", "stoneedge", "superpower"]
36803686
}
36813687
]
36823688
},

Diff for: data/mods/gen5/random-teams.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,6 @@ export class RandomGen5Teams extends RandomGen6Teams {
598598
if (species.id === 'ninetales') return 'Drought';
599599
if (species.id === 'gligar') return 'Immunity';
600600
if (species.id === 'arcanine') return 'Intimidate';
601-
if (species.id === 'rampardos' && role === 'Bulky Attacker') return 'Mold Breaker';
602601
if (species.id === 'altaria') return 'Natural Cure';
603602
if (species.id === 'mandibuzz') return 'Overcoat';
604603
// If Ambipom doesn't qualify for Technician, Skill Link is useless on it
@@ -698,6 +697,7 @@ export class RandomGen5Teams extends RandomGen6Teams {
698697
if (ability === 'Magic Guard' && role !== 'Bulky Support') {
699698
return moves.has('counter') ? 'Focus Sash' : 'Life Orb';
700699
}
700+
if (species.id === 'rampardos' && role === 'Fast Attacker') return 'Choice Scarf';
701701
if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb';
702702
if (moves.has('acrobatics')) return 'Flying Gem';
703703
if (species.id === 'hitmonlee' && ability === 'Unburden') return moves.has('fakeout') ? 'Normal Gem' : 'Fighting Gem';

0 commit comments

Comments
 (0)