Regularize whitespace in tests

This commit is contained in:
Martin Griffin 2023-06-23 10:38:18 +01:00
parent b90ff23b80
commit 1987bda497
48 changed files with 276 additions and 286 deletions

View File

@ -81,7 +81,7 @@ SINGLE_BATTLE_TEST("Contrary lowers a stat after using a move which would normal
PARAMETRIZE { ability = ABILITY_TANGLED_FEET; } PARAMETRIZE { ability = ABILITY_TANGLED_FEET; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_SWORDS_DANCE].effect == EFFECT_ATTACK_UP_2); ASSUME(gBattleMoves[MOVE_SWORDS_DANCE].effect == EFFECT_ATTACK_UP_2);
PLAYER(SPECIES_WOBBUFFET) {Defense(102); } PLAYER(SPECIES_WOBBUFFET) { Defense(102); }
OPPONENT(SPECIES_SPINDA) { Ability(ability); Attack(100); } OPPONENT(SPECIES_SPINDA) { Ability(ability); Attack(100); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(opponent, MOVE_TACKLE); }
@ -118,7 +118,7 @@ SINGLE_BATTLE_TEST("Contrary raises a stat after using a move which would normal
PARAMETRIZE { ability = ABILITY_TANGLED_FEET; } PARAMETRIZE { ability = ABILITY_TANGLED_FEET; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_GROWL].effect == EFFECT_ATTACK_DOWN); ASSUME(gBattleMoves[MOVE_GROWL].effect == EFFECT_ATTACK_DOWN);
PLAYER(SPECIES_WOBBUFFET) {Speed(3); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_SPINDA) { Ability(ability); Speed(2); } OPPONENT(SPECIES_SPINDA) { Ability(ability); Speed(2); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_GROWL); MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(player, MOVE_GROWL); MOVE(opponent, MOVE_TACKLE); }

View File

@ -9,7 +9,7 @@ SINGLE_BATTLE_TEST("Damp prevents explosion-like moves from enemies")
PARAMETRIZE { move = MOVE_MIND_BLOWN; } PARAMETRIZE { move = MOVE_MIND_BLOWN; }
PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; } PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; }
GIVEN { GIVEN {
PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, move); } TURN { MOVE(opponent, move); }
@ -47,7 +47,7 @@ SINGLE_BATTLE_TEST("Damp prevents explosion-like moves from self")
PARAMETRIZE { move = MOVE_MIND_BLOWN; } PARAMETRIZE { move = MOVE_MIND_BLOWN; }
PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; } PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; }
GIVEN { GIVEN {
PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, move); } TURN { MOVE(player, move); }
@ -61,8 +61,8 @@ SINGLE_BATTLE_TEST("Damp prevents damage from aftermath")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT);
PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }
OPPONENT(SPECIES_VOLTORB) { Ability(ABILITY_AFTERMATH); HP(1); }; OPPONENT(SPECIES_VOLTORB) { Ability(ABILITY_AFTERMATH); HP(1); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); } TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); }

View File

@ -13,8 +13,8 @@ SINGLE_BATTLE_TEST("Download raises Attack if player has lower Def than Sp. Def"
PARAMETRIZE { ability = ABILITY_TRACE; } PARAMETRIZE { ability = ABILITY_TRACE; }
PARAMETRIZE { ability = ABILITY_DOWNLOAD; } PARAMETRIZE { ability = ABILITY_DOWNLOAD; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Defense(100); SpDefense(200); }; PLAYER(SPECIES_WOBBUFFET) { Defense(100); SpDefense(200); }
OPPONENT(SPECIES_PORYGON) { Ability(ability); Attack(100); }; OPPONENT(SPECIES_PORYGON) { Ability(ability); Attack(100); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(opponent, MOVE_TACKLE); }
} SCENE { } SCENE {
@ -36,8 +36,8 @@ SINGLE_BATTLE_TEST("Download raises Sp.Attack if enemy has lower Sp. Def than De
PARAMETRIZE { ability = ABILITY_TRACE; } PARAMETRIZE { ability = ABILITY_TRACE; }
PARAMETRIZE { ability = ABILITY_DOWNLOAD; } PARAMETRIZE { ability = ABILITY_DOWNLOAD; }
GIVEN { GIVEN {
PLAYER(SPECIES_PORYGON) { Ability(ability); SpAttack(100); }; PLAYER(SPECIES_PORYGON) { Ability(ability); SpAttack(100); }
OPPONENT(SPECIES_WOBBUFFET) {Defense(200); SpDefense(100); }; OPPONENT(SPECIES_WOBBUFFET) { Defense(200); SpDefense(100); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TRI_ATTACK); } TURN { MOVE(player, MOVE_TRI_ATTACK); }
} SCENE { } SCENE {
@ -60,13 +60,13 @@ SINGLE_BATTLE_TEST("Download doesn't activate if target hasn't been sent out yet
PARAMETRIZE { ability = ABILITY_DOWNLOAD; } PARAMETRIZE { ability = ABILITY_DOWNLOAD; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_EXPLOSION].effect == EFFECT_EXPLOSION); ASSUME(gBattleMoves[MOVE_EXPLOSION].effect == EFFECT_EXPLOSION);
PLAYER(SPECIES_WOBBUFFET) { Speed(100); }; PLAYER(SPECIES_WOBBUFFET) { Speed(100); }
PLAYER(SPECIES_PORYGON) { Ability(ability); Defense(400); SpDefense(300); Speed(300); Attack(100); }; PLAYER(SPECIES_PORYGON) { Ability(ability); Defense(400); SpDefense(300); Speed(300); Attack(100); }
OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(100); }; OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(100); }
OPPONENT(SPECIES_PORYGON2) { Ability(ability); Defense(100); SpDefense(200); Speed(200); }; OPPONENT(SPECIES_PORYGON2) { Ability(ability); Defense(100); SpDefense(200); Speed(200); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_EXPLOSION); SEND_OUT(player, 1); SEND_OUT(opponent, 1); } TURN { MOVE(player, MOVE_EXPLOSION); SEND_OUT(player, 1); SEND_OUT(opponent, 1); }
TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TRI_ATTACK);} TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TRI_ATTACK); }
} SCENE { } SCENE {
HP_BAR(player, hp: 0); HP_BAR(player, hp: 0);
ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, player);

View File

@ -8,7 +8,7 @@ SINGLE_BATTLE_TEST("Drizzle summons rain", s16 damage)
PARAMETRIZE { ability = ABILITY_DAMP; } PARAMETRIZE { ability = ABILITY_DAMP; }
GIVEN { GIVEN {
PLAYER(SPECIES_POLITOED) { Ability(ability); }; PLAYER(SPECIES_POLITOED) { Ability(ability); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_BUBBLE); } TURN { MOVE(player, MOVE_BUBBLE); }

View File

@ -4,7 +4,7 @@
SINGLE_BATTLE_TEST("Dry Skin causes 1/8th Max HP damage in Sun") SINGLE_BATTLE_TEST("Dry Skin causes 1/8th Max HP damage in Sun")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_SUNNY_DAY); } TURN { MOVE(player, MOVE_SUNNY_DAY); }
@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Dry Skin causes 1/8th Max HP damage in Sun")
SINGLE_BATTLE_TEST("Dry Skin heals 1/8th Max HP in Rain") SINGLE_BATTLE_TEST("Dry Skin heals 1/8th Max HP in Rain")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { MOVE(player, MOVE_RAIN_DANCE); }
@ -37,9 +37,9 @@ SINGLE_BATTLE_TEST("Dry Skin increases damage taken from Fire-type moves by 25%"
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_EMBER].type == TYPE_FIRE); ASSUME(gBattleMoves[MOVE_EMBER].type == TYPE_FIRE);
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_PARASECT) { Ability(ability); }; OPPONENT(SPECIES_PARASECT) { Ability(ability); }
} WHEN { } WHEN {
TURN {MOVE(player, MOVE_EMBER); } TURN { MOVE(player, MOVE_EMBER); }
} SCENE { } SCENE {
MESSAGE("Wobbuffet used Ember!"); MESSAGE("Wobbuffet used Ember!");
HP_BAR(opponent, captureDamage: &results[i].damage); HP_BAR(opponent, captureDamage: &results[i].damage);
@ -52,7 +52,7 @@ SINGLE_BATTLE_TEST("Dry Skin heals 25% when hit by water type moves")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(opponent, MOVE_BUBBLE); }
@ -67,7 +67,7 @@ SINGLE_BATTLE_TEST("Dry Skin does not activate if protected")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_BUBBLE); }
@ -81,7 +81,7 @@ SINGLE_BATTLE_TEST("Dry Skin is only triggered once on multi strike moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].type == TYPE_WATER);
ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].effect == EFFECT_MULTI_HIT); ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].effect == EFFECT_MULTI_HIT);
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_WATER_SHURIKEN); } TURN { MOVE(opponent, MOVE_WATER_SHURIKEN); }
@ -99,7 +99,7 @@ SINGLE_BATTLE_TEST("Dry Skin prevents Absorb Bulb and Luminous Moss from activat
PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; } PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); Item(item); }; PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); HP(100); MaxHP(200); Item(item); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(opponent, MOVE_BUBBLE); }

View File

