Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dev_gen9_abilities

This commit is contained in:
LOuroboros 2022-12-12 19:55:48 -03:00
commit a56cfd1aa7
26 changed files with 2134 additions and 445 deletions

View File

@ -358,7 +358,7 @@ If this works, then proceed to [Installation](#installation). Otherwise, ask for
1. If pokeemerald is not already downloaded (some users may prefer to download pokeemerald via a git client like GitHub Desktop), run:
```bash
git clone https://github.com/pret/pokeemerald
git clone https://github.com/rh-hideout/pokeemerald-expansion
```
<details>

View File

@ -1162,7 +1162,7 @@
.4byte \ptr
.endm
.macro trygetintimidatetarget ptr:req
.macro unused2 ptr:req
.byte 0xe1
.4byte \ptr
.endm
@ -1332,8 +1332,8 @@
various \battler, VARIOUS_GET_BATTLER_FAINTED
.endm
.macro resetintimidatetracebits battler:req
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.macro resetswitchinabilitybits battler:req
various \battler, VARIOUS_RESET_SWITCH_IN_ABILITY_BITS
.endm
.macro updatechoicemoveonlvlup battler:req

View File

@ -805,6 +805,55 @@ gBattleAnims_Moves::
.4byte Move_SANDSEAR_STORM
.4byte Move_LUNAR_BLESSING
.4byte Move_TAKE_HEART
@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@
.4byte Move_TERA_BLAST
.4byte Move_SILK_TRAP
.4byte Move_AXE_KICK
.4byte Move_LAST_RESPECTS
.4byte Move_LUMINA_CRASH
.4byte Move_ORDER_UP
.4byte Move_JET_PUNCH
.4byte Move_SPICY_EXTRACT
.4byte Move_SPIN_OUT
.4byte Move_POPULATION_BOMB
.4byte Move_ICE_SPINNER
.4byte Move_GLAIVE_RUSH
.4byte Move_REVIVAL_BLESSING
.4byte Move_SALT_CURE
.4byte Move_TRIPLE_DIVE
.4byte Move_MORTAL_SPIN
.4byte Move_DOODLE
.4byte Move_FILLET_AWAY
.4byte Move_KOWTOW_CLEAVE
.4byte Move_FLOWER_TRICK
.4byte Move_TORCH_SONG
.4byte Move_AQUA_STEP
.4byte Move_RAGING_BULL
.4byte Move_MAKE_IT_RAIN
.4byte Move_RUINATION
.4byte Move_COLLISION_COURSE
.4byte Move_ELECTRO_DRIFT
.4byte Move_SHED_TAIL
.4byte Move_CHILLY_RECEPTION
.4byte Move_TIDY_UP
.4byte Move_SNOWSCAPE
.4byte Move_POUNCE
.4byte Move_TRAILBLAZE
.4byte Move_CHILLING_WATER
.4byte Move_HYPER_DRILL
.4byte Move_TWIN_BEAM
.4byte Move_RAGE_FIST
.4byte Move_ARMOR_CANNON
.4byte Move_BITTER_BLADE
.4byte Move_DOUBLE_SHOCK
.4byte Move_GIGATON_HAMMER
.4byte Move_COMEUPPANCE
.4byte Move_AQUA_CUTTER
.4byte Move_BLAZING_TORQUE
.4byte Move_WICKED_TORQUE
.4byte Move_NOXIOUS_TORQUE
.4byte Move_COMBAT_TORQUE
.4byte Move_MAGICAL_TORQUE
@@@@ Z MOVES
.4byte Move_BREAKNECK_BLITZ
.4byte Move_ALL_OUT_PUMMELING
@ -14345,6 +14394,54 @@ Move_WILDBOLT_STORM::
Move_SANDSEAR_STORM::
Move_LUNAR_BLESSING::
Move_TAKE_HEART::
Move_TERA_BLAST::
Move_SILK_TRAP::
Move_AXE_KICK::
Move_LAST_RESPECTS::
Move_LUMINA_CRASH::
Move_ORDER_UP::
Move_JET_PUNCH::
Move_SPICY_EXTRACT::
Move_SPIN_OUT::
Move_POPULATION_BOMB::
Move_ICE_SPINNER::
Move_GLAIVE_RUSH::
Move_REVIVAL_BLESSING::
Move_SALT_CURE::
Move_TRIPLE_DIVE::
Move_MORTAL_SPIN::
Move_DOODLE::
Move_FILLET_AWAY::
Move_KOWTOW_CLEAVE::
Move_FLOWER_TRICK::
Move_TORCH_SONG::
Move_AQUA_STEP::
Move_RAGING_BULL::
Move_MAKE_IT_RAIN::
Move_RUINATION::
Move_COLLISION_COURSE::
Move_ELECTRO_DRIFT::
Move_SHED_TAIL::
Move_CHILLY_RECEPTION::
Move_TIDY_UP::
Move_SNOWSCAPE::
Move_POUNCE::
Move_TRAILBLAZE::
Move_CHILLING_WATER::
Move_HYPER_DRILL::
Move_TWIN_BEAM::
Move_RAGE_FIST::
Move_ARMOR_CANNON::
Move_BITTER_BLADE::
Move_DOUBLE_SHOCK::
Move_GIGATON_HAMMER::
Move_COMEUPPANCE::
Move_AQUA_CUTTER::
Move_BLAZING_TORQUE::
Move_WICKED_TORQUE::
Move_NOXIOUS_TORQUE::
Move_COMBAT_TORQUE::
Move_MAGICAL_TORQUE::
end @to do
@@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@

View File

@ -412,6 +412,10 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST
.4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN
.4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID
.4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT
.4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK
.4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT
.4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE
BattleScript_AffectionBasedEndurance::
playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON
@ -1281,6 +1285,23 @@ BattleScript_BurnUpRemoveType::
waitmessage B_WAIT_TIME_LONG
return
BattleScript_EffectDoubleShock:
attackcanceler
attackstring
ppreduce
jumpiftype BS_ATTACKER, TYPE_ELECTRIC, BattleScript_DoubleShockWorks
goto BattleScript_ButItFailed
BattleScript_DoubleShockWorks:
setmoveeffect MOVE_EFFECT_DOUBLE_SHOCK | MOVE_EFFECT_CERTAIN
goto BattleScript_EffectHit
BattleScript_DoubleShockRemoveType::
losetype BS_ATTACKER, TYPE_ELECTRIC
printstring STRINGID_ATTACKERLOSTELECTRICTYPE
waitmessage B_WAIT_TIME_LONG
return
BattleScript_EffectPurify:
attackcanceler
attackstring
@ -2326,6 +2347,38 @@ BattleScript_QuiverDanceTrySpeed::
BattleScript_QuiverDanceEnd::
goto BattleScript_MoveEnd
BattleScript_EffectVictoryDance:
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
BattleScript_VictoryDanceDoMoveAnim::
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED, 0
setstatchanger STAT_ATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTryDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceTryDef::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceEnd::
goto BattleScript_MoveEnd
BattleScript_EffectSpeedUpHit:
setmoveeffect MOVE_EFFECT_SPD_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
goto BattleScript_EffectHit
@ -3202,6 +3255,10 @@ BattleScript_EffectBurnHit::
setmoveeffect MOVE_EFFECT_BURN
goto BattleScript_EffectHit
BattleScript_EffectSleepHit::
setmoveeffect MOVE_EFFECT_SLEEP
goto BattleScript_EffectHit
BattleScript_EffectFreezeHit::
setmoveeffect MOVE_EFFECT_FREEZE
goto BattleScript_EffectHit
@ -4975,6 +5032,10 @@ BattleScript_EffectAttackUpHit::
setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
goto BattleScript_EffectHit
BattleScript_EffectSpecialAttackUpHit::
setmoveeffect MOVE_EFFECT_SP_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
goto BattleScript_EffectHit
BattleScript_EffectAllStatsUpHit::
setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER
goto BattleScript_EffectHit
@ -6135,7 +6196,7 @@ BattleScript_FaintedMonTryChoose:
jumpifbyte CMP_EQUAL, gBattleCommunication, PARTY_SIZE, BattleScript_FaintedMonSendOutNew
@ Switch Pokémon before opponent
atknameinbuff1
resetintimidatetracebits BS_ATTACKER
resetswitchinabilitybits BS_ATTACKER
hpthresholds2 BS_ATTACKER
printstring STRINGID_RETURNMON
switchoutabilities BS_ATTACKER
@ -8342,19 +8403,15 @@ BattleScript_TryAdrenalineOrb:
BattleScript_TryAdrenalineOrbRet:
return
BattleScript_IntimidateActivatesEnd3::
call BattleScript_PauseIntimidateActivates
end3
BattleScript_PauseIntimidateActivates:
pause B_WAIT_TIME_SHORT
BattleScript_IntimidateActivates::
showabilitypopup BS_ATTACKER
pause B_WAIT_TIME_LONG
destroyabilitypopup
setbyte gBattlerTarget, 0
call BattleScript_AbilityPopUp
BattleScript_IntimidateActivatesLoop:
setstatchanger STAT_ATK, 1, TRUE
trygetintimidatetarget BattleScript_IntimidateActivatesReturn
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateActivatesLoopIncrement
BattleScript_IntimidateLoop:
jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_IntimidateLoopIncrement
jumpiftargetally BattleScript_IntimidateLoopIncrement
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateLoopIncrement
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented
@ -8364,27 +8421,31 @@ BattleScript_IntimidateActivatesLoop:
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented
.endif
statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateActivatesLoopIncrement
BattleScript_IntimidateEffect:
copybyte sBATTLER, gBattlerTarget
statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printstring STRINGID_PKMNCUTSATTACKWITH
waitmessage B_WAIT_TIME_LONG
call BattleScript_TryAdrenalineOrb
BattleScript_IntimidateActivatesLoopIncrement:
BattleScript_IntimidateLoopIncrement:
addbyte gBattlerTarget, 1
goto BattleScript_IntimidateActivatesLoop
BattleScript_IntimidateActivatesReturn:
return
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_IntimidateLoop
BattleScript_IntimidateEnd:
destroyabilitypopup
pause B_WAIT_TIME_MED
end3
BattleScript_IntimidatePrevented:
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUp
pause B_WAIT_TIME_LONG
setbyte gBattleCommunication STAT_ATK
stattextbuffer BS_ATTACKER
stattextbuffer BS_TARGET
printstring STRINGID_STATWASNOTLOWERED
waitmessage B_WAIT_TIME_LONG
call BattleScript_TryAdrenalineOrb
goto BattleScript_IntimidateActivatesLoopIncrement
goto BattleScript_IntimidateLoopIncrement
BattleScript_DroughtActivates::
pause B_WAIT_TIME_SHORT

View File

@ -53,7 +53,7 @@ struct ResourceFlags
#define RESOURCE_FLAG_FLASH_FIRE 0x1
#define RESOURCE_FLAG_ROOST 0x2
#define RESOURCE_FLAG_UNBURDEN 0x4
#define RESOURCE_FLAG_INTIMIDATED 0x8
#define RESOURCE_FLAG_UNUSED 0x8
#define RESOURCE_FLAG_TRACED 0x10
#define RESOURCE_FLAG_EMERGENCY_EXIT 0x20
#define RESOURCE_FLAG_NEUTRALIZING_GAS 0x40
@ -156,41 +156,42 @@ struct ProtectStruct
struct SpecialStatus
{
u8 statLowered:1;
u8 lightningRodRedirected:1;
u8 restoredBattlerSprite: 1;
u8 intimidatedMon:1;
u8 traced:1;
u8 ppNotAffectedByPressure:1;
u8 faintedHasReplacement:1;
u8 focusBanded:1;
// End of byte
u8 focusSashed:1;
u8 sturdied:1;
u8 stormDrainRedirected:1;
u8 switchInAbilityDone:1;
u8 switchInItemDone:1;
u8 instructedChosenTarget:3;
// End of byte
u8 berryReduced:1;
u8 gemBoost:1;
u8 rototillerAffected:1; // to be affected by rototiller
u8 parentalBondState:2;
u8 multiHitOn:1;
// End of byte, two bits unused
u8 gemParam;
u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute.
u8 dancerUsedMove:1;
u8 dancerOriginalTarget:3;
u8 announceNeutralizingGas:1; // See Cmd_switchineffects
u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS
u8 affectionEndured:1;
s32 dmg;
s32 physicalDmg;
s32 specialDmg;
u8 physicalBattlerId;
u8 specialBattlerId;
u8 changedStatsBattlerId; // Battler that was responsible for the latest stat change. Can be self.
u8 statLowered:1;
u8 lightningRodRedirected:1;
u8 restoredBattlerSprite: 1;
u8 traced:1;
u8 ppNotAffectedByPressure:1;
u8 faintedHasReplacement:1;
u8 focusBanded:1;
u8 focusSashed:1;
// End of byte
u8 sturdied:1;
u8 stormDrainRedirected:1;
u8 switchInAbilityDone:1;
u8 switchInItemDone:1;
u8 instructedChosenTarget:3;
u8 berryReduced:1;
// End of byte
u8 gemParam;
// End of byte
u8 gemBoost:1;
u8 rototillerAffected:1; // to be affected by rototiller
u8 parentalBondState:2;
u8 multiHitOn:1;
u8 announceNeutralizingGas:1; // See Cmd_switchineffects
u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS
u8 affectionEndured:1;
// End of byte
u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute.
u8 dancerUsedMove:1;
u8 dancerOriginalTarget:3;
// End of byte
};
struct SideTimer
@ -584,7 +585,6 @@ struct BattleStruct
u8 AI_itemFlags[2];
u16 choicedMove[MAX_BATTLERS_COUNT];
u16 changedItems[MAX_BATTLERS_COUNT];
u8 intimidateBattler;
u8 switchInItemsCounter;
u8 arenaTurnCounter;
u8 turnSideTracker;

View File

@ -152,7 +152,6 @@ extern const u8 BattleScript_ShedSkinActivates[];
extern const u8 BattleScript_WeatherFormChanges[];
extern const u8 BattleScript_WeatherFormChangesLoop[];
extern const u8 BattleScript_WeatherFormChange[];
extern const u8 BattleScript_IntimidateActivatesEnd3[];
extern const u8 BattleScript_IntimidateActivates[];
extern const u8 BattleScript_DroughtActivates[];
extern const u8 BattleScript_TookAttack[];
@ -433,6 +432,7 @@ extern const u8 BattleScript_SymbiosisActivates[];
extern const u8 BattleScript_MultiHitPrintStrings[];
extern const u8 BattleScript_BurnUpRemoveType[];
extern const u8 BattleScript_TargetAbilityStatRaiseRet[];
extern const u8 BattleScript_DoubleShockRemoveType[];
extern const u8 BattleScript_SeedSowerActivates[];
extern const u8 BattleScript_AngerShellActivates[];
extern const u8 BattleScript_WellBakedBodyActivates[];

View File

@ -29,13 +29,11 @@
#define ABILITYEFFECT_WEATHER_FORM 7
#define ABILITYEFFECT_SYNCHRONIZE 8
#define ABILITYEFFECT_ATK_SYNCHRONIZE 9
#define ABILITYEFFECT_INTIMIDATE1 10
#define ABILITYEFFECT_INTIMIDATE2 11
#define ABILITYEFFECT_TRACE1 12
#define ABILITYEFFECT_TRACE2 13
#define ABILITYEFFECT_MOVE_END_OTHER 14
#define ABILITYEFFECT_NEUTRALIZINGGAS 15
#define ABILITYEFFECT_FIELD_SPORT 16 // Only used if B_SPORT_TURNS < GEN_6
#define ABILITYEFFECT_TRACE1 10
#define ABILITYEFFECT_TRACE2 11
#define ABILITYEFFECT_MOVE_END_OTHER 12
#define ABILITYEFFECT_NEUTRALIZINGGAS 13
#define ABILITYEFFECT_FIELD_SPORT 14 // Only used if B_SPORT_TURNS < GEN_6
// Special cases
#define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS < GEN_6
#define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS < GEN_6

View File

@ -70,6 +70,7 @@
#define GEN_6 3
#define GEN_7 4
#define GEN_8 5
#define GEN_9 6
#define GEN_LATEST GEN_8
#endif // GUARD_CONFIG_H

View File

@ -370,8 +370,9 @@
#define MOVE_EFFECT_RECOIL_HP_25 0x44
#define MOVE_EFFECT_RELIC_SONG 0x45
#define MOVE_EFFECT_TRAP_BOTH 0x46
#define MOVE_EFFECT_DOUBLE_SHOCK 0x47
#define NUM_MOVE_EFFECTS 0x47
#define NUM_MOVE_EFFECTS 0x48
#define MOVE_EFFECT_AFFECTS_USER 0x4000
#define MOVE_EFFECT_CERTAIN 0x8000

View File

@ -393,7 +393,11 @@
#define EFFECT_EXTREME_EVOBOOST 387
#define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova
#define EFFECT_DARK_VOID 389
#define EFFECT_SLEEP_HIT 390
#define EFFECT_DOUBLE_SHOCK 391
#define EFFECT_SPECIAL_ATTACK_UP_HIT 392
#define EFFECT_VICTORY_DANCE 393
#define NUM_BATTLE_MOVE_EFFECTS 389
#define NUM_BATTLE_MOVE_EFFECTS 394
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

View File

@ -93,7 +93,7 @@
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_GET_BATTLER_FAINTED 4
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_RESET_SWITCH_IN_ABILITY_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_RESET_PLAYER_FAINTED 7
#define VARIOUS_PALACE_FLAVOR_TEXT 8

View File

@ -630,14 +630,15 @@
#define STRINGID_ATTACKERHEALEDITSBURN 628
#define STRINGID_ATTACKERMELTEDTHEICE 629
#define STRINGID_TARGETTOUGHEDITOUT 630
#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 631
#define STRINGID_SUNLIGHTACTIVATEDABILITY 632
#define STRINGID_STATWASHEIGHTENED 633
#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 634
#define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 635
#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 636
#define STRINGID_ATTACKERLOSTELECTRICTYPE 631
#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 632
#define STRINGID_SUNLIGHTACTIVATEDABILITY 633
#define STRINGID_STATWASHEIGHTENED 634
#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 635
#define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 636
#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 637
#define BATTLESTRINGS_COUNT 637
#define BATTLESTRINGS_COUNT 638
// This is the string id that gBattleStringsTable starts with.
// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,

View File

@ -809,7 +809,59 @@
#define MOVES_COUNT_GEN8 779
#define MOVES_COUNT MOVES_COUNT_GEN8
// Gen 9 moves.
#define MOVE_TERA_BLAST 779
#define MOVE_SILK_TRAP 780
#define MOVE_AXE_KICK 781
#define MOVE_LAST_RESPECTS 782
#define MOVE_LUMINA_CRASH 783
#define MOVE_ORDER_UP 784
#define MOVE_JET_PUNCH 785
#define MOVE_SPICY_EXTRACT 786
#define MOVE_SPIN_OUT 787
#define MOVE_POPULATION_BOMB 788
#define MOVE_ICE_SPINNER 789
#define MOVE_GLAIVE_RUSH 790
#define MOVE_REVIVAL_BLESSING 791
#define MOVE_SALT_CURE 792
#define MOVE_TRIPLE_DIVE 793
#define MOVE_MORTAL_SPIN 794
#define MOVE_DOODLE 795
#define MOVE_FILLET_AWAY 796
#define MOVE_KOWTOW_CLEAVE 797
#define MOVE_FLOWER_TRICK 798
#define MOVE_TORCH_SONG 799
#define MOVE_AQUA_STEP 800
#define MOVE_RAGING_BULL 801
#define MOVE_MAKE_IT_RAIN 802
#define MOVE_RUINATION 803
#define MOVE_COLLISION_COURSE 804
#define MOVE_ELECTRO_DRIFT 805
#define MOVE_SHED_TAIL 806
#define MOVE_CHILLY_RECEPTION 807
#define MOVE_TIDY_UP 808
#define MOVE_SNOWSCAPE 809
#define MOVE_POUNCE 810
#define MOVE_TRAILBLAZE 811
#define MOVE_CHILLING_WATER 812
#define MOVE_HYPER_DRILL 813
#define MOVE_TWIN_BEAM 814
#define MOVE_RAGE_FIST 815
#define MOVE_ARMOR_CANNON 816
#define MOVE_BITTER_BLADE 817
#define MOVE_DOUBLE_SHOCK 818
#define MOVE_GIGATON_HAMMER 819
#define MOVE_COMEUPPANCE 820
#define MOVE_AQUA_CUTTER 821
#define MOVE_BLAZING_TORQUE 822
#define MOVE_WICKED_TORQUE 823
#define MOVE_NOXIOUS_TORQUE 824
#define MOVE_COMBAT_TORQUE 825
#define MOVE_MAGICAL_TORQUE 826
#define MOVES_COUNT_GEN9 827
#define MOVES_COUNT MOVES_COUNT_GEN9
// Z Moves
#define MOVE_BREAKNECK_BLITZ (MOVES_COUNT + 0)

View File

@ -1082,6 +1082,14 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF))
score -= 6;
break;
case EFFECT_VICTORY_DANCE:
if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL))
score -= 10;
else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED))
score -= 8;
else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF))
score -= 6;
break;
case EFFECT_SHIFT_GEAR:
if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL))
score -= 10;
@ -2007,6 +2015,10 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_FIRE))
score -= 10;
break;
case EFFECT_DOUBLE_SHOCK:
if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_ELECTRIC))
score -= 10;
break;
case EFFECT_DEFOG:
if (gSideStatuses[GetBattlerSide(battlerDef)]
& (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL | SIDE_STATUS_SAFEGUARD | SIDE_STATUS_MIST)
@ -3938,6 +3950,10 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
if (sereneGraceBoost)
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score);
break;
case EFFECT_SPECIAL_ATTACK_UP_HIT:
if (sereneGraceBoost)
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score);
break;
case EFFECT_FELL_STINGER:
if (gBattleMons[battlerAtk].statStages[STAT_ATK] < MAX_STAT_STAGE
&& AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY
@ -4393,6 +4409,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score);
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPDEF, &score);
break;
case EFFECT_VICTORY_DANCE:
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPEED, &score);
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score);
IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score);
break;
case EFFECT_SHELL_SMASH:
if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS)
score += 1;
@ -4878,6 +4899,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
case EFFECT_SANDSTORM:
case EFFECT_HAIL:
case EFFECT_GEOMANCY:
case EFFECT_VICTORY_DANCE:
score += 2;
break;
default:

