Freeze/frostbite causing moves
Added move effect FREEZE_OR_FROSTBITE macro so that we only need that if statement once...
This commit is contained in:
parent
5eae07e4b9
commit
98b2c93b3f
@ -27,7 +27,7 @@ gBattleScriptsForMoveEffects::
|
|||||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_2
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_2
|
||||||
.4byte BattleScript_EffectAbsorb @ EFFECT_ABSORB
|
.4byte BattleScript_EffectAbsorb @ EFFECT_ABSORB
|
||||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_4
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_4
|
||||||
.4byte BattleScript_EffectFreezeHit @ EFFECT_FREEZE_HIT
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_5
|
||||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_6
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_6
|
||||||
.4byte BattleScript_EffectExplosion @ EFFECT_EXPLOSION
|
.4byte BattleScript_EffectExplosion @ EFFECT_EXPLOSION
|
||||||
.4byte BattleScript_EffectDreamEater @ EFFECT_DREAM_EATER
|
.4byte BattleScript_EffectDreamEater @ EFFECT_DREAM_EATER
|
||||||
@ -283,11 +283,7 @@ gBattleScriptsForMoveEffects::
|
|||||||
.4byte BattleScript_EffectHealPulse @ EFFECT_HEAL_PULSE
|
.4byte BattleScript_EffectHealPulse @ EFFECT_HEAL_PULSE
|
||||||
.4byte BattleScript_EffectQuash @ EFFECT_QUASH
|
.4byte BattleScript_EffectQuash @ EFFECT_QUASH
|
||||||
.4byte BattleScript_EffectIonDeluge @ EFFECT_ION_DELUGE
|
.4byte BattleScript_EffectIonDeluge @ EFFECT_ION_DELUGE
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.4byte BattleScript_EffectHit @ EFFECT_FREEZE_DRY
|
||||||
.4byte BattleScript_EffectFrostbiteHit @ EFFECT_FREEZE_DRY
|
|
||||||
#else
|
|
||||||
.4byte BattleScript_EffectFreezeHit @ EFFECT_FREEZE_DRY
|
|
||||||
#endif
|
|
||||||
.4byte BattleScript_EffectTopsyTurvy @ EFFECT_TOPSY_TURVY
|
.4byte BattleScript_EffectTopsyTurvy @ EFFECT_TOPSY_TURVY
|
||||||
.4byte BattleScript_EffectMistyTerrain @ EFFECT_MISTY_TERRAIN
|
.4byte BattleScript_EffectMistyTerrain @ EFFECT_MISTY_TERRAIN
|
||||||
.4byte BattleScript_EffectGrassyTerrain @ EFFECT_GRASSY_TERRAIN
|
.4byte BattleScript_EffectGrassyTerrain @ EFFECT_GRASSY_TERRAIN
|
||||||
@ -423,7 +419,7 @@ gBattleScriptsForMoveEffects::
|
|||||||
.4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW
|
.4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW
|
||||||
.4byte BattleScript_EffectHit @ EFFECT_BARB_BARRAGE
|
.4byte BattleScript_EffectHit @ EFFECT_BARB_BARRAGE
|
||||||
.4byte BattleScript_EffectRevivalBlessing @ EFFECT_REVIVAL_BLESSING
|
.4byte BattleScript_EffectRevivalBlessing @ EFFECT_REVIVAL_BLESSING
|
||||||
.4byte BattleScript_EffectFrostbiteHit @ EFFECT_FROSTBITE_HIT
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_397
|
||||||
.4byte BattleScript_EffectSnow @ EFFECT_SNOWSCAPE
|
.4byte BattleScript_EffectSnow @ EFFECT_SNOWSCAPE
|
||||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_399
|
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_399
|
||||||
.4byte BattleScript_EffectHit @ EFFECT_INFERNAL_PARADE
|
.4byte BattleScript_EffectHit @ EFFECT_INFERNAL_PARADE
|
||||||
@ -3347,18 +3343,10 @@ BattleScript_AbsorbHealBlock::
|
|||||||
tryfaintmon BS_TARGET
|
tryfaintmon BS_TARGET
|
||||||
goto BattleScript_MoveEnd
|
goto BattleScript_MoveEnd
|
||||||
|
|
||||||
BattleScript_EffectFrostbiteHit::
|
|
||||||
setmoveeffect MOVE_EFFECT_FROSTBITE
|
|
||||||
goto BattleScript_EffectHit
|
|
||||||
|
|
||||||
BattleScript_EffectSleepHit::
|
BattleScript_EffectSleepHit::
|
||||||
setmoveeffect MOVE_EFFECT_SLEEP
|
setmoveeffect MOVE_EFFECT_SLEEP
|
||||||
goto BattleScript_EffectHit
|
goto BattleScript_EffectHit
|
||||||
|
|
||||||
BattleScript_EffectFreezeHit::
|
|
||||||
setmoveeffect MOVE_EFFECT_FREEZE
|
|
||||||
goto BattleScript_EffectHit
|
|
||||||
|
|
||||||
BattleScript_EffectExplosion_AnimDmgRet:
|
BattleScript_EffectExplosion_AnimDmgRet:
|
||||||
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionAnimRet
|
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionAnimRet
|
||||||
call BattleScript_PreserveMissedBitDoMoveAnim
|
call BattleScript_PreserveMissedBitDoMoveAnim
|
||||||
|
|||||||
@ -316,6 +316,7 @@
|
|||||||
#define MOVE_EFFECT_TOXIC 6
|
#define MOVE_EFFECT_TOXIC 6
|
||||||
#define MOVE_EFFECT_FROSTBITE 7
|
#define MOVE_EFFECT_FROSTBITE 7
|
||||||
#define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_FROSTBITE // All above move effects apply primary status
|
#define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_FROSTBITE // All above move effects apply primary status
|
||||||
|
#define MOVE_EFFECT_FREEZE_OR_FROSTBITE (B_USE_FROSTBITE == TRUE ? MOVE_EFFECT_FROSTBITE : MOVE_EFFECT_FREEZE)
|
||||||
#define MOVE_EFFECT_CONFUSION 8
|
#define MOVE_EFFECT_CONFUSION 8
|
||||||
#define MOVE_EFFECT_FLINCH 9
|
#define MOVE_EFFECT_FLINCH 9
|
||||||
#define MOVE_EFFECT_TRI_ATTACK 10
|
#define MOVE_EFFECT_TRI_ATTACK 10
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
#define EFFECT_UNUSED_2 2
|
#define EFFECT_UNUSED_2 2
|
||||||
#define EFFECT_ABSORB 3
|
#define EFFECT_ABSORB 3
|
||||||
#define EFFECT_UNUSED_4 4
|
#define EFFECT_UNUSED_4 4
|
||||||
#define EFFECT_FREEZE_HIT 5
|
#define EFFECT_UNUSED_5 5
|
||||||
#define EFFECT_UNUSED_6 6
|
#define EFFECT_UNUSED_6 6
|
||||||
#define EFFECT_EXPLOSION 7
|
#define EFFECT_EXPLOSION 7
|
||||||
#define EFFECT_DREAM_EATER 8
|
#define EFFECT_DREAM_EATER 8
|
||||||
@ -400,7 +400,7 @@
|
|||||||
#define EFFECT_DIRE_CLAW 394
|
#define EFFECT_DIRE_CLAW 394
|
||||||
#define EFFECT_BARB_BARRAGE 395
|
#define EFFECT_BARB_BARRAGE 395
|
||||||
#define EFFECT_REVIVAL_BLESSING 396
|
#define EFFECT_REVIVAL_BLESSING 396
|
||||||
#define EFFECT_FROSTBITE_HIT 397
|
#define EFFECT_UNUSED_397 397
|
||||||
#define EFFECT_SNOWSCAPE 398
|
#define EFFECT_SNOWSCAPE 398
|
||||||
#define EFFECT_UNUSED_399 399
|
#define EFFECT_UNUSED_399 399
|
||||||
#define EFFECT_INFERNAL_PARADE 400
|
#define EFFECT_INFERNAL_PARADE 400
|
||||||
|
|||||||
@ -850,10 +850,6 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3
|
|||||||
if (AI_CanPoison(battlerAtk, battlerDef, abilityDef, move, MOVE_NONE))
|
if (AI_CanPoison(battlerAtk, battlerDef, abilityDef, move, MOVE_NONE))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
break;
|
break;
|
||||||
case EFFECT_FREEZE_HIT:
|
|
||||||
if (AI_CanGetFrostbite(battlerDef, abilityDef))
|
|
||||||
return TRUE;
|
|
||||||
break;
|
|
||||||
case EFFECT_HIT_ESCAPE:
|
case EFFECT_HIT_ESCAPE:
|
||||||
if (CountUsablePartyMons(battlerAtk) != 0 && ShouldPivot(battlerAtk, battlerDef, abilityDef, move, AI_THINKING_STRUCT->movesetIndex))
|
if (CountUsablePartyMons(battlerAtk) != 0 && ShouldPivot(battlerAtk, battlerDef, abilityDef, move, AI_THINKING_STRUCT->movesetIndex))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -932,8 +928,7 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3
|
|||||||
if (AI_CanBurn(battlerAtk, battlerDef, abilityDef, BATTLE_PARTNER(battlerAtk), move, MOVE_NONE))
|
if (AI_CanBurn(battlerAtk, battlerDef, abilityDef, BATTLE_PARTNER(battlerAtk), move, MOVE_NONE))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
break;
|
break;
|
||||||
case MOVE_EFFECT_FREEZE:
|
case MOVE_EFFECT_FREEZE_OR_FROSTBITE:
|
||||||
case MOVE_EFFECT_FROSTBITE:
|
|
||||||
if (AI_CanGetFrostbite(battlerDef, abilityDef))
|
if (AI_CanGetFrostbite(battlerDef, abilityDef))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -89,7 +89,6 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
|
|||||||
[EFFECT_HIT] = 1,
|
[EFFECT_HIT] = 1,
|
||||||
[EFFECT_SLEEP] = 1,
|
[EFFECT_SLEEP] = 1,
|
||||||
[EFFECT_ABSORB] = 4,
|
[EFFECT_ABSORB] = 4,
|
||||||
[EFFECT_FREEZE_HIT] = 1,
|
|
||||||
[EFFECT_EXPLOSION] = 0,
|
[EFFECT_EXPLOSION] = 0,
|
||||||
[EFFECT_DREAM_EATER] = 5,
|
[EFFECT_DREAM_EATER] = 5,
|
||||||
[EFFECT_MIRROR_MOVE] = 1,
|
[EFFECT_MIRROR_MOVE] = 1,
|
||||||
@ -468,7 +467,6 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
|
|||||||
[EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points
|
[EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points
|
||||||
[EFFECT_SPECIAL_ATTACK_UP_HIT] = 1,
|
[EFFECT_SPECIAL_ATTACK_UP_HIT] = 1,
|
||||||
[EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points
|
[EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points
|
||||||
[EFFECT_FROSTBITE_HIT] = 1,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u16 sPoints_Effectiveness[] =
|
static const u16 sPoints_Effectiveness[] =
|
||||||
|
|||||||
@ -79,7 +79,7 @@ static const u16 sBurningMoves[] = {
|
|||||||
MOVE_BLAZING_TORQUE,
|
MOVE_BLAZING_TORQUE,
|
||||||
};
|
};
|
||||||
|
|
||||||
// EFFECT_FREEZE, EFFECT_FREEZE_HIT
|
// EFFECT_FREEZE, MOVE_EFFECT_FREEZE_OR_FROSTBITE
|
||||||
static const u16 sFrostbiteMoves[] = {
|
static const u16 sFrostbiteMoves[] = {
|
||||||
MOVE_ICE_PUNCH,
|
MOVE_ICE_PUNCH,
|
||||||
MOVE_ICE_BEAM,
|
MOVE_ICE_BEAM,
|
||||||
|
|||||||
@ -129,16 +129,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
|
|
||||||
[MOVE_ICE_PUNCH] =
|
[MOVE_ICE_PUNCH] =
|
||||||
{
|
{
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.effect = EFFECT_HIT,
|
||||||
.effect = EFFECT_FROSTBITE_HIT,
|
|
||||||
#else
|
|
||||||
.effect = EFFECT_FREEZE_HIT,
|
|
||||||
#endif
|
|
||||||
.power = 75,
|
.power = 75,
|
||||||
.type = TYPE_ICE,
|
.type = TYPE_ICE,
|
||||||
.accuracy = 100,
|
.accuracy = 100,
|
||||||
.pp = 15,
|
.pp = 15,
|
||||||
.secondaryEffectChance = 10,
|
|
||||||
.target = MOVE_TARGET_SELECTED,
|
.target = MOVE_TARGET_SELECTED,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.split = SPLIT_PHYSICAL,
|
.split = SPLIT_PHYSICAL,
|
||||||
@ -146,6 +141,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
.makesContact = TRUE,
|
.makesContact = TRUE,
|
||||||
.punchingMove = TRUE,
|
.punchingMove = TRUE,
|
||||||
.sheerForceBoost = TRUE,
|
.sheerForceBoost = TRUE,
|
||||||
|
ADDITIONAL_EFFECTS(
|
||||||
|
SECONDARY_EFFECT(MOVE_EFFECT_FREEZE_OR_FROSTBITE, 10)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_THUNDER_PUNCH] =
|
[MOVE_THUNDER_PUNCH] =
|
||||||
@ -1041,20 +1039,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
#endif
|
#endif
|
||||||
// The following effect is also relevant in battle_pike.c
|
// The following effect is also relevant in battle_pike.c
|
||||||
// If you cherry-pick this to use something other than the config, make sure to update it there too
|
// If you cherry-pick this to use something other than the config, make sure to update it there too
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.effect = EFFECT_HIT,
|
||||||
.effect = EFFECT_FROSTBITE_HIT,
|
|
||||||
#else
|
|
||||||
.effect = EFFECT_FREEZE_HIT,
|
|
||||||
#endif
|
|
||||||
.type = TYPE_ICE,
|
.type = TYPE_ICE,
|
||||||
.accuracy = 100,
|
.accuracy = 100,
|
||||||
.pp = 10,
|
.pp = 10,
|
||||||
.secondaryEffectChance = 10,
|
|
||||||
.target = MOVE_TARGET_SELECTED,
|
.target = MOVE_TARGET_SELECTED,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.split = SPLIT_SPECIAL,
|
.split = SPLIT_SPECIAL,
|
||||||
.zMoveEffect = Z_EFFECT_NONE,
|
.zMoveEffect = Z_EFFECT_NONE,
|
||||||
.sheerForceBoost = TRUE,
|
.sheerForceBoost = TRUE,
|
||||||
|
ADDITIONAL_EFFECTS(
|
||||||
|
SECONDARY_EFFECT(MOVE_EFFECT_FREEZE_OR_FROSTBITE, 10)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_BLIZZARD] =
|
[MOVE_BLIZZARD] =
|
||||||
@ -1064,21 +1060,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
#else
|
#else
|
||||||
.power = 120,
|
.power = 120,
|
||||||
#endif
|
#endif
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.effect = EFFECT_HIT,
|
||||||
.effect = EFFECT_FROSTBITE_HIT,
|
|
||||||
#else
|
|
||||||
.effect = EFFECT_FREEZE_HIT,
|
|
||||||
#endif
|
|
||||||
.type = TYPE_ICE,
|
.type = TYPE_ICE,
|
||||||
.accuracy = 70,
|
.accuracy = 70,
|
||||||
.pp = 5,
|
.pp = 5,
|
||||||
.secondaryEffectChance = 10,
|
|
||||||
.target = MOVE_TARGET_BOTH,
|
.target = MOVE_TARGET_BOTH,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.split = SPLIT_SPECIAL,
|
.split = SPLIT_SPECIAL,
|
||||||
.zMoveEffect = Z_EFFECT_NONE,
|
.zMoveEffect = Z_EFFECT_NONE,
|
||||||
.sheerForceBoost = TRUE,
|
.sheerForceBoost = TRUE,
|
||||||
.windMove = TRUE,
|
.windMove = TRUE,
|
||||||
|
ADDITIONAL_EFFECTS(
|
||||||
|
SECONDARY_EFFECT(MOVE_EFFECT_FREEZE_OR_FROSTBITE, 10)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_PSYBEAM] =
|
[MOVE_PSYBEAM] =
|
||||||
@ -3274,21 +3268,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
|
|
||||||
[MOVE_POWDER_SNOW] =
|
[MOVE_POWDER_SNOW] =
|
||||||
{
|
{
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.effect = EFFECT_HIT,
|
||||||
.effect = EFFECT_FROSTBITE_HIT,
|
|
||||||
#else
|
|
||||||
.effect = EFFECT_FREEZE_HIT,
|
|
||||||
#endif
|
|
||||||
.power = 40,
|
.power = 40,
|
||||||
.type = TYPE_ICE,
|
.type = TYPE_ICE,
|
||||||
.accuracy = 100,
|
.accuracy = 100,
|
||||||
.pp = 25,
|
.pp = 25,
|
||||||
.secondaryEffectChance = 10,
|
|
||||||
.target = MOVE_TARGET_BOTH,
|
.target = MOVE_TARGET_BOTH,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.split = SPLIT_SPECIAL,
|
.split = SPLIT_SPECIAL,
|
||||||
.zMoveEffect = Z_EFFECT_NONE,
|
.zMoveEffect = Z_EFFECT_NONE,
|
||||||
.sheerForceBoost = TRUE,
|
.sheerForceBoost = TRUE,
|
||||||
|
ADDITIONAL_EFFECTS(
|
||||||
|
SECONDARY_EFFECT(MOVE_EFFECT_FREEZE_OR_FROSTBITE, 10)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_PROTECT] =
|
[MOVE_PROTECT] =
|
||||||
@ -12184,9 +12176,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
.zMoveEffect = Z_EFFECT_NONE,
|
.zMoveEffect = Z_EFFECT_NONE,
|
||||||
.makesContact = TRUE,
|
.makesContact = TRUE,
|
||||||
.bitingMove = TRUE,
|
.bitingMove = TRUE,
|
||||||
ADDITIONAL_EFFECTS(
|
// ADDITIONAL_EFFECTS( // broke it oops
|
||||||
PRIMARY_EFFECT(MOVE_EFFECT_TRAP_BOTH)
|
// PRIMARY_EFFECT(MOVE_EFFECT_TRAP_BOTH),
|
||||||
)
|
// )
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_STUFF_CHEEKS] =
|
[MOVE_STUFF_CHEEKS] =
|
||||||
@ -13112,21 +13104,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||||||
[MOVE_FREEZING_GLARE] =
|
[MOVE_FREEZING_GLARE] =
|
||||||
{
|
{
|
||||||
.power = 90,
|
.power = 90,
|
||||||
#if B_USE_FROSTBITE == TRUE
|
.effect = EFFECT_HIT,
|
||||||
.effect = EFFECT_FROSTBITE_HIT,
|
|
||||||
#else
|
|
||||||
.effect = EFFECT_FREEZE_HIT,
|
|
||||||
#endif
|
|
||||||
.type = TYPE_PSYCHIC,
|
.type = TYPE_PSYCHIC,
|
||||||
.accuracy = 100,
|
.accuracy = 100,
|
||||||
.pp = 10,
|
.pp = 10,
|
||||||
.secondaryEffectChance = 10,
|
|
||||||
.target = MOVE_TARGET_SELECTED,
|
.target = MOVE_TARGET_SELECTED,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.split = SPLIT_SPECIAL,
|
.split = SPLIT_SPECIAL,
|
||||||
.zMoveEffect = Z_EFFECT_NONE,
|
.zMoveEffect = Z_EFFECT_NONE,
|
||||||
.sheerForceBoost = TRUE,
|
.sheerForceBoost = TRUE,
|
||||||
.metronomeBanned = TRUE,
|
.metronomeBanned = TRUE,
|
||||||
|
ADDITIONAL_EFFECTS(
|
||||||
|
SECONDARY_EFFECT(MOVE_EFFECT_FREEZE_OR_FROSTBITE, 10)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|
|
||||||
[MOVE_FIERY_WRATH] =
|
[MOVE_FIERY_WRATH] =
|
||||||
|
|||||||
@ -9,29 +9,21 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents non-volatile status conditions in sun")
|
|||||||
PARAMETRIZE { move = MOVE_HYPNOSIS; status = STATUS1_SLEEP; }
|
PARAMETRIZE { move = MOVE_HYPNOSIS; status = STATUS1_SLEEP; }
|
||||||
PARAMETRIZE { move = MOVE_THUNDER_WAVE; status = STATUS1_PARALYSIS; }
|
PARAMETRIZE { move = MOVE_THUNDER_WAVE; status = STATUS1_PARALYSIS; }
|
||||||
PARAMETRIZE { move = MOVE_TOXIC; status = STATUS1_TOXIC_POISON; }
|
PARAMETRIZE { move = MOVE_TOXIC; status = STATUS1_TOXIC_POISON; }
|
||||||
PARAMETRIZE { move = MOVE_POWDER_SNOW; status = STATUS1_FREEZE; }
|
// PARAMETRIZE { move = MOVE_POWDER_SNOW; status = STATUS1_FREEZE; } // Pointless since you can't freeze in sunlight anyway
|
||||||
GIVEN {
|
GIVEN {
|
||||||
ASSUME(gBattleMoves[MOVE_WILL_O_WISP].effect == EFFECT_WILL_O_WISP);
|
ASSUME(gBattleMoves[MOVE_WILL_O_WISP].effect == EFFECT_WILL_O_WISP);
|
||||||
ASSUME(gBattleMoves[MOVE_HYPNOSIS].effect == EFFECT_SLEEP);
|
ASSUME(gBattleMoves[MOVE_HYPNOSIS].effect == EFFECT_SLEEP);
|
||||||
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].effect == EFFECT_PARALYZE);
|
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].effect == EFFECT_PARALYZE);
|
||||||
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
||||||
ASSUME(gBattleMoves[MOVE_POWDER_SNOW].effect == EFFECT_FREEZE_HIT);
|
|
||||||
PLAYER(SPECIES_LEAFEON) { Ability(ABILITY_LEAF_GUARD); }
|
PLAYER(SPECIES_LEAFEON) { Ability(ABILITY_LEAF_GUARD); }
|
||||||
OPPONENT(SPECIES_WOBBUFFET);
|
OPPONENT(SPECIES_WOBBUFFET);
|
||||||
} WHEN {
|
} WHEN {
|
||||||
TURN { MOVE(player, MOVE_SUNNY_DAY); MOVE(opponent, move); }
|
TURN { MOVE(player, MOVE_SUNNY_DAY); MOVE(opponent, move); }
|
||||||
} SCENE {
|
} SCENE {
|
||||||
if (move != MOVE_POWDER_SNOW) {
|
NOT ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
||||||
NOT ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
ABILITY_POPUP(player, ABILITY_LEAF_GUARD);
|
||||||
ABILITY_POPUP(player, ABILITY_LEAF_GUARD);
|
MESSAGE("It doesn't affect Leafeon…");
|
||||||
MESSAGE("It doesn't affect Leafeon…");
|
NOT STATUS_ICON(player, status);
|
||||||
NOT STATUS_ICON(player, status);
|
|
||||||
} else {
|
|
||||||
NONE_OF {
|
|
||||||
ABILITY_POPUP(player, ABILITY_LEAF_GUARD);
|
|
||||||
STATUS_ICON(player, status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,7 +47,7 @@ SINGLE_BATTLE_TEST("Purifying Salt grants immunity to status effects")
|
|||||||
ASSUME(gBattleMoves[MOVE_HYPNOSIS].effect == EFFECT_SLEEP);
|
ASSUME(gBattleMoves[MOVE_HYPNOSIS].effect == EFFECT_SLEEP);
|
||||||
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].effect == EFFECT_PARALYZE);
|
ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].effect == EFFECT_PARALYZE);
|
||||||
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
||||||
ASSUME(gBattleMoves[MOVE_POWDER_SNOW].effect == EFFECT_FREEZE_HIT);
|
ASSUME(gBattleMoves[MOVE_POWDER_SNOW].additionalEffects[0].moveEffect == MOVE_EFFECT_FREEZE_OR_FROSTBITE);
|
||||||
PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_PURIFYING_SALT); }
|
PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_PURIFYING_SALT); }
|
||||||
OPPONENT(SPECIES_WOBBUFFET);
|
OPPONENT(SPECIES_WOBBUFFET);
|
||||||
} WHEN {
|
} WHEN {
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
ASSUMPTIONS
|
ASSUMPTIONS
|
||||||
{
|
{
|
||||||
ASSUME(gBattleMoves[MOVE_POWDER_SNOW].effect == EFFECT_FREEZE_HIT);
|
ASSUME(gBattleMoves[MOVE_POWDER_SNOW].additionalEffects[0].moveEffect == MOVE_EFFECT_FREEZE_OR_FROSTBITE);
|
||||||
ASSUME(gBattleMoves[MOVE_BLIZZARD].accuracy == 70);
|
ASSUME(gBattleMoves[MOVE_BLIZZARD].accuracy == 70);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user