@ -4,7 +4,7 @@
SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim in harsh sunlight") SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim in harsh sunlight")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }; PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUNNY_DAY); } TURN { MOVE(opponent, MOVE_SUNNY_DAY); }
@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim in harsh sunlight")
SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim back to normal when weather changes") SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim back to normal when weather changes")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }; PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUNNY_DAY); } TURN { MOVE(opponent, MOVE_SUNNY_DAY); }
@ -39,7 +39,7 @@ SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim back to normal when its abili
{ {
GIVEN { GIVEN {
ASSUME(B_WEATHER_FORMS >= GEN_5); ASSUME(B_WEATHER_FORMS >= GEN_5);
PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }; PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUNNY_DAY); } TURN { MOVE(opponent, MOVE_SUNNY_DAY); }
@ -61,7 +61,7 @@ DOUBLE_BATTLE_TEST("Flower Gift increases the attack of Cherrim and its allies b
PARAMETRIZE { sunny = FALSE; } PARAMETRIZE { sunny = FALSE; }
PARAMETRIZE { sunny = TRUE; } PARAMETRIZE { sunny = TRUE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }; PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
@ -95,7 +95,7 @@ DOUBLE_BATTLE_TEST("Flower Gift increases the Sp. Def of Cherrim and its allies
PARAMETRIZE { sunny = FALSE; } PARAMETRIZE { sunny = FALSE; }
PARAMETRIZE { sunny = TRUE; } PARAMETRIZE { sunny = TRUE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }; PLAYER(SPECIES_CHERRIM) { Ability(ABILITY_FLOWER_GIFT); }
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);

View File

@ -9,7 +9,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from an opponent's m
PARAMETRIZE { move = MOVE_HAIL; } PARAMETRIZE { move = MOVE_HAIL; }
PARAMETRIZE { move = MOVE_SNOWSCAPE; } PARAMETRIZE { move = MOVE_SNOWSCAPE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, move); } TURN { MOVE(opponent, move); }
@ -28,7 +28,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from its own move")
PARAMETRIZE { move = MOVE_HAIL; } PARAMETRIZE { move = MOVE_HAIL; }
PARAMETRIZE { move = MOVE_SNOWSCAPE; } PARAMETRIZE { move = MOVE_SNOWSCAPE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, move); } TURN { MOVE(player, move); }
@ -47,7 +47,7 @@ DOUBLE_BATTLE_TEST("Forecast transforms Castform in weather from a partner's mov
PARAMETRIZE { move = MOVE_HAIL; } PARAMETRIZE { move = MOVE_HAIL; }
PARAMETRIZE { move = MOVE_SNOWSCAPE; } PARAMETRIZE { move = MOVE_SNOWSCAPE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
@ -68,10 +68,10 @@ DOUBLE_BATTLE_TEST("Forecast transforms all Castforms present in weather")
PARAMETRIZE { move = MOVE_HAIL; } PARAMETRIZE { move = MOVE_HAIL; }
PARAMETRIZE { move = MOVE_SNOWSCAPE; } PARAMETRIZE { move = MOVE_SNOWSCAPE; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; OPPONENT(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; OPPONENT(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
} WHEN { } WHEN {
TURN { MOVE(playerRight, move); } TURN { MOVE(playerRight, move); }
} SCENE { } SCENE {
@ -97,9 +97,9 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from an ability")
PARAMETRIZE { species = SPECIES_GROUDON; ability = ABILITY_DROUGHT; } PARAMETRIZE { species = SPECIES_GROUDON; ability = ABILITY_DROUGHT; }
PARAMETRIZE { species = SPECIES_ABOMASNOW; ability = ABILITY_SNOW_WARNING; } PARAMETRIZE { species = SPECIES_ABOMASNOW; ability = ABILITY_SNOW_WARNING; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(species) { Ability(ability); }; OPPONENT(species) { Ability(ability); }
} WHEN { } WHEN {
TURN { SWITCH(opponent, 1); } TURN { SWITCH(opponent, 1); }
} SCENE { } SCENE {
@ -115,9 +115,9 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in primal weather")
PARAMETRIZE { species = SPECIES_KYOGRE; ability = ABILITY_PRIMORDIAL_SEA; item = ITEM_BLUE_ORB; } PARAMETRIZE { species = SPECIES_KYOGRE; ability = ABILITY_PRIMORDIAL_SEA; item = ITEM_BLUE_ORB; }
PARAMETRIZE { species = SPECIES_GROUDON; ability = ABILITY_DESOLATE_LAND; item = ITEM_RED_ORB; } PARAMETRIZE { species = SPECIES_GROUDON; ability = ABILITY_DESOLATE_LAND; item = ITEM_RED_ORB; }
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(species) { Item(item); }; OPPONENT(species) { Item(item); }
} WHEN { } WHEN {
TURN { SWITCH(opponent, 1); } TURN { SWITCH(opponent, 1); }
} SCENE { } SCENE {
@ -131,15 +131,15 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in primal weather")
SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when weather expires") SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when weather expires")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { MOVE(player, MOVE_RAIN_DANCE); }
TURN { } TURN {}
TURN { } TURN {}
TURN { } TURN {}
TURN { } TURN {}
TURN { } TURN {}
} SCENE { } SCENE {
// transforms // transforms
ABILITY_POPUP(player, ABILITY_FORECAST); ABILITY_POPUP(player, ABILITY_FORECAST);
@ -155,7 +155,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when weather exp
SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when Sandstorm is active") SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when Sandstorm is active")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { MOVE(player, MOVE_RAIN_DANCE); }
@ -175,7 +175,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when Sandstorm i
SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal under Air Lock") SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal under Air Lock")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_RAYQUAZA); OPPONENT(SPECIES_RAYQUAZA);
} WHEN { } WHEN {
@ -199,7 +199,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform on switch-in")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { MOVE(player, MOVE_RAIN_DANCE); }
@ -217,7 +217,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform on switch-in")
SINGLE_BATTLE_TEST("Forecast transforms Castform when weather changes") SINGLE_BATTLE_TEST("Forecast transforms Castform when weather changes")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { MOVE(player, MOVE_RAIN_DANCE); }
@ -238,7 +238,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when its ability
{ {
GIVEN { GIVEN {
ASSUME(B_WEATHER_FORMS >= GEN_5); ASSUME(B_WEATHER_FORMS >= GEN_5);
PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }; PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUNNY_DAY); } TURN { MOVE(opponent, MOVE_SUNNY_DAY); }

View File

@ -8,8 +8,8 @@ SINGLE_BATTLE_TEST("Hunger Switch switches Morpeko's forms at the end of the tur
PARAMETRIZE { species = SPECIES_MORPEKO_HANGRY; } PARAMETRIZE { species = SPECIES_MORPEKO_HANGRY; }
GIVEN { GIVEN {
ASSUME(P_GEN_8_POKEMON == TRUE); ASSUME(P_GEN_8_POKEMON == TRUE);
PLAYER(species) { Speed(2); }; PLAYER(species) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); }
} SCENE { } SCENE {

View File

@ -5,7 +5,7 @@ SINGLE_BATTLE_TEST("Ice Body prevents damage from hail")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_GLALIE) { Ability(ABILITY_ICE_BODY); }; OPPONENT(SPECIES_GLALIE) { Ability(ABILITY_ICE_BODY); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_HAIL); MOVE(opponent, MOVE_SKILL_SWAP); } TURN { MOVE(player, MOVE_HAIL); MOVE(opponent, MOVE_SKILL_SWAP); }
} SCENE { } SCENE {
@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Ice Body prevents damage from hail")
SINGLE_BATTLE_TEST("Ice Body recovers 1/16th of Max HP in hail.") SINGLE_BATTLE_TEST("Ice Body recovers 1/16th of Max HP in hail.")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_GLALIE) { Ability(ABILITY_ICE_BODY); HP(1); MaxHP(100); }; PLAYER(SPECIES_GLALIE) { Ability(ABILITY_ICE_BODY); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_HAIL); } TURN { MOVE(opponent, MOVE_HAIL); }

View File

@ -27,8 +27,8 @@ SINGLE_BATTLE_TEST("Insomnia prevents yawn")
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SPORE); } TURN { MOVE(opponent, MOVE_SPORE); }
TURN { } TURN {}
TURN { } TURN {}
} SCENE { } SCENE {
ABILITY_POPUP(player, ABILITY_INSOMNIA); ABILITY_POPUP(player, ABILITY_INSOMNIA);
NONE_OF { NONE_OF {

View File

@ -14,7 +14,7 @@ SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after switch ou
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_ARBOK) { Ability(ability); }; OPPONENT(SPECIES_ARBOK) { Ability(ability); }
} WHEN { } WHEN {
TURN { SWITCH(opponent, 1); } TURN { SWITCH(opponent, 1); }
TURN { MOVE(player, MOVE_TACKLE); } TURN { MOVE(player, MOVE_TACKLE); }
@ -37,9 +37,9 @@ SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after KO", s16
PARAMETRIZE { ability = ABILITY_INTIMIDATE; } PARAMETRIZE { ability = ABILITY_INTIMIDATE; }
PARAMETRIZE { ability = ABILITY_SHED_SKIN; } PARAMETRIZE { ability = ABILITY_SHED_SKIN; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Speed(2); }; PLAYER(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); }; OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); }
OPPONENT(SPECIES_ARBOK) { Ability(ability); Speed(1); }; OPPONENT(SPECIES_ARBOK) { Ability(ability); Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); } TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); }
TURN { MOVE(player, MOVE_TACKLE); } TURN { MOVE(player, MOVE_TACKLE); }
@ -61,17 +61,17 @@ DOUBLE_BATTLE_TEST("Intimidate doesn't activate on an empty field in a double ba
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_EXPLOSION].effect == EFFECT_EXPLOSION); ASSUME(gBattleMoves[MOVE_EXPLOSION].effect == EFFECT_EXPLOSION);
PLAYER(SPECIES_WOBBUFFET) { }; PLAYER(SPECIES_WOBBUFFET) {}
PLAYER(SPECIES_WOBBUFFET) { HP(1); }; PLAYER(SPECIES_WOBBUFFET) { HP(1); }
PLAYER(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }; PLAYER(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }
PLAYER(SPECIES_ABRA); PLAYER(SPECIES_ABRA);
OPPONENT(SPECIES_WOBBUFFET) { HP(1); }; OPPONENT(SPECIES_WOBBUFFET) { HP(1); }
OPPONENT(SPECIES_WOBBUFFET) { HP(1); }; OPPONENT(SPECIES_WOBBUFFET) { HP(1); }
OPPONENT(SPECIES_ARBOK) { Ability(ABILITY_INTIMIDATE); }; OPPONENT(SPECIES_ARBOK) { Ability(ABILITY_INTIMIDATE); }
OPPONENT(SPECIES_WYNAUT); OPPONENT(SPECIES_WYNAUT);
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_EXPLOSION); SEND_OUT(playerLeft, 2); SEND_OUT(opponentLeft, 2); SEND_OUT(playerRight, 3); SEND_OUT(opponentRight, 3); } TURN { MOVE(playerLeft, MOVE_EXPLOSION); SEND_OUT(playerLeft, 2); SEND_OUT(opponentLeft, 2); SEND_OUT(playerRight, 3); SEND_OUT(opponentRight, 3); }
TURN { MOVE(playerLeft, MOVE_CELEBRATE);} TURN { MOVE(playerLeft, MOVE_CELEBRATE); }
} SCENE { } SCENE {
HP_BAR(playerLeft, hp: 0); HP_BAR(playerLeft, hp: 0);
ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, playerLeft);
@ -101,8 +101,8 @@ SINGLE_BATTLE_TEST("Intimidate and Eject Button force the opponent to Attack")
GIVEN { GIVEN {
ASSUME(gItems[ITEM_EJECT_BUTTON].holdEffect == HOLD_EFFECT_EJECT_BUTTON); ASSUME(gItems[ITEM_EJECT_BUTTON].holdEffect == HOLD_EFFECT_EJECT_BUTTON);
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_HITMONTOP) { Moves(MOVE_TACKLE); }; OPPONENT(SPECIES_HITMONTOP) { Moves(MOVE_TACKLE); }
} WHEN { } WHEN {
TURN { TURN {
MOVE(player, MOVE_QUICK_ATTACK); MOVE(player, MOVE_QUICK_ATTACK);
@ -129,7 +129,7 @@ DOUBLE_BATTLE_TEST("Intimidate activates on an empty slot")
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_CROAGUNK); PLAYER(SPECIES_CROAGUNK);
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
PLAYER(SPECIES_HITMONTOP) { Ability(ABILITY_INTIMIDATE); }; PLAYER(SPECIES_HITMONTOP) { Ability(ABILITY_INTIMIDATE); }
OPPONENT(SPECIES_RALTS); OPPONENT(SPECIES_RALTS);
OPPONENT(SPECIES_AZURILL); OPPONENT(SPECIES_AZURILL);
} WHEN { } WHEN {

View File

@ -52,7 +52,7 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents non-volatile status conditions in sun")
MESSAGE("It's super effective!"); MESSAGE("It's super effective!");
break; break;
} }
NONE_OF {STATUS_ICON(player, status1: TRUE);} NONE_OF { STATUS_ICON(player, status1: TRUE); }
} }
} }
@ -64,16 +64,16 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents status conditions from Flame Orb and Tox
GIVEN { GIVEN {
ASSUME(gItems[ITEM_FLAME_ORB].holdEffect == HOLD_EFFECT_FLAME_ORB); ASSUME(gItems[ITEM_FLAME_ORB].holdEffect == HOLD_EFFECT_FLAME_ORB);
ASSUME(gItems[ITEM_TOXIC_ORB].holdEffect == HOLD_EFFECT_TOXIC_ORB); ASSUME(gItems[ITEM_TOXIC_ORB].holdEffect == HOLD_EFFECT_TOXIC_ORB);
PLAYER(SPECIES_LEAFEON) {Ability(ABILITY_LEAF_GUARD); Item(item); }; PLAYER(SPECIES_LEAFEON) { Ability(ABILITY_LEAF_GUARD); Item(item); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_SUNNY_DAY); } TURN { MOVE(player, MOVE_SUNNY_DAY); }
} SCENE { } SCENE {
if (item == ITEM_FLAME_ORB) { if (item == ITEM_FLAME_ORB) {
NONE_OF { MESSAGE("Leafeon was burned!"); STATUS_ICON(player, burn: TRUE);} NONE_OF { MESSAGE("Leafeon was burned!"); STATUS_ICON(player, burn: TRUE); }
} }
else { else {
NONE_OF { MESSAGE("Leafeon is badly poisoned!"); STATUS_ICON(player, poison: TRUE);} NONE_OF { MESSAGE("Leafeon is badly poisoned!"); STATUS_ICON(player, poison: TRUE); }
} }
} }
} }
@ -83,13 +83,13 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents Rest during sun")
GIVEN { GIVEN {
ASSUME(B_LEAF_GUARD_PREVENTS_REST >= GEN_5); ASSUME(B_LEAF_GUARD_PREVENTS_REST >= GEN_5);
ASSUME(gBattleMoves[MOVE_REST].effect == EFFECT_REST); ASSUME(gBattleMoves[MOVE_REST].effect == EFFECT_REST);
PLAYER(SPECIES_LEAFEON) { Ability(ABILITY_LEAF_GUARD); HP(100); MaxHP(200); }; PLAYER(SPECIES_LEAFEON) { Ability(ABILITY_LEAF_GUARD); HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUNNY_DAY); MOVE(player, MOVE_REST); } TURN { MOVE(opponent, MOVE_SUNNY_DAY); MOVE(player, MOVE_REST); }
} SCENE { } SCENE {
MESSAGE("But it failed!"); MESSAGE("But it failed!");
NOT STATUS_ICON(player, sleep: TRUE); NOT STATUS_ICON(player, sleep: TRUE);
NONE_OF {HP_BAR(player);} NONE_OF { HP_BAR(player); }
} }
} }