View File

@ -2091,6 +2091,7 @@ bool32 IsStatRaisingEffect(u16 effect)
case EFFECT_BULK_UP:
case EFFECT_GEOMANCY:
case EFFECT_STOCKPILE:
case EFFECT_VICTORY_DANCE:
return TRUE;
default:
return FALSE;

View File

@ -1767,7 +1767,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data)
break;
case LIST_ITEM_MOVES:
data->modifyArrows.minValue = 0;
data->modifyArrows.maxValue = MOVES_COUNT_GEN8 - 1;
data->modifyArrows.maxValue = MOVES_COUNT - 1;
data->modifyArrows.maxDigits = 3;
if (data->currentSecondaryListItemId == 4)
{

View File

@ -3720,8 +3720,6 @@ static void TryDoEventsBeforeFirstTurn(void)
if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattlerAttacker, 0, 0, 0) != 0)
return;
}
if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0)
return;
if (AbilityBattleEffects(ABILITYEFFECT_TRACE1, 0, 0, 0, 0) != 0)
return;
// Check all switch in items having effect from the fastest mon to slowest.

View File

@ -759,6 +759,7 @@ static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREF
static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!");
static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!");
static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!");
static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!");
static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_ATK_NAME_WITH_PREFIX} with power!");
static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!");
static const u8 sText_StatWasHeightened[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!");
@ -1392,6 +1393,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
[STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE - BATTLESTRINGS_TABLE_START] = sText_CantEscapeBecauseOfCurrentMove,
[STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh,
[STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy,
[STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType,
};
const u16 gZEffectStringIds[] =

View File

@ -544,7 +544,7 @@ static void Cmd_setuserstatus3(void);
static void Cmd_assistattackselect(void);
static void Cmd_trysetmagiccoat(void);
static void Cmd_trysetsnatch(void);
static void Cmd_trygetintimidatetarget(void);
static void Cmd_unused2(void);
static void Cmd_switchoutabilities(void);
static void Cmd_jumpifhasnohp(void);
static void Cmd_getsecretpowereffect(void);
@ -803,7 +803,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
Cmd_assistattackselect, //0xDE
Cmd_trysetmagiccoat, //0xDF
Cmd_trysetsnatch, //0xE0
Cmd_trygetintimidatetarget, //0xE1
Cmd_unused2, //0xE1
Cmd_switchoutabilities, //0xE2
Cmd_jumpifhasnohp, //0xE3
Cmd_getsecretpowereffect, //0xE4
@ -1130,6 +1130,7 @@ static const u16 sFinalStrikeOnlyEffects[] =
EFFECT_BUG_BITE,
EFFECT_THIEF,
EFFECT_BURN_UP,
EFFECT_DOUBLE_SHOCK,
EFFECT_SECRET_POWER,
EFFECT_SMACK_DOWN,
EFFECT_SPARKLING_ARIA,
@ -3646,6 +3647,11 @@ void SetMoveEffect(bool32 primary, u32 certain)
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_BurnUpRemoveType;
break;
case MOVE_EFFECT_DOUBLE_SHOCK:
// This seems unnecessary but is done to make it work properly with Parental Bond
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_DoubleShockRemoveType;
break;
}
}
}
@ -6782,7 +6788,6 @@ static void Cmd_switchineffects(void)
if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0)
|| ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE)
|| AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, 0, 0, 0, 0)
|| AbilityBattleEffects(ABILITYEFFECT_TRACE2, 0, 0, 0, 0)
|| AbilityBattleEffects(ABILITYEFFECT_WEATHER_FORM, 0, 0, 0, 0))
return;
@ -8468,8 +8473,7 @@ static void Cmd_various(void)
else
gBattleCommunication[0] = FALSE;
break;
case VARIOUS_RESET_INTIMIDATE_TRACE_BITS:
gSpecialStatuses[gActiveBattler].intimidatedMon = FALSE;
case VARIOUS_RESET_SWITCH_IN_ABILITY_BITS:
gSpecialStatuses[gActiveBattler].traced = FALSE;
gSpecialStatuses[gActiveBattler].switchInAbilityDone = FALSE;
break;
@ -8633,7 +8637,6 @@ static void Cmd_various(void)
gBattlescriptCurrInstr += 3;
AbilityBattleEffects(ABILITYEFFECT_NEUTRALIZINGGAS, gActiveBattler, 0, 0, 0);
AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0);
AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, gActiveBattler, 0, 0, 0);
AbilityBattleEffects(ABILITYEFFECT_TRACE2, gActiveBattler, 0, 0, 0);
return;
case VARIOUS_SAVE_TARGET:
@ -11758,7 +11761,9 @@ static void Cmd_mimicattackcopy(void)
static void Cmd_metronome(void)
{
#if B_METRONOME_MOVES >= GEN_8
#if B_METRONOME_MOVES >= GEN_9
u16 moveCount = MOVES_COUNT_GEN9;
#elif B_METRONOME_MOVES >= GEN_8
u16 moveCount = MOVES_COUNT_GEN8;
#elif B_METRONOME_MOVES >= GEN_7
u16 moveCount = MOVES_COUNT_GEN7;
@ -13534,27 +13539,8 @@ static void Cmd_trysetsnatch(void)
}
}
static void Cmd_trygetintimidatetarget(void)
static void Cmd_unused2(void)
{
u8 side;
gBattleScripting.battler = gBattleStruct->intimidateBattler;
side = GetBattlerSide(gBattleScripting.battler);
PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability)
for (;gBattlerTarget < gBattlersCount; gBattlerTarget++)
{
if (GetBattlerSide(gBattlerTarget) == side)
continue;
if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget]))
break;
}
if (gBattlerTarget >= gBattlersCount)
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
static void Cmd_switchoutabilities(void)

