diff options
| author | Daniel Harding <33dannye@gmail.com> | 2020-05-16 21:42:24 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-16 21:42:24 -0500 |
| commit | 8a924f1f783572ff395f617f99546b4c949c8b04 (patch) | |
| tree | 1b6c7de331cb983256651b11b8adf413a3a434f1 /data/moves | |
| parent | 88d7e9a34a8b610b358cec1ccc6660634ca9ce80 (diff) | |
| parent | ed94962edf1668aba3f60938e8a5ba8040e2a59c (diff) | |
Merge pull request #30 from entrpntr/spring-cleaning
Spring Cleaning
Diffstat (limited to 'data/moves')
| -rw-r--r-- | data/moves/animations.asm | 221 | ||||
| -rw-r--r-- | data/moves/critical_hit_moves.asm | 9 | ||||
| -rw-r--r-- | data/moves/effects.asm | 2077 | ||||
| -rw-r--r-- | data/moves/effects_pointers.asm | 159 | ||||
| -rw-r--r-- | data/moves/effects_priorities.asm | 8 | ||||
| -rw-r--r-- | data/moves/flail_reversal_power.asm | 8 | ||||
| -rw-r--r-- | data/moves/grammar.asm | 101 | ||||
| -rw-r--r-- | data/moves/magnitude_power.asm | 9 | ||||
| -rw-r--r-- | data/moves/metronome_exception_moves.asm | 17 | ||||
| -rw-r--r-- | data/moves/names.asm | 252 | ||||
| -rw-r--r-- | data/moves/present_power.asm | 6 | ||||
| -rw-r--r-- | data/moves/tmhm_moves.asm | 66 |
12 files changed, 2807 insertions, 126 deletions
diff --git a/data/moves/animations.asm b/data/moves/animations.asm index badbf7ba..0e1033a6 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -481,7 +481,7 @@ BattleAnim_SendOutMon: BattleAnim_ReturnMon: anim_sound 0, 0, SFX_BALL_POOF -BattleAnim_BatonPass_branch_c9486: +.anim: anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 anim_wait 32 anim_ret @@ -679,7 +679,7 @@ BattleAnim_KarateChop: BattleAnim_Doubleslap: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_DOUBLESLAP anim_obj ANIM_OBJ_08, 144, 48, $0 anim_wait 6 @@ -687,7 +687,7 @@ BattleAnim_Doubleslap: anim_wait 8 anim_ret -BattleAnim_Doubleslap_branch_c961b: +.alternate: anim_sound 0, 1, SFX_DOUBLESLAP anim_obj ANIM_OBJ_08, 120, 48, $0 anim_wait 6 @@ -697,7 +697,7 @@ BattleAnim_Doubleslap_branch_c961b: BattleAnim_CometPunch: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_06, 144, 48, $0 anim_wait 6 @@ -705,7 +705,7 @@ BattleAnim_CometPunch: anim_wait 8 anim_ret -BattleAnim_CometPunch_branch_c9641: +.alternate: anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_06, 120, 64, $0 anim_wait 6 @@ -713,7 +713,6 @@ BattleAnim_CometPunch_branch_c9641: anim_wait 8 anim_ret -BattleAnim_Bide_branch_c9651: BattleAnim_MegaPunch: anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $40, $2, $0 @@ -750,7 +749,7 @@ BattleAnim_Stomp: BattleAnim_DoubleKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 144, 48, $0 anim_wait 6 @@ -758,7 +757,7 @@ BattleAnim_DoubleKick: anim_wait 8 anim_ret -BattleAnim_DoubleKick_branch_c96bd: +.alternate: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 120, 64, $0 anim_wait 6 @@ -768,7 +767,7 @@ BattleAnim_DoubleKick_branch_c96bd: BattleAnim_JumpKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_JUMP_KICK anim_obj ANIM_OBJ_07, 112, 72, $0 anim_obj ANIM_OBJ_07, 100, 60, $0 @@ -780,7 +779,7 @@ BattleAnim_JumpKick: anim_wait 16 anim_ret -BattleAnim_JumpKick_branch_c96f1: +.alternate: anim_wait 8 anim_sound 0, 0, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_04, 44, 88, $0 @@ -790,7 +789,7 @@ BattleAnim_JumpKick_branch_c96f1: BattleAnim_HiJumpKick: anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e + anim_if_param_equal $1, .alternate anim_wait 32 anim_sound 0, 1, SFX_JUMP_KICK anim_obj ANIM_OBJ_07, 112, 72, $0 @@ -801,7 +800,7 @@ BattleAnim_HiJumpKick: anim_wait 16 anim_ret -BattleAnim_HiJumpKick_branch_c971e: +.alternate: anim_wait 16 anim_sound 0, 0, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_04, 44, 88, $0 @@ -882,7 +881,7 @@ BattleAnim_Ember: BattleAnim_FirePunch: anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE anim_obj ANIM_OBJ_0A, 136, 56, $43 - anim_call BattleAnim_FirePunch_branch_cbbcc + anim_call BattleAnimSub_Fire anim_wait 16 anim_ret @@ -978,7 +977,7 @@ BattleAnim_FireBlast: BattleAnim_IcePunch: anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE anim_obj ANIM_OBJ_0A, 136, 56, $43 - anim_call BattleAnim_IcePunch_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 32 anim_ret @@ -1231,7 +1230,7 @@ BattleAnim_Solarbeam: .FireSolarBeam anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Solarbeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_ret @@ -1291,7 +1290,7 @@ BattleAnim_Thunder: anim_ret BattleAnim_RazorWind: - anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_WHIP anim_bgeffect ANIM_BG_06, $0, $1, $0 .loop @@ -1357,12 +1356,12 @@ BattleAnim_Selfdestruct: anim_1gfx ANIM_GFX_EXPLOSION anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 anim_if_param_equal $1, .loop - anim_call BattleAnim_Selfdestruct_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret .loop - anim_call BattleAnim_Selfdestruct_branch_cbb62 + anim_call BattleAnimSub_Explosion1 anim_wait 5 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_loop 2, .loop @@ -1374,12 +1373,12 @@ BattleAnim_Explosion: anim_bgeffect ANIM_BG_1F, $60, $4, $10 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 anim_if_param_equal $1, .loop - anim_call BattleAnim_Explosion_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret .loop - anim_call BattleAnim_Explosion_branch_cbb62 + anim_call BattleAnimSub_Explosion1 anim_wait 5 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_loop 2, .loop @@ -1388,7 +1387,7 @@ BattleAnim_Explosion: BattleAnim_Acid: anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Acid_branch_cbc35 + anim_call BattleAnimSub_Acid anim_wait 64 anim_ret @@ -1483,7 +1482,7 @@ BattleAnim_HyperBeam: anim_bgeffect ANIM_BG_1F, $30, $4, $10 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_HyperBeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_ret @@ -1492,7 +1491,7 @@ BattleAnim_AuroraBeam: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 anim_wait 64 - anim_call BattleAnim_AuroraBeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_incobj 5 anim_wait 64 @@ -1517,7 +1516,7 @@ BattleAnim_Scratch: BattleAnim_FurySwipes: anim_1gfx ANIM_GFX_CUT - anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_SCRATCH anim_obj ANIM_OBJ_37, 144, 48, $0 anim_obj ANIM_OBJ_37, 140, 44, $0 @@ -1526,7 +1525,7 @@ BattleAnim_FurySwipes: anim_wait 32 anim_ret -BattleAnim_FurySwipes_branch_c9dd9: +.alternate: anim_sound 0, 1, SFX_SCRATCH anim_obj ANIM_OBJ_38, 120, 48, $0 anim_obj ANIM_OBJ_38, 124, 44, $0 @@ -1586,27 +1585,27 @@ BattleAnim_Teleport: anim_incbgeffect ANIM_BG_TELEPORT anim_call BattleAnim_ShowMon_0 anim_bgeffect ANIM_BG_06, $0, $1, $0 - anim_call BattleAnim_Teleport_branch_cbb12 + anim_call BattleAnimSub_WarpAway anim_wait 64 anim_ret BattleAnim_Fly: - anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89 - anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82 + anim_if_param_equal $1, .turn1 + anim_if_param_equal $2, .miss anim_1gfx ANIM_GFX_HIT anim_sound 0, 1, SFX_WING_ATTACK anim_obj ANIM_OBJ_01, 136, 56, $0 anim_wait 32 -BattleAnim_Fly_branch_c9e82: +.miss: anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 anim_wait 32 anim_ret -BattleAnim_Fly_branch_c9e89: +.turn1: anim_1gfx ANIM_GFX_SPEED anim_bgeffect ANIM_BG_06, $0, $1, $0 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_call BattleAnim_Fly_branch_cbb12 + anim_call BattleAnimSub_WarpAway anim_wait 64 anim_ret @@ -1726,9 +1725,6 @@ BattleAnim_Softboiled: anim_ret BattleAnim_FocusEnergy: -BattleAnim_RazorWind_branch_c9fb5: -BattleAnim_SkullBash_branch_c9fb5: -BattleAnim_SkyAttack_branch_c9fb5: anim_1gfx ANIM_GFX_SPEED anim_call BattleAnim_TargetObj_1Row anim_bgeffect ANIM_BG_16, $0, $1, $40 @@ -1756,7 +1752,7 @@ BattleAnim_SkyAttack_branch_c9fb5: anim_ret BattleAnim_Bide: - anim_if_param_equal $0, BattleAnim_Bide_branch_c9651 + anim_if_param_equal $0, BattleAnim_MegaPunch anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_TargetObj_1Row anim_sound 0, 0, SFX_ESCAPE_ROPE @@ -1844,7 +1840,7 @@ BattleAnim_Growl: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_cry $0 .loop - anim_call BattleAnim_Growl_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 3, .loop anim_wait 9 @@ -1865,7 +1861,7 @@ BattleAnim_Roar: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_cry $1 .loop - anim_call BattleAnim_Roar_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 3, .loop anim_wait 16 @@ -1919,7 +1915,7 @@ BattleAnim_ConfuseRay: BattleAnim_Leer: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Leer_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 16 anim_ret @@ -2045,7 +2041,7 @@ BattleAnim_Dig: BattleAnim_SandAttack: anim_1gfx ANIM_GFX_SAND - anim_call BattleAnim_SandAttack_branch_cbc5b + anim_call BattleAnimSub_SandOrMud anim_ret BattleAnim_StringShot: @@ -2350,7 +2346,7 @@ BattleAnim_Transform: anim_call BattleAnim_TargetObj_2Row anim_sound 0, 0, SFX_PSYBEAM anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 + anim_wait 48 anim_transform anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 @@ -2451,7 +2447,7 @@ BattleAnim_Crabhammer: anim_ret BattleAnim_SkullBash: - anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $14, $2, $0 anim_wait 32 @@ -2551,9 +2547,9 @@ BattleAnim_Flash: BattleAnim_Substitute: anim_sound 0, 0, SFX_SURF - anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c - anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e - anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760 + anim_if_param_equal $3, .dropsub2 + anim_if_param_equal $2, .raisesub + anim_if_param_equal $1, .dropsub anim_1gfx ANIM_GFX_SMOKE anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 @@ -2563,7 +2559,7 @@ BattleAnim_Substitute: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca760: +.dropsub: anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 anim_dropsub @@ -2571,7 +2567,7 @@ BattleAnim_Substitute_branch_ca760: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca76e: +.raisesub: anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 anim_raisesub @@ -2579,7 +2575,7 @@ BattleAnim_Substitute_branch_ca76e: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca77c: +.dropsub2: anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_wait 48 anim_dropsub @@ -2592,7 +2588,7 @@ BattleAnim_Minimize: anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_TargetObj_2Row anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 + anim_wait 48 anim_minimizeopp anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 @@ -2600,7 +2596,7 @@ BattleAnim_Minimize: anim_ret BattleAnim_SkyAttack: - anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_SKY_ATTACK anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 32 @@ -2640,9 +2636,9 @@ BattleAnim_Lick: BattleAnim_TriAttack: anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING - anim_call BattleAnim_TriAttack_branch_cbbcc + anim_call BattleAnimSub_Fire anim_wait 16 - anim_call BattleAnim_TriAttack_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 16 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4 anim_sound 0, 1, SFX_THUNDER @@ -2681,7 +2677,7 @@ BattleAnim_DreamEater: anim_bgp $1b anim_obp0 $27 anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_DreamEater_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 128 anim_wait 48 anim_ret @@ -2689,7 +2685,7 @@ BattleAnim_DreamEater: BattleAnim_LeechLife: anim_1gfx ANIM_GFX_BUBBLE anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_LeechLife_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 128 anim_wait 48 anim_ret @@ -2698,7 +2694,7 @@ BattleAnim_Harden: anim_1gfx ANIM_GFX_REFLECT anim_obp0 $0 anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_Harden_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_ret @@ -2725,7 +2721,7 @@ BattleAnim_Glare: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Glare_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 16 anim_ret @@ -2985,16 +2981,16 @@ BattleAnim_PsychicM: BattleAnim_Sludge: anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Sludge_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 56 anim_ret BattleAnim_Toxic: anim_1gfx ANIM_GFX_POISON anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 - anim_call BattleAnim_Toxic_branch_cbc35 + anim_call BattleAnimSub_Acid anim_wait 32 - anim_call BattleAnim_Toxic_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 64 anim_ret @@ -3116,8 +3112,8 @@ BattleAnim_Sketch: BattleAnim_TripleKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95 - anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5 + anim_if_param_equal $1, .alternate1 + anim_if_param_equal $2, .alternate2 anim_sound 0, 1, SFX_MEGA_KICK anim_obj ANIM_OBJ_07, 144, 48, $0 anim_wait 6 @@ -3125,7 +3121,7 @@ BattleAnim_TripleKick: anim_wait 8 anim_ret -BattleAnim_TripleKick_branch_cac95: +.alternate1: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 120, 64, $0 anim_wait 6 @@ -3133,7 +3129,7 @@ BattleAnim_TripleKick_branch_cac95: anim_wait 8 anim_ret -BattleAnim_TripleKick_branch_caca5: +.alternate2: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 132, 32, $0 anim_wait 6 @@ -3223,7 +3219,7 @@ BattleAnim_Snore: anim_bgeffect ANIM_BG_1F, $60, $2, $0 anim_sound 0, 0, SFX_SNORE .loop - anim_call BattleAnim_Snore_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 2, .loop anim_wait 8 @@ -3380,7 +3376,7 @@ BattleAnim_PowderSnow: anim_loop 2, .loop anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 anim_wait 40 - anim_call BattleAnim_PowderSnow_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 32 anim_ret @@ -3420,7 +3416,7 @@ BattleAnim_ScaryFace: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_ScaryFace_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 64 anim_ret @@ -3501,14 +3497,14 @@ BattleAnim_SludgeBomb: anim_sound 6, 2, SFX_SLUDGE_BOMB anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10 anim_wait 36 - anim_call BattleAnim_SludgeBomb_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 64 anim_ret BattleAnim_MudSlap: anim_1gfx ANIM_GFX_SAND anim_obp0 $fc - anim_call BattleAnim_MudSlap_branch_cbc5b + anim_call BattleAnimSub_SandOrMud anim_ret BattleAnim_Octazooka: @@ -3572,13 +3568,13 @@ BattleAnim_DestinyBond: anim_1gfx ANIM_GFX_ANGELS anim_bgp $1b anim_obp0 $0 - anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104 + anim_if_param_equal $1, .fainted anim_sound 6, 2, SFX_WHIRLWIND anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2 anim_wait 128 anim_ret -BattleAnim_DestinyBond_branch_cb104: +.fainted: anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0 anim_sound 0, 1, SFX_KINESIS anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 @@ -3701,7 +3697,7 @@ BattleAnim_GigaDrain: anim_call BattleAnim_TargetObj_1Row anim_bgeffect ANIM_BG_1C, $0, $0, $10 anim_sound 6, 3, SFX_GIGA_DRAIN - anim_call BattleAnim_GigaDrain_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 48 anim_wait 128 anim_incbgeffect ANIM_BG_1C @@ -3858,7 +3854,7 @@ BattleAnim_SteelWing: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_SteelWing_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_1gfx ANIM_GFX_HIT anim_resetobp0 @@ -3967,7 +3963,7 @@ BattleAnim_Present: anim_1gfx ANIM_GFX_EXPLOSION anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 .loop - anim_call BattleAnim_Present_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_jumpuntil .loop anim_ret @@ -4078,7 +4074,7 @@ BattleAnim_Dynamicpunch: anim_obj ANIM_OBJ_0A, 136, 56, $43 anim_wait 16 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 - anim_call BattleAnim_Dynamicpunch_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret @@ -4108,7 +4104,7 @@ BattleAnim_BatonPass: anim_1gfx ANIM_GFX_MISC anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20 anim_sound 0, 0, SFX_BATON_PASS - anim_call BattleAnim_BatonPass_branch_c9486 + anim_call BattleAnim_ReturnMon.anim anim_wait 64 anim_ret @@ -4126,13 +4122,13 @@ BattleAnim_Encore: BattleAnim_Pursuit: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b + anim_if_param_equal $1, .pursued anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_01, 136, 56, $0 anim_wait 16 anim_ret -BattleAnim_Pursuit_branch_cb62b: +.pursued: anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 anim_wait 4 anim_call BattleAnim_UserObj_1Row @@ -4194,7 +4190,7 @@ BattleAnim_IronTail: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_IronTail_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_wait 4 anim_1gfx ANIM_GFX_HIT anim_resetobp0 @@ -4212,7 +4208,7 @@ BattleAnim_MetalClaw: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_MetalClaw_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_1gfx ANIM_GFX_CUT anim_resetobp0 @@ -4255,11 +4251,11 @@ BattleAnim_MorningSun: anim_loop 5, .loop anim_wait 32 anim_if_param_equal 0, .zero - anim_call BattleAnim_MorningSun_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .zero - anim_call BattleAnim_MorningSun_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_Synthesis: @@ -4272,11 +4268,11 @@ BattleAnim_Synthesis: anim_incbgeffect ANIM_BG_18 anim_call BattleAnim_ShowMon_0 anim_if_param_equal $1, .one - anim_call BattleAnim_Synthesis_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .one - anim_call BattleAnim_Synthesis_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_Crunch: @@ -4308,11 +4304,11 @@ BattleAnim_Moonlight: anim_sound 0, 0, SFX_MOONLIGHT anim_wait 63 anim_if_param_equal $3, .three - anim_call BattleAnim_Moonlight_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .three - anim_call BattleAnim_Moonlight_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_HiddenPower: @@ -4596,9 +4592,7 @@ BattleAnim_BeatUp: anim_call BattleAnim_ShowMon_0 anim_ret -BattleAnim_DreamEater_branch_cbab3: -BattleAnim_GigaDrain_branch_cbab3: -BattleAnim_LeechLife_branch_cbab3: +BattleAnimSub_Drain: anim_obj ANIM_OBJ_71, 132, 44, $0 anim_obj ANIM_OBJ_71, 132, 44, $8 anim_obj ANIM_OBJ_71, 132, 44, $10 @@ -4609,9 +4603,7 @@ BattleAnim_LeechLife_branch_cbab3: anim_obj ANIM_OBJ_71, 132, 44, $38 anim_ret -BattleAnim_Glare_branch_cbadc: -BattleAnim_Leer_branch_cbadc: -BattleAnim_ScaryFace_branch_cbadc: +BattleAnimSub_ShakeEnemy: anim_sound 6, 2, SFX_LEER anim_obj ANIM_OBJ_4E, 72, 84, $0 anim_obj ANIM_OBJ_4E, 64, 80, $0 @@ -4625,8 +4617,7 @@ BattleAnim_ScaryFace_branch_cbadc: anim_obj ANIM_OBJ_4F, 122, 50, $0 anim_ret -BattleAnim_Fly_branch_cbb12: -BattleAnim_Teleport_branch_cbb12: +BattleAnimSub_WarpAway: anim_sound 0, 0, SFX_WARP_TO anim_obj ANIM_OBJ_44, 44, 108, $0 anim_obj ANIM_OBJ_44, 44, 100, $0 @@ -4637,9 +4628,7 @@ BattleAnim_Teleport_branch_cbb12: anim_obj ANIM_OBJ_44, 44, 60, $0 anim_ret -BattleAnim_AuroraBeam_branch_cbb39: -BattleAnim_HyperBeam_branch_cbb39: -BattleAnim_Solarbeam_branch_cbb39: +BattleAnimSub_Beam: anim_sound 0, 0, SFX_HYPER_BEAM anim_obj ANIM_OBJ_27, 64, 92, $0 anim_wait 4 @@ -4654,8 +4643,7 @@ BattleAnim_Solarbeam_branch_cbb39: anim_obj ANIM_OBJ_28, 126, 62, $0 anim_ret -BattleAnim_Explosion_branch_cbb62: -BattleAnim_Selfdestruct_branch_cbb62: +BattleAnimSub_Explosion1: anim_sound 0, 0, SFX_EGG_BOMB anim_obj ANIM_OBJ_17, 24, 64, $0 anim_wait 5 @@ -4672,10 +4660,7 @@ BattleAnim_Selfdestruct_branch_cbb62: anim_obj ANIM_OBJ_17, 40, 84, $0 anim_ret -BattleAnim_Dynamicpunch_branch_cbb8f: -BattleAnim_Explosion_branch_cbb8f: -BattleAnim_Present_branch_cbb8f: -BattleAnim_Selfdestruct_branch_cbb8f: +BattleAnimSub_Explosion2: anim_sound 0, 1, SFX_EGG_BOMB anim_obj ANIM_OBJ_17, 148, 32, $0 anim_wait 5 @@ -4692,16 +4677,13 @@ BattleAnim_Selfdestruct_branch_cbb8f: anim_obj ANIM_OBJ_17, 132, 52, $0 anim_ret -BattleAnim_Growl_branch_cbbbc: -BattleAnim_Roar_branch_cbbbc: -BattleAnim_Snore_branch_cbbbc: +BattleAnimSub_Sound: anim_obj ANIM_OBJ_4B, 64, 76, $0 anim_obj ANIM_OBJ_4B, 64, 88, $1 anim_obj ANIM_OBJ_4B, 64, 100, $2 anim_ret -BattleAnim_FirePunch_branch_cbbcc: -BattleAnim_TriAttack_branch_cbbcc: +BattleAnimSub_Fire: anim_sound 0, 1, SFX_EMBER .loop anim_obj ANIM_OBJ_BURNED, 136, 56, $10 @@ -4710,9 +4692,7 @@ BattleAnim_TriAttack_branch_cbbcc: anim_loop 4, .loop anim_ret -BattleAnim_IcePunch_branch_cbbdf: -BattleAnim_PowderSnow_branch_cbbdf: -BattleAnim_TriAttack_branch_cbbdf: +BattleAnimSub_Ice: anim_sound 0, 1, SFX_SHINE anim_obj ANIM_OBJ_12, 128, 42, $0 anim_wait 6 @@ -4732,9 +4712,7 @@ BattleAnim_TriAttack_branch_cbbdf: anim_obj ANIM_OBJ_12, 128, 70, $0 anim_ret -BattleAnim_SludgeBomb_branch_cbc15: -BattleAnim_Sludge_branch_cbc15: -BattleAnim_Toxic_branch_cbc15: +BattleAnimSub_Sludge: .loop anim_sound 0, 1, SFX_TOXIC anim_obj ANIM_OBJ_1A, 132, 72, $0 @@ -4748,8 +4726,7 @@ BattleAnim_Toxic_branch_cbc15: anim_loop 5, .loop anim_ret -BattleAnim_Acid_branch_cbc35: -BattleAnim_Toxic_branch_cbc35: +BattleAnimSub_Acid: .loop anim_sound 6, 2, SFX_BUBBLEBEAM anim_obj ANIM_OBJ_19, 64, 92, $10 @@ -4757,10 +4734,7 @@ BattleAnim_Toxic_branch_cbc35: anim_loop 8, .loop anim_ret -BattleAnim_Harden_branch_cbc43: -BattleAnim_IronTail_branch_cbc43: -BattleAnim_MetalClaw_branch_cbc43: -BattleAnim_SteelWing_branch_cbc43: +BattleAnimSub_Metallic: anim_sound 0, 0, SFX_SHINE anim_bgeffect ANIM_BG_17, $0, $1, $40 anim_wait 8 @@ -4771,8 +4745,7 @@ BattleAnim_SteelWing_branch_cbc43: anim_incbgeffect ANIM_BG_17 anim_ret -BattleAnim_MudSlap_branch_cbc5b: -BattleAnim_SandAttack_branch_cbc5b: +BattleAnimSub_SandOrMud: .loop anim_sound 6, 2, SFX_MENU anim_obj ANIM_OBJ_58, 64, 92, $4 @@ -4781,9 +4754,7 @@ BattleAnim_SandAttack_branch_cbc5b: anim_wait 32 anim_ret -BattleAnim_Moonlight_branch_cbc6a: -BattleAnim_MorningSun_branch_cbc6a: -BattleAnim_Synthesis_branch_cbc6a: +BattleAnimSub_Glimmer: anim_sound 0, 0, SFX_METRONOME anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0 anim_wait 5 @@ -4793,9 +4764,7 @@ BattleAnim_Synthesis_branch_cbc6a: anim_wait 21 anim_ret -BattleAnim_Moonlight_branch_cbc80: -BattleAnim_MorningSun_branch_cbc80: -BattleAnim_Synthesis_branch_cbc80: +BattleAnimSub_Glimmer2: anim_sound 0, 0, SFX_METRONOME .loop anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0 diff --git a/data/moves/critical_hit_moves.asm b/data/moves/critical_hit_moves.asm new file mode 100644 index 00000000..4a473057 --- /dev/null +++ b/data/moves/critical_hit_moves.asm @@ -0,0 +1,9 @@ +CriticalHitMoves: + db KARATE_CHOP + db RAZOR_WIND + db RAZOR_LEAF + db CRABHAMMER + db SLASH + db AEROBLAST + db CROSS_CHOP + db -1 diff --git a/data/moves/effects.asm b/data/moves/effects.asm new file mode 100644 index 00000000..8e5b5c17 --- /dev/null +++ b/data/moves/effects.asm @@ -0,0 +1,2077 @@ +INCLUDE "data/moves/effects_pointers.asm" + +MoveEffects: ; used only for BANK(MoveEffects) + +NormalHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +DoSleep: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + sleeptarget + endmove + +PoisonHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + poisontarget + endmove + +LeechHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + draintarget + checkfaint + buildopponentrage + kingsrock + endmove + +BurnHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + burntarget + endmove + +FreezeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + freezetarget + endmove + +ParalyzeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + paralyzetarget + endmove + +Selfdestruct: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + selfdestruct + moveanimnosub + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +DreamEater: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + eatdream + checkfaint + buildopponentrage + endmove + +MirrorMove: + checkobedience + usedmovetext + doturn + mirrormove + endmove + +AttackUp: + checkobedience + usedmovetext + doturn + attackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp: + checkobedience + usedmovetext + doturn + defenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp: + checkobedience + usedmovetext + doturn + speedup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp: + checkobedience + usedmovetext + doturn + specialattackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp: + checkobedience + usedmovetext + doturn + specialdefenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp: + checkobedience + usedmovetext + doturn + accuracyup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp: + checkobedience + usedmovetext + doturn + lowersub + evasionup + statupanim + lowersubnoanim + raisesub + statupmessage + statupfailtext + endmove + +AttackUp2: + checkobedience + usedmovetext + doturn + attackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp2: + checkobedience + usedmovetext + doturn + defenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp2: + checkobedience + usedmovetext + doturn + speedup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp2: + checkobedience + usedmovetext + doturn + specialattackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp2: + checkobedience + usedmovetext + doturn + specialdefenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp2: + checkobedience + usedmovetext + doturn + accuracyup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp2: + checkobedience + usedmovetext + doturn + evasionup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AttackDown: + checkobedience + usedmovetext + doturn + checkhit + attackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown: + checkobedience + usedmovetext + doturn + checkhit + defensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown: + checkobedience + usedmovetext + doturn + checkhit + speeddown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown: + checkobedience + usedmovetext + doturn + checkhit + accuracydown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown: + checkobedience + usedmovetext + doturn + checkhit + evasiondown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDown2: + checkobedience + usedmovetext + doturn + checkhit + attackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + defensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown2: + checkobedience + usedmovetext + doturn + checkhit + speeddown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown2: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown2: + checkobedience + usedmovetext + doturn + checkhit + accuracydown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown2: + checkobedience + usedmovetext + doturn + checkhit + evasiondown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + attackdown + statdownmessage + endmove + +DefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + effectchance ; bug: duplicate effectchance shouldn't be here + defensedown + statdownmessage + endmove + +SpeedDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + speeddown + statdownmessage + endmove + +SpecialAttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + specialattackdown + statdownmessage + endmove + +SpecialDefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + specialdefensedown + statdownmessage + endmove + +AccuracyDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + accuracydown + statdownmessage + endmove + +EvasionDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + evasiondown + statdownmessage + endmove + +DefenseUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + defenseup + statupmessage + endmove + +AttackUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + attackup + statupmessage + endmove + +AllUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + allstatsup + endmove + +PayDay: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + payday + checkfaint + buildopponentrage + kingsrock + endmove + +Conversion: + checkobedience + usedmovetext + doturn + conversion + endmove + +ResetStats: + checkobedience + usedmovetext + doturn + resetstats + endmove + +Bide: + storeenergy + checkobedience + doturn + usedmovetext + unleashenergy + resettypematchup + checkhit + moveanim + bidefailtext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Rampage: + checkrampage + checkobedience + doturn + rampage + usedmovetext + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +ForceSwitch: + checkobedience + usedmovetext + doturn + checkhit + forceswitch + endmove + +MultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + endloop + raisesub + kingsrock + endmove + +PoisonMultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + effectchance + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + endloop + raisesub + kingsrock + poisontarget + endmove + +FlinchHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +OHKOHit: + checkobedience + usedmovetext + doturn + stab + ohko + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +RecoilHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + recoil + checkfaint + buildopponentrage + kingsrock + endmove + +Mist: + checkobedience + usedmovetext + doturn + mist + endmove + +FocusEnergy: + checkobedience + usedmovetext + doturn + focusenergy + endmove + +DoConfuse: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + confuse + endmove + +ConfuseHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + confusetarget + endmove + +Heal: + checkobedience + usedmovetext + doturn + heal + endmove + +Transform: + checkobedience + usedmovetext + doturn + transform + endmove + +LightScreen: +Reflect: + checkobedience + usedmovetext + doturn + screen + endmove + +TriAttack: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + tristatuschance + endmove + +Toxic: +DoPoison: + checkobedience + usedmovetext + doturn + checkhit + stab + checksafeguard + poison + endmove + +DoParalyze: + checkobedience + usedmovetext + doturn + stab + checkhit + checksafeguard + paralyze + endmove + +SkyAttack: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + kingsrock + endmove + +Substitute: + checkobedience + usedmovetext + doturn + substitute + endmove + +HyperBeam: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + rechargenextturn + checkfaint + buildopponentrage + endmove + +Rage: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + ragedamage + damagevariation + moveanim + failuretext + rage + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Mimic: + checkobedience + usedmovetext + doturn + checkhit + mimic + endmove + +Metronome: + checkobedience + usedmovetext + doturn + metronome + endmove + +LeechSeed: + checkobedience + usedmovetext + doturn + checkhit + leechseed + endmove + +Splash: + checkobedience + usedmovetext + doturn + splash + endmove + +Disable: + checkobedience + usedmovetext + doturn + checkhit + disable + endmove + +RazorWind: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Fly: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanimnosub + raisesub + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +TrapTarget: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + traptarget + endmove + +SuperFang: +Psywave: +StaticDamage: + checkobedience + usedmovetext + doturn + constantdamage + checkhit + resettypematchup + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Reversal: + checkobedience + usedmovetext + doturn + constantdamage + stab + checkhit + moveanim + failuretext + applydamage + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Counter: + checkobedience + usedmovetext + doturn + counter + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Encore: + checkobedience + usedmovetext + doturn + checkhit + encore + endmove + +PainSplit: + checkobedience + usedmovetext + doturn + checkhit + painsplit + endmove + +Snore: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + snore + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + kingsrock + endmove + +Conversion2: + checkobedience + usedmovetext + doturn + checkhit + conversion2 + endmove + +LockOn: + checkobedience + usedmovetext + doturn + checkhit + lockon + endmove + +Sketch: + checkobedience + usedmovetext + doturn + sketch + endmove + +DefrostOpponent: + checkobedience + usedmovetext + doturn + defrostopponent + endmove + +SleepTalk: + checkobedience + usedmovetext + doturn + sleeptalk + endmove + +DestinyBond: + checkobedience + usedmovetext + doturn + destinybond + endmove + +Spite: + checkobedience + usedmovetext + doturn + checkhit + spite + endmove + +FalseSwipe: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + falseswipe + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +HealBell: + checkobedience + usedmovetext + doturn + healbell + endmove + +TripleKick: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + triplekick + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + kickcounter + endloop + raisesub + kingsrock + endmove + +Thief: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + thief + checkfaint + buildopponentrage + kingsrock + endmove + +MeanLook: + checkobedience + usedmovetext + doturn + arenatrap + endmove + +Nightmare: + checkobedience + usedmovetext + doturn + nightmare + endmove + +FlameWheel: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + defrost + checkfaint + buildopponentrage + burntarget + endmove + +Curse: + checkobedience + usedmovetext + doturn + curse + endmove + +Protect: + checkobedience + usedmovetext + doturn + protect + endmove + +Spikes: + checkobedience + usedmovetext + doturn + spikes + endmove + +Foresight: + checkobedience + usedmovetext + doturn + checkhit + foresight + endmove + +PerishSong: + checkobedience + usedmovetext + doturn + perishsong + endmove + +Sandstorm: + checkobedience + usedmovetext + doturn + startsandstorm + endmove + +Endure: + checkobedience + usedmovetext + doturn + endure + endmove + +Rollout: + checkcurl + checkobedience + doturn + usedmovetext + critical + damagestats + damagecalc + stab + checkhit + rolloutpower + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Swagger: + checkobedience + usedmovetext + doturn + checkhit + switchturn + attackup2 + switchturn + lowersub + statupanim + raisesub + failuretext + switchturn + statupmessage + switchturn + confusetarget + endmove + +FuryCutter: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + furycutter + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Attract: + checkobedience + usedmovetext + doturn + checkhit + attract + endmove + +Return: + checkobedience + usedmovetext + doturn + critical + damagestats + happinesspower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Present: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + present + damagecalc + stab + damagevariation + clearmissdamage + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Frustration: + checkobedience + usedmovetext + doturn + critical + damagestats + frustrationpower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Safeguard: + checkobedience + usedmovetext + doturn + safeguard + endmove + +SacredFire: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + defrost + checkfaint + buildopponentrage + burntarget + endmove + +Magnitude: + checkobedience + usedmovetext + doturn + critical + damagestats + getmagnitude + damagecalc + stab + damagevariation + checkhit + doubleundergrounddamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +BatonPass: + checkobedience + usedmovetext + doturn + batonpass + endmove + +Pursuit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + pursuit + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +RapidSpin: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + clearhazards + checkfaint + buildopponentrage + kingsrock + endmove + +MorningSun: + checkobedience + usedmovetext + doturn + healmorn + endmove + +Synthesis: + checkobedience + usedmovetext + doturn + healday + endmove + +Moonlight: + checkobedience + usedmovetext + doturn + healnite + endmove + +HiddenPower: + checkobedience + usedmovetext + doturn + critical + hiddenpower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +RainDance: + checkobedience + usedmovetext + doturn + startrain + endmove + +SunnyDay: + checkobedience + usedmovetext + doturn + startsun + endmove + +FakeOut: + checkobedience + usedmovetext + doturn + checkhit + fakeout + moveanim + failuretext + endmove + +BellyDrum: + checkobedience + usedmovetext + doturn + bellydrum + endmove + +PsychUp: + checkobedience + usedmovetext + doturn + psychup + endmove + +MirrorCoat: + checkobedience + usedmovetext + doturn + mirrorcoat + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +SkullBash: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endturn + defenseup + statupmessage + endmove + +Twister: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +Earthquake: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleundergrounddamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +FutureSight: + checkfuturesight + checkobedience + usedmovetext + doturn + damagestats + damagecalc + futuresight + damagevariation ; skip here if last turn + checkhit + moveanimnosub + failuretext + applydamage + checkfaint + buildopponentrage + endmove + +Gust: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +Stomp: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleminimizedamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +Solarbeam: + checkcharge + checkobedience + doturn + skipsuncharge + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Thunder: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + thunderaccuracy + checkhit + effectchance + stab + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + paralyzetarget + endmove + +Teleport: + checkobedience + usedmovetext + doturn + teleport + endmove + +BeatUp: + checkobedience + usedmovetext + movedelay + doturn + startloop + lowersub + checkhit + critical + beatup + damagecalc + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivetext + checkfaint + buildopponentrage + endloop + beatupfailtext + raisesub + kingsrock + endmove + +DefenseCurl: + checkobedience + usedmovetext + doturn + defenseup + curl + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm new file mode 100644 index 00000000..94834de7 --- /dev/null +++ b/data/moves/effects_pointers.asm @@ -0,0 +1,159 @@ +MoveEffectsPointers: +; entries correspond to EFFECT_* constants + dw NormalHit + dw DoSleep + dw PoisonHit + dw LeechHit + dw BurnHit + dw FreezeHit + dw ParalyzeHit + dw Selfdestruct + dw DreamEater + dw MirrorMove + dw AttackUp + dw DefenseUp + dw SpeedUp + dw SpecialAttackUp + dw SpecialDefenseUp + dw AccuracyUp + dw EvasionUp + dw NormalHit + dw AttackDown + dw DefenseDown + dw SpeedDown + dw SpecialAttackDown + dw SpecialDefenseDown + dw AccuracyDown + dw EvasionDown + dw ResetStats + dw Bide + dw Rampage + dw ForceSwitch + dw MultiHit + dw Conversion + dw FlinchHit + dw Heal + dw Toxic + dw PayDay + dw LightScreen + dw TriAttack + dw NormalHit + dw OHKOHit + dw RazorWind + dw SuperFang + dw StaticDamage + dw TrapTarget + dw NormalHit + dw MultiHit + dw NormalHit + dw Mist + dw FocusEnergy + dw RecoilHit + dw DoConfuse + dw AttackUp2 + dw DefenseUp2 + dw SpeedUp2 + dw SpecialAttackUp2 + dw SpecialDefenseUp2 + dw AccuracyUp2 + dw EvasionUp2 + dw Transform + dw AttackDown2 + dw DefenseDown2 + dw SpeedDown2 + dw SpecialAttackDown2 + dw SpecialDefenseDown2 + dw AccuracyDown2 + dw EvasionDown2 + dw Reflect + dw DoPoison + dw DoParalyze + dw AttackDownHit + dw DefenseDownHit + dw SpeedDownHit + dw SpecialAttackDownHit + dw SpecialDefenseDownHit + dw AccuracyDownHit + dw EvasionDownHit + dw SkyAttack + dw ConfuseHit + dw PoisonMultiHit + dw NormalHit + dw Substitute + dw HyperBeam + dw Rage + dw Mimic + dw Metronome + dw LeechSeed + dw Splash + dw Disable + dw StaticDamage + dw Psywave + dw Counter + dw Encore + dw PainSplit + dw Snore + dw Conversion2 + dw LockOn + dw Sketch + dw DefrostOpponent + dw SleepTalk + dw DestinyBond + dw Reversal + dw Spite + dw FalseSwipe + dw HealBell + dw NormalHit + dw TripleKick + dw Thief + dw MeanLook + dw Nightmare + dw FlameWheel + dw Curse + dw NormalHit + dw Protect + dw Spikes + dw Foresight + dw PerishSong + dw Sandstorm + dw Endure + dw Rollout + dw Swagger + dw FuryCutter + dw Attract + dw Return + dw Present + dw Frustration + dw Safeguard + dw SacredFire + dw Magnitude + dw BatonPass + dw Pursuit + dw RapidSpin + dw NormalHit + dw NormalHit + dw MorningSun + dw Synthesis + dw Moonlight + dw HiddenPower + dw RainDance + dw SunnyDay + dw DefenseUpHit + dw AttackUpHit + dw AllUpHit + dw FakeOut + dw BellyDrum + dw PsychUp + dw MirrorCoat + dw SkullBash + dw Twister + dw Earthquake + dw FutureSight + dw Gust + dw Stomp + dw Solarbeam + dw Thunder + dw Teleport + dw BeatUp + dw Fly + dw DefenseCurl diff --git a/data/moves/effects_priorities.asm b/data/moves/effects_priorities.asm new file mode 100644 index 00000000..dfdb636a --- /dev/null +++ b/data/moves/effects_priorities.asm @@ -0,0 +1,8 @@ +MoveEffectPriorities: + db EFFECT_PROTECT, 3 + db EFFECT_ENDURE, 3 + db EFFECT_PRIORITY_HIT, 2 + db EFFECT_FORCE_SWITCH, 0 + db EFFECT_COUNTER, 0 + db EFFECT_MIRROR_COAT, 0 + db -1 diff --git a/data/moves/flail_reversal_power.asm b/data/moves/flail_reversal_power.asm new file mode 100644 index 00000000..fb915905 --- /dev/null +++ b/data/moves/flail_reversal_power.asm @@ -0,0 +1,8 @@ +FlailReversalPower: + ; hp bar pixels, power + db HP_BAR_LENGTH_PX / 48, 200 + db HP_BAR_LENGTH_PX / 12, 150 + db HP_BAR_LENGTH_PX / 5, 100 + db HP_BAR_LENGTH_PX / 3, 80 + db HP_BAR_LENGTH_PX * 2 / 3, 40 + db HP_BAR_LENGTH_PX, 20 diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm new file mode 100644 index 00000000..f2474808 --- /dev/null +++ b/data/moves/grammar.asm @@ -0,0 +1,101 @@ +; Used by GetMoveGrammar (see engine/battle/used_move_text.asm) +; Each move is given an identifier for what usedmovetext to use (0-4). +; Made redundant in English localization, where all are just "[mon]¯used [move]!" + +MoveGrammar: +; 0: originally "[mon]の¯[move]¯つかった!" ("[mon]¯used¯[move]!") + db SWORDS_DANCE + db GROWTH + db STRENGTH + db HARDEN + db MINIMIZE + db SMOKESCREEN + db WITHDRAW + db DEFENSE_CURL + db EGG_BOMB + db SMOG + db BONE_CLUB + db FLASH + db SPLASH + db ACID_ARMOR + db BONEMERANG + db REST + db SHARPEN + db SUBSTITUTE + db MIND_READER + db SNORE + db PROTECT + db SPIKES + db ENDURE + db ROLLOUT + db SWAGGER + db SLEEP_TALK + db HIDDEN_POWER + db PSYCH_UP + db EXTREMESPEED + db 0 ; end set + +; 1: originally "[mon]の¯[move]した!" ("[mon]¯did [move]!") + db RECOVER + db TELEPORT + db BIDE + db SELFDESTRUCT + db AMNESIA + db FLAIL + db 0 ; end set + +; 2: originally "[mon]の¯[move]¯した!" ("[mon]¯did¯[move]!") + db MEDITATE + db AGILITY + db MIMIC + db DOUBLE_TEAM + db BARRAGE + db TRANSFORM + db STRUGGLE + db SCARY_FACE + db 0 ; end set + +; 3: originally "[mon]の¯[move] こうげき!" ("[mon]'s¯[move] attack!") + db POUND + db SCRATCH + db VICEGRIP + db WING_ATTACK + db FLY + db BIND + db SLAM + db HORN_ATTACK + db WRAP + db THRASH + db TAIL_WHIP + db LEER + db BITE + db GROWL + db ROAR + db SING + db PECK + db ABSORB + db STRING_SHOT + db EARTHQUAKE + db FISSURE + db DIG + db TOXIC + db SCREECH + db METRONOME + db LICK + db CLAMP + db CONSTRICT + db POISON_GAS + db BUBBLE + db SLASH + db SPIDER_WEB + db NIGHTMARE + db CURSE + db FORESIGHT + db CHARM + db ATTRACT + db ROCK_SMASH + db 0 ; end set + +; 4: originally "[mon]の¯[move]!" ("[mon]'s¯[move]!") +; Any move not listed above uses this grammar. + db -1 ; end diff --git a/data/moves/magnitude_power.asm b/data/moves/magnitude_power.asm new file mode 100644 index 00000000..632a0c03 --- /dev/null +++ b/data/moves/magnitude_power.asm @@ -0,0 +1,9 @@ +MagnitudePower: + ; chance, power, magnitude # + db 5 percent + 1, 10, 4 ; 5% + db 15 percent, 30, 5 ; 10% + db 35 percent, 50, 6 ; 20% + db 65 percent + 1, 70, 7 ; 30% + db 85 percent + 1, 90, 8 ; 20% + db 95 percent, 110, 9 ; 10% + db 100 percent, 150, 10 ; 5% diff --git a/data/moves/metronome_exception_moves.asm b/data/moves/metronome_exception_moves.asm new file mode 100644 index 00000000..a5aa4413 --- /dev/null +++ b/data/moves/metronome_exception_moves.asm @@ -0,0 +1,17 @@ +; Metronome cannot turn into these moves. + +MetronomeExcepts: + db NO_MOVE + db METRONOME + db STRUGGLE + db SKETCH + db MIMIC + db COUNTER + db MIRROR_COAT + db PROTECT + db DETECT + db ENDURE + db DESTINY_BOND + db SLEEP_TALK + db THIEF + db -1 diff --git a/data/moves/names.asm b/data/moves/names.asm new file mode 100644 index 00000000..cfc7ac54 --- /dev/null +++ b/data/moves/names.asm @@ -0,0 +1,252 @@ +MoveNames:: + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" + db "SKETCH@" + db "TRIPLE KICK@" + db "THIEF@" + db "SPIDER WEB@" + db "MIND READER@" + db "NIGHTMARE@" + db "FLAME WHEEL@" + db "SNORE@" + db "CURSE@" + db "FLAIL@" + db "CONVERSION2@" + db "AEROBLAST@" + db "COTTON SPORE@" + db "REVERSAL@" + db "SPITE@" + db "POWDER SNOW@" + db "PROTECT@" + db "MACH PUNCH@" + db "SCARY FACE@" + db "FAINT ATTACK@" + db "SWEET KISS@" + db "BELLY DRUM@" + db "SLUDGE BOMB@" + db "MUD-SLAP@" + db "OCTAZOOKA@" + db "SPIKES@" + db "ZAP CANNON@" + db "FORESIGHT@" + db "DESTINY BOND@" + db "PERISH SONG@" + db "ICY WIND@" + db "DETECT@" + db "BONE RUSH@" + db "LOCK-ON@" + db "OUTRAGE@" + db "SANDSTORM@" + db "GIGA DRAIN@" + db "ENDURE@" + db "CHARM@" + db "ROLLOUT@" + db "FALSE SWIPE@" + db "SWAGGER@" + db "MILK DRINK@" + db "SPARK@" + db "FURY CUTTER@" + db "STEEL WING@" + db "MEAN LOOK@" + db "ATTRACT@" + db "SLEEP TALK@" + db "HEAL BELL@" + db "RETURN@" + db "PRESENT@" + db "FRUSTRATION@" + db "SAFEGUARD@" + db "PAIN SPLIT@" + db "SACRED FIRE@" + db "MAGNITUDE@" + db "DYNAMICPUNCH@" + db "MEGAHORN@" + db "DRAGONBREATH@" + db "BATON PASS@" + db "ENCORE@" + db "PURSUIT@" + db "RAPID SPIN@" + db "SWEET SCENT@" + db "IRON TAIL@" + db "METAL CLAW@" + db "VITAL THROW@" + db "MORNING SUN@" + db "SYNTHESIS@" + db "MOONLIGHT@" + db "HIDDEN POWER@" + db "CROSS CHOP@" + db "TWISTER@" + db "RAIN DANCE@" + db "SUNNY DAY@" + db "CRUNCH@" + db "MIRROR COAT@" + db "PSYCH UP@" + db "EXTREMESPEED@" + db "ANCIENTPOWER@" + db "SHADOW BALL@" + db "FUTURE SIGHT@" + db "ROCK SMASH@" + db "WHIRLPOOL@" + db "BEAT UP@" diff --git a/data/moves/present_power.asm b/data/moves/present_power.asm new file mode 100644 index 00000000..9f85b8a6 --- /dev/null +++ b/data/moves/present_power.asm @@ -0,0 +1,6 @@ +PresentPower: + ; chance, power + db 40 percent, 40 ; 40% chance + db 70 percent + 1, 80 ; 30% chance + db 80 percent, 120 ; 10% chance + db -1 ; 20% chance to heal instead diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm new file mode 100644 index 00000000..81c7d0ba --- /dev/null +++ b/data/moves/tmhm_moves.asm @@ -0,0 +1,66 @@ +TMHMMoves: +; entries correspond to *_TMNUM enums (see constants/item_constants.asm) +; TMs + db DYNAMICPUNCH + db HEADBUTT + db CURSE + db ROLLOUT + db ROAR + db TOXIC + db ZAP_CANNON + db ROCK_SMASH + db PSYCH_UP + db HIDDEN_POWER + db SUNNY_DAY + db SWEET_SCENT + db SNORE + db BLIZZARD + db HYPER_BEAM + db ICY_WIND + db PROTECT + db RAIN_DANCE + db GIGA_DRAIN + db ENDURE + db FRUSTRATION + db SOLARBEAM + db IRON_TAIL + db DRAGONBREATH + db THUNDER + db EARTHQUAKE + db RETURN + db DIG + db PSYCHIC_M + db SHADOW_BALL + db MUD_SLAP + db DOUBLE_TEAM + db ICE_PUNCH + db SWAGGER + db SLEEP_TALK + db SLUDGE_BOMB + db SANDSTORM + db FIRE_BLAST + db SWIFT + db DEFENSE_CURL + db THUNDERPUNCH + db DREAM_EATER + db DETECT + db REST + db ATTRACT + db THIEF + db STEEL_WING + db FIRE_PUNCH + db FURY_CUTTER + db NIGHTMARE +; HMs + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WHIRLPOOL + db WATERFALL +; Move tutor (Crystal-only) + db 0 + db 0 + db 0 + db 0 ; end |