View File

@ -4,7 +4,7 @@
SINGLE_BATTLE_TEST("Limber prevents paralysis") SINGLE_BATTLE_TEST("Limber prevents paralysis")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_PERSIAN) { Ability(ABILITY_LIMBER); }; PLAYER(SPECIES_PERSIAN) { Ability(ABILITY_LIMBER); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); }

View File

@ -7,7 +7,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back status moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC); ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE);}; OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TOXIC); } TURN { MOVE(player, MOVE_TOXIC); }
} SCENE { } SCENE {
@ -25,7 +25,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back powder moves")
ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER);
ASSUME(gBattleMoves[MOVE_STUN_SPORE].effect == EFFECT_PARALYZE); ASSUME(gBattleMoves[MOVE_STUN_SPORE].effect == EFFECT_PARALYZE);
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE);}; OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_STUN_SPORE); } TURN { MOVE(player, MOVE_STUN_SPORE); }
} SCENE { } SCENE {
@ -43,7 +43,7 @@ SINGLE_BATTLE_TEST("Magic Bounce cannot bounce back powder moves against Grass T
ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER);
ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS); ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS);
PLAYER(SPECIES_ODDISH); PLAYER(SPECIES_ODDISH);
OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE);}; OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_STUN_SPORE); } TURN { MOVE(player, MOVE_STUN_SPORE); }
} SCENE { } SCENE {
@ -64,7 +64,7 @@ DOUBLE_BATTLE_TEST("Magic Bounce bounces back moves hitting both foes at two foe
ASSUME(gBattleMoves[MOVE_LEER].target == MOVE_TARGET_BOTH); ASSUME(gBattleMoves[MOVE_LEER].target == MOVE_TARGET_BOTH);
PLAYER(SPECIES_ABRA); PLAYER(SPECIES_ABRA);
PLAYER(SPECIES_KADABRA); PLAYER(SPECIES_KADABRA);
OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE);}; OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); }
OPPONENT(SPECIES_WYNAUT); OPPONENT(SPECIES_WYNAUT);
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_LEER); } TURN { MOVE(playerLeft, MOVE_LEER); }

View File

@ -5,8 +5,8 @@ SINGLE_BATTLE_TEST("Oblivious prevents Infatuation")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_ATTRACT].effect == EFFECT_ATTRACT); ASSUME(gBattleMoves[MOVE_ATTRACT].effect == EFFECT_ATTRACT);
PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }; PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }
OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }; OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_ATTRACT); } TURN { MOVE(opponent, MOVE_ATTRACT); }
} SCENE { } SCENE {
@ -20,8 +20,8 @@ SINGLE_BATTLE_TEST("Oblivious prevents Captivate")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_CAPTIVATE].effect == EFFECT_CAPTIVATE); ASSUME(gBattleMoves[MOVE_CAPTIVATE].effect == EFFECT_CAPTIVATE);
PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }; PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }
OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }; OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_ATTRACT); } TURN { MOVE(opponent, MOVE_ATTRACT); }
} SCENE { } SCENE {
@ -36,7 +36,7 @@ SINGLE_BATTLE_TEST("Oblivious prevents Taunt")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_TAUNT].effect == EFFECT_TAUNT); ASSUME(gBattleMoves[MOVE_TAUNT].effect == EFFECT_TAUNT);
ASSUME(B_OBLIVIOUS_TAUNT >= GEN_6); ASSUME(B_OBLIVIOUS_TAUNT >= GEN_6);
PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }; PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_TAUNT); } TURN { MOVE(opponent, MOVE_TAUNT); }
@ -54,9 +54,9 @@ SINGLE_BATTLE_TEST("Oblivious prevents Intimidate")
{ {
GIVEN { GIVEN {
ASSUME(B_UPDATED_INTIMIDATE >= GEN_8); ASSUME(B_UPDATED_INTIMIDATE >= GEN_8);
PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }; PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }; OPPONENT(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }
} WHEN { } WHEN {
TURN { SWITCH(opponent, 1); } TURN { SWITCH(opponent, 1); }
} SCENE { } SCENE {

View File

@ -4,7 +4,7 @@
SINGLE_BATTLE_TEST("Rain Dish recovers 1/16th of Max HP in Rain") SINGLE_BATTLE_TEST("Rain Dish recovers 1/16th of Max HP in Rain")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_LUDICOLO) { Ability(ABILITY_RAIN_DISH); HP(1); MaxHP(100); }; PLAYER(SPECIES_LUDICOLO) { Ability(ABILITY_RAIN_DISH); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_RAIN_DANCE); } TURN { MOVE(opponent, MOVE_RAIN_DANCE); }

View File

@ -4,7 +4,7 @@
SINGLE_BATTLE_TEST("Sand Veil prevents damage from sandstorm") SINGLE_BATTLE_TEST("Sand Veil prevents damage from sandstorm")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_CACNEA) { Ability(ABILITY_SAND_VEIL); }; PLAYER(SPECIES_CACNEA) { Ability(ABILITY_SAND_VEIL); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SANDSTORM); } TURN { MOVE(opponent, MOVE_SANDSTORM); }
@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Sand Veil increases evasion during sandstorm")
PASSES_RANDOMLY(4, 5, RNG_ACCURACY); PASSES_RANDOMLY(4, 5, RNG_ACCURACY);
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_POUND].accuracy == 100); ASSUME(gBattleMoves[MOVE_POUND].accuracy == 100);
PLAYER(SPECIES_SANDSHREW) { Ability(ABILITY_SAND_VEIL); }; PLAYER(SPECIES_SANDSHREW) { Ability(ABILITY_SAND_VEIL); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SANDSTORM); } TURN { MOVE(opponent, MOVE_SANDSTORM); }

View File

@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is 25
Level(level); Level(level);
HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2); HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2);
Ability(ABILITY_SCHOOLING); Ability(ABILITY_SCHOOLING);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_SUPER_FANG); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_SUPER_FANG); }
@ -55,7 +55,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is ov
Level(level); Level(level);
HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / (overQuarterHP ? 2 : 4)); HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / (overQuarterHP ? 2 : 4));
Ability(ABILITY_SCHOOLING); Ability(ABILITY_SCHOOLING);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }
@ -89,7 +89,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is he
Level(level); Level(level);
HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 4); HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 4);
Ability(ABILITY_SCHOOLING); Ability(ABILITY_SCHOOLING);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_HEAL_PULSE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_HEAL_PULSE); }

View File

@ -5,7 +5,7 @@ SINGLE_BATTLE_TEST("Snow Cloak prevents damage from hail")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }; OPPONENT(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_HAIL); MOVE(opponent, MOVE_SKILL_SWAP); } TURN { MOVE(player, MOVE_HAIL); MOVE(opponent, MOVE_SKILL_SWAP); }
} SCENE { } SCENE {
@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Snow Cloak increases evasion during hail")
PASSES_RANDOMLY(4, 5, RNG_ACCURACY); PASSES_RANDOMLY(4, 5, RNG_ACCURACY);
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_POUND].accuracy == 100); ASSUME(gBattleMoves[MOVE_POUND].accuracy == 100);
PLAYER(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }; PLAYER(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_HAIL); } TURN { MOVE(opponent, MOVE_HAIL); }

View File

@ -8,7 +8,7 @@ SINGLE_BATTLE_TEST("Snow Warning summons snow")
#endif #endif
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_ABOMASNOW) { Ability(ABILITY_SNOW_WARNING); }; PLAYER(SPECIES_ABOMASNOW) { Ability(ABILITY_SNOW_WARNING); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN {} TURN {}

View File

@ -4,8 +4,8 @@
SINGLE_BATTLE_TEST("Speed Boost gradually boosts Speed") SINGLE_BATTLE_TEST("Speed Boost gradually boosts Speed")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_TORCHIC) { Ability(ABILITY_SPEED_BOOST); Speed(99); }; PLAYER(SPECIES_TORCHIC) { Ability(ABILITY_SPEED_BOOST); Speed(99); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(100); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(100); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }

View File

@ -6,7 +6,7 @@ SINGLE_BATTLE_TEST("Stench has a 10% chance to flinch")
PASSES_RANDOMLY(1, 10, RNG_STENCH); PASSES_RANDOMLY(1, 10, RNG_STENCH);
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_TACKLE].power > 0); ASSUME(gBattleMoves[MOVE_TACKLE].power > 0);
PLAYER(SPECIES_GRIMER) { Ability(ABILITY_STENCH); }; PLAYER(SPECIES_GRIMER) { Ability(ABILITY_STENCH); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); }
@ -23,7 +23,7 @@ SINGLE_BATTLE_TEST("Stench does not stack with King's Rock")
ASSUME(gItems[ITEM_KINGS_ROCK].holdEffect == HOLD_EFFECT_FLINCH); ASSUME(gItems[ITEM_KINGS_ROCK].holdEffect == HOLD_EFFECT_FLINCH);
ASSUME(gBattleMoves[MOVE_TACKLE].power > 0); ASSUME(gBattleMoves[MOVE_TACKLE].power > 0);
PLAYER(SPECIES_GRIMER) { Ability(ABILITY_STENCH); Item(ITEM_KINGS_ROCK); }; PLAYER(SPECIES_GRIMER) { Ability(ABILITY_STENCH); Item(ITEM_KINGS_ROCK); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); }