View File

@ -86,220 +86,402 @@ static const u16 sVariableDmgMoves[] =
static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
{
[EFFECT_HIT] = 1,
[EFFECT_SLEEP] = 1,
[EFFECT_POISON_HIT] = 1,
[EFFECT_ABSORB] = 4,
[EFFECT_BURN_HIT] = 1,
[EFFECT_FREEZE_HIT] = 1,
[EFFECT_PARALYZE_HIT] = 1,
[EFFECT_EXPLOSION] = 0,
[EFFECT_DREAM_EATER] = 5,
[EFFECT_MIRROR_MOVE] = 1,
[EFFECT_ATTACK_UP] = 1,
[EFFECT_DEFENSE_UP] = 1,
[EFFECT_SPEED_UP] = 1,
[EFFECT_SPECIAL_ATTACK_UP] = 1,
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
[EFFECT_ACCURACY_UP] = 1,
[EFFECT_EVASION_UP] = 1,
// [EFFECT_ALWAYS_HIT] = 2,
[EFFECT_ATTACK_DOWN] = 1,
[EFFECT_DEFENSE_DOWN] = 1,
[EFFECT_SPEED_DOWN] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
[EFFECT_ACCURACY_DOWN] = 1,
[EFFECT_EVASION_DOWN] = 1,
[EFFECT_HAZE] = 5,
[EFFECT_BIDE] = 5,
[EFFECT_RAMPAGE] = 4,
[EFFECT_ROAR] = 5,
[EFFECT_MULTI_HIT] = 1,
[EFFECT_CONVERSION] = 3,
[EFFECT_FLINCH_HIT] = 1,
[EFFECT_RESTORE_HP] = 3,
[EFFECT_TOXIC] = 5,
[EFFECT_PAY_DAY] = 1,
[EFFECT_LIGHT_SCREEN] = 7,
[EFFECT_TRI_ATTACK] = 1,
[EFFECT_REST] = 7,
[EFFECT_OHKO] = 7,
// [EFFECT_RAZOR_WIND] = 1,
[EFFECT_SUPER_FANG] = 5,
[EFFECT_DRAGON_RAGE] = 2,
[EFFECT_TRAP] = 4,
// [EFFECT_HIGH_CRITICAL] = 1,
// [EFFECT_DOUBLE_HIT] = 1,
[EFFECT_RECOIL_IF_MISS] = 1,
[EFFECT_MIST] = 5,
[EFFECT_FOCUS_ENERGY] = 1,
[EFFECT_RECOIL_25] = 2,
[EFFECT_CONFUSE] = 4,
[EFFECT_ATTACK_UP_2] = 1,
[EFFECT_DEFENSE_UP_2] = 1,
[EFFECT_SPEED_UP_2] = 1,
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
[EFFECT_ACCURACY_UP_2] = 1,
[EFFECT_EVASION_UP_2] = 1,
[EFFECT_TRANSFORM] = 0,
[EFFECT_ATTACK_DOWN_2] = 1,
[EFFECT_DEFENSE_DOWN_2] = 1,
[EFFECT_SPEED_DOWN_2] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
[EFFECT_ACCURACY_DOWN_2] = 1,
[EFFECT_EVASION_DOWN_2] = 1,
[EFFECT_REFLECT] = 7,
[EFFECT_POISON] = 4,
[EFFECT_PARALYZE] = 4,
[EFFECT_ATTACK_DOWN_HIT] = 1,
[EFFECT_DEFENSE_DOWN_HIT] = 1,
[EFFECT_SPEED_DOWN_HIT] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
[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,
[EFFECT_RECHARGE] = 5,
[EFFECT_RAGE] = 2,
[EFFECT_MIMIC] = 4,
[EFFECT_METRONOME] = 1,
[EFFECT_LEECH_SEED] = 4,
[EFFECT_DO_NOTHING] = 1,
[EFFECT_DISABLE] = 7,
[EFFECT_LEVEL_DAMAGE] = 2,
[EFFECT_PSYWAVE] = 1,
[EFFECT_COUNTER] = 5,
[EFFECT_ENCORE] = 7,
[EFFECT_PAIN_SPLIT] = 3,
[EFFECT_SNORE] = 3,
[EFFECT_CONVERSION_2] = 4,
[EFFECT_LOCK_ON] = 3,
[EFFECT_SKETCH] = 3,
// [EFFECT_UNUSED_60] = 3,
[EFFECT_SLEEP_TALK] = 3,
[EFFECT_DESTINY_BOND] = 3,
[EFFECT_FLAIL] = 2,
[EFFECT_SPITE] = 4,
[EFFECT_FALSE_SWIPE] = 1,
[EFFECT_HEAL_BELL] = 5,
// [EFFECT_QUICK_ATTACK] = 1,
[EFFECT_TRIPLE_KICK] = 1,
[EFFECT_THIEF] = 4,
[EFFECT_MEAN_LOOK] = 5,
[EFFECT_NIGHTMARE] = 3,
[EFFECT_MINIMIZE] = 1,
[EFFECT_CURSE] = 2,
// [EFFECT_UNUSED_6E] = 1,
[EFFECT_PROTECT] = 5,
[EFFECT_SPIKES] = 4,
[EFFECT_FORESIGHT] = 3,
[EFFECT_PERISH_SONG] = 6,
[EFFECT_SANDSTORM] = 4,
[EFFECT_ENDURE] = 3,
[EFFECT_ROLLOUT] = 3,
[EFFECT_SWAGGER] = 3,
[EFFECT_FURY_CUTTER] = 2,
[EFFECT_ATTRACT] = 4,
[EFFECT_RETURN] = 1,
[EFFECT_PRESENT] = 1,
[EFFECT_FRUSTRATION] = 1,
[EFFECT_SAFEGUARD] = 5,
// [EFFECT_THAW_HIT] = 1, Now unused
[EFFECT_MAGNITUDE] = 1,
[EFFECT_BATON_PASS] = 7,
[EFFECT_PURSUIT] = 2,
[EFFECT_RAPID_SPIN] = 2,
[EFFECT_SONICBOOM] = 1,
// [EFFECT_UNUSED_83] = 1,
[EFFECT_MORNING_SUN] = 4,
[EFFECT_SYNTHESIS] = 4,
[EFFECT_MOONLIGHT] = 4,
[EFFECT_HIDDEN_POWER] = 1,
[EFFECT_RAIN_DANCE] = 4,
[EFFECT_SUNNY_DAY] = 4,
[EFFECT_DEFENSE_UP_HIT] = 1,
[EFFECT_ATTACK_UP_HIT] = 1,
[EFFECT_ALL_STATS_UP_HIT] = 1,
// [EFFECT_UNUSED_8D] = 1,
[EFFECT_BELLY_DRUM] = 7,
[EFFECT_PSYCH_UP] = 7,
[EFFECT_MIRROR_COAT] = 6,
[EFFECT_SKULL_BASH] = 3,
[EFFECT_TWISTER] = 1,
[EFFECT_EARTHQUAKE] = 1,
[EFFECT_FUTURE_SIGHT] = 1,
[EFFECT_GUST] = 1,
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
[EFFECT_SOLAR_BEAM] = 1,
[EFFECT_THUNDER] = 1,
[EFFECT_TELEPORT] = 1,
[EFFECT_BEAT_UP] = 2,
[EFFECT_SEMI_INVULNERABLE] = 3,
[EFFECT_DEFENSE_CURL] = 1,
[EFFECT_SOFTBOILED] = 1,
[EFFECT_FAKE_OUT] = 4,
[EFFECT_UPROAR] = 4,
[EFFECT_STOCKPILE] = 3,
[EFFECT_SPIT_UP] = 3,
[EFFECT_SWALLOW] = 3,
// [EFFECT_UNUSED_A3] = 1,
[EFFECT_HAIL] = 4,
[EFFECT_TORMENT] = 7,
[EFFECT_FLATTER] = 7,
[EFFECT_WILL_O_WISP] = 5,
[EFFECT_MEMENTO] = 7,
[EFFECT_FACADE] = 1,
[EFFECT_FOCUS_PUNCH] = 7,
[EFFECT_SMELLINGSALT] = 1,
[EFFECT_FOLLOW_ME] = 5,
[EFFECT_NATURE_POWER] = 0,
[EFFECT_CHARGE] = 4,
[EFFECT_TAUNT] = 4,
[EFFECT_HELPING_HAND] = 4,
[EFFECT_TRICK] = 4,
[EFFECT_ROLE_PLAY] = 4,
[EFFECT_WISH] = 2,
[EFFECT_ASSIST] = 2,
[EFFECT_INGRAIN] = 6,
[EFFECT_SUPERPOWER] = 3,
[EFFECT_MAGIC_COAT] = 6,
[EFFECT_RECYCLE] = 4,
[EFFECT_REVENGE] = 4,
[EFFECT_BRICK_BREAK] = 2,
[EFFECT_YAWN] = 5,
[EFFECT_KNOCK_OFF] = 2,
[EFFECT_ENDEAVOR] = 1,
[EFFECT_ERUPTION] = 1,
[EFFECT_SKILL_SWAP] = 6,
[EFFECT_IMPRISON] = 6,
[EFFECT_REFRESH] = 6,
[EFFECT_GRUDGE] = 1,
[EFFECT_SNATCH] = 1,
[EFFECT_LOW_KICK] = 1,
[EFFECT_SECRET_POWER] = 1,
[EFFECT_RECOIL_33] = 2,
[EFFECT_TEETER_DANCE] = 6,
// [EFFECT_BLAZE_KICK] = 1,
[EFFECT_MUD_SPORT] = 4,
[EFFECT_POISON_FANG] = 1,
[EFFECT_WEATHER_BALL] = 1,
[EFFECT_OVERHEAT] = 3,
[EFFECT_TICKLE] = 1,
[EFFECT_COSMIC_POWER] = 1,
[EFFECT_SKY_UPPERCUT] = 1,
[EFFECT_BULK_UP] = 1,
// [EFFECT_POISON_TAIL] = 1,
[EFFECT_WATER_SPORT] = 4,
[EFFECT_CALM_MIND] = 1,
[EFFECT_DRAGON_DANCE] = 1,
[EFFECT_CAMOUFLAGE] = 3
[EFFECT_HIT] = 1,
[EFFECT_SLEEP] = 1,
[EFFECT_POISON_HIT] = 1,
[EFFECT_ABSORB] = 4,
[EFFECT_BURN_HIT] = 1,
[EFFECT_FREEZE_HIT] = 1,
[EFFECT_PARALYZE_HIT] = 1,
[EFFECT_EXPLOSION] = 0,
[EFFECT_DREAM_EATER] = 5,
[EFFECT_MIRROR_MOVE] = 1,
[EFFECT_ATTACK_UP] = 1,
[EFFECT_DEFENSE_UP] = 1,
[EFFECT_SPEED_UP] = 1,
[EFFECT_SPECIAL_ATTACK_UP] = 1,
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
[EFFECT_ACCURACY_UP] = 1,
[EFFECT_EVASION_UP] = 1,
// [EFFECT_ALWAYS_HIT] = 2,
[EFFECT_ATTACK_DOWN] = 1,
[EFFECT_DEFENSE_DOWN] = 1,
[EFFECT_SPEED_DOWN] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
[EFFECT_ACCURACY_DOWN] = 1,
[EFFECT_EVASION_DOWN] = 1,
[EFFECT_HAZE] = 5,
[EFFECT_BIDE] = 5,
[EFFECT_RAMPAGE] = 4,
[EFFECT_ROAR] = 5,
[EFFECT_MULTI_HIT] = 1,
[EFFECT_CONVERSION] = 3,
[EFFECT_FLINCH_HIT] = 1,
[EFFECT_RESTORE_HP] = 3,
[EFFECT_TOXIC] = 5,
[EFFECT_PAY_DAY] = 1,
[EFFECT_LIGHT_SCREEN] = 7,
[EFFECT_TRI_ATTACK] = 1,
[EFFECT_REST] = 7,
[EFFECT_OHKO] = 7,
// [EFFECT_RAZOR_WIND] = 1,
[EFFECT_SUPER_FANG] = 5,
[EFFECT_DRAGON_RAGE] = 2,
[EFFECT_TRAP] = 4,
// [EFFECT_HIGH_CRITICAL] = 1,
// [EFFECT_DOUBLE_HIT] = 1,
[EFFECT_RECOIL_IF_MISS] = 1,
[EFFECT_MIST] = 5,
[EFFECT_FOCUS_ENERGY] = 1,
[EFFECT_RECOIL_25] = 2,
[EFFECT_CONFUSE] = 4,
[EFFECT_ATTACK_UP_2] = 1,
[EFFECT_DEFENSE_UP_2] = 1,
[EFFECT_SPEED_UP_2] = 1,
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
[EFFECT_ACCURACY_UP_2] = 1,
[EFFECT_EVASION_UP_2] = 1,
[EFFECT_TRANSFORM] = 0,
[EFFECT_ATTACK_DOWN_2] = 1,
[EFFECT_DEFENSE_DOWN_2] = 1,
[EFFECT_SPEED_DOWN_2] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
[EFFECT_ACCURACY_DOWN_2] = 1,
[EFFECT_EVASION_DOWN_2] = 1,
[EFFECT_REFLECT] = 7,
[EFFECT_POISON] = 4,
[EFFECT_PARALYZE] = 4,
[EFFECT_ATTACK_DOWN_HIT] = 1,
[EFFECT_DEFENSE_DOWN_HIT] = 1,
[EFFECT_SPEED_DOWN_HIT] = 1,
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
[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,
[EFFECT_RECHARGE] = 5,
[EFFECT_RAGE] = 2,
[EFFECT_MIMIC] = 4,
[EFFECT_METRONOME] = 1,
[EFFECT_LEECH_SEED] = 4,
[EFFECT_DO_NOTHING] = 1,
[EFFECT_DISABLE] = 7,
[EFFECT_LEVEL_DAMAGE] = 2,
[EFFECT_PSYWAVE] = 1,
[EFFECT_COUNTER] = 5,
[EFFECT_ENCORE] = 7,
[EFFECT_PAIN_SPLIT] = 3,
[EFFECT_SNORE] = 3,
[EFFECT_CONVERSION_2] = 4,
[EFFECT_LOCK_ON] = 3,
[EFFECT_SKETCH] = 3,
// [EFFECT_UNUSED_60] = 3,
[EFFECT_SLEEP_TALK] = 3,
[EFFECT_DESTINY_BOND] = 3,
[EFFECT_FLAIL] = 2,
[EFFECT_SPITE] = 4,
[EFFECT_FALSE_SWIPE] = 1,
[EFFECT_HEAL_BELL] = 5,
// [EFFECT_QUICK_ATTACK] = 1,
[EFFECT_TRIPLE_KICK] = 1,
[EFFECT_THIEF] = 4,
[EFFECT_MEAN_LOOK] = 5,
[EFFECT_NIGHTMARE] = 3,
[EFFECT_MINIMIZE] = 1,
[EFFECT_CURSE] = 2,
// [EFFECT_UNUSED_6E] = 1,
[EFFECT_PROTECT] = 5,
[EFFECT_SPIKES] = 4,
[EFFECT_FORESIGHT] = 3,
[EFFECT_PERISH_SONG] = 6,
[EFFECT_SANDSTORM] = 4,
[EFFECT_ENDURE] = 3,
[EFFECT_ROLLOUT] = 3,
[EFFECT_SWAGGER] = 3,
[EFFECT_FURY_CUTTER] = 2,
[EFFECT_ATTRACT] = 4,
[EFFECT_RETURN] = 1,
[EFFECT_PRESENT] = 1,
[EFFECT_FRUSTRATION] = 1,
[EFFECT_SAFEGUARD] = 5,
// [EFFECT_THAW_HIT] = 1, Now unused
[EFFECT_MAGNITUDE] = 1,
[EFFECT_BATON_PASS] = 7,
[EFFECT_PURSUIT] = 2,
[EFFECT_RAPID_SPIN] = 2,
[EFFECT_SONICBOOM] = 1,
// [EFFECT_UNUSED_83] = 1,
[EFFECT_MORNING_SUN] = 4,
[EFFECT_SYNTHESIS] = 4,
[EFFECT_MOONLIGHT] = 4,
[EFFECT_HIDDEN_POWER] = 1,
[EFFECT_RAIN_DANCE] = 4,
[EFFECT_SUNNY_DAY] = 4,
[EFFECT_DEFENSE_UP_HIT] = 1,
[EFFECT_ATTACK_UP_HIT] = 1,
[EFFECT_ALL_STATS_UP_HIT] = 1,
// [EFFECT_UNUSED_8D] = 1,
[EFFECT_BELLY_DRUM] = 7,
[EFFECT_PSYCH_UP] = 7,
[EFFECT_MIRROR_COAT] = 6,
[EFFECT_SKULL_BASH] = 3,
[EFFECT_TWISTER] = 1,
[EFFECT_EARTHQUAKE] = 1,
[EFFECT_FUTURE_SIGHT] = 1,
[EFFECT_GUST] = 1,
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
[EFFECT_SOLAR_BEAM] = 1,
[EFFECT_THUNDER] = 1,
[EFFECT_TELEPORT] = 1,
[EFFECT_BEAT_UP] = 2,
[EFFECT_SEMI_INVULNERABLE] = 3,
[EFFECT_DEFENSE_CURL] = 1,
[EFFECT_SOFTBOILED] = 1,
[EFFECT_FAKE_OUT] = 4,
[EFFECT_UPROAR] = 4,
[EFFECT_STOCKPILE] = 3,
[EFFECT_SPIT_UP] = 3,
[EFFECT_SWALLOW] = 3,
// [EFFECT_UNUSED_A3] = 1,
[EFFECT_HAIL] = 4,
[EFFECT_TORMENT] = 7,
[EFFECT_FLATTER] = 7,
[EFFECT_WILL_O_WISP] = 5,
[EFFECT_MEMENTO] = 7,
[EFFECT_FACADE] = 1,
[EFFECT_FOCUS_PUNCH] = 7,
[EFFECT_SMELLINGSALT] = 1,
[EFFECT_FOLLOW_ME] = 5,
[EFFECT_NATURE_POWER] = 0,
[EFFECT_CHARGE] = 4,
[EFFECT_TAUNT] = 4,
[EFFECT_HELPING_HAND] = 4,
[EFFECT_TRICK] = 4,
[EFFECT_ROLE_PLAY] = 4,
[EFFECT_WISH] = 2,
[EFFECT_ASSIST] = 2,
[EFFECT_INGRAIN] = 6,
[EFFECT_SUPERPOWER] = 3,
[EFFECT_MAGIC_COAT] = 6,
[EFFECT_RECYCLE] = 4,
[EFFECT_REVENGE] = 4,
[EFFECT_BRICK_BREAK] = 2,
[EFFECT_YAWN] = 5,
[EFFECT_KNOCK_OFF] = 2,
[EFFECT_ENDEAVOR] = 1,
[EFFECT_ERUPTION] = 1,
[EFFECT_SKILL_SWAP] = 6,
[EFFECT_IMPRISON] = 6,
[EFFECT_REFRESH] = 6,
[EFFECT_GRUDGE] = 1,
[EFFECT_SNATCH] = 1,
[EFFECT_LOW_KICK] = 1,
[EFFECT_SECRET_POWER] = 1,
[EFFECT_RECOIL_33] = 2,
[EFFECT_TEETER_DANCE] = 6,
// [EFFECT_BLAZE_KICK] = 1,
[EFFECT_MUD_SPORT] = 4,
[EFFECT_POISON_FANG] = 1,
[EFFECT_WEATHER_BALL] = 1,
[EFFECT_OVERHEAT] = 3,
[EFFECT_TICKLE] = 1,
[EFFECT_COSMIC_POWER] = 1,
[EFFECT_SKY_UPPERCUT] = 1,
[EFFECT_BULK_UP] = 1,
// [EFFECT_POISON_TAIL] = 1,
[EFFECT_WATER_SPORT] = 4,
[EFFECT_CALM_MIND] = 1,
[EFFECT_DRAGON_DANCE] = 1,
[EFFECT_CAMOUFLAGE] = 3,
[EFFECT_PLEDGE] = 0, // TODO: Assign points
[EFFECT_FLING] = 0, // TODO: Assign points
[EFFECT_NATURAL_GIFT] = 0, // TODO: Assign points
[EFFECT_WAKE_UP_SLAP] = 0, // TODO: Assign points
[EFFECT_WRING_OUT] = 0, // TODO: Assign points
[EFFECT_HEX] = 0, // TODO: Assign points
[EFFECT_ASSURANCE] = 0, // TODO: Assign points
[EFFECT_TRUMP_CARD] = 0, // TODO: Assign points
[EFFECT_ACROBATICS] = 0, // TODO: Assign points
[EFFECT_HEAT_CRASH] = 0, // TODO: Assign points
[EFFECT_PUNISHMENT] = 0, // TODO: Assign points
[EFFECT_STORED_POWER] = 0, // TODO: Assign points
[EFFECT_ELECTRO_BALL] = 0, // TODO: Assign points
[EFFECT_GYRO_BALL] = 0, // TODO: Assign points
[EFFECT_ECHOED_VOICE] = 0, // TODO: Assign points
[EFFECT_PAYBACK] = 0, // TODO: Assign points
[EFFECT_ROUND] = 0, // TODO: Assign points
[EFFECT_BRINE] = 0, // TODO: Assign points
[EFFECT_VENOSHOCK] = 0, // TODO: Assign points
[EFFECT_RETALIATE] = 0, // TODO: Assign points
[EFFECT_BULLDOZE] = 0, // TODO: Assign points
[EFFECT_FOUL_PLAY] = 0, // TODO: Assign points
[EFFECT_PSYSHOCK] = 0, // TODO: Assign points
[EFFECT_ROOST] = 0, // TODO: Assign points
[EFFECT_GRAVITY] = 0, // TODO: Assign points
[EFFECT_MIRACLE_EYE] = 0, // TODO: Assign points
[EFFECT_TAILWIND] = 0, // TODO: Assign points
[EFFECT_EMBARGO] = 0, // TODO: Assign points
[EFFECT_AQUA_RING] = 0, // TODO: Assign points
[EFFECT_TRICK_ROOM] = 0, // TODO: Assign points
[EFFECT_WONDER_ROOM] = 0, // TODO: Assign points
[EFFECT_MAGIC_ROOM] = 0, // TODO: Assign points
[EFFECT_MAGNET_RISE] = 0, // TODO: Assign points
[EFFECT_TOXIC_SPIKES] = 0, // TODO: Assign points
[EFFECT_GASTRO_ACID] = 0, // TODO: Assign points
[EFFECT_STEALTH_ROCK] = 0, // TODO: Assign points
[EFFECT_TELEKINESIS] = 0, // TODO: Assign points
[EFFECT_POWER_SWAP] = 0, // TODO: Assign points
[EFFECT_GUARD_SWAP] = 0, // TODO: Assign points
[EFFECT_HEART_SWAP] = 0, // TODO: Assign points
[EFFECT_POWER_SPLIT] = 0, // TODO: Assign points
[EFFECT_GUARD_SPLIT] = 0, // TODO: Assign points
[EFFECT_STICKY_WEB] = 0, // TODO: Assign points
[EFFECT_METAL_BURST] = 0, // TODO: Assign points
[EFFECT_LUCKY_CHANT] = 0, // TODO: Assign points
[EFFECT_SUCKER_PUNCH] = 0, // TODO: Assign points
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2] = 0, // TODO: Assign points
[EFFECT_SIMPLE_BEAM] = 0, // TODO: Assign points
[EFFECT_ENTRAINMENT] = 0, // TODO: Assign points
[EFFECT_HEAL_PULSE] = 0, // TODO: Assign points
[EFFECT_QUASH] = 0, // TODO: Assign points
[EFFECT_ION_DELUGE] = 0, // TODO: Assign points
[EFFECT_FREEZE_DRY] = 0, // TODO: Assign points
[EFFECT_TOPSY_TURVY] = 0, // TODO: Assign points
[EFFECT_MISTY_TERRAIN] = 0, // TODO: Assign points
[EFFECT_GRASSY_TERRAIN] = 0, // TODO: Assign points
[EFFECT_ELECTRIC_TERRAIN] = 0, // TODO: Assign points
[EFFECT_PSYCHIC_TERRAIN] = 0, // TODO: Assign points
[EFFECT_ATTACK_ACCURACY_UP] = 0, // TODO: Assign points
[EFFECT_ATTACK_SPATK_UP] = 0, // TODO: Assign points
[EFFECT_HURRICANE] = 0, // TODO: Assign points
[EFFECT_TWO_TYPED_MOVE] = 0, // TODO: Assign points
[EFFECT_ME_FIRST] = 0, // TODO: Assign points
[EFFECT_SPEED_UP_HIT] = 0, // TODO: Assign points
[EFFECT_QUIVER_DANCE] = 0, // TODO: Assign points
[EFFECT_COIL] = 0, // TODO: Assign points
[EFFECT_ELECTRIFY] = 0, // TODO: Assign points
[EFFECT_SCALD] = 0, // TODO: Assign points
[EFFECT_REFLECT_TYPE] = 0, // TODO: Assign points
[EFFECT_SOAK] = 0, // TODO: Assign points
[EFFECT_GROWTH] = 0, // TODO: Assign points
[EFFECT_CLOSE_COMBAT] = 0, // TODO: Assign points
[EFFECT_LAST_RESORT] = 0, // TODO: Assign points
[EFFECT_RECOIL_33_STATUS] = 0, // TODO: Assign points
[EFFECT_FLINCH_STATUS] = 0, // TODO: Assign points
[EFFECT_RECOIL_50] = 0, // TODO: Assign points
[EFFECT_SHELL_SMASH] = 0, // TODO: Assign points
[EFFECT_SHIFT_GEAR] = 0, // TODO: Assign points
[EFFECT_DEFENSE_UP_3] = 0, // TODO: Assign points
[EFFECT_NOBLE_ROAR] = 0, // TODO: Assign points
[EFFECT_VENOM_DRENCH] = 0, // TODO: Assign points
[EFFECT_TOXIC_THREAD] = 0, // TODO: Assign points
[EFFECT_CLEAR_SMOG] = 0, // TODO: Assign points
[EFFECT_HIT_SWITCH_TARGET] = 0, // TODO: Assign points
[EFFECT_FINAL_GAMBIT] = 0, // TODO: Assign points
[EFFECT_CHANGE_TYPE_ON_ITEM] = 0, // TODO: Assign points
[EFFECT_AUTOTOMIZE] = 0, // TODO: Assign points
[EFFECT_COPYCAT] = 0, // TODO: Assign points
[EFFECT_DEFOG] = 0, // TODO: Assign points
[EFFECT_HIT_ENEMY_HEAL_ALLY] = 0, // TODO: Assign points
[EFFECT_SMACK_DOWN] = 0, // TODO: Assign points
[EFFECT_SYNCHRONOISE] = 0, // TODO: Assign points
[EFFECT_PSYCHO_SHIFT] = 0, // TODO: Assign points
[EFFECT_POWER_TRICK] = 0, // TODO: Assign points
[EFFECT_FLAME_BURST] = 0, // TODO: Assign points
[EFFECT_AFTER_YOU] = 0, // TODO: Assign points
[EFFECT_BESTOW] = 0, // TODO: Assign points
[EFFECT_ROTOTILLER] = 0, // TODO: Assign points
[EFFECT_FLOWER_SHIELD] = 0, // TODO: Assign points
[EFFECT_HIT_PREVENT_ESCAPE] = 0, // TODO: Assign points
[EFFECT_SPEED_SWAP] = 0, // TODO: Assign points
[EFFECT_DEFENSE_UP2_HIT] = 0, // TODO: Assign points
[EFFECT_REVELATION_DANCE] = 0, // TODO: Assign points
[EFFECT_AURORA_VEIL] = 0, // TODO: Assign points
[EFFECT_THIRD_TYPE] = 0, // TODO: Assign points
[EFFECT_FEINT] = 0, // TODO: Assign points
[EFFECT_SPARKLING_ARIA] = 0, // TODO: Assign points
[EFFECT_ACUPRESSURE] = 0, // TODO: Assign points
[EFFECT_AROMATIC_MIST] = 0, // TODO: Assign points
[EFFECT_POWDER] = 0, // TODO: Assign points
[EFFECT_SP_ATTACK_UP_HIT] = 0, // TODO: Assign points
[EFFECT_BELCH] = 0, // TODO: Assign points
[EFFECT_PARTING_SHOT] = 0, // TODO: Assign points
[EFFECT_SPECTRAL_THIEF] = 0, // TODO: Assign points
[EFFECT_V_CREATE] = 0, // TODO: Assign points
[EFFECT_MAT_BLOCK] = 0, // TODO: Assign points
[EFFECT_STOMPING_TANTRUM] = 0, // TODO: Assign points
[EFFECT_CORE_ENFORCER] = 0, // TODO: Assign points
[EFFECT_INSTRUCT] = 0, // TODO: Assign points
[EFFECT_THROAT_CHOP] = 0, // TODO: Assign points
[EFFECT_LASER_FOCUS] = 0, // TODO: Assign points
[EFFECT_MAGNETIC_FLUX] = 0, // TODO: Assign points
[EFFECT_GEAR_UP] = 0, // TODO: Assign points
[EFFECT_INCINERATE] = 0, // TODO: Assign points
[EFFECT_BUG_BITE] = 0, // TODO: Assign points
[EFFECT_STRENGTH_SAP] = 0, // TODO: Assign points
[EFFECT_MIND_BLOWN] = 0, // TODO: Assign points
[EFFECT_PURIFY] = 0, // TODO: Assign points
[EFFECT_BURN_UP] = 0, // TODO: Assign points
[EFFECT_SHORE_UP] = 0, // TODO: Assign points
[EFFECT_GEOMANCY] = 0, // TODO: Assign points
[EFFECT_FAIRY_LOCK] = 0, // TODO: Assign points
[EFFECT_ALLY_SWITCH] = 0, // TODO: Assign points
[EFFECT_RELIC_SONG] = 0, // TODO: Assign points
[EFFECT_ATTACKER_DEFENSE_DOWN_HIT] = 0, // TODO: Assign points
[EFFECT_BODY_PRESS] = 0, // TODO: Assign points
[EFFECT_EERIE_SPELL] = 0, // TODO: Assign points
[EFFECT_JUNGLE_HEALING] = 0, // TODO: Assign points
[EFFECT_COACHING] = 0, // TODO: Assign points
[EFFECT_LASH_OUT] = 0, // TODO: Assign points
[EFFECT_GRASSY_GLIDE] = 0, // TODO: Assign points
[EFFECT_REMOVE_TERRAIN] = 0, // TODO: Assign points
[EFFECT_DYNAMAX_DOUBLE_DMG] = 0, // TODO: Assign points
[EFFECT_DECORATE] = 0, // TODO: Assign points
[EFFECT_SNIPE_SHOT] = 0, // TODO: Assign points
[EFFECT_RECOIL_HP_25] = 0, // TODO: Assign points
[EFFECT_STUFF_CHEEKS] = 0, // TODO: Assign points
[EFFECT_GRAV_APPLE] = 0, // TODO: Assign points
[EFFECT_EVASION_UP_HIT] = 0, // TODO: Assign points
[EFFECT_GLITZY_GLOW] = 0, // TODO: Assign points
[EFFECT_BADDY_BAD] = 0, // TODO: Assign points
[EFFECT_SAPPY_SEED] = 0, // TODO: Assign points
[EFFECT_FREEZY_FROST] = 0, // TODO: Assign points
[EFFECT_SPARKLY_SWIRL] = 0, // TODO: Assign points
[EFFECT_PLASMA_FISTS] = 0, // TODO: Assign points
[EFFECT_HYPERSPACE_FURY] = 0, // TODO: Assign points
[EFFECT_AURA_WHEEL] = 0, // TODO: Assign points
[EFFECT_PHOTON_GEYSER] = 0, // TODO: Assign points
[EFFECT_SHELL_SIDE_ARM] = 0, // TODO: Assign points
[EFFECT_TERRAIN_PULSE] = 0, // TODO: Assign points
[EFFECT_JAW_LOCK] = 0, // TODO: Assign points
[EFFECT_NO_RETREAT] = 0, // TODO: Assign points
[EFFECT_TAR_SHOT] = 0, // TODO: Assign points
[EFFECT_POLTERGEIST] = 0, // TODO: Assign points
[EFFECT_OCTOLOCK] = 0, // TODO: Assign points
[EFFECT_CLANGOROUS_SOUL] = 0, // TODO: Assign points
[EFFECT_BOLT_BEAK] = 0, // TODO: Assign points
[EFFECT_SKY_DROP] = 0, // TODO: Assign points
[EFFECT_EXPANDING_FORCE] = 0, // TODO: Assign points
[EFFECT_SCALE_SHOT] = 0, // TODO: Assign points
[EFFECT_METEOR_BEAM] = 0, // TODO: Assign points
[EFFECT_RISING_VOLTAGE] = 0, // TODO: Assign points
[EFFECT_BEAK_BLAST] = 0, // TODO: Assign points
[EFFECT_COURT_CHANGE] = 0, // TODO: Assign points
[EFFECT_STEEL_BEAM] = 0, // TODO: Assign points
[EFFECT_EXTREME_EVOBOOST] = 0, // TODO: Assign points
[EFFECT_DAMAGE_SET_TERRAIN] = 0, // TODO: Assign points
[EFFECT_DARK_VOID] = 0, // TODO: Assign points
[EFFECT_SLEEP_HIT] = 1,
[EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points
[EFFECT_SPECIAL_ATTACK_UP_HIT] = 1,
[EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points
};
static const u16 sPoints_Effectiveness[] =

View File

@ -4259,7 +4259,7 @@ static bool32 TryChangeBattleTerrain(u32 battler, u32 statusFlag, u8 *timer)
{
if (!(gFieldStatuses & statusFlag))
{
gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | EFFECT_ELECTRIC_TERRAIN | EFFECT_PSYCHIC_TERRAIN);
gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN);
gFieldStatuses |= statusFlag;
if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_TERRAIN_EXTENDER)
@ -4801,10 +4801,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move
}
break;
case ABILITY_INTIMIDATE:
if (!(gSpecialStatuses[battler].intimidatedMon))
if (!gSpecialStatuses[battler].switchInAbilityDone)
{
gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_INTIMIDATED;
gSpecialStatuses[battler].intimidatedMon = TRUE;
gSpecialStatuses[battler].switchInAbilityDone = TRUE;
SET_STATCHANGER(STAT_ATK, 1, TRUE);
BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivates);
effect++;
}
break;
case ABILITY_FORECAST:
@ -6178,30 +6180,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move
}
}
break;
case ABILITYEFFECT_INTIMIDATE1:
case ABILITYEFFECT_INTIMIDATE2:
for (i = 0; i < gBattlersCount; i++)
{
if (GetBattlerAbility(i) == ABILITY_INTIMIDATE && gBattleResources->flags->flags[i] & RESOURCE_FLAG_INTIMIDATED
&& (IsBattlerAlive(BATTLE_OPPOSITE(i)) || IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(i))))) // At least one opposing mon has to be alive.
{
gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_INTIMIDATED;
gLastUsedAbility = ABILITY_INTIMIDATE;
if (caseID == ABILITYEFFECT_INTIMIDATE1)
{
BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivatesEnd3);
}
else
{
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_IntimidateActivates;
}
battler = gBattlerAbility = gBattleStruct->intimidateBattler = i;
effect++;
break;
}
}
break;
case ABILITYEFFECT_TRACE1:
case ABILITYEFFECT_TRACE2:
for (i = 0; i < gBattlersCount; i++)

