shithub: pokecrystal

Download patch

ref: 23f9b5d21e93f1b3c8de5e4ecf72da89265ccea8
parent: 86c1e0feea0ba487b020b801835aa19b221edb4d
author: yenatch <[email protected]>
date: Tue Jun 10 19:23:55 EDT 2014

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.

--- a/battle/ai/scoring.asm
+++ b/battle/ai/scoring.asm
@@ -1658,8 +1658,8 @@
 
 	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 @@
 	push bc
 	dec a
 	ld hl, Moves
-	ld bc, Move2 - Move1
+	ld bc, MOVE_LENGTH
 	call AddNTimes
 
 	ld de, EnemyMoveStruct
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -915,7 +915,7 @@
 	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 @@
 	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 @@
 	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
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -1675,7 +1675,7 @@
 	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 @@
 
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 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 @@
 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
--- a/battle/moves/moves.asm
+++ b/battle/moves/moves.asm
@@ -1,22 +1,17 @@
 Moves: ; 41afb
+; Characteristics of each move.
 
-; Characteristics of each move
-
-; animation, effect, power, type, accuracy, PP, effect chance
-
 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
--- a/event/dratini.asm
+++ b/event/dratini.asm
@@ -51,8 +51,8 @@
 
 	; 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
--- a/main.asm
+++ b/main.asm
@@ -5316,7 +5316,7 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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
--- a/text/types.asm
+++ b/text/types.asm
@@ -42,13 +42,13 @@
 	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