View File

@ -5,7 +5,7 @@ SINGLE_BATTLE_TEST("Volt Absorb heals 25% when hit by electric type moves")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC);
PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); }
@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Volt Absorb does not activate if protected")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC);
PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_THUNDER_SHOCK); } TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_THUNDER_SHOCK); }
@ -34,7 +34,7 @@ SINGLE_BATTLE_TEST("Volt Absorb activates on status moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].type == TYPE_ELECTRIC); ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].type == TYPE_ELECTRIC);
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].split == SPLIT_STATUS); ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].split == SPLIT_STATUS);
PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_THUNDER_WAVE); } TURN { MOVE(opponent, MOVE_THUNDER_WAVE); }
@ -50,8 +50,8 @@ SINGLE_BATTLE_TEST("Volt Absorb is only triggered once on multi strike moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_FURY_SWIPES].type == TYPE_NORMAL); ASSUME(gBattleMoves[MOVE_FURY_SWIPES].type == TYPE_NORMAL);
ASSUME(gBattleMoves[MOVE_FURY_SWIPES].effect == EFFECT_MULTI_HIT); ASSUME(gBattleMoves[MOVE_FURY_SWIPES].effect == EFFECT_MULTI_HIT);
PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_GRAVELER_ALOLAN) { Ability(ABILITY_GALVANIZE); }; OPPONENT(SPECIES_GRAVELER_ALOLAN) { Ability(ABILITY_GALVANIZE); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_FURY_SWIPES); } TURN { MOVE(opponent, MOVE_FURY_SWIPES); }
} SCENE { } SCENE {
@ -89,7 +89,7 @@ SINGLE_BATTLE_TEST("Volt Absorb prevents Cell Battery from activating")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC);
PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); Item(ITEM_CELL_BATTERY); }; PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); Item(ITEM_CELL_BATTERY); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); }

View File

@ -5,7 +5,7 @@ SINGLE_BATTLE_TEST("Water Absorb heals 25% when hit by water type moves")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(opponent, MOVE_BUBBLE); }
@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Water Absorb does not activate if protected")
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_BUBBLE); }
@ -34,7 +34,7 @@ SINGLE_BATTLE_TEST("Water Absorb activates on status moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_SOAK].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_SOAK].type == TYPE_WATER);
ASSUME(gBattleMoves[MOVE_SOAK].split == SPLIT_STATUS); ASSUME(gBattleMoves[MOVE_SOAK].split == SPLIT_STATUS);
PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SOAK); } TURN { MOVE(opponent, MOVE_SOAK); }
@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Water Absorb is only triggered once on multi strike moves")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].type == TYPE_WATER);
ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].effect == EFFECT_MULTI_HIT); ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].effect == EFFECT_MULTI_HIT);
PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }; PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_WATER_SHURIKEN); } TURN { MOVE(opponent, MOVE_WATER_SHURIKEN); }
@ -68,7 +68,7 @@ SINGLE_BATTLE_TEST("Water Absorb prevents Absorb Bulb and Luminous Moss from act
PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; } PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER);
PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); Item(item); }; PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(100); Item(item); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_BUBBLE); } TURN { MOVE(opponent, MOVE_BUBBLE); }

View File

@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less
{ {
Ability(ABILITY_ZEN_MODE); Ability(ABILITY_ZEN_MODE);
HP((GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2) + 1); HP((GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2) + 1);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_TACKLE); }
@ -45,7 +45,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less
{ {
Ability(ABILITY_ZEN_MODE); Ability(ABILITY_ZEN_MODE);
HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2); HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }
@ -74,7 +74,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is healed above
{ {
Ability(ABILITY_ZEN_MODE); Ability(ABILITY_ZEN_MODE);
HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2); HP(GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2);
}; }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_HEAL_PULSE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_HEAL_PULSE); }

View File