File diff suppressed because it is too large Load Diff

View File

@ -5966,6 +5966,102 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
[MOVE_LUNAR_BLESSING] = {0}, // TODO
[MOVE_TAKE_HEART] = {0}, // TODO
[MOVE_TERA_BLAST] = {0}, // TODO
[MOVE_SILK_TRAP] = {0}, // TODO
[MOVE_AXE_KICK] = {0}, // TODO
[MOVE_LAST_RESPECTS] = {0}, // TODO
[MOVE_LUMINA_CRASH] = {0}, // TODO
[MOVE_ORDER_UP] = {0}, // TODO
[MOVE_JET_PUNCH] = {0}, // TODO
[MOVE_SPICY_EXTRACT] = {0}, // TODO
[MOVE_SPIN_OUT] = {0}, // TODO
[MOVE_POPULATION_BOMB] = {0}, // TODO
[MOVE_ICE_SPINNER] = {0}, // TODO
[MOVE_GLAIVE_RUSH] = {0}, // TODO
[MOVE_REVIVAL_BLESSING] = {0}, // TODO
[MOVE_SALT_CURE] = {0}, // TODO
[MOVE_TRIPLE_DIVE] = {0}, // TODO
[MOVE_MORTAL_SPIN] = {0}, // TODO
[MOVE_DOODLE] = {0}, // TODO
[MOVE_FILLET_AWAY] = {0}, // TODO
[MOVE_KOWTOW_CLEAVE] = {0}, // TODO
[MOVE_FLOWER_TRICK] = {0}, // TODO
[MOVE_TORCH_SONG] = {0}, // TODO
[MOVE_AQUA_STEP] = {0}, // TODO
[MOVE_RAGING_BULL] = {0}, // TODO
[MOVE_MAKE_IT_RAIN] = {0}, // TODO
[MOVE_RUINATION] = {0}, // TODO
[MOVE_COLLISION_COURSE] = {0}, // TODO
[MOVE_ELECTRO_DRIFT] = {0}, // TODO
[MOVE_SHED_TAIL] = {0}, // TODO
[MOVE_CHILLY_RECEPTION] = {0}, // TODO
[MOVE_TIDY_UP] = {0}, // TODO
[MOVE_SNOWSCAPE] = {0}, // TODO
[MOVE_POUNCE] = {0}, // TODO
[MOVE_TRAILBLAZE] = {0}, // TODO
[MOVE_CHILLING_WATER] = {0}, // TODO
[MOVE_HYPER_DRILL] = {0}, // TODO
[MOVE_TWIN_BEAM] = {0}, // TODO
[MOVE_RAGE_FIST] = {0}, // TODO
[MOVE_ARMOR_CANNON] = {0}, // TODO
[MOVE_BITTER_BLADE] = {0}, // TODO
[MOVE_DOUBLE_SHOCK] = {0}, // TODO
[MOVE_GIGATON_HAMMER] = {0}, // TODO
[MOVE_COMEUPPANCE] = {0}, // TODO
[MOVE_AQUA_CUTTER] = {0}, // TODO
[MOVE_BLAZING_TORQUE] = {0}, // TODO
[MOVE_WICKED_TORQUE] = {0}, // TODO
[MOVE_NOXIOUS_TORQUE] = {0}, // TODO
[MOVE_COMBAT_TORQUE] = {0}, // TODO
[MOVE_MAGICAL_TORQUE] = {0}, // TODO
};
const struct ContestEffect gContestEffects[] =

