Confusion moves
This commit is contained in:
parent
d81bf6afde
commit
b7d77ad59e
5 changed files with 54 additions and 40 deletions
|
@ -97,7 +97,7 @@ gBattleScriptsForMoveEffects::
|
|||
.4byte BattleScript_EffectAccuracyDownHit @ EFFECT_ACCURACY_DOWN_HIT
|
||||
.4byte BattleScript_EffectHit @ EFFECT_EVASION_DOWN_HIT
|
||||
.4byte BattleScript_EffectTwoTurnsAttack @ EFFECT_TWO_TURNS_ATTACK
|
||||
.4byte BattleScript_EffectConfuseHit @ EFFECT_CONFUSE_HIT
|
||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_75
|
||||
.4byte BattleScript_EffectHit @ EFFECT_VITAL_THROW
|
||||
.4byte BattleScript_EffectSubstitute @ EFFECT_SUBSTITUTE
|
||||
.4byte BattleScript_EffectRecharge @ EFFECT_RECHARGE
|
||||
|
@ -434,7 +434,7 @@ gBattleScriptsForMoveEffects::
|
|||
.4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN
|
||||
.4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS
|
||||
.4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB
|
||||
.4byte BattleScript_EffectMortalSpin @ EFFECT_MORTAL_SPIN
|
||||
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_408
|
||||
.4byte BattleScript_EffectSaltCure @ EFFECT_SALT_CURE
|
||||
.4byte BattleScript_EffectSyrupBomb @ EFFECT_SYRUP_BOMB
|
||||
.4byte BattleScript_EffectHit @ EFFECT_IVY_CUDGEL
|
||||
|
@ -493,15 +493,6 @@ BattleScript_HurtTarget_NoString:
|
|||
tryfaintmon BS_TARGET
|
||||
return
|
||||
|
||||
BattleScript_EffectMortalSpin:
|
||||
call BattleScript_EffectHit_Ret
|
||||
rapidspinfree
|
||||
setmoveeffect MOVE_EFFECT_POISON
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
moveendall
|
||||
end
|
||||
|
||||
BattleScript_EffectCorrosiveGas:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
#define EFFECT_ACCURACY_DOWN_HIT 72
|
||||
#define EFFECT_EVASION_DOWN_HIT 73
|
||||
#define EFFECT_TWO_TURNS_ATTACK 74
|
||||
#define EFFECT_CONFUSE_HIT 75
|
||||
#define EFFECT_UNUSED_75 75
|
||||
#define EFFECT_VITAL_THROW 76
|
||||
#define EFFECT_SUBSTITUTE 77
|
||||
#define EFFECT_RECHARGE 78
|
||||
|
@ -411,7 +411,7 @@
|
|||
#define EFFECT_MAKE_IT_RAIN 405
|
||||
#define EFFECT_CORROSIVE_GAS 406
|
||||
#define EFFECT_POPULATION_BOMB 407
|
||||
#define EFFECT_MORTAL_SPIN 408
|
||||
#define EFFECT_UNUSED_408 408
|
||||
#define EFFECT_SALT_CURE 409
|
||||
#define EFFECT_SYRUP_BOMB 410
|
||||
#define EFFECT_IVY_CUDGEL 411
|
||||
|
|
|
@ -854,10 +854,6 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3
|
|||
if (AI_CanGetFrostbite(battlerDef, abilityDef))
|
||||
return TRUE;
|
||||
break;
|
||||
case EFFECT_CONFUSE_HIT:
|
||||
if (AI_CanConfuse(battlerAtk, battlerDef, abilityDef, BATTLE_PARTNER(battlerAtk), move, MOVE_NONE))
|
||||
return TRUE;
|
||||
break;
|
||||
case EFFECT_HIT_ESCAPE:
|
||||
if (CountUsablePartyMons(battlerAtk) != 0 && ShouldPivot(battlerAtk, battlerDef, abilityDef, move, AI_THINKING_STRUCT->movesetIndex))
|
||||
return TRUE;
|
||||
|
@ -945,6 +941,10 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3
|
|||
if (AI_CanParalyze(battlerAtk, battlerDef, abilityDef, move, MOVE_NONE))
|
||||
return TRUE;
|
||||
break;
|
||||
case MOVE_EFFECT_CONFUSION:
|
||||
if (AI_CanConfuse(battlerAtk, battlerDef, abilityDef, BATTLE_PARTNER(battlerAtk), move, MOVE_NONE))
|
||||
return TRUE;
|
||||
break;
|
||||
case MOVE_EFFECT_FLINCH:
|
||||
if (ShouldTryToFlinch(battlerAtk, battlerDef, abilityAtk, abilityDef, move))
|
||||
return TRUE;
|
||||
|
|
|
@ -158,7 +158,6 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
|
|||
[EFFECT_ACCURACY_DOWN_HIT] = 1,
|
||||
[EFFECT_EVASION_DOWN_HIT] = 1,
|
||||
// [EFFECT_SKY_ATTACK] = 4,
|
||||
[EFFECT_CONFUSE_HIT] = 1,
|
||||
// [EFFECT_TWINEEDLE] = 1,
|
||||
[EFFECT_VITAL_THROW] = 1,
|
||||
[EFFECT_SUBSTITUTE] = 4,
|
||||
|
|
|
@ -1083,17 +1083,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_PSYBEAM] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 65,
|
||||
.type = TYPE_PSYCHIC,
|
||||
.accuracy = 100,
|
||||
.pp = 20,
|
||||
.secondaryEffectChance = 10,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 10)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_BUBBLE_BEAM] =
|
||||
|
@ -1661,17 +1663,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_CONFUSION] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 50,
|
||||
.type = TYPE_PSYCHIC,
|
||||
.accuracy = 100,
|
||||
.pp = 25,
|
||||
.secondaryEffectChance = 10,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 10)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_PSYCHIC] =
|
||||
|
@ -2623,12 +2627,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_DIZZY_PUNCH] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 70,
|
||||
.type = TYPE_NORMAL,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 20,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
|
@ -2636,6 +2639,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.makesContact = TRUE,
|
||||
.punchingMove = TRUE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 20)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_SPORE] =
|
||||
|
@ -4040,12 +4046,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_DYNAMIC_PUNCH] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 100,
|
||||
.type = TYPE_FIGHTING,
|
||||
.accuracy = 50,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 100,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
|
@ -4053,6 +4058,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.makesContact = TRUE,
|
||||
.punchingMove = TRUE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 100)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_MEGAHORN] =
|
||||
|
@ -5837,17 +5845,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_SIGNAL_BEAM] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 75,
|
||||
.type = TYPE_BUG,
|
||||
.accuracy = 100,
|
||||
.pp = 15,
|
||||
.secondaryEffectChance = 10,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 10)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_SHADOW_PUNCH] =
|
||||
|
@ -6341,18 +6351,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_WATER_PULSE] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 60,
|
||||
.type = TYPE_WATER,
|
||||
.accuracy = 100,
|
||||
.pp = 20,
|
||||
.secondaryEffectChance = 20,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.sheerForceBoost = TRUE,
|
||||
.pulseMove = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 20)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_DOOM_DESIRE] =
|
||||
|
@ -7690,18 +7702,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_ROCK_CLIMB] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 90,
|
||||
.type = TYPE_NORMAL,
|
||||
.accuracy = 85,
|
||||
.pp = 20,
|
||||
.secondaryEffectChance = 20,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
.sheerForceBoost = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 20)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_DEFOG] =
|
||||
|
@ -7976,15 +7990,21 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
{
|
||||
#if B_UPDATED_MOVE_DATA >= GEN_6
|
||||
.power = 65,
|
||||
.secondaryEffectChance = 100,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 100)
|
||||
),
|
||||
#elif B_UPDATED_MOVE_DATA == GEN_5
|
||||
.power = 60,
|
||||
.secondaryEffectChance = 10,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 10)
|
||||
),
|
||||
#else
|
||||
.power = 60,
|
||||
.secondaryEffectChance = 31,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 31)
|
||||
),
|
||||
#endif
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.type = TYPE_FLYING,
|
||||
.accuracy = 100,
|
||||
.pp = 20,
|
||||
|
@ -12585,18 +12605,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_STRANGE_STEAM] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 90,
|
||||
.type = TYPE_FAIRY,
|
||||
.accuracy = 95,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 20,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.sheerForceBoost = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 20)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_LIFE_DEW] =
|
||||
|
@ -14454,12 +14476,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
[MOVE_MAGICAL_TORQUE] =
|
||||
{
|
||||
.effect = EFFECT_CONFUSE_HIT,
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 100,
|
||||
.type = TYPE_FAIRY,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 30,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
|
@ -14474,6 +14495,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
ADDITIONAL_EFFECTS(
|
||||
SECONDARY_EFFECT(MOVE_EFFECT_CONFUSION, 30)
|
||||
)
|
||||
},
|
||||
|
||||
[MOVE_PSYBLADE] =
|
||||
|
|
Loading…
Reference in a new issue