@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Zacian changes into its Crowned Form when holding the Rusted
PARAMETRIZE { item = ITEM_RUSTED_SWORD; } PARAMETRIZE { item = ITEM_RUSTED_SWORD; }
GIVEN { GIVEN {
ASSUME(P_GEN_8_POKEMON == TRUE); ASSUME(P_GEN_8_POKEMON == TRUE);
PLAYER(SPECIES_ZACIAN) { Item(item); }; PLAYER(SPECIES_ZACIAN) { Item(item); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); }
@ -37,7 +37,7 @@ SINGLE_BATTLE_TEST("Zacian's Iron Head becomes Behemoth Blade upon form change")
{ {
GIVEN { GIVEN {
ASSUME(P_GEN_8_POKEMON == TRUE); ASSUME(P_GEN_8_POKEMON == TRUE);
PLAYER(SPECIES_ZACIAN) { Item(ITEM_RUSTED_SWORD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }; PLAYER(SPECIES_ZACIAN) { Item(ITEM_RUSTED_SWORD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); }
@ -54,7 +54,7 @@ SINGLE_BATTLE_TEST("Zamazenta changes into its Crowned Form when holding the Rus
PARAMETRIZE { item = ITEM_RUSTED_SHIELD; } PARAMETRIZE { item = ITEM_RUSTED_SHIELD; }
GIVEN { GIVEN {
ASSUME(P_GEN_8_POKEMON == TRUE); ASSUME(P_GEN_8_POKEMON == TRUE);
PLAYER(SPECIES_ZAMAZENTA) { Item(item); }; PLAYER(SPECIES_ZAMAZENTA) { Item(item); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); }
@ -70,7 +70,7 @@ SINGLE_BATTLE_TEST("Zamazenta's Iron Head becomes Behemoth Bash upon form change
{ {
GIVEN { GIVEN {
ASSUME(P_GEN_8_POKEMON == TRUE); ASSUME(P_GEN_8_POKEMON == TRUE);
PLAYER(SPECIES_ZAMAZENTA) { Item(ITEM_RUSTED_SHIELD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }; PLAYER(SPECIES_ZAMAZENTA) { Item(ITEM_RUSTED_SHIELD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); }
@ -105,11 +105,11 @@ SINGLE_BATTLE_TEST("Aegislash reverts to Shield Form upon fainting")
{ {
GIVEN { GIVEN {
ASSUME(P_GEN_6_POKEMON == TRUE); ASSUME(P_GEN_6_POKEMON == TRUE);
PLAYER(SPECIES_AEGISLASH) { HP(1); }; PLAYER(SPECIES_AEGISLASH) { HP(1); }
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_GUST); SEND_OUT(player, 1);} TURN { MOVE(opponent, MOVE_GUST); SEND_OUT(player, 1); }
} SCENE { } SCENE {
MESSAGE("Foe Wobbuffet used Gust!"); MESSAGE("Foe Wobbuffet used Gust!");
MESSAGE("Aegislash fainted!"); MESSAGE("Aegislash fainted!");

View File

@ -62,7 +62,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse a Pokemon with Own Tempo but s
PARAMETRIZE { useItem = FALSE; } PARAMETRIZE { useItem = FALSE; }
PARAMETRIZE { useItem = TRUE; } PARAMETRIZE { useItem = TRUE; }
GIVEN { GIVEN {
PLAYER(SPECIES_SLOWBRO) { Ability(ABILITY_OWN_TEMPO); if (useItem) Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_SLOWBRO) { Ability(ABILITY_OWN_TEMPO); if (useItem) Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -77,10 +77,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse a Pokemon with Own Tempo but s
MESSAGE("Slowbro's Own Tempo prevents confusion!"); MESSAGE("Slowbro's Own Tempo prevents confusion!");
} }
HP_BAR(opponent, captureDamage: &results[i].damage); HP_BAR(opponent, captureDamage: &results[i].damage);
NONE_OF NOT MESSAGE("Slowbro became confused!");
{
MESSAGE("Slowbro became confused!");
}
} FINALLY { } FINALLY {
EXPECT_MUL_EQ(results[0].damage, Q_4_12(2.0), results[1].damage); EXPECT_MUL_EQ(results[0].damage, Q_4_12(2.0), results[1].damage);
} }
@ -90,7 +87,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse on Misty Terrain but still rai
{ {
GIVEN { GIVEN {
ASSUME(P_GEN_7_POKEMON == TRUE); ASSUME(P_GEN_7_POKEMON == TRUE);
PLAYER(SPECIES_TAPU_FINI) { Ability(ABILITY_MISTY_SURGE); Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_TAPU_FINI) { Ability(ABILITY_MISTY_SURGE); Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -99,10 +96,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse on Misty Terrain but still rai
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Using Berserk Gene, the Attack of Tapu Fini sharply rose!"); MESSAGE("Using Berserk Gene, the Attack of Tapu Fini sharply rose!");
NONE_OF NOT MESSAGE("Tapu Fini became confused!");
{
MESSAGE("Tapu Fini became confused!");
}
} }
} }
@ -110,7 +104,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse when Safeguard is active")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_SAFEGUARD); } TURN { MOVE(player, MOVE_SAFEGUARD); }
@ -119,17 +113,14 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse when Safeguard is active")
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Using Berserk Gene, the Attack of Wobbuffet sharply rose!"); MESSAGE("Using Berserk Gene, the Attack of Wobbuffet sharply rose!");
MESSAGE("Wobbuffet's party is protected by SAFEGUARD!"); MESSAGE("Wobbuffet's party is protected by SAFEGUARD!");
NONE_OF NOT MESSAGE("Wobbuffet became confused!");
{
MESSAGE("Wobbuffet became confused!");
}
} }
} }
SINGLE_BATTLE_TEST("Berserk Gene causes confusion for more than 5 turns") // how else would be check for infinite? SINGLE_BATTLE_TEST("Berserk Gene causes confusion for more than 5 turns") // how else would be check for infinite?
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN {} TURN {}
@ -139,17 +130,14 @@ SINGLE_BATTLE_TEST("Berserk Gene causes confusion for more than 5 turns") // how
TURN {} TURN {}
TURN {} TURN {}
} SCENE { } SCENE {
NONE_OF NOT MESSAGE("Wobbuffet snapped out of confusion!");
{
MESSAGE("Wobbuffet snapped out of confusion!");
}
} }
} }
SINGLE_BATTLE_TEST("Berserk Gene causes infinite confusion") // check if bit is set SINGLE_BATTLE_TEST("Berserk Gene causes infinite confusion") // check if bit is set
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN {} TURN {}
@ -165,7 +153,7 @@ SINGLE_BATTLE_TEST("Berserk Gene causes confusion timer to not tick down", u32 s
PARAMETRIZE { turns = 1; } PARAMETRIZE { turns = 1; }
PARAMETRIZE { turns = 2; } PARAMETRIZE { turns = 2; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }; PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_BERSERK_GENE); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
u32 count; u32 count;

View File

@ -10,8 +10,8 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered when there is nothing to switc
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET) { HP(0); }; OPPONENT(SPECIES_WOBBUFFET) { HP(0); }
} WHEN { } WHEN {
TURN { TURN {
MOVE(player, MOVE_QUICK_ATTACK); MOVE(player, MOVE_QUICK_ATTACK);
@ -30,8 +30,8 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered when there is nothing to switc
SINGLE_BATTLE_TEST("Eject Button is not activated by a Sheer Force boosted move") SINGLE_BATTLE_TEST("Eject Button is not activated by a Sheer Force boosted move")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_NIDOKING) { Ability(ABILITY_SHEER_FORCE); }; PLAYER(SPECIES_NIDOKING) { Ability(ABILITY_SHEER_FORCE); }
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -52,7 +52,7 @@ SINGLE_BATTLE_TEST("Eject Button will not activate under Substitute")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_RAICHU) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_RAICHU) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -74,8 +74,8 @@ SINGLE_BATTLE_TEST("Eject Button will not activate under Substitute")
SINGLE_BATTLE_TEST("Eject Button is not blocked by trapping abilities or moves") SINGLE_BATTLE_TEST("Eject Button is not blocked by trapping abilities or moves")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_DUGTRIO) { Ability(ABILITY_ARENA_TRAP); }; PLAYER(SPECIES_DUGTRIO) { Ability(ABILITY_ARENA_TRAP); }
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -94,7 +94,7 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered after the mon loses Eject Butt
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_RAICHU); PLAYER(SPECIES_RAICHU);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -114,9 +114,9 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered after the mon loses Eject Butt
SINGLE_BATTLE_TEST("Eject Button is not triggered after given to player by Picketpocket") SINGLE_BATTLE_TEST("Eject Button is not triggered after given to player by Picketpocket")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_REGIELEKI) { Item(ITEM_EJECT_BUTTON); }; PLAYER(SPECIES_REGIELEKI) { Item(ITEM_EJECT_BUTTON); }
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_SNEASEL) { Ability(ABILITY_PICKPOCKET); }; OPPONENT(SPECIES_SNEASEL) { Ability(ABILITY_PICKPOCKET); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {
@ -135,7 +135,7 @@ SINGLE_BATTLE_TEST("Eject Button has no chance to activate after Dragon Tail")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_KOMMO_O); PLAYER(SPECIES_KOMMO_O);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_CHANSEY); OPPONENT(SPECIES_CHANSEY);
} WHEN { } WHEN {
TURN { TURN {
@ -157,7 +157,7 @@ SINGLE_BATTLE_TEST("Eject Button prevents Volt Switch / U-Turn from activating")
GIVEN { GIVEN {
PLAYER(SPECIES_MANECTRIC); PLAYER(SPECIES_MANECTRIC);
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WYNAUT); OPPONENT(SPECIES_WYNAUT);
} WHEN { } WHEN {
TURN { TURN {
@ -174,7 +174,7 @@ SINGLE_BATTLE_TEST("Eject Button is activated before Emergency Exit")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_LATIAS); PLAYER(SPECIES_LATIAS);
OPPONENT(SPECIES_GOLISOPOD) { Ability(ABILITY_EMERGENCY_EXIT); Item(ITEM_EJECT_BUTTON); }; OPPONENT(SPECIES_GOLISOPOD) { Ability(ABILITY_EMERGENCY_EXIT); Item(ITEM_EJECT_BUTTON); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { TURN {

View File

@ -4,7 +4,7 @@
ASSUMPTIONS ASSUMPTIONS
{ {
gItems[ITEM_LEFTOVERS].holdEffect == HOLD_EFFECT_LEFTOVERS; gItems[ITEM_LEFTOVERS].holdEffect == HOLD_EFFECT_LEFTOVERS;
}; }
SINGLE_BATTLE_TEST("Leftovers recovers 1/16th HP at end of turn") SINGLE_BATTLE_TEST("Leftovers recovers 1/16th HP at end of turn")
{ {

View File

@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures any primary s
PARAMETRIZE{ status = STATUS1_SLEEP; } PARAMETRIZE{ status = STATUS1_SLEEP; }
GIVEN { GIVEN {
ASSUME(gItems[ITEM_FULL_RESTORE].battleUsage == EFFECT_ITEM_HEAL_AND_CURE_STATUS); ASSUME(gItems[ITEM_FULL_RESTORE].battleUsage == EFFECT_ITEM_HEAL_AND_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); Status1(status); }; PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); Status1(status); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN{ USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } TURN{ USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); }
@ -28,7 +28,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures confusion")
{ {
GIVEN { GIVEN {
ASSUME(gItems[ITEM_FULL_RESTORE].battleUsage == EFFECT_ITEM_HEAL_AND_CURE_STATUS); ASSUME(gItems[ITEM_FULL_RESTORE].battleUsage == EFFECT_ITEM_HEAL_AND_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300);}; PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN{ MOVE(opponent, MOVE_CONFUSE_RAY); } TURN{ MOVE(opponent, MOVE_CONFUSE_RAY); }

View File

@ -100,16 +100,16 @@ SINGLE_BATTLE_TEST("X Speed sharply raises battler's Speed stat", s16 damage)
PARAMETRIZE { useItem = TRUE; } PARAMETRIZE { useItem = TRUE; }
GIVEN { GIVEN {
ASSUME(gItems[ITEM_X_SPEED].battleUsage == EFFECT_ITEM_INCREASE_STAT); ASSUME(gItems[ITEM_X_SPEED].battleUsage == EFFECT_ITEM_INCREASE_STAT);
if (B_X_ITEMS_BUFF >= GEN_7) if (B_X_ITEMS_BUFF >= GEN_7)
{ {
PLAYER(SPECIES_WOBBUFFET) { Speed(3); }; PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(4); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(4); }
} }
else else
{ {
PLAYER(SPECIES_WOBBUFFET) { Speed(4); }; PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
} }
} WHEN { } WHEN {
if (useItem) TURN { USE_ITEM(player, ITEM_X_SPEED); } if (useItem) TURN { USE_ITEM(player, ITEM_X_SPEED); }
TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TACKLE); }
@ -118,7 +118,8 @@ SINGLE_BATTLE_TEST("X Speed sharply raises battler's Speed stat", s16 damage)
{ {
MESSAGE("Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!");
MESSAGE("Foe Wobbuffet used Tackle!"); MESSAGE("Foe Wobbuffet used Tackle!");
} else }
else
{ {
MESSAGE("Foe Wobbuffet used Tackle!"); MESSAGE("Foe Wobbuffet used Tackle!");
MESSAGE("Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!");
@ -234,8 +235,8 @@ SINGLE_BATTLE_TEST("Max Mushrooms raises battler's Speed stat", s16 damage)
PARAMETRIZE { useItem = TRUE; } PARAMETRIZE { useItem = TRUE; }
GIVEN { GIVEN {
ASSUME(gItems[ITEM_MAX_MUSHROOMS].battleUsage == EFFECT_ITEM_INCREASE_ALL_STATS); ASSUME(gItems[ITEM_MAX_MUSHROOMS].battleUsage == EFFECT_ITEM_INCREASE_ALL_STATS);
PLAYER(SPECIES_WOBBUFFET) { Speed(4); }; PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
} WHEN { } WHEN {
if (useItem) TURN { USE_ITEM(player, ITEM_MAX_MUSHROOMS); } if (useItem) TURN { USE_ITEM(player, ITEM_MAX_MUSHROOMS); }
TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TACKLE); }
@ -244,7 +245,8 @@ SINGLE_BATTLE_TEST("Max Mushrooms raises battler's Speed stat", s16 damage)
{ {
MESSAGE("Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!");
MESSAGE("Foe Wobbuffet used Tackle!"); MESSAGE("Foe Wobbuffet used Tackle!");
} else }
else
{ {
MESSAGE("Foe Wobbuffet used Tackle!"); MESSAGE("Foe Wobbuffet used Tackle!");
MESSAGE("Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!");

View File

@ -21,9 +21,9 @@ DOUBLE_BATTLE_TEST("Mega Evolution's order is determined by Speed - opponent fas
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE); Speed(1); } PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE); Speed(1); }
PLAYER(SPECIES_WOBBUFFET) { Speed(3);} PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(3);} OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(4);} OPPONENT(SPECIES_WOBBUFFET) { Speed(4); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, megaEvolve: TRUE); } TURN { MOVE(opponentLeft, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, megaEvolve: TRUE); }
} SCENE { } SCENE {
@ -40,9 +40,9 @@ DOUBLE_BATTLE_TEST("Mega Evolution's order is determined by Speed - player faste
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE); Speed(5); } PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE); Speed(5); }
PLAYER(SPECIES_WOBBUFFET) { Speed(3);} PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2);} OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(4);} OPPONENT(SPECIES_WOBBUFFET) { Speed(4); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, megaEvolve: TRUE); } TURN { MOVE(opponentLeft, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, megaEvolve: TRUE); }
} SCENE { } SCENE {
@ -110,13 +110,13 @@ DOUBLE_BATTLE_TEST("Mega Evolution happens after switching, but before Focus Pun
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_FOCUS_PUNCH].effect == EFFECT_FOCUS_PUNCH); ASSUME(gBattleMoves[MOVE_FOCUS_PUNCH].effect == EFFECT_FOCUS_PUNCH);
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE);} PLAYER(SPECIES_VENUSAUR) { Item(ITEM_VENUSAURITE); }
OPPONENT(SPECIES_WYNAUT); OPPONENT(SPECIES_WYNAUT);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { SWITCH(opponentRight, 2); MOVE(playerRight, MOVE_FOCUS_PUNCH, megaEvolve: TRUE, target:opponentLeft); MOVE(playerLeft, MOVE_FOCUS_PUNCH, target:opponentLeft); } TURN { SWITCH(opponentRight, 2); MOVE(playerRight, MOVE_FOCUS_PUNCH, megaEvolve: TRUE, target: opponentLeft); MOVE(playerLeft, MOVE_FOCUS_PUNCH, target: opponentLeft); }
TURN {}; TURN {}
} SCENE { } SCENE {
MESSAGE("2 withdrew Wobbuffet!"); MESSAGE("2 withdrew Wobbuffet!");
MESSAGE("2 sent out Wobbuffet!"); MESSAGE("2 sent out Wobbuffet!");
@ -136,8 +136,8 @@ DOUBLE_BATTLE_TEST("Mega Evolution happens after switching, but before Focus Pun
SINGLE_BATTLE_TEST("Regular Mega Evolution and Fervent Wish Mega Evolution can happen on the same turn") SINGLE_BATTLE_TEST("Regular Mega Evolution and Fervent Wish Mega Evolution can happen on the same turn")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_RAYQUAZA) { Moves(MOVE_DRAGON_ASCENT, MOVE_CELEBRATE); Speed(3);} PLAYER(SPECIES_RAYQUAZA) { Moves(MOVE_DRAGON_ASCENT, MOVE_CELEBRATE); Speed(3); }
OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2);} OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(opponent, MOVE_CELEBRATE, megaEvolve: TRUE); } TURN { MOVE(player, MOVE_CELEBRATE, megaEvolve: TRUE); MOVE(opponent, MOVE_CELEBRATE, megaEvolve: TRUE); }
} SCENE { } SCENE {

View File

@ -9,8 +9,8 @@ ASSUMPTIONS
SINGLE_BATTLE_TEST("Assist fails if there are no valid moves to choose from") SINGLE_BATTLE_TEST("Assist fails if there are no valid moves to choose from")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Moves(MOVE_ASSIST, MOVE_CELEBRATE, MOVE_METRONOME, MOVE_ME_FIRST); } PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_ASSIST, MOVE_CELEBRATE, MOVE_METRONOME, MOVE_ME_FIRST); }
PLAYER(SPECIES_WOBBUFFET) {Moves(MOVE_ASSIST, MOVE_ENDURE, MOVE_DRAGON_TAIL, MOVE_SPOTLIGHT); } PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_ASSIST, MOVE_ENDURE, MOVE_DRAGON_TAIL, MOVE_SPOTLIGHT); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_ASSIST); } TURN { MOVE(player, MOVE_ASSIST); }