View File

@ -2962,8 +2962,8 @@ static const u8 sPsyshieldBashDescription[] = _(
"energy. May raise Defense.");
static const u8 sPowerShiftDescription[] = _(
"The user swaps its offensive\n"
"and defensive stats.");
"The user swaps its Attack\n"
"and Defense stats.");
static const u8 sStoneAxeDescription[] = _(
"High critical hit ratio. Sets\n"
@ -2974,52 +2974,52 @@ static const u8 sSpringtideStormDescription[] = _(
"Varies with the user's form.");
static const u8 sMysticalPowerDescription[] = _(
"Increases the user's better\n"
"of Atk. and Def. stats.");
"A mysterious power strikes,\n"
"raising the user's Sp. Atk.");
static const u8 sRagingFuryDescription[] = _(
"Viciously spews flames at\n"
"a foe, becoming fixated.");
"A rampage of 2 to 3 turns\n"
"that confuses the user.");
static const u8 sWaveCrashDescription[] = _(
"A water slam. Hurts the user\n"
"and raises its Action Speed.");
"A slam shrouded in water.\n"
"It also hurts the user.");
static const u8 sChloroblastDescription[] = _(
"An blast that hurts the user\n"
"and lowers its Action Speed.");
"A user-hurting blast of\n"
"amassed chlorophyll.");
static const u8 sMountainGaleDescription[] = _(
"The user hurls giant chunks\n"
"of ice to damage the foe.");
"Giant chunks of ice damage\n"
"the foe. It may flinch.");
static const u8 sVictoryDanceDescription[] = _(
"Dances to raise damage 50%,\n"
"plus offenses and defenses.");
"Dances to raise Attack,\n"
"Defense and Speed.");
static const u8 sHeadlongRushDescription[] = _(
"Hits with a full-body tackle,\n"
"lowering the foe's Defense.");
"Hits with a full-body tackle.\n"
"Lowers the users's defenses.");
static const u8 sBarbBarrageDescription[] = _(
"Can poison on impact. Powers\n"
"up if the foe has an ailment.");
"up against poisoned foes.");
static const u8 sEsperWingDescription[] = _(
"High critical hit ratio.\n"
"Ups the user's Action Speed.");
"Ups the user's Speed.");
static const u8 sBitterMaliceDescription[] = _(
"Hurts a foe harder if it has\n"
"an ailment. Can give FrstBte.");
"A spine-chilling resentment.\n"
"May lower the foe's Attack.");
static const u8 sShelterDescription[] = _(
"The user hardens their skin\n"
"and obscures itself.");
"The user hardens their skin,\n"
"sharply raising its Defense.");
static const u8 sTripleArrowsDescription[] = _(
"Ups critical-hit ratio for 3\n"
"turns. Lowers foe Defenses.");
"High critical hit ratio.\n"
"May lower Defense or flinch.");
static const u8 sInfernalParadeDescription[] = _(
"Hurts a foe harder if it has\n"
@ -3031,7 +3031,7 @@ static const u8 sCeaselessEdgeDescription[] = _(
static const u8 sBleakwindStormDescription[] = _(
"Hits with brutal, cold winds.\n"
"May inflict frostbite.");
"May lower the foe's Speed.");
static const u8 sWildboltStormDescription[] = _(
"Hits with a brutal tempest.\n"
@ -3042,13 +3042,200 @@ static const u8 sSandsearStormDescription[] = _(
"May inflict a burn.");
static const u8 sLunarBlessingDescription[] = _(
"The user heals themself and\n"
"conceals their presence.");
"The user heals and cures\n"
"itself and its ally.");
static const u8 sTakeHeartDescription[] = _(
"The user lifts its spirits to\n"
"heal and strengthen itself.");
static const u8 sTeraBlastDescription[] = _(
"If the user's Terastallized,\n"
"it hits with its Tera-type.");
static const u8 sSilkTrapDescription[] =_(
"Protects itself, lowering\n"
"Speed on contact.");
static const u8 sAxeKickDescription[] = _(
"May miss and hurt the kicker.\n"
"May cause confusion.");
static const u8 sLastRespectsDescription[] = _(
"This move deals more damage\n"
"for each defeated ally.");
static const u8 sLuminaCrashDescription[] = _(
"A mind-affecting light\n"
"harshly lowers Sp. Def.");
static const u8 sOrderUpDescription[] = _(
"Boosts a user's stats\n"
"depending on Tatsugiri.");
static const u8 sJetPunchDescription[] = _(
"A punch is thrown at blinding\n"
"speed to strike first.");
static const u8 sSpicyExtractDescription[] = _(
"Sharply ups target's Attack,\n"
"harshly lowers its Defense.");
static const u8 sSpinOutDescription[] = _(
"Furiously strains its legs.\n"
"Harshly lowers user's Speed.");
static const u8 sPopulationBombDescription[] = _(
"The user's fellows hit one\n"
"to ten times in a row.");
static const u8 sIceSpinnerDescription[] = _(
"Ice-covered feet hit a foe\n"
"and destroy the terrain.");
static const u8 sGlaiveRushDescription[] = _(
"Foe attacks next turn can't\n"
"miss and do double damage.");
static const u8 sRevivalBlessingDescription[] = _(
"Revives a fainted party {PKMN}\n"
"and restores half of its HP.");
static const u8 sSaltCureDescription[] = _(
"Hurts foe every turn. Double\n"
"damage to Steel and Water.");
static const u8 sTripleDiveDescription[] = _(
"Hits target with splashes\n"
"of water 3 times in a row.");
static const u8 sMortalSpinDescription[] = _(
"Erases trap moves and Leech\n"
"Seed. Poisons adjecent foes.");
static const u8 sDoodleDescription[] = _(
"Changes user's and ally's\n"
"Ability into the target's.");
static const u8 sFilletAwayDescription[] = _(
"Sharply boosts offenses and\n"
"Speed by using its own HP.");
static const u8 sKowtowCleaveDescription[] = _(
"User slashes the foe after\n"
"kowtowing. It never misses.");
static const u8 sFlowerTrickDescription[] = _(
"Rigged bouquet. Always gets\n"
"a critical hit, never missing.");
static const u8 sTorchSongDescription[] = _(
"Flames scorch the target.\n"
"Boosts the user's Sp. Atk.");
static const u8 sAquaStepDescription[] = _(
"Hits with light, fluid dance\n"
"steps. Ups the user's Speed.");
static const u8 sRagingBullDescription[] = _(
"Tackle that breaks barriers.\n"
"User's form determines type.");
static const u8 sMakeItRainDescription[] = _(
"Lowers the user's Sp. Atk.\n"
"Money is recovered after.");
static const u8 sRuinationDescription[] = _(
"Summons a ruinous disaster\n"
"and cuts half the foe's HP.");
static const u8 sCollisionCourseDescription[] = _(
"Prehistoric explosion that's\n"
"stronger if supereffective.");
static const u8 sElectroDriftDescription[] = _(
"Futuristic electricity. It's\n"
"stronger if supereffective.");
static const u8 sShedTailDescription[] = _(
"Creates a Substitute for\n"
"itself before switching out.");
static const u8 sChillyReceptionDescription[] =_(
"Bad joke summons snowstorm.\n"
"The user also switches out.");
static const u8 sTidyUpDescription[] = _(
"User tidies up hazards and\n"
"raises its Attack and Speed.");
static const u8 sSnowscapeDescription[] = _(
"Summons a snowstorm that\n"
"lasts for five turns.");
static const u8 sPounceDescription[] = _(
"The user pounces on the foe,\n"
"lowering its Speed.");
static const u8 sTrailblazeDescription[] = _(
"The user attacks suddenly,\n"
"raising its Speed.");
static const u8 sChillingWaterDescription[] = _(
"A shower with ice-cold water\n"
"lowers the target's Attack.");
static const u8 sHyperDrillDescription[] = _(
"A spinning pointed part\n"
"bypasses a foe's Protect.");
static const u8 sTwinBeamDescription[] = _(
"Mystical eye-beams that hit\n"
"the target twice in a row.");
static const u8 sRageFistDescription[] = _(
"The more the user has been\n"
"hit, the stronger the move.");
static const u8 sArmorCannonDescription[] = _(
"A strong attack but lowers\n"
"the defensive stats.");
static const u8 sBitterBladeDescription[] = _(
"An attack that absorbs\n"
"half the damage inflicted.");
static const u8 sDoubleShockDescription[] = _(
"Discharges all electricity,\n"
"losing the Electric type.");
static const u8 sGigatonHammerDescription[] = _(
"Swings a huge hammer. Can't\n"
"be used twice in a row.");
static const u8 sComeuppanceDescription[] = _(
"Retaliates strongly against\n"
"who last hurt the user.");
static const u8 sAquaCutterDescription[] = _(
"Pressurized water cut with a\n"
"high critical-hit ratio.");
static const u8 sBlazingTorqueDescription[] = _(
"---");
static const u8 sWickedTorqueDescription[] = _(
"---");
static const u8 sNoxiousTorqueDescription[] = _(
"---");
static const u8 sCombatTorqueDescription[] = _(
"---");
static const u8 sMagicalTorqueDescription[] = _(
"---");
const u8 gNotDoneYetDescription[] = _(
"This move can't be used. Its\n"
"effect is in development.");
@ -3838,4 +4025,52 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
[MOVE_SANDSEAR_STORM - 1] = sSandsearStormDescription,
[MOVE_LUNAR_BLESSING - 1] = sLunarBlessingDescription,
[MOVE_TAKE_HEART - 1] = sTakeHeartDescription,
[MOVE_TERA_BLAST - 1] = sTeraBlastDescription,
[MOVE_SILK_TRAP - 1] = sSilkTrapDescription,
[MOVE_AXE_KICK - 1] = sAxeKickDescription,
[MOVE_LAST_RESPECTS - 1] = sLastRespectsDescription,
[MOVE_LUMINA_CRASH - 1] = sLuminaCrashDescription,
[MOVE_ORDER_UP - 1] = sOrderUpDescription,
[MOVE_JET_PUNCH - 1] = sJetPunchDescription,
[MOVE_SPICY_EXTRACT - 1] = sSpicyExtractDescription,
[MOVE_SPIN_OUT - 1] = sSpinOutDescription,
[MOVE_POPULATION_BOMB - 1] = sPopulationBombDescription,
[MOVE_ICE_SPINNER - 1] = sIceSpinnerDescription,
[MOVE_GLAIVE_RUSH - 1] = sGlaiveRushDescription,
[MOVE_REVIVAL_BLESSING - 1] = sRevivalBlessingDescription,
[MOVE_SALT_CURE - 1] = sSaltCureDescription,
[MOVE_TRIPLE_DIVE - 1] = sTripleDiveDescription,
[MOVE_MORTAL_SPIN - 1] = sMortalSpinDescription,
[MOVE_DOODLE - 1] = sDoodleDescription,
[MOVE_FILLET_AWAY - 1] = sFilletAwayDescription,
[MOVE_KOWTOW_CLEAVE - 1] = sKowtowCleaveDescription,
[MOVE_FLOWER_TRICK - 1] = sFlowerTrickDescription,
[MOVE_TORCH_SONG - 1] = sTorchSongDescription,
[MOVE_AQUA_STEP - 1] = sAquaStepDescription,
[MOVE_RAGING_BULL - 1] = sRagingBullDescription,
[MOVE_MAKE_IT_RAIN - 1] = sMakeItRainDescription,
[MOVE_RUINATION - 1] = sRuinationDescription,
[MOVE_COLLISION_COURSE - 1] = sCollisionCourseDescription,
[MOVE_ELECTRO_DRIFT - 1] = sElectroDriftDescription,
[MOVE_SHED_TAIL - 1] = sShedTailDescription,
[MOVE_CHILLY_RECEPTION - 1] = sChillyReceptionDescription,
[MOVE_TIDY_UP - 1] = sTidyUpDescription,
[MOVE_SNOWSCAPE - 1] = sSnowscapeDescription,
[MOVE_POUNCE - 1] = sPounceDescription,
[MOVE_TRAILBLAZE - 1] = sTrailblazeDescription,
[MOVE_CHILLING_WATER - 1] = sChillingWaterDescription,
[MOVE_HYPER_DRILL - 1] = sHyperDrillDescription,
[MOVE_TWIN_BEAM - 1] = sTwinBeamDescription,
[MOVE_RAGE_FIST - 1] = sRageFistDescription,
[MOVE_ARMOR_CANNON - 1] = sArmorCannonDescription,
[MOVE_BITTER_BLADE - 1] = sBitterBladeDescription,
[MOVE_DOUBLE_SHOCK - 1] = sDoubleShockDescription,
[MOVE_GIGATON_HAMMER - 1] = sGigatonHammerDescription,
[MOVE_COMEUPPANCE - 1] = sComeuppanceDescription,
[MOVE_AQUA_CUTTER - 1] = sAquaCutterDescription,
[MOVE_BLAZING_TORQUE - 1] = sBlazingTorqueDescription,
[MOVE_WICKED_TORQUE - 1] = sWickedTorqueDescription,
[MOVE_NOXIOUS_TORQUE - 1] = sNoxiousTorqueDescription,
[MOVE_COMBAT_TORQUE - 1] = sCombatTorqueDescription,
[MOVE_MAGICAL_TORQUE - 1] = sMagicalTorqueDescription,
};

