Merge pull request #39 from Kwoth/dev

ups
This commit is contained in:
samvaio 2016-12-15 00:57:21 +05:30 committed by GitHub
commit 699a8aa057
7 changed files with 4356 additions and 85 deletions

View File

@ -95,7 +95,7 @@ sudo apt-get update && sudo apt-get install ffmpeg -y
Use the following command to get and run `linuxAIO.sh`:
(Remember **DO NOT** rename the file `linuxAIO.sh`)
`cd ~ && wget https://github.com/Kwoth/NadekoBot-BashScript/raw/master/linuxAIO.sh && bash linuxAIO.sh`
`cd ~ && wget -N https://github.com/Kwoth/NadekoBot-BashScript/raw/master/linuxAIO.sh && bash linuxAIO.sh`
Follow the on screen instructions:

View File

@ -28,8 +28,8 @@ namespace NadekoBot.Modules.ClashOfClans
{
if (baseNumber < 0 || baseNumber >= cw.Bases.Count)
throw new ArgumentException("Invalid base number");
if (cw.Bases[baseNumber].CallUser != null)
throw new ArgumentException("That base is already claimed.");
if (cw.Bases[baseNumber].CallUser != null && cw.Bases[baseNumber].Stars == 3)
throw new ArgumentException("That base is already destroyed.");
for (var i = 0; i < cw.Bases.Count; i++)
{
if (cw.Bases[i]?.BaseDestroyed == false && cw.Bases[i]?.CallUser == u)
@ -95,7 +95,14 @@ namespace NadekoBot.Modules.ClashOfClans
else
{
var left = (cw.WarState == StateOfWar.Started) ? twoHours - (DateTime.UtcNow - cw.Bases[i].TimeAdded) : twoHours;
sb.AppendLine($"`{i + 1}.` ✅ `{cw.Bases[i].CallUser}` {left.Hours}h {left.Minutes}m {left.Seconds}s left");
if (cw.Bases[i].Stars == 3)
{
sb.AppendLine($"`{i + 1}.` ✅ `{cw.Bases[i].CallUser}` {left.Hours}h {left.Minutes}m {left.Seconds}s left");
}
else
{
sb.AppendLine($"`{i + 1}.` ✅ `{cw.Bases[i].CallUser}` {left.Hours}h {left.Minutes}m {left.Seconds}s left {new string('⭐', cw.Bases[i].Stars)} {string.Concat(Enumerable.Repeat("🔸", 3 - cw.Bases[i].Stars))}");
}
}
}

View File

@ -27,9 +27,9 @@ namespace NadekoBot.Modules.Gambling
if (count == 1)
{
if (rng.Next(0, 2) == 1)
await channel.SendFileAsync(headsPath, $"{imsg.Author.Mention} rolled " + Format.Code("Heads") + ".").ConfigureAwait(false);
await channel.SendFileAsync(headsPath, $"{imsg.Author.Mention} flipped " + Format.Code("Heads") + ".").ConfigureAwait(false);
else
await channel.SendFileAsync(tailsPath, $"{imsg.Author.Mention} rolled " + Format.Code("Tails") + ".").ConfigureAwait(false);
await channel.SendFileAsync(tailsPath, $"{imsg.Author.Mention} flipped " + Format.Code("Tails") + ".").ConfigureAwait(false);
return;
}
if (count > 10 || count < 1)

View File

@ -43,6 +43,7 @@ namespace NadekoBot.Modules.Music.Classes
public event EventHandler<Song> OnCompleted = delegate { };
public event EventHandler<Song> OnStarted = delegate { };
public event Action<bool> OnPauseChanged = delegate { };
public IVoiceChannel PlaybackVoiceChannel { get; private set; }
@ -168,7 +169,7 @@ namespace NadekoBot.Modules.Music.Classes
});
}
public void TogglePause() => Paused = !Paused;
public void TogglePause() => OnPauseChanged(Paused = !Paused);
public int SetVolume(int volume)
{

View File

@ -74,7 +74,7 @@ namespace NadekoBot.Modules.Utility
if (ch == null)
return;
await ch.SendConfirmAsync(
await ch.SendMessageAsync(
replacements.Aggregate(RemindMessageFormat,
(cur, replace) => cur.Replace(replace.Key, replace.Value(r)))
.SanitizeMentions()

View File

@ -17,8 +17,8 @@
"num": 106
},
"aerilate": {
"desc": "This Pokemon's Normal-type moves become Flying-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Flying type and have 1.3x power.",
"desc": "This Pokemon's Normal-type moves become Flying-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Flying type and have 1.2x power.",
"onModifyMovePriority": -1,
"effect": {
"duration": 1,
@ -86,7 +86,7 @@
},
"id": "aurabreak",
"name": "Aura Break",
"rating": 2,
"rating": 1.5,
"num": 188
},
"baddreams": {
@ -99,6 +99,14 @@
"rating": 2,
"num": 123
},
"battery": {
"shortDesc": "This Pokemon's allies have the power of their special attacks multiplied by 1.3.",
"onBasePowerPriority": 8,
"id": "battery",
"name": "Battery",
"rating": 0,
"num": 217
},
"battlearmor": {
"shortDesc": "This Pokemon cannot be struck by a critical hit.",
"onCriticalHit": false,
@ -107,6 +115,30 @@
"rating": 1,
"num": 4
},
"battlebond": {
"desc": "If this Pokemon is a Greninja, it transforms into Ash-Greninja after knocking out a Pokemon. As Ash-Greninja, its Water Shuriken has 20 base power and always hits 3 times.",
"shortDesc": "After KOing a Pokemon: becomes Ash-Greninja, Water Shuriken: 20 power, hits 3x.",
"id": "battlebond",
"name": "Battle Bond",
"rating": 3,
"num": 210
},
"beastboost": {
"desc": "This Pokemon's highest stat is raised by 1 stage if it attacks and knocks out another Pokemon.",
"shortDesc": "This Pokemon's highest stat is raised by 1 if it attacks and KOes another Pokemon.",
"id": "beastboost",
"name": "Beast Boost",
"rating": 3.5,
"num": 224
},
"berserk": {
"desc": "This Pokemon's Special Attack is raised by 1 stage when it reaches 1/2 or less of its maximum HP.",
"shortDesc": "This Pokemon's Sp. Atk is raised by 1 when it reaches 1/2 or less of its max HP.",
"id": "berserk",
"name": "Berserk",
"rating": 2.5,
"num": 201
},
"bigpecks": {
"shortDesc": "Prevents other Pokemon from lowering this Pokemon's Defense stat stage.",
"id": "bigpecks",
@ -125,7 +157,7 @@
"num": 66
},
"bulletproof": {
"desc": "This Pokemon is immune to ballistic moves. Ballistic moves include BulvarSeed, Octazooka, Barrage, Rock Wrecker, Zap Cannon, Acid Spray, Aura Sphere, Focus Blast, and all moves with Ball or Bomb in their name.",
"desc": "This Pokemon is immune to ballistic moves. Ballistic moves include Bullet Seed, Octazooka, Barrage, Rock Wrecker, Zap Cannon, Acid Spray, Aura Sphere, Focus Blast, and all moves with Ball or Bomb in their name.",
"shortDesc": "Makes user immune to ballistic moves (Shadow Ball, Sludge Bomb, Focus Blast, etc).",
"id": "bulletproof",
"name": "Bulletproof",
@ -170,6 +202,14 @@
"rating": 1,
"num": 16
},
"comatose": {
"shortDesc": "This Pokemon cannot be statused, and is considered to be asleep.",
"isUnbreakable": true,
"id": "comatose",
"name": "Comatose",
"rating": 3,
"num": 213
},
"competitive": {
"desc": "This Pokemon's Special Attack is raised by 2 stages for each of its stat stages that is lowered by an opposing Pokemon.",
"shortDesc": "This Pokemon's Sp. Atk is raised by 2 for each of its stats that is lowered by a foe.",
@ -192,6 +232,13 @@
"rating": 4,
"num": 126
},
"corrosion": {
"shortDesc": "This Pokemon can poison or badly poison other Pokemon regardless of their typing.",
"id": "corrosion",
"name": "Corrosion",
"rating": 2.5,
"num": 212
},
"cursedbody": {
"desc": "If this Pokemon is hit by an attack, there is a 30% chance that move gets disabled unless one of the attacker's moves is already disabled.",
"shortDesc": "If this Pokemon is hit by an attack, there is a 30% chance that move gets disabled.",
@ -216,6 +263,14 @@
"rating": 1,
"num": 6
},
"dancer": {
"desc": "After another Pokemon uses a dance move, this Pokemon uses the same move. Moves used by this Ability cannot be copied again.",
"shortDesc": "After another Pokemon uses a dance move, this Pokemon uses the same move.",
"id": "dancer",
"name": "Dancer",
"rating": 2.5,
"num": 216
},
"darkaura": {
"desc": "While this Pokemon is active, the power of Dark-type moves used by active Pokemon is multiplied by 1.33.",
"shortDesc": "While this Pokemon is active, a Dark move used by any Pokemon has 1.33x power.",
@ -224,6 +279,14 @@
"rating": 3,
"num": 186
},
"dazzling": {
"desc": "While this Pokemon is active, priority moves from opposing Pokemon targeted at allies are prevented from having an effect.",
"shortDesc": "While this Pokemon is active, allies are protected from opposing priority moves.",
"id": "dazzling",
"name": "Dazzling",
"rating": 3.5,
"num": 219
},
"defeatist": {
"desc": "While this Pokemon has 1/2 or less of its maximum HP, its Attack and Special Attack are halved.",
"shortDesc": "While this Pokemon has 1/2 or less of its max HP, its Attack and Sp. Atk are halved.",
@ -258,6 +321,15 @@
"rating": 5,
"num": 190
},
"disguise": {
"desc": "If this Pokemon is a Mimikyu, it will take 0 damage the first time it is attacked in battle. It then changes to Busted Form.",
"shortDesc": "If this Pokemon is a Mimikyu, it takes 0 damage the first time it is attacked in battle.",
"onDamagePriority": 1,
"id": "disguise",
"name": "Disguise",
"rating": 4,
"num": 209
},
"download": {
"desc": "On switch-in, this Pokemon's Attack or Special Attack is raised by 1 stage based on the weaker combined defensive stat of all opposing Pokemon. Attack is raised if their Defense is lower, and Special Attack is raised if their Special Defense is the same or lower.",
"shortDesc": "On switch-in, Attack or Sp. Atk is raised 1 stage based on the foes' weaker Defense.",
@ -286,7 +358,7 @@
"onBasePowerPriority": 7,
"id": "dryskin",
"name": "Dry Skin",
"rating": 3.5,
"rating": 3,
"num": 87
},
"earlybird": {
@ -304,6 +376,20 @@
"rating": 2,
"num": 27
},
"electricsurge": {
"shortDesc": "On switch-in, this Pokemon summons Electric Terrain.",
"id": "electricsurge",
"name": "Electric Surge",
"rating": 4,
"num": 226
},
"emergencyexit": {
"shortDesc": "This Pokemon switches out when it reaches 1/2 or less of its maximum HP.",
"id": "emergencyexit",
"name": "Emergency Exit",
"rating": 2,
"num": 194
},
"fairyaura": {
"desc": "While this Pokemon is active, the power of Fairy-type moves used by active Pokemon is multiplied by 1.33.",
"shortDesc": "While this Pokemon is active, a Fairy move used by any Pokemon has 1.33x power.",
@ -366,6 +452,14 @@
"rating": 0,
"num": 166
},
"fluffy": {
"desc": "This Pokemon receives 1/2 damage from contact moves, but double damage from Fire moves.",
"shortDesc": "This Pokemon takes 1/2 damage from contact moves, 2x damage from Fire moves.",
"id": "fluffy",
"name": "Fluffy",
"rating": 2.5,
"num": 218
},
"forecast": {
"desc": "If this Pokemon is a Castform, its type changes to the current weather condition's type, except Sandstorm.",
"shortDesc": "Castform's type changes to the current weather condition's type, except Sandstorm.",
@ -396,6 +490,14 @@
"rating": 1.5,
"num": 119
},
"fullmetalbody": {
"shortDesc": "Prevents other Pokemon from lowering this Pokemon's stat stages.",
"isUnbreakable": true,
"id": "fullmetalbody",
"name": "Full Metal Body",
"rating": 2,
"num": 230
},
"furcoat": {
"shortDesc": "This Pokemon's Defense is doubled.",
"onModifyDefPriority": 6,
@ -405,12 +507,25 @@
"num": 169
},
"galewings": {
"shortDesc": "This Pokemon's Flying-type moves have their priority increased by 1.",
"shortDesc": "If this Pokemon is at full HP, its Flying-type moves have their priority increased by 1.",
"id": "galewings",
"name": "Gale Wings",
"rating": 4.5,
"rating": 3,
"num": 177
},
"galvanize": {
"desc": "This Pokemon's Normal-type moves become Electric-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Electric type and have 1.2x power.",
"onModifyMovePriority": -1,
"effect": {
"duration": 1,
"onBasePowerPriority": 8
},
"id": "galvanize",
"name": "Galvanize",
"rating": 4,
"num": 206
},
"gluttony": {
"shortDesc": "When this Pokemon has 1/2 or less of its maximum HP, it uses certain Berries early.",
"id": "gluttony",
@ -433,6 +548,13 @@
"rating": 0.5,
"num": 179
},
"grassysurge": {
"shortDesc": "On switch-in, this Pokemon summons Grassy Terrain.",
"id": "grassysurge",
"name": "Grassy Surge",
"rating": 4,
"num": 229
},
"guts": {
"desc": "If this Pokemon has a major status condition, its Attack is multiplied by 1.5; burn's physical damage halving is ignored.",
"shortDesc": "If this Pokemon is statused, its Attack is 1.5x; ignores burn halving physical damage.",
@ -463,7 +585,7 @@
"num": 131
},
"heatproof": {
"desc": "The power of Fire-type attacks against this Pokemon is halved, and any burn damage taken is 1/16 of its maximum HP, rounded down.",
"desc": "The power of Fire-type attacks against this Pokemon is halved, and burn damage taken is halved.",
"shortDesc": "The power of Fire-type attacks against this Pokemon is halved; burn damage halved.",
"onBasePowerPriority": 7,
"id": "heatproof",
@ -539,7 +661,7 @@
"shortDesc": "This Pokemon appears as the last Pokemon in the party until it takes direct damage.",
"id": "illusion",
"name": "Illusion",
"rating": 4.5,
"rating": 4,
"num": 149
},
"immunity": {
@ -565,6 +687,15 @@
"rating": 3,
"num": 151
},
"innardsout": {
"desc": "If this Pokemon is knocked out with a move, that move's user loses HP equal to the amount of damage inflicted on this Pokemon.",
"shortDesc": "If this Pokemon is KOed with a move, that move's user loses an equal amount of HP.",
"id": "innardsout",
"name": "Innards Out",
"onAfterDamageOrder": 1,
"rating": 2.5,
"num": 215
},
"innerfocus": {
"shortDesc": "This Pokemon cannot be made to flinch.",
"onFlinch": false,
@ -674,6 +805,22 @@
"rating": 1.5,
"num": 64
},
"liquidvoice": {
"desc": "This Pokemon's sound-based moves become Water-type moves. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's sound-based moves become Water type.",
"onModifyMovePriority": -1,
"id": "liquidvoice",
"name": "Liquid Voice",
"rating": 2.5,
"num": 204
},
"longreach": {
"shortDesc": "This Pokemon's attacks do not make contact with the target.",
"id": "longreach",
"name": "Long Reach",
"rating": 1.5,
"num": 203
},
"magicbounce": {
"desc": "This Pokemon blocks certain status moves and instead uses the move against the original user.",
"shortDesc": "This Pokemon blocks certain status moves and bounces them back to the user.",
@ -735,6 +882,13 @@
"rating": 3.5,
"num": 178
},
"merciless": {
"shortDesc": "This Pokemon's attacks are critical hits if the target is poisoned.",
"id": "merciless",
"name": "Merciless",
"rating": 2,
"num": 196
},
"minus": {
"desc": "If an active ally has this Ability or the Ability Plus, this Pokemon's Special Attack is multiplied by 1.5.",
"shortDesc": "If an active ally has this Ability or the Ability Plus, this Pokemon's Sp. Atk is 1.5x.",
@ -744,9 +898,15 @@
"rating": 0,
"num": 58
},
"mistysurge": {
"shortDesc": "On switch-in, this Pokemon summons Misty Terrain.",
"id": "mistysurge",
"name": "Misty Surge",
"rating": 4,
"num": 228
},
"moldbreaker": {
"shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.",
"stopAttackEvents": true,
"id": "moldbreaker",
"name": "Mold Breaker",
"rating": 3.5,
@ -786,7 +946,7 @@
"num": 136
},
"multitype": {
"shortDesc": "If this Pokemon is an Arceus, its type changes to match its held Plate.",
"shortDesc": "If this Pokemon is an Arceus, its type changes to match its held Plate or Z-Crystal.",
"id": "multitype",
"name": "Multitype",
"rating": 4,
@ -815,9 +975,13 @@
"num": 99
},
"normalize": {
"desc": "This Pokemon's moves are changed to be Normal type. This effect comes before other effects that change a move's type.",
"shortDesc": "This Pokemon's moves are changed to be Normal type.",
"desc": "This Pokemon's moves are changed to be Normal type and have their power multiplied by 1.2. This effect comes before other effects that change a move's type.",
"shortDesc": "This Pokemon's moves are changed to be Normal type and have 1.2x power.",
"onModifyMovePriority": 1,
"effect": {
"duration": 1,
"onBasePowerPriority": 8
},
"id": "normalize",
"name": "Normalize",
"rating": -1,
@ -833,6 +997,7 @@
},
"overcoat": {
"shortDesc": "This Pokemon is immune to powder moves and damage from Sandstorm or Hail.",
"onTryHitPriority": 1,
"id": "overcoat",
"name": "Overcoat",
"rating": 2.5,
@ -856,8 +1021,8 @@
"num": 20
},
"parentalbond": {
"desc": "This Pokemon's damaging moves become multi-hit moves that hit twice. The second hit has its damage halved. Does not affect multi-hit moves or moves that have multiple targets.",
"shortDesc": "This Pokemon's damaging moves hit twice. The second hit has its damage halved.",
"desc": "This Pokemon's damaging moves become multi-hit moves that hit twice. The second hit has its damage quartered. Does not affect multi-hit moves or moves that have multiple targets.",
"shortDesc": "This Pokemon's damaging moves hit twice. The second hit has its damage quartered.",
"effect": {
"duration": 1,
"onBasePowerPriority": 8
@ -885,8 +1050,8 @@
"num": 124
},
"pixilate": {
"desc": "This Pokemon's Normal-type moves become Fairy-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Fairy type and have 1.3x power.",
"desc": "This Pokemon's Normal-type moves become Fairy-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Fairy type and have 1.2x power.",
"onModifyMovePriority": -1,
"effect": {
"duration": 1,
@ -928,11 +1093,28 @@
"rating": 2,
"num": 143
},
"powerconstruct": {
"desc": "If this Pokemon is a Zygarde in its 10% or 50% Forme, it changes to Complete Forme when it has 1/2 or less of its maximum HP at the end of the turn.",
"shortDesc": "If Zygarde 10%/50%, changes to Complete if at 1/2 max HP or less at end of turn.",
"onResidualOrder": 27,
"id": "powerconstruct",
"name": "Power Construct",
"rating": 4,
"num": 211
},
"powerofalchemy": {
"desc": "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are Flower Gift, Forecast, Illusion, Imposter, Multitype, Stance Change, Trace, Wonder Guard, and Zen Mode.",
"shortDesc": "This Pokemon copies the Ability of an ally that faints.",
"id": "powerofalchemy",
"name": "Power of Alchemy",
"rating": 0,
"num": 223
},
"prankster": {
"shortDesc": "This Pokemon's non-damaging moves have their priority increased by 1.",
"shortDesc": "This Pokemon's Status moves have priority raised by 1, but Dark types are immune.",
"id": "prankster",
"name": "Prankster",
"rating": 4.5,
"rating": 4,
"num": 158
},
"pressure": {
@ -951,6 +1133,14 @@
"rating": 5,
"num": 189
},
"prismarmor": {
"shortDesc": "This Pokemon receives 3/4 damage from supereffective attacks.",
"isUnbreakable": true,
"id": "prismarmor",
"name": "Prism Armor",
"rating": 3,
"num": 232
},
"protean": {
"desc": "This Pokemon's type changes to match the type of the move it is about to use. This effect comes after all effects that change a move's type.",
"shortDesc": "This Pokemon's type changes to match the type of the move it is about to use.",
@ -959,6 +1149,13 @@
"rating": 4,
"num": 168
},
"psychicsurge": {
"shortDesc": "On switch-in, this Pokemon summons Psychic Terrain.",
"id": "psychicsurge",
"name": "Psychic Surge",
"rating": 4,
"num": 227
},
"purepower": {
"shortDesc": "This Pokemon's Attack is doubled.",
"onModifyAtkPriority": 5,
@ -967,6 +1164,14 @@
"rating": 5,
"num": 74
},
"queenlymajesty": {
"desc": "While this Pokemon is active, priority moves from opposing Pokemon targeted at allies are prevented from having an effect.",
"shortDesc": "While this Pokemon is active, allies are protected from opposing priority moves.",
"id": "queenlymajesty",
"name": "Queenly Majesty",
"rating": 3.5,
"num": 214
},
"quickfeet": {
"desc": "If this Pokemon has a major status condition, its Speed is multiplied by 1.5; the Speed drop from paralysis is ignored.",
"shortDesc": "If this Pokemon is statused, its Speed is 1.5x; ignores Speed drop from paralysis.",
@ -991,6 +1196,14 @@
"rating": 1.5,
"num": 155
},
"receiver": {
"desc": "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are Flower Gift, Forecast, Illusion, Imposter, Multitype, Stance Change, Trace, Wonder Guard, and Zen Mode.",
"shortDesc": "This Pokemon copies the Ability of an ally that faints.",
"id": "receiver",
"name": "Receiver",
"rating": 0,
"num": 222
},
"reckless": {
"desc": "This Pokemon's attacks with recoil or crash damage have their power multiplied by 1.2. Does not affect Struggle.",
"shortDesc": "This Pokemon's attacks with recoil or crash damage have 1.2x power; not Struggle.",
@ -1001,8 +1214,8 @@
"num": 120
},
"refrigerate": {
"desc": "This Pokemon's Normal-type moves become Ice-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Ice type and have 1.3x power.",
"desc": "This Pokemon's Normal-type moves become Ice-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.",
"shortDesc": "This Pokemon's Normal-type moves become Ice type and have 1.2x power.",
"onModifyMovePriority": -1,
"effect": {
"duration": 1,
@ -1029,6 +1242,13 @@
"rating": 0.5,
"num": 79
},
"rkssystem": {
"shortDesc": "If this Pokemon is a Silvally, its type changes to match its held Memory.",
"id": "rkssystem",
"name": "RKS System",
"rating": 4,
"num": 225
},
"rockhead": {
"desc": "This Pokemon does not take recoil damage besides Struggle, Life Orb, and crash damage.",
"shortDesc": "This Pokemon does not take recoil damage besides Struggle/Life Orb/crash damage.",
@ -1088,11 +1308,21 @@
"sapsipper": {
"desc": "This Pokemon is immune to Grass-type moves and raises its Attack by 1 stage when hit by a Grass-type move.",
"shortDesc": "This Pokemon's Attack is raised 1 stage if hit by a Grass move; Grass immunity.",
"onTryHitPriority": 1,
"id": "sapsipper",
"name": "Sap Sipper",
"rating": 3.5,
"num": 157
},
"schooling": {
"desc": "On switch-in, if this Pokemon is a Wishiwashi that is level 20 or above and has more than 1/4 of its maximum HP left, it changes to School Form. If it is in School Form and its HP drops to 1/4 of its maximum HP or less, it changes to Solo Form at the end of the turn. If it is in Solo Form and its HP is greater than 1/4 its maximum HP at the end of the turn, it changes to School Form.",
"shortDesc": "If user is Wishiwashi, changes to School Form if it has > 1/4 max HP, else Solo Form.",
"onResidualOrder": 27,
"id": "schooling",
"name": "Schooling",
"rating": 2.5,
"num": 208
},
"scrappy": {
"shortDesc": "This Pokemon can hit Ghost types with Normal- and Fighting-type moves.",
"onModifyMovePriority": -5,
@ -1109,6 +1339,14 @@
"rating": 4,
"num": 32
},
"shadowshield": {
"shortDesc": "If this Pokemon is at full HP, damage taken from attacks is halved.",
"isUnbreakable": true,
"id": "shadowshield",
"name": "Shadow Shield",
"rating": 4,
"num": 231
},
"shadowtag": {
"desc": "Prevents adjacent opposing Pokemon from choosing to switch out unless they are immune to trapping or also have this Ability.",
"shortDesc": "Prevents adjacent foes from choosing to switch unless they also have this Ability.",
@ -1154,6 +1392,15 @@
"rating": 2.5,
"num": 19
},
"shieldsdown": {
"desc": "If this Pokemon is a Minior, it changes to its Core forme if it has 1/2 or less of its maximum HP, and changes to Meteor Form if it has more than 1/2 its maximum HP. This check is done on switch-in and at the end of each turn. While in its Meteor Form, it cannot become affected by major status conditions.",
"shortDesc": "If Minior, switch-in/end of turn it changes to Core at 1/2 max HP or less, else Meteor.",
"onResidualOrder": 27,
"id": "shieldsdown",
"name": "Shields Down",
"rating": 2.5,
"num": 197
},
"simple": {
"shortDesc": "If this Pokemon's stat stages are raised or lowered, the effect is doubled instead.",
"id": "simple",
@ -1179,6 +1426,14 @@
"rating": -2,
"num": 112
},
"slushrush": {
"desc": "If Hail is active, this Pokemon's Speed is doubled. This Pokemon takes no damage from Hail.",
"shortDesc": "If Hail is active, this Pokemon's Speed is doubled; immunity to Hail.",
"id": "slushrush",
"name": "Slush Rush",
"rating": 2.5,
"num": 202
},
"sniper": {
"shortDesc": "If this Pokemon strikes with a critical hit, the damage is multiplied by 1.5.",
"id": "sniper",
@ -1217,6 +1472,14 @@
"rating": 3,
"num": 116
},
"soulheart": {
"desc": "This Pokemon's Special Attack is raised by 1 stage when another Pokemon faints.",
"shortDesc": "This Pokemon's Sp. Atk is raised by 1 stage when another Pokemon faints.",
"id": "soulheart",
"name": "Soul-Heart",
"rating": 3.5,
"num": 220
},
"soundproof": {
"shortDesc": "This Pokemon is immune to sound-based moves, including Heal Bell.",
"id": "soundproof",
@ -1234,6 +1497,13 @@
"rating": 4.5,
"num": 3
},
"stakeout": {
"shortDesc": "This Pokemon's attacks deal double damage if the target switched in this turn.",
"id": "stakeout",
"name": "Stakeout",
"rating": 2.5,
"num": 198
},
"stall": {
"shortDesc": "This Pokemon moves last among Pokemon using the same or greater priority moves.",
"id": "stall",
@ -1241,10 +1511,17 @@
"rating": -1,
"num": 100
},
"stamina": {
"shortDesc": "This Pokemon's Defense is raised by 1 stage after it is damaged by a move.",
"id": "stamina",
"name": "Stamina",
"rating": 1.5,
"num": 192
},
"stancechange": {
"desc": "If this Pokemon is an Aegislash, it changes to Blade Forme before attempting to use an attacking move, and changes to Shield Forme before attempting to use King's Shield.",
"shortDesc": "If Aegislash, changes Forme to Blade before attacks and Shield before King's Shield.",
"onBeforeMovePriority": 11,
"onBeforeMovePriority": 0.5,
"id": "stancechange",
"name": "Stance Change",
"rating": 5,
@ -1264,6 +1541,14 @@
"rating": 1,
"num": 80
},
"steelworker": {
"shortDesc": "This Pokemon's Steel-type attacks have their power multiplied by 1.5.",
"onBasePowerPriority": 8,
"id": "steelworker",
"name": "Steelworker",
"rating": 3,
"num": 200
},
"stench": {
"shortDesc": "This Pokemon's attacks without a chance to flinch have a 10% chance to flinch.",
"id": "stench",
@ -1319,6 +1604,13 @@
"rating": 1.5,
"num": 105
},
"surgesurfer": {
"shortDesc": "If Electric Terrain is active, this Pokemon's Speed is doubled.",
"id": "surgesurfer",
"name": "Surge Surfer",
"rating": 2,
"num": 207
},
"swarm": {
"desc": "When this Pokemon has 1/3 or less of its maximum HP, rounded down, its attacking stat is multiplied by 1.5 while using a Bug-type attack.",
"shortDesc": "When this Pokemon has 1/3 or less of its max HP, its Bug attacks do 1.5x damage.",
@ -1366,6 +1658,13 @@
"rating": 1,
"num": 77
},
"tanglinghair": {
"shortDesc": "Pokemon making contact with this Pokemon have their Speed lowered by 1 stage.",
"id": "tanglinghair",
"name": "Tangling Hair",
"rating": 2.5,
"num": 221
},
"technician": {
"desc": "This Pokemon's moves of 60 power or less have their power multiplied by 1.5. Does affect Struggle.",
"shortDesc": "This Pokemon's moves of 60 power or less have 1.5x power. Includes Struggle.",
@ -1384,7 +1683,6 @@
},
"teravolt": {
"shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.",
"stopAttackEvents": true,
"id": "teravolt",
"name": "Teravolt",
"rating": 3.5,
@ -1435,13 +1733,20 @@
"num": 181
},
"trace": {
"desc": "On switch-in, this Pokemon copies a random adjacent opposing Pokemon's Ability. If there is no Ability that can be copied at that time, this Ability will activate as soon as an Ability can be copied. Abilities that cannot be copied are Flower Gift, Forecast, Illusion, Imposter, Multitype, Stance Change, Trace, and Zen Mode.",
"desc": "On switch-in, this Pokemon copies a random adjacent opposing Pokemon's Ability. If there is no Ability that can be copied at that time, this Ability will activate as soon as an Ability can be copied. Abilities that cannot be copied are Comatose, Disguise, Flower Gift, Forecast, Illusion, Imposter, Multitype, Schooling, Stance Change, Trace, and Zen Mode.",
"shortDesc": "On switch-in, or when it can, this Pokemon copies a random adjacent foe's Ability.",
"id": "trace",
"name": "Trace",
"rating": 3,
"num": 36
},
"triage": {
"shortDesc": "This Pokemon's healing moves have their priority increased by 3.",
"id": "triage",
"name": "Triage",
"rating": 3.5,
"num": 205
},
"truant": {
"shortDesc": "This Pokemon skips every other turn instead of using a move.",
"onBeforeMovePriority": 9,
@ -1455,7 +1760,6 @@
},
"turboblaze": {
"shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.",
"stopAttackEvents": true,
"id": "turboblaze",
"name": "Turboblaze",
"rating": 3.5,
@ -1516,6 +1820,22 @@
"rating": 3.5,
"num": 11
},
"waterbubble": {
"desc": "This Pokemon's Water-type attacks have their power doubled, the power of Fire-type attacks against this Pokemon is halved, and this Pokemon cannot be burned. Gaining this Ability while burned cures it.",
"shortDesc": "This Pokemon's Water power is 2x; it can't be burned; Fire power against it is halved.",
"onBasePowerPriority": 7,
"id": "waterbubble",
"name": "Water Bubble",
"rating": 4,
"num": 199
},
"watercompaction": {
"shortDesc": "This Pokemon's Defense is raised 2 stages after it is damaged by a Water-type move.",
"id": "watercompaction",
"name": "Water Compaction",
"rating": 2,
"num": 195
},
"waterveil": {
"shortDesc": "This Pokemon cannot be burned. Gaining this Ability while burned cures it.",
"id": "waterveil",
@ -1524,11 +1844,11 @@
"num": 41
},
"weakarmor": {
"desc": "If a physical attack hits this Pokemon, its Defense is lowered by 1 stage and its Speed is raised by 1 stage.",
"shortDesc": "If a physical attack hits this Pokemon, Defense is lowered by 1, Speed is raised by 1.",
"desc": "If a physical attack hits this Pokemon, its Defense is lowered by 1 stage and its Speed is raised by 2 stages.",
"shortDesc": "If a physical attack hits this Pokemon, Defense is lowered by 1, Speed is raised by 2.",
"id": "weakarmor",
"name": "Weak Armor",
"rating": 0.5,
"rating": 1,
"num": 133
},
"whitesmoke": {
@ -1538,6 +1858,13 @@
"rating": 2,
"num": 73
},
"wimpout": {
"shortDesc": "This Pokemon switches out when it reaches 1/2 or less of its maximum HP.",
"id": "wimpout",
"name": "Wimp Out",
"rating": 2,
"num": 193
},
"wonderguard": {
"shortDesc": "This Pokemon can only be damaged by supereffective moves and indirect damage.",
"id": "wonderguard",

File diff suppressed because it is too large Load Diff