View File

@ -38,10 +38,10 @@ DOUBLE_BATTLE_TEST("Howl raises user's and partner's Attack", s16 damageLeft, s1
PARAMETRIZE { raiseAttack = TRUE; } PARAMETRIZE { raiseAttack = TRUE; }
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL); ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL);
PLAYER(SPECIES_WOBBUFFET) { Speed(15); }; PLAYER(SPECIES_WOBBUFFET) { Speed(15); }
PLAYER(SPECIES_WYNAUT) { Speed(10); }; PLAYER(SPECIES_WYNAUT) { Speed(10); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(13); }; OPPONENT(SPECIES_WOBBUFFET) { Speed(13); }
OPPONENT(SPECIES_WYNAUT) { Speed(12); }; OPPONENT(SPECIES_WYNAUT) { Speed(12); }
} WHEN { } WHEN {
if (raiseAttack) TURN { MOVE(playerLeft, MOVE_HOWL); } if (raiseAttack) TURN { MOVE(playerLeft, MOVE_HOWL); }
TURN { MOVE(playerLeft, MOVE_TACKLE, target: opponentLeft); } TURN { MOVE(playerLeft, MOVE_TACKLE, target: opponentLeft); }

View File

@ -30,7 +30,7 @@ SINGLE_BATTLE_TEST("Barb Barrage's power doubles if the target is poisoned/badly
PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; } PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) {Status1(status1);} OPPONENT(SPECIES_WOBBUFFET) { Status1(status1); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_BARB_BARRAGE); } TURN { MOVE(player, MOVE_BARB_BARRAGE); }
} SCENE { } SCENE {

View File

@ -10,12 +10,12 @@ DOUBLE_BATTLE_TEST("Beak Blast's charging message is shown before other moves ar
{ {
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BEAK_BLAST].priority < 0); ASSUME(gBattleMoves[MOVE_BEAK_BLAST].priority < 0);
PLAYER(SPECIES_WYNAUT) {Speed(10); } PLAYER(SPECIES_WYNAUT) { Speed(10); }
PLAYER(SPECIES_WOBBUFFET) {Speed(5); } PLAYER(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(3); } OPPONENT(SPECIES_WOBBUFFET) { Speed(3); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_BEAK_BLAST, target:opponentLeft); } TURN { MOVE(playerLeft, MOVE_BEAK_BLAST, target: opponentLeft); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, playerLeft);
MESSAGE("Wynaut started heating up its beak!"); MESSAGE("Wynaut started heating up its beak!");
@ -38,12 +38,12 @@ DOUBLE_BATTLE_TEST("Beak Blast burns all who make contact with the pokemon")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_BEAK_BLAST].priority < 0); ASSUME(gBattleMoves[MOVE_BEAK_BLAST].priority < 0);
ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT);
PLAYER(SPECIES_WYNAUT) {Speed(10); } PLAYER(SPECIES_WYNAUT) { Speed(10); }
PLAYER(SPECIES_WOBBUFFET) {Speed(5); } PLAYER(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(3); } OPPONENT(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft); MOVE(opponentRight, MOVE_TACKLE, target:playerLeft); MOVE(playerLeft, MOVE_BEAK_BLAST, target:opponentLeft); } TURN { MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(opponentRight, MOVE_TACKLE, target: playerLeft); MOVE(playerLeft, MOVE_BEAK_BLAST, target: opponentLeft); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, playerLeft);
MESSAGE("Wynaut started heating up its beak!"); MESSAGE("Wynaut started heating up its beak!");

View File

@ -36,8 +36,8 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1")
SINGLE_BATTLE_TEST("Defog does not lower evasiveness if target behind Substitute") SINGLE_BATTLE_TEST("Defog does not lower evasiveness if target behind Substitute")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(4); } PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_DEFOG); } TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_DEFOG); }
} SCENE { } SCENE {
@ -58,14 +58,14 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Reflect and Light
PARAMETRIZE { move = MOVE_DEFOG; } PARAMETRIZE { move = MOVE_DEFOG; }
PARAMETRIZE { move = MOVE_CELEBRATE; } PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(4); } PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
PLAYER(SPECIES_WOBBUFFET) {Speed(3); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_REFLECT); MOVE(opponentRight, MOVE_LIGHT_SCREEN); } TURN { MOVE(opponentLeft, MOVE_REFLECT); MOVE(opponentRight, MOVE_LIGHT_SCREEN); }
TURN { MOVE(playerLeft, move, target:opponentLeft); } TURN { MOVE(playerLeft, move, target: opponentLeft); }
TURN { MOVE(playerLeft, MOVE_TACKLE, target:opponentLeft); MOVE(playerRight, MOVE_GUST, target:opponentRight); } TURN { MOVE(playerLeft, MOVE_TACKLE, target: opponentLeft); MOVE(playerRight, MOVE_GUST, target: opponentRight); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT, opponentLeft);
ANIMATION(ANIM_TYPE_MOVE, MOVE_LIGHT_SCREEN, opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_LIGHT_SCREEN, opponentRight);
@ -93,14 +93,14 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Mist and Safeguard
PARAMETRIZE { move = MOVE_DEFOG; } PARAMETRIZE { move = MOVE_DEFOG; }
PARAMETRIZE { move = MOVE_CELEBRATE; } PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(4); } PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
PLAYER(SPECIES_WOBBUFFET) {Speed(3); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_MIST); MOVE(opponentRight, MOVE_SAFEGUARD); } TURN { MOVE(opponentLeft, MOVE_MIST); MOVE(opponentRight, MOVE_SAFEGUARD); }
TURN { MOVE(playerLeft, move, target:opponentLeft); } TURN { MOVE(playerLeft, move, target: opponentLeft); }
TURN { MOVE(playerLeft, MOVE_SCREECH, target:opponentLeft); MOVE(playerRight, MOVE_TOXIC, target:opponentRight); } TURN { MOVE(playerLeft, MOVE_SCREECH, target: opponentLeft); MOVE(playerRight, MOVE_TOXIC, target: opponentRight); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_MIST, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_MIST, opponentLeft);
ANIMATION(ANIM_TYPE_MOVE, MOVE_SAFEGUARD, opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_SAFEGUARD, opponentRight);
@ -138,14 +138,14 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Stealth Rock and S
PARAMETRIZE { move = MOVE_DEFOG; } PARAMETRIZE { move = MOVE_DEFOG; }
PARAMETRIZE { move = MOVE_CELEBRATE; } PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(4); } PLAYER(SPECIES_WOBBUFFET) { Speed(4); }
PLAYER(SPECIES_WOBBUFFET) {Speed(3); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
PLAYER(SPECIES_WOBBUFFET) {Speed(3); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_STEALTH_ROCK); MOVE(opponentRight, MOVE_STICKY_WEB); } TURN { MOVE(opponentLeft, MOVE_STEALTH_ROCK); MOVE(opponentRight, MOVE_STICKY_WEB); }
TURN { MOVE(playerLeft, move, target:opponentLeft); } TURN { MOVE(playerLeft, move, target: opponentLeft); }
TURN { SWITCH(playerLeft, 2); } TURN { SWITCH(playerLeft, 2); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponentLeft);
@ -186,9 +186,9 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Spikes from player
PARAMETRIZE { move = MOVE_DEFOG; } PARAMETRIZE { move = MOVE_DEFOG; }
PARAMETRIZE { move = MOVE_CELEBRATE; } PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(2); } PLAYER(SPECIES_WOBBUFFET) { Speed(2); }
PLAYER(SPECIES_WOBBUFFET) {Speed(2); } PLAYER(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
} WHEN { } WHEN {
TURN { MOVE(opponent, MOVE_SPIKES); MOVE(player, move); } TURN { MOVE(opponent, MOVE_SPIKES); MOVE(player, move); }
TURN { SWITCH(player, 1); } TURN { SWITCH(player, 1); }
@ -226,8 +226,8 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes terrain")
PARAMETRIZE { move = MOVE_GRASSY_TERRAIN; } PARAMETRIZE { move = MOVE_GRASSY_TERRAIN; }
GIVEN { GIVEN {
ASSUME(B_DEFOG_CLEARS_TERRAIN >= GEN_8); ASSUME(B_DEFOG_CLEARS_TERRAIN >= GEN_8);
PLAYER(SPECIES_WOBBUFFET) {Speed(50); } PLAYER(SPECIES_WOBBUFFET) { Speed(50); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
} WHEN { } WHEN {
TURN { MOVE(player, move); MOVE(opponent, MOVE_DEFOG); } TURN { MOVE(player, move); MOVE(opponent, MOVE_DEFOG); }
} SCENE { } SCENE {
@ -258,9 +258,9 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Toxic Spikes from
PARAMETRIZE { move = MOVE_DEFOG; } PARAMETRIZE { move = MOVE_DEFOG; }
PARAMETRIZE { move = MOVE_CELEBRATE; } PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(5); } PLAYER(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TOXIC_SPIKES); MOVE(opponent, move); } TURN { MOVE(player, MOVE_TOXIC_SPIKES); MOVE(opponent, move); }
TURN { SWITCH(opponent, 1); } TURN { SWITCH(opponent, 1); }
@ -298,14 +298,14 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Aurora Veil from p
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_HAIL].effect == EFFECT_HAIL); ASSUME(gBattleMoves[MOVE_HAIL].effect == EFFECT_HAIL);
ASSUME(gSpeciesInfo[SPECIES_GLALIE].types[0] == TYPE_ICE); ASSUME(gSpeciesInfo[SPECIES_GLALIE].types[0] == TYPE_ICE);
PLAYER(SPECIES_GLALIE) {Speed(4); } PLAYER(SPECIES_GLALIE) { Speed(4); }
PLAYER(SPECIES_GLALIE) {Speed(3); } PLAYER(SPECIES_GLALIE) { Speed(3); }
OPPONENT(SPECIES_GLALIE) {Speed(2); } OPPONENT(SPECIES_GLALIE) { Speed(2); }
OPPONENT(SPECIES_GLALIE) {Speed(1); } OPPONENT(SPECIES_GLALIE) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_HAIL); MOVE(playerRight, MOVE_AURORA_VEIL); } TURN { MOVE(playerLeft, MOVE_HAIL); MOVE(playerRight, MOVE_AURORA_VEIL); }
TURN { MOVE(opponentLeft, move, target:playerLeft); } TURN { MOVE(opponentLeft, move, target: playerLeft); }
TURN { MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft); MOVE(opponentRight, MOVE_GUST, target:playerRight); } TURN { MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(opponentRight, MOVE_GUST, target: playerRight); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_HAIL, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_HAIL, playerLeft);
ANIMATION(ANIM_TYPE_MOVE, MOVE_AURORA_VEIL, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_AURORA_VEIL, playerRight);
@ -330,17 +330,17 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes everything it can"
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_HAIL].effect == EFFECT_HAIL); ASSUME(gBattleMoves[MOVE_HAIL].effect == EFFECT_HAIL);
ASSUME(gSpeciesInfo[SPECIES_GLALIE].types[0] == TYPE_ICE); ASSUME(gSpeciesInfo[SPECIES_GLALIE].types[0] == TYPE_ICE);
PLAYER(SPECIES_GLALIE) {Speed(4); } PLAYER(SPECIES_GLALIE) { Speed(4); }
PLAYER(SPECIES_GLALIE) {Speed(3); } PLAYER(SPECIES_GLALIE) { Speed(3); }
PLAYER(SPECIES_GLALIE) {Speed(12); } PLAYER(SPECIES_GLALIE) { Speed(12); }
PLAYER(SPECIES_GLALIE) {Speed(3); } PLAYER(SPECIES_GLALIE) { Speed(3); }
OPPONENT(SPECIES_GLALIE) {Speed(2); } OPPONENT(SPECIES_GLALIE) { Speed(2); }
OPPONENT(SPECIES_GLALIE) {Speed(1); } OPPONENT(SPECIES_GLALIE) { Speed(1); }
OPPONENT(SPECIES_GLALIE) {Speed(1); } OPPONENT(SPECIES_GLALIE) { Speed(1); }
OPPONENT(SPECIES_GLALIE) {Speed(1); } OPPONENT(SPECIES_GLALIE) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_STICKY_WEB); MOVE(playerRight, MOVE_SPIKES); MOVE(opponentLeft, MOVE_STICKY_WEB); MOVE(opponentRight, MOVE_SPIKES); } TURN { MOVE(playerLeft, MOVE_STICKY_WEB); MOVE(playerRight, MOVE_SPIKES); MOVE(opponentLeft, MOVE_STICKY_WEB); MOVE(opponentRight, MOVE_SPIKES); }
TURN { SWITCH(playerLeft, 2); SWITCH(playerRight, 3); SWITCH(opponentLeft, 2); SWITCH(opponentRight, 3);} TURN { SWITCH(playerLeft, 2); SWITCH(playerRight, 3); SWITCH(opponentLeft, 2); SWITCH(opponentRight, 3); }
TURN { MOVE(playerLeft, MOVE_TOXIC_SPIKES); MOVE(playerRight, MOVE_STEALTH_ROCK); MOVE(opponentLeft, MOVE_TOXIC_SPIKES); MOVE(opponentRight, MOVE_STEALTH_ROCK); } TURN { MOVE(playerLeft, MOVE_TOXIC_SPIKES); MOVE(playerRight, MOVE_STEALTH_ROCK); MOVE(opponentLeft, MOVE_TOXIC_SPIKES); MOVE(opponentRight, MOVE_STEALTH_ROCK); }
TURN { MOVE(playerLeft, MOVE_HAIL); MOVE(playerRight, MOVE_AURORA_VEIL); MOVE(opponentLeft, MOVE_AURORA_VEIL); MOVE(opponentRight, MOVE_LIGHT_SCREEN); } TURN { MOVE(playerLeft, MOVE_HAIL); MOVE(playerRight, MOVE_AURORA_VEIL); MOVE(opponentLeft, MOVE_AURORA_VEIL); MOVE(opponentRight, MOVE_LIGHT_SCREEN); }
TURN { MOVE(playerLeft, MOVE_REFLECT); MOVE(playerRight, MOVE_LIGHT_SCREEN); MOVE(opponentLeft, MOVE_REFLECT); MOVE(opponentRight, MOVE_SAFEGUARD); } TURN { MOVE(playerLeft, MOVE_REFLECT); MOVE(playerRight, MOVE_LIGHT_SCREEN); MOVE(opponentLeft, MOVE_REFLECT); MOVE(opponentRight, MOVE_SAFEGUARD); }

