From 23f9b5d21e93f1b3c8de5e4ecf72da89265ccea8 Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 10 Jun 2014 23:23:55 -0700 Subject: [PATCH] Use constants for move struct positioning. This eliminates the need for arbitrary move labels like Move2 and Move1 that don't have anything to do with their respective moves. --- battle/ai/scoring.asm | 6 +++--- battle/core.asm | 6 +++--- battle/effect_commands.asm | 22 +++++++++++----------- battle/moves/moves.asm | 11 +++-------- event/dratini.asm | 4 ++-- main.asm | 10 +++++----- text/types.asm | 4 ++-- 7 files changed, 29 insertions(+), 34 deletions(-) diff --git a/battle/ai/scoring.asm b/battle/ai/scoring.asm index 19c652370..7a34ec3d0 100644 --- a/battle/ai/scoring.asm +++ b/battle/ai/scoring.asm @@ -1658,8 +1658,8 @@ AIScoring_Conversion2: ; 38d98 push hl dec a - ld hl, Moves + PlayerMoveType - PlayerMoveStruct - ld bc, Move2 - Move1 + ld hl, Moves + MOVE_TYPE + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) @@ -3314,7 +3314,7 @@ AIGetEnemyMove: ; 39508 push bc dec a ld hl, Moves - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld de, EnemyMoveStruct diff --git a/battle/core.asm b/battle/core.asm index b4678e8f9..9f3dbc661 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -915,7 +915,7 @@ GetMoveEffect: ; 3c5ec ld a, b dec a ld hl, Moves + MOVE_EFFECT - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -3436,7 +3436,7 @@ Function3d5d7: ; 3d5d7 push bc dec a ld hl, Moves + MOVE_ANIM - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld de, EnemyMoveAnimation ld a, BANK(Moves) @@ -8580,7 +8580,7 @@ Function3f662: ; 3f662 push hl dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index ed6f0257a..b7f41c04f 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -1675,7 +1675,7 @@ Function3484e: ; 3484e jr z, .asm_3489f ; 0x34863 $3a push hl dec a - ld hl, Moves + PlayerMovePower - PlayerMoveStruct + ld hl, Moves + MOVE_POWER call GetMoveAttr and a jr z, .asm_3489b ; 0x3486e $2b @@ -1761,7 +1761,7 @@ Function348de: ; 348de inc de dec a - ld hl, Moves + PlayerMovePower - PlayerMoveStruct + ld hl, Moves + MOVE_POWER call GetMoveAttr and a jr z, .loop @@ -2024,7 +2024,7 @@ Function34a2a: ; 34a2a call GetBaseData ld a, [LastEnemyCounterMove] dec a - ld hl, Moves + PlayerMovePower - PlayerMoveStruct + ld hl, Moves + MOVE_POWER call GetMoveAttr and a jr z, .asm_34a77 @@ -2114,7 +2114,7 @@ Function34aa7: ; 34aa7 jr z, .asm_34aef dec a - ld hl, Moves + PlayerMovePower - PlayerMoveStruct + ld hl, Moves + MOVE_POWER call GetMoveAttr and a jr z, .asm_34ae9 @@ -2207,7 +2207,7 @@ Function34b20: ; 34b20 jr z, .asm_34b4a dec a - ld hl, Moves + PlayerMovePower - PlayerMoveStruct + ld hl, Moves + MOVE_POWER call GetMoveAttr and a jr z, .asm_34b4a @@ -4779,7 +4779,7 @@ BattleCommand44: ; 359e6 jr z, .asm_35a50 ; 359fd $51 push hl dec a - ld hl, Moves + PlayerMoveType - PlayerMoveStruct + ld hl, Moves + MOVE_TYPE call GetMoveAttr ld d, a pop hl @@ -4904,10 +4904,10 @@ BattleCommand46: ; 35a74 push bc push hl dec a - ld hl, Moves + PlayerMovePP - PlayerMoveStruct + ld hl, Moves + MOVE_PP call GetMoveAttr pop hl - ld bc, $0006 + ld bc, BattleMonPP - BattleMonMoves add hl, bc ld [hl], a pop bc @@ -8653,7 +8653,7 @@ BattleCommand1f: ; 3707f push hl push bc dec a - ld hl, Moves + PlayerMoveType - PlayerMoveStruct + ld hl, Moves + MOVE_TYPE call GetMoveAttr ld [de], a inc de @@ -10656,7 +10656,7 @@ SkipToBattleCommand: ; 37e8c GetMoveAttr: ; 37ea1 ; Assuming hl = Moves + x, return attribute x of move a. push bc - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes call GetMoveByte pop bc @@ -10667,7 +10667,7 @@ GetMoveAttr: ; 37ea1 GetMoveData: ; 37ead ; Copy move struct a to de. ld hl, Moves - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, Bank(Moves) jp FarCopyBytes diff --git a/battle/moves/moves.asm b/battle/moves/moves.asm index d37376378..3877e9960 100644 --- a/battle/moves/moves.asm +++ b/battle/moves/moves.asm @@ -1,22 +1,17 @@ Moves: ; 41afb - -; Characteristics of each move - -; animation, effect, power, type, accuracy, PP, effect chance +; Characteristics of each move. move: MACRO db \1 ; animation db \2 ; effect db \3 ; power db \4 ; type - db \5 * $ff / 100 ; accuracy (percent) + db \5 percent ; accuracy db \6 ; pp - db \7 * $ff / 100 ; effect chance (percent) + db \7 percent ; effect chance ENDM -Move1: move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 -Move2: move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 move COMET_PUNCH, EFFECT_MULTI_HIT, 18, NORMAL, 85, 15, 0 diff --git a/event/dratini.asm b/event/dratini.asm index bf8ae2d57..1845673c8 100644 --- a/event/dratini.asm +++ b/event/dratini.asm @@ -51,8 +51,8 @@ SpecialDratini: ; 0x8b170 ; get the PP of the new move dec a - ld hl, Moves + PlayerMovePP - PlayerMoveStruct - ld bc, Move2 - Move1 + ld hl, Moves + MOVE_PP + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte diff --git a/main.asm b/main.asm index ffdeda602..ef9196b6a 100644 --- a/main.asm +++ b/main.asm @@ -5316,7 +5316,7 @@ Function6520: ; 6520 push de dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -12637,7 +12637,7 @@ FillPP: ; da6d push de push bc ld hl, Moves - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld de, StringBuffer1 ld a, BANK(Moves) @@ -20861,7 +20861,7 @@ Function13256: ; 13256 ld a, [CurSpecies] dec a ld hl, Moves + MOVE_POWER - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -44611,7 +44611,7 @@ Function39806: ; 39806 push bc dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -48143,7 +48143,7 @@ FillMoves: ; 424e1 push hl dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte diff --git a/text/types.asm b/text/types.asm index 0addaaf6e..c3076fb10 100644 --- a/text/types.asm +++ b/text/types.asm @@ -42,13 +42,13 @@ PrintMoveType: ; 5093a push hl ld a, b dec a - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH ld hl, Moves call AddNTimes ld de, StringBuffer1 ld a, BANK(Moves) call FarCopyBytes - ld a, [StringBuffer1 + PlayerMoveType - PlayerMoveStruct] + ld a, [StringBuffer1 + MOVE_TYPE] pop hl ld b, a