View File

@ -781,6 +781,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
[MOVE_SANDSEAR_STORM] = _("Sandsear Storm"),
[MOVE_LUNAR_BLESSING] = _("Lunar Blessing"),
[MOVE_TAKE_HEART] = _("Take Heart"),
[MOVE_TERA_BLAST] = _("Tera Blast"),
[MOVE_SILK_TRAP] = _("Silk Trap"),
[MOVE_AXE_KICK] = _("Axe Kick"),
[MOVE_LAST_RESPECTS] = _("Last Respects"),
[MOVE_LUMINA_CRASH] = _("Lumina Crash"),
[MOVE_ORDER_UP] = _("Order Up"),
[MOVE_JET_PUNCH] = _("Jet Punch"),
[MOVE_SPICY_EXTRACT] = _("Spicy Extract"),
[MOVE_SPIN_OUT] = _("Spin Out"),
[MOVE_POPULATION_BOMB] = _("Population Bomb"),
[MOVE_ICE_SPINNER] = _("Ice Spinner"),
[MOVE_GLAIVE_RUSH] = _("Glaive Rush"),
[MOVE_REVIVAL_BLESSING] = _("Revival Blessing"),
[MOVE_SALT_CURE] = _("Salt Cure"),
[MOVE_TRIPLE_DIVE] = _("Triple Dive"),
[MOVE_MORTAL_SPIN] = _("Mortal Spin"),
[MOVE_DOODLE] = _("Doodle"),
[MOVE_FILLET_AWAY] = _("Fillet Away"),
[MOVE_KOWTOW_CLEAVE] = _("Kowtow Cleave"),
[MOVE_FLOWER_TRICK] = _("Flower Trick"),
[MOVE_TORCH_SONG] = _("Torch Song"),
[MOVE_AQUA_STEP] = _("Aqua Step"),
[MOVE_RAGING_BULL] = _("Raging Bull"),
[MOVE_MAKE_IT_RAIN] = _("Make It Rain"),
[MOVE_RUINATION] = _("Ruination"),
[MOVE_COLLISION_COURSE] = _("Collision Course"),
[MOVE_ELECTRO_DRIFT] = _("Electro Drift"),
[MOVE_SHED_TAIL] = _("Shed Tail"),
[MOVE_CHILLY_RECEPTION] = _("Chilly Reception"),
[MOVE_TIDY_UP] = _("Tidy Up"),
[MOVE_SNOWSCAPE] = _("Snowscape"),
[MOVE_POUNCE] = _("Pounce"),
[MOVE_TRAILBLAZE] = _("Trailblaze"),
[MOVE_CHILLING_WATER] = _("Chilling Water"),
[MOVE_HYPER_DRILL] = _("Hyper Drill"),
[MOVE_TWIN_BEAM] = _("Twin Beam"),
[MOVE_RAGE_FIST] = _("Rage Fist"),
[MOVE_ARMOR_CANNON] = _("Armor Cannon"),
[MOVE_BITTER_BLADE] = _("Bitter Blade"),
[MOVE_DOUBLE_SHOCK] = _("Double Shock"),
[MOVE_GIGATON_HAMMER] = _("Gigaton Hammer"),
[MOVE_COMEUPPANCE] = _("Comeuppance"),
[MOVE_AQUA_CUTTER] = _("Aqua Cutter"),
[MOVE_BLAZING_TORQUE] = _("Blazing Torque"),
[MOVE_WICKED_TORQUE] = _("Wicked Torque"),
[MOVE_NOXIOUS_TORQUE] = _("Noxious Torque"),
[MOVE_COMBAT_TORQUE] = _("Combat Torque"),
[MOVE_MAGICAL_TORQUE] = _("Magical Torque"),
};
#else
// 12 letters
@ -1565,6 +1613,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
[MOVE_SANDSEAR_STORM] = _("SndsearStorm"),
[MOVE_LUNAR_BLESSING] = _("LunarBlessng"),
[MOVE_TAKE_HEART] = _("Take Heart"),
[MOVE_TERA_BLAST] = _("Tera Blast"),
[MOVE_SILK_TRAP] = _("Silk Trap"),
[MOVE_AXE_KICK] = _("Axe Kick"),
[MOVE_LAST_RESPECTS] = _("LastRespects"),
[MOVE_LUMINA_CRASH] = _("Lumina Crash"),
[MOVE_ORDER_UP] = _("Order Up"),
[MOVE_JET_PUNCH] = _("Jet Punch"),
[MOVE_SPICY_EXTRACT] = _("SpicyExtract"),
[MOVE_SPIN_OUT] = _("Spin Out"),
[MOVE_POPULATION_BOMB] = _("PoplatinBomb"),
[MOVE_ICE_SPINNER] = _("Ice Spinner"),
[MOVE_GLAIVE_RUSH] = _("Glaive Rush"),
[MOVE_REVIVAL_BLESSING] = _("RevivlBlesng"),
[MOVE_SALT_CURE] = _("Salt Cure"),
[MOVE_TRIPLE_DIVE] = _("Triple Dive"),
[MOVE_MORTAL_SPIN] = _("Mortal Spin"),
[MOVE_DOODLE] = _("Doodle"),
[MOVE_FILLET_AWAY] = _("Fillet Away"),
[MOVE_KOWTOW_CLEAVE] = _("KowtowCleave"),
[MOVE_FLOWER_TRICK] = _("Flower Trick"),
[MOVE_TORCH_SONG] = _("Torch Song"),
[MOVE_AQUA_STEP] = _("Aqua Step"),
[MOVE_RAGING_BULL] = _("Raging Bull"),
[MOVE_MAKE_IT_RAIN] = _("Make It Rain"),
[MOVE_RUINATION] = _("Ruination"),
[MOVE_COLLISION_COURSE] = _("ColisinCours"),
[MOVE_ELECTRO_DRIFT] = _("ElectroDrift"),
[MOVE_SHED_TAIL] = _("Shed Tail"),
[MOVE_CHILLY_RECEPTION] = _("ChilReceptin"),
[MOVE_TIDY_UP] = _("Tidy Up"),
[MOVE_SNOWSCAPE] = _("Snowscape"),
[MOVE_POUNCE] = _("Pounce"),
[MOVE_TRAILBLAZE] = _("Trailblaze"),
[MOVE_CHILLING_WATER] = _("ChillingWatr"),
[MOVE_HYPER_DRILL] = _("Hyper Drill"),
[MOVE_TWIN_BEAM] = _("Twin Beam"),
[MOVE_RAGE_FIST] = _("Rage Fist"),
[MOVE_ARMOR_CANNON] = _("Armor Cannon"),
[MOVE_BITTER_BLADE] = _("Bitter Blade"),
[MOVE_DOUBLE_SHOCK] = _("Double Shock"),
[MOVE_GIGATON_HAMMER] = _("GigatonHammr"),
[MOVE_COMEUPPANCE] = _("Comeuppance"),
[MOVE_AQUA_CUTTER] = _("Aqua Cutter"),
[MOVE_BLAZING_TORQUE] = _("BlazngTorque"),
[MOVE_WICKED_TORQUE] = _("WickedTorque"),
[MOVE_NOXIOUS_TORQUE] = _("NoxiusTorque"),
[MOVE_COMBAT_TORQUE] = _("CombatTorque"),
[MOVE_MAGICAL_TORQUE] = _("MagiclTorque"),
};
#endif

View File

@ -2178,6 +2178,8 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId)
{
PlaySE(MUS_LEVEL_UP);
ScriptGiveMon(sDebugMonData->mon_speciesId, gTasks[taskId].data[3], ITEM_NONE, 0,0,0);
//Set flag for user convenience
FlagSet(FLAG_SYS_POKEMON_GET);
Free(sDebugMonData); //Frees EWRAM of MonData Struct
DebugAction_DestroyExtraWindow(taskId);
}
@ -2732,6 +2734,9 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu
break;
}
//Set flag for user convenience
FlagSet(FLAG_SYS_POKEMON_GET);
Free(sDebugMonData); //Frees EWRAM of MonData Struct
DebugAction_DestroyExtraWindow(taskId); //return sentToPc;
}