View File

@ -43,7 +43,7 @@ SINGLE_BATTLE_TEST("Dire Claw cannot poison/paralyze poison/electric types respe
#if B_PARALYZE_ELECTRIC >= GEN_6 #if B_PARALYZE_ELECTRIC >= GEN_6
PARAMETRIZE { statusAnim = B_ANIM_STATUS_PRZ; rng = MOVE_EFFECT_PARALYSIS; species = SPECIES_RAICHU; } PARAMETRIZE { statusAnim = B_ANIM_STATUS_PRZ; rng = MOVE_EFFECT_PARALYSIS; species = SPECIES_RAICHU; }
#endif // B_PARALYZE_ELECTRIC #endif // B_PARALYZE_ELECTRIC
PARAMETRIZE { statusAnim = B_ANIM_STATUS_PSN; rng = MOVE_EFFECT_POISON; species = SPECIES_ARBOK;} PARAMETRIZE { statusAnim = B_ANIM_STATUS_PSN; rng = MOVE_EFFECT_POISON; species = SPECIES_ARBOK; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(species); OPPONENT(species);
@ -79,7 +79,7 @@ SINGLE_BATTLE_TEST("Dire Claw cannot poison/paralyze/cause to fall asleep pokemo
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(species) {Ability(ability);} OPPONENT(species) { Ability(ability); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_DIRE_CLAW, WITH_RNG(RNG_DIRE_CLAW, rng)); } TURN { MOVE(player, MOVE_DIRE_CLAW, WITH_RNG(RNG_DIRE_CLAW, rng)); }
TURN {} TURN {}
@ -108,7 +108,7 @@ SINGLE_BATTLE_TEST("Dire Claw cannot poison/paralyze/cause to fall asleep a mon
PARAMETRIZE { statusAnim = B_ANIM_STATUS_SLP; rng = MOVE_EFFECT_SLEEP; } PARAMETRIZE { statusAnim = B_ANIM_STATUS_SLP; rng = MOVE_EFFECT_SLEEP; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) {Status1(STATUS1_BURN);} OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_DIRE_CLAW, WITH_RNG(RNG_DIRE_CLAW, rng)); } TURN { MOVE(player, MOVE_DIRE_CLAW, WITH_RNG(RNG_DIRE_CLAW, rng)); }
TURN {} TURN {}

View File

@ -42,12 +42,12 @@ SINGLE_BATTLE_TEST("Focus Punch activates only if not damaged")
DOUBLE_BATTLE_TEST("Focus Punch activation is based on Speed") DOUBLE_BATTLE_TEST("Focus Punch activation is based on Speed")
{ {
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) {Speed(2) ;} PLAYER(SPECIES_WOBBUFFET) { Speed(2); }
PLAYER(SPECIES_WYNAUT) {Speed(3) ;} PLAYER(SPECIES_WYNAUT) { Speed(3); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(1) ;} OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
OPPONENT(SPECIES_WYNAUT) {Speed(5) ;} OPPONENT(SPECIES_WYNAUT) { Speed(5); }
} WHEN { } WHEN {
TURN { MOVE(opponentRight, MOVE_FOCUS_PUNCH, target:playerLeft); MOVE(playerRight, MOVE_FOCUS_PUNCH, target:opponentLeft); MOVE(playerLeft, MOVE_FOCUS_PUNCH, target:opponentLeft); MOVE(opponentLeft, MOVE_FOCUS_PUNCH, target:playerLeft); } TURN { MOVE(opponentRight, MOVE_FOCUS_PUNCH, target: playerLeft); MOVE(playerRight, MOVE_FOCUS_PUNCH, target: opponentLeft); MOVE(playerLeft, MOVE_FOCUS_PUNCH, target: opponentLeft); MOVE(opponentLeft, MOVE_FOCUS_PUNCH, target: playerLeft); }
} }
SCENE { SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, opponentRight); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, opponentRight);

View File

@ -56,7 +56,7 @@ SINGLE_BATTLE_TEST("Healing Wish effect activates only if the switched pokemon c
PLAYER(SPECIES_GARDEVOIR) { Speed(300); } PLAYER(SPECIES_GARDEVOIR) { Speed(300); }
PLAYER(SPECIES_NINJASK) { Speed(400); } PLAYER(SPECIES_NINJASK) { Speed(400); }
PLAYER(SPECIES_WYNAUT) { HP(50); MaxHP(100); Status1(STATUS1_PARALYSIS); Speed(50); } PLAYER(SPECIES_WYNAUT) { HP(50); MaxHP(100); Status1(STATUS1_PARALYSIS); Speed(50); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(50); } OPPONENT(SPECIES_WOBBUFFET) { Speed(50); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_HEALING_WISH); SEND_OUT(player, 1); } TURN { MOVE(player, MOVE_HEALING_WISH); SEND_OUT(player, 1); }
TURN { MOVE(player, MOVE_U_TURN); SEND_OUT(player, 2); } TURN { MOVE(player, MOVE_U_TURN); SEND_OUT(player, 2); }

View File

@ -10,8 +10,8 @@ ASSUMPTIONS
SINGLE_BATTLE_TEST("Stone Axe / Ceaseless Edge set up hazards after hitting the target") SINGLE_BATTLE_TEST("Stone Axe / Ceaseless Edge set up hazards after hitting the target")
{ {
u16 move; u16 move;
PARAMETRIZE {move = MOVE_STONE_AXE; } PARAMETRIZE { move = MOVE_STONE_AXE; }
PARAMETRIZE {move = MOVE_CEASELESS_EDGE; } PARAMETRIZE { move = MOVE_CEASELESS_EDGE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);

View File

@ -58,7 +58,7 @@ DOUBLE_BATTLE_TEST("Mind Blown causes the user to faint when below 1/2 of its HP
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_MIND_BLOWN);} TURN { MOVE(playerLeft, MOVE_MIND_BLOWN); }
} SCENE { } SCENE {
HP_BAR(playerLeft, hp: 0); HP_BAR(playerLeft, hp: 0);
ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, playerLeft);
@ -73,7 +73,7 @@ SINGLE_BATTLE_TEST("Mind Blown causes the user & the target to faint when below
OPPONENT(SPECIES_WOBBUFFET) { HP(1); } OPPONENT(SPECIES_WOBBUFFET) { HP(1); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_MIND_BLOWN);} TURN { MOVE(player, MOVE_MIND_BLOWN); }
} SCENE { } SCENE {
HP_BAR(player, hp: 0); HP_BAR(player, hp: 0);
ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, player);
@ -92,7 +92,7 @@ DOUBLE_BATTLE_TEST("Mind Blown causes everyone to faint in a double battle")
OPPONENT(SPECIES_KADABRA) { HP(1); } OPPONENT(SPECIES_KADABRA) { HP(1); }
OPPONENT(SPECIES_KADABRA); OPPONENT(SPECIES_KADABRA);
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_MIND_BLOWN, criticalHit: FALSE); } TURN { MOVE(playerLeft, MOVE_MIND_BLOWN); }
} SCENE { } SCENE {
HP_BAR(playerLeft, hp: 0); HP_BAR(playerLeft, hp: 0);
ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, playerLeft);

View File

