Confusion moves

This commit is contained in:
Nephrite 2023-11-23 23:33:55 +09:00
parent d81bf6afde
commit b7d77ad59e
5 changed files with 54 additions and 40 deletions

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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,

View file

@ -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] =