@ -104,7 +104,7 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 1 a
OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WYNAUT) { Speed(1); } OPPONENT(SPECIES_WYNAUT) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); } TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft);
MESSAGE("Wobbuffet set a shell trap!"); MESSAGE("Wobbuffet set a shell trap!");
@ -128,7 +128,7 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 2 a
OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WYNAUT) { Speed(6); } OPPONENT(SPECIES_WYNAUT) { Speed(6); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); } TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft);
MESSAGE("Wobbuffet set a shell trap!"); MESSAGE("Wobbuffet set a shell trap!");
@ -152,7 +152,7 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 3 a
OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); }
OPPONENT(SPECIES_WYNAUT) { Speed(6); } OPPONENT(SPECIES_WYNAUT) { Speed(6); }
} WHEN { } WHEN {
TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); } TURN { MOVE(playerLeft, MOVE_SHELL_TRAP); MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft);
MESSAGE("Wobbuffet set a shell trap!"); MESSAGE("Wobbuffet set a shell trap!");

View File

@ -37,8 +37,8 @@ SINGLE_BATTLE_TEST("Stockpile's count can go up only to 3")
SINGLE_BATTLE_TEST("Spit Up and Swallow don't work if used without Stockpile") SINGLE_BATTLE_TEST("Spit Up and Swallow don't work if used without Stockpile")
{ {
u32 move; u32 move;
PARAMETRIZE {move = MOVE_SWALLOW ;} PARAMETRIZE { move = MOVE_SWALLOW; }
PARAMETRIZE {move = MOVE_SPIT_UP ;} PARAMETRIZE { move = MOVE_SPIT_UP; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET) { HP(10), MaxHP(400); } PLAYER(SPECIES_WOBBUFFET) { HP(10), MaxHP(400); }
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
@ -69,9 +69,9 @@ SINGLE_BATTLE_TEST("Spit Up and Swallow don't work if used without Stockpile")
SINGLE_BATTLE_TEST("Spit Up's power raises depending on Stockpile's count", s16 damage) SINGLE_BATTLE_TEST("Spit Up's power raises depending on Stockpile's count", s16 damage)
{ {
u8 count; u8 count;
PARAMETRIZE { count = 1;} PARAMETRIZE { count = 1; }
PARAMETRIZE { count = 2;} PARAMETRIZE { count = 2; }
PARAMETRIZE { count = 3;} PARAMETRIZE { count = 3; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET);
@ -144,14 +144,14 @@ SINGLE_BATTLE_TEST("Swallow heals HP depending on Stockpile's count", s16 hpHeal
SINGLE_BATTLE_TEST("Stockpile temporarily raises Def and Sp. Def", s16 dmgPyhsical, s16 dmgSpecial) SINGLE_BATTLE_TEST("Stockpile temporarily raises Def and Sp. Def", s16 dmgPyhsical, s16 dmgSpecial)
{ {
u16 move; u16 move;
PARAMETRIZE {move = MOVE_STOCKPILE;} PARAMETRIZE { move = MOVE_STOCKPILE; }
PARAMETRIZE {move = MOVE_CELEBRATE;} PARAMETRIZE { move = MOVE_CELEBRATE; }
GIVEN { GIVEN {
ASSUME(B_STOCKPILE_RAISES_DEFS >= GEN_4); ASSUME(B_STOCKPILE_RAISES_DEFS >= GEN_4);
ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL); ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL);
ASSUME(gBattleMoves[MOVE_GUST].split == SPLIT_SPECIAL); ASSUME(gBattleMoves[MOVE_GUST].split == SPLIT_SPECIAL);
PLAYER(SPECIES_WOBBUFFET) {Speed(2); } PLAYER(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) {Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(player, move); MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(player, move); MOVE(opponent, MOVE_TACKLE); }
TURN { MOVE(opponent, MOVE_GUST); } TURN { MOVE(opponent, MOVE_GUST); }
@ -179,9 +179,9 @@ DOUBLE_BATTLE_TEST("Stockpile's Def and Sp. Def boost is lost after using Spit U
{ {
u8 count; u8 count;
u16 move; u16 move;
PARAMETRIZE {count = 1, move = MOVE_SPIT_UP;} PARAMETRIZE { count = 1; move = MOVE_SPIT_UP; }
PARAMETRIZE {count = 2, move = MOVE_SWALLOW;} PARAMETRIZE { count = 2; move = MOVE_SWALLOW; }
PARAMETRIZE {count = 3, move = MOVE_SPIT_UP;} PARAMETRIZE { count = 3; move = MOVE_SPIT_UP; }
GIVEN { GIVEN {
ASSUME(B_STOCKPILE_RAISES_DEFS >= GEN_4); ASSUME(B_STOCKPILE_RAISES_DEFS >= GEN_4);
ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL); ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL);
@ -191,15 +191,15 @@ DOUBLE_BATTLE_TEST("Stockpile's Def and Sp. Def boost is lost after using Spit U
OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } OPPONENT(SPECIES_WOBBUFFET) { Speed(2); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(1); }
} WHEN { } WHEN {
TURN { MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft, criticalHit:FALSE); MOVE(opponentRight, MOVE_GUST, criticalHit:FALSE, target:playerLeft);} TURN { MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(opponentRight, MOVE_GUST, target: playerLeft); }
TURN { MOVE(playerLeft, MOVE_STOCKPILE);} TURN { MOVE(playerLeft, MOVE_STOCKPILE); }
if (count != 1) { if (count != 1) {
TURN { MOVE(playerLeft, MOVE_STOCKPILE);} TURN { MOVE(playerLeft, MOVE_STOCKPILE); }
if (count == 3) { if (count == 3) {
TURN { MOVE(playerLeft, MOVE_STOCKPILE);} TURN { MOVE(playerLeft, MOVE_STOCKPILE); }
} }
} }
TURN { MOVE(playerLeft, move, target:opponentLeft); MOVE(opponentLeft, MOVE_TACKLE, target:playerLeft, criticalHit:FALSE); MOVE(opponentRight, MOVE_GUST, target:playerLeft, criticalHit:FALSE); } TURN { MOVE(playerLeft, move, target: opponentLeft); MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(opponentRight, MOVE_GUST, target: playerLeft); }
} SCENE { } SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft);
HP_BAR(playerLeft, captureDamage: &results[i].dmgPyhsicalBefore); HP_BAR(playerLeft, captureDamage: &results[i].dmgPyhsicalBefore);

View File

@ -41,7 +41,7 @@ SINGLE_BATTLE_TEST("Tri Attack cannot paralyze/burn/freeze electric/fire/ice typ
u16 species; u16 species;
u32 rng; u32 rng;
#if B_PARALYZE_ELECTRIC >= GEN_6 #if B_PARALYZE_ELECTRIC >= GEN_6
PARAMETRIZE { statusAnim = B_ANIM_STATUS_PRZ; rng = MOVE_EFFECT_PARALYSIS; species = SPECIES_RAICHU;} PARAMETRIZE { statusAnim = B_ANIM_STATUS_PRZ; rng = MOVE_EFFECT_PARALYSIS; species = SPECIES_RAICHU; }
#endif // B_PARALYZE_ELECTRIC #endif // B_PARALYZE_ELECTRIC
PARAMETRIZE { statusAnim = B_ANIM_STATUS_BRN; rng = MOVE_EFFECT_BURN; species = SPECIES_ARCANINE; } PARAMETRIZE { statusAnim = B_ANIM_STATUS_BRN; rng = MOVE_EFFECT_BURN; species = SPECIES_ARCANINE; }
PARAMETRIZE { statusAnim = B_ANIM_STATUS_FRZ; rng = MOVE_EFFECT_FREEZE; species = SPECIES_GLALIE; } PARAMETRIZE { statusAnim = B_ANIM_STATUS_FRZ; rng = MOVE_EFFECT_FREEZE; species = SPECIES_GLALIE; }
@ -85,7 +85,7 @@ SINGLE_BATTLE_TEST("Tri Attack cannot paralyze/burn/freeze pokemon with abilitie
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(species) {Ability(ability);} OPPONENT(species) { Ability(ability); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TRI_ATTACK, WITH_RNG(RNG_TRI_ATTACK, rng)); } TURN { MOVE(player, MOVE_TRI_ATTACK, WITH_RNG(RNG_TRI_ATTACK, rng)); }
TURN {} TURN {}
@ -114,7 +114,7 @@ SINGLE_BATTLE_TEST("Tri Attack cannot paralyze/burn/freeze a mon which is alread
PARAMETRIZE { statusAnim = B_ANIM_STATUS_FRZ; rng = MOVE_EFFECT_FREEZE; } PARAMETRIZE { statusAnim = B_ANIM_STATUS_FRZ; rng = MOVE_EFFECT_FREEZE; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) {Status1(STATUS1_SLEEP);} OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_TRI_ATTACK, WITH_RNG(RNG_TRI_ATTACK, rng)); } TURN { MOVE(player, MOVE_TRI_ATTACK, WITH_RNG(RNG_TRI_ATTACK, rng)); }
TURN {} TURN {}

View File

@ -14,7 +14,7 @@ SINGLE_BATTLE_TEST("Venoshock's power doubles if the target is poisoned/badly po
PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; } PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; }
GIVEN { GIVEN {
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) {Status1(status1);} OPPONENT(SPECIES_WOBBUFFET) { Status1(status1); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_VENOSHOCK); } TURN { MOVE(player, MOVE_VENOSHOCK); }
} SCENE { } SCENE {

View File

@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Powder Moves are blocked by Ability Overcoat")
GIVEN { GIVEN {
ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER);
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
OPPONENT(SPECIES_PINECO) { Ability(ABILITY_OVERCOAT);}; OPPONENT(SPECIES_PINECO) { Ability(ABILITY_OVERCOAT); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_STUN_SPORE); } TURN { MOVE(player, MOVE_STUN_SPORE); }
} SCENE { } SCENE {
@ -37,7 +37,7 @@ SINGLE_BATTLE_TEST("Powder Moves are blocked by Item Safety Goggles")
ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER);
ASSUME(gItems[ITEM_SAFETY_GOGGLES].holdEffect == HOLD_EFFECT_SAFETY_GOGGLES); ASSUME(gItems[ITEM_SAFETY_GOGGLES].holdEffect == HOLD_EFFECT_SAFETY_GOGGLES);
PLAYER(SPECIES_WYNAUT); PLAYER(SPECIES_WYNAUT);
OPPONENT(SPECIES_ABRA) { Item(ITEM_SAFETY_GOGGLES);}; OPPONENT(SPECIES_ABRA) { Item(ITEM_SAFETY_GOGGLES); }
} WHEN { } WHEN {
TURN { MOVE(player, MOVE_STUN_SPORE); } TURN { MOVE(player, MOVE_STUN_SPORE); }
} SCENE { } SCENE {

View File

@ -30,7 +30,7 @@ SINGLE_BATTLE_TEST("Frostbite deals 1/16 damage to effected pokemon")
PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_FROSTBITE); } OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_FROSTBITE); }
} WHEN { } WHEN {
TURN { } TURN {}
} SCENE { } SCENE {
MESSAGE("Foe Wobbuffet is hurt by its frostbite!"); MESSAGE("Foe Wobbuffet is hurt by its frostbite!");
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRZ, opponent); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRZ, opponent);