WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 3a4382c

Browse files
authored
Use more Pokemon data constants, create MOVE_NAME_LENGTH (#543)
1 parent e92d1af commit 3a4382c

35 files changed

+235
-207
lines changed

constants/pokemon_data_constants.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ DEF MON_SPD_EXP rw
4444
DEF MON_SPC_EXP rw
4545
DEF MON_DVS rw
4646
DEF MON_PP rb NUM_MOVES
47-
DEF BOXMON_STRUCT_LENGTH EQU _RS
47+
DEF BOXMON_STRUCT_LENGTH EQU _RS ; $21
4848
DEF MON_LEVEL rb
4949
DEF MON_STATS rw NUM_STATS
5050
rsset MON_STATS
@@ -53,7 +53,7 @@ DEF MON_ATK rw
5353
DEF MON_DEF rw
5454
DEF MON_SPD rw
5555
DEF MON_SPC rw
56-
DEF PARTYMON_STRUCT_LENGTH EQU _RS
56+
DEF PARTYMON_STRUCT_LENGTH EQU _RS ; $2c
5757

5858
DEF PARTY_LENGTH EQU 6
5959

constants/text_constants.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
DEF PLAYER_NAME_LENGTH EQU 8
12
DEF NAME_LENGTH EQU 11
23
DEF ITEM_NAME_LENGTH EQU 13
4+
DEF MOVE_NAME_LENGTH EQU 14
35
DEF NAME_BUFFER_LENGTH EQU 20
46
DEF GYM_CITY_LENGTH EQU 17
57

engine/battle/battle_transitions.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ GetBattleTransitionID_CompareLevels:
104104
ld a, [hli]
105105
or [hl]
106106
jr nz, .notFainted
107-
ld de, wPartyMon2 - (wPartyMon1 + 1)
107+
ld de, PARTYMON_STRUCT_LENGTH - 1
108108
add hl, de
109109
jr .faintedLoop
110110
.notFainted
111-
ld de, wPartyMon1Level - (wPartyMon1HP + 1)
111+
ld de, MON_LEVEL - (MON_HP + 1)
112112
add hl, de
113113
ld a, [hl]
114114
add $3

engine/battle/core.asm

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ StartBattle:
137137
inc a
138138
ld [wFirstMonsNotOutYet], a
139139
ld hl, wEnemyMon1HP
140-
ld bc, wEnemyMon2 - wEnemyMon1 - 1
140+
ld bc, PARTYMON_STRUCT_LENGTH - 1
141141
ld d, $3
142142
.findFirstAliveEnemyMonLoop
143143
inc d
@@ -736,7 +736,7 @@ FaintEnemyPokemon:
736736
jr z, .wild
737737
ld a, [wEnemyMonPartyPos]
738738
ld hl, wEnemyMon1HP
739-
ld bc, wEnemyMon2 - wEnemyMon1
739+
ld bc, PARTYMON_STRUCT_LENGTH
740740
call AddNTimes
741741
xor a
742742
ld [hli], a
@@ -876,7 +876,7 @@ AnyEnemyPokemonAliveCheck:
876876
ld b, a
877877
xor a
878878
ld hl, wEnemyMon1HP
879-
ld de, wEnemyMon2 - wEnemyMon1
879+
ld de, PARTYMON_STRUCT_LENGTH
880880
.nextPokemon
881881
or [hl]
882882
inc hl
@@ -1330,7 +1330,7 @@ EnemySendOutFirstMon:
13301330
ld a, b
13311331
ld [wWhichPokemon], a
13321332
push bc
1333-
ld bc, wEnemyMon2 - wEnemyMon1
1333+
ld bc, PARTYMON_STRUCT_LENGTH
13341334
call AddNTimes
13351335
pop bc
13361336
inc hl
@@ -1342,7 +1342,7 @@ EnemySendOutFirstMon:
13421342
.next3
13431343
ld a, [wWhichPokemon]
13441344
ld hl, wEnemyMon1Level
1345-
ld bc, wEnemyMon2 - wEnemyMon1
1345+
ld bc, PARTYMON_STRUCT_LENGTH
13461346
call AddNTimes
13471347
ld a, [hl]
13481348
ld [wCurEnemyLevel], a
@@ -1457,7 +1457,7 @@ AnyPartyAlive::
14571457
ld e, a
14581458
xor a
14591459
ld hl, wPartyMon1HP
1460-
ld bc, wPartyMon2 - wPartyMon1 - 1
1460+
ld bc, PARTYMON_STRUCT_LENGTH - 1
14611461
.partyMonsLoop
14621462
or [hl]
14631463
inc hl
@@ -1473,7 +1473,7 @@ AnyPartyAlive::
14731473
HasMonFainted:
14741474
ld a, [wWhichPokemon]
14751475
ld hl, wPartyMon1HP
1476-
ld bc, wPartyMon2 - wPartyMon1
1476+
ld bc, PARTYMON_STRUCT_LENGTH
14771477
call AddNTimes
14781478
ld a, [hli]
14791479
or [hl]
@@ -1625,16 +1625,16 @@ GotAwayText:
16251625
; copies from party data to battle mon data when sending out a new player mon
16261626
LoadBattleMonFromParty:
16271627
ld a, [wWhichPokemon]
1628-
ld bc, wPartyMon2 - wPartyMon1
1628+
ld bc, PARTYMON_STRUCT_LENGTH
16291629
ld hl, wPartyMon1Species
16301630
call AddNTimes
16311631
ld de, wBattleMonSpecies
16321632
ld bc, wBattleMonDVs - wBattleMonSpecies
16331633
call CopyData
1634-
ld bc, wPartyMon1DVs - wPartyMon1OTID
1634+
ld bc, MON_DVS - MON_OTID
16351635
add hl, bc
16361636
ld de, wBattleMonDVs
1637-
ld bc, wPartyMon1PP - wPartyMon1DVs
1637+
ld bc, MON_PP - MON_DVS
16381638
call CopyData
16391639
ld de, wBattleMonPP
16401640
ld bc, NUM_MOVES
@@ -1669,16 +1669,16 @@ LoadBattleMonFromParty:
16691669
; copies from enemy party data to current enemy mon data when sending out a new enemy mon
16701670
LoadEnemyMonFromParty:
16711671
ld a, [wWhichPokemon]
1672-
ld bc, wEnemyMon2 - wEnemyMon1
1672+
ld bc, PARTYMON_STRUCT_LENGTH
16731673
ld hl, wEnemyMons
16741674
call AddNTimes
16751675
ld de, wEnemyMonSpecies
16761676
ld bc, wEnemyMonDVs - wEnemyMonSpecies
16771677
call CopyData
1678-
ld bc, wEnemyMon1DVs - wEnemyMon1OTID
1678+
ld bc, MON_DVS - MON_OTID
16791679
add hl, bc
16801680
ld de, wEnemyMonDVs
1681-
ld bc, wEnemyMon1PP - wEnemyMon1DVs
1681+
ld bc, MON_PP - MON_DVS
16821682
call CopyData
16831683
ld de, wEnemyMonPP
16841684
ld bc, NUM_MOVES
@@ -1800,7 +1800,7 @@ AnimateRetreatingPlayerMon:
18001800
ReadPlayerMonCurHPAndStatus:
18011801
ld a, [wPlayerMonNumber]
18021802
ld hl, wPartyMon1HP
1803-
ld bc, wPartyMon2 - wPartyMon1
1803+
ld bc, PARTYMON_STRUCT_LENGTH
18041804
call AddNTimes
18051805
ld d, h
18061806
ld e, l
@@ -2520,7 +2520,7 @@ MoveSelectionMenu:
25202520
.relearnmenu
25212521
ld a, [wWhichPokemon]
25222522
ld hl, wPartyMon1Moves
2523-
ld bc, wPartyMon2 - wPartyMon1
2523+
ld bc, PARTYMON_STRUCT_LENGTH
25242524
call AddNTimes
25252525
call .loadmoves
25262526
hlcoord 4, 7
@@ -2798,12 +2798,12 @@ SwapMovesInMenu:
27982798
.swapMovesInPartyMon
27992799
ld hl, wPartyMon1Moves
28002800
ld a, [wPlayerMonNumber]
2801-
ld bc, wPartyMon2 - wPartyMon1
2801+
ld bc, PARTYMON_STRUCT_LENGTH
28022802
call AddNTimes
28032803
push hl
28042804
call .swapBytes ; swap moves
28052805
pop hl
2806-
ld bc, wPartyMon1PP - wPartyMon1Moves
2806+
ld bc, MON_PP - MON_MOVES
28072807
add hl, bc
28082808
call .swapBytes ; swap move PP
28092809
xor a
@@ -3451,7 +3451,7 @@ CheckPlayerStatusConditions:
34513451
bit PAR, [hl]
34523452
jr z, .BideCheck
34533453
call BattleRandom
3454-
cp $3F ; 25% to be fully paralyzed
3454+
cp 25 percent ; chance to be fully paralyzed
34553455
jr nc, .BideCheck
34563456
ld hl, FullyParalyzedText
34573457
call PrintText
@@ -3970,7 +3970,7 @@ CheckForDisobedience:
39703970
; compare the mon's original trainer ID with the player's ID to see if it was traded
39713971
.checkIfMonIsTraded
39723972
ld hl, wPartyMon1OTID
3973-
ld bc, wPartyMon2 - wPartyMon1
3973+
ld bc, PARTYMON_STRUCT_LENGTH
39743974
ld a, [wPlayerMonNumber]
39753975
call AddNTimes
39763976
ld a, [wPlayerID]
@@ -4197,7 +4197,7 @@ GetDamageVarsForPlayerAttack:
41974197
push bc
41984198
ld hl, wPartyMon1Attack
41994199
ld a, [wPlayerMonNumber]
4200-
ld bc, wPartyMon2 - wPartyMon1
4200+
ld bc, PARTYMON_STRUCT_LENGTH
42014201
call AddNTimes
42024202
pop bc
42034203
jr .scaleStats
@@ -4229,7 +4229,7 @@ GetDamageVarsForPlayerAttack:
42294229
push bc
42304230
ld hl, wPartyMon1Special
42314231
ld a, [wPlayerMonNumber]
4232-
ld bc, wPartyMon2 - wPartyMon1
4232+
ld bc, PARTYMON_STRUCT_LENGTH
42334233
call AddNTimes
42344234
pop bc
42354235
; if either the offensive or defensive stat is too large to store in a byte, scale both stats by dividing them by 4
@@ -4303,7 +4303,7 @@ GetDamageVarsForEnemyAttack:
43034303
; in the case of a critical hit, reset the player's defense and the enemy's attack to their base values
43044304
ld hl, wPartyMon1Defense
43054305
ld a, [wPlayerMonNumber]
4306-
ld bc, wPartyMon2 - wPartyMon1
4306+
ld bc, PARTYMON_STRUCT_LENGTH
43074307
call AddNTimes
43084308
ld a, [hli]
43094309
ld b, a
@@ -4335,7 +4335,7 @@ GetDamageVarsForEnemyAttack:
43354335
; in the case of a critical hit, reset the player's and enemy's specials to their base values
43364336
ld hl, wPartyMon1Special
43374337
ld a, [wPlayerMonNumber]
4338-
ld bc, wPartyMon2 - wPartyMon1
4338+
ld bc, PARTYMON_STRUCT_LENGTH
43394339
call AddNTimes
43404340
ld a, [hli]
43414341
ld b, a
@@ -4398,7 +4398,7 @@ GetEnemyMonStat:
43984398
ld b, $0
43994399
add hl, bc
44004400
ld a, [wEnemyMonPartyPos]
4401-
ld bc, wEnemyMon2 - wEnemyMon1
4401+
ld bc, PARTYMON_STRUCT_LENGTH
44024402
call AddNTimes
44034403
ld a, [hli]
44044404
ldh [hMultiplicand + 1], a
@@ -5197,7 +5197,7 @@ IncrementMovePP:
51975197
jr z, .updatePP
51985198
ld a, [wEnemyMonPartyPos] ; value for enemy turn
51995199
.updatePP
5200-
ld bc, wEnemyMon2 - wEnemyMon1
5200+
ld bc, PARTYMON_STRUCT_LENGTH
52015201
call AddNTimes
52025202
inc [hl] ; increment PP in the party memory location
52035203
ret
@@ -6206,7 +6206,7 @@ LoadEnemyMonData:
62066206
; if it's a trainer battle, copy moves from enemy party data
62076207
ld hl, wEnemyMon1Moves
62086208
ld a, [wWhichPokemon]
6209-
ld bc, wEnemyMon2 - wEnemyMon1
6209+
ld bc, PARTYMON_STRUCT_LENGTH
62106210
call AddNTimes
62116211
ld bc, NUM_MOVES
62126212
call CopyData

engine/battle/decrement_pp.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ DecrementPP:
3131

3232
ld hl, wPartyMon1PP ; PP of first move (in party)
3333
ld a, [wPlayerMonNumber] ; which mon in party is active
34-
ld bc, wPartyMon2 - wPartyMon1
34+
ld bc, PARTYMON_STRUCT_LENGTH
3535
call AddNTimes ; calculate address of the mon to modify
3636
.DecrementPP:
3737
ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?

engine/battle/draw_hud_pokeball_gfx.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ PickPokeball:
9090
.done
9191
ld a, b
9292
ld [de], a
93-
ld bc, wPartyMon2 - wPartyMon1Status
93+
ld bc, PARTYMON_STRUCT_LENGTH - MON_STATUS
9494
add hl, bc ; next mon struct
9595
ret
9696

engine/battle/effects.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ CheckDefrost:
323323
ld [wEnemyMonStatus], a ; set opponent status to 00 ["defrost" a frozen monster]
324324
ld hl, wEnemyMon1Status
325325
ld a, [wEnemyMonPartyPos]
326-
ld bc, wEnemyMon2 - wEnemyMon1
326+
ld bc, PARTYMON_STRUCT_LENGTH
327327
call AddNTimes
328328
xor a
329329
ld [hl], a ; clear status in roster
@@ -336,7 +336,7 @@ CheckDefrost:
336336
ld [wBattleMonStatus], a
337337
ld hl, wPartyMon1Status
338338
ld a, [wPlayerMonNumber]
339-
ld bc, wPartyMon2 - wPartyMon1
339+
ld bc, PARTYMON_STRUCT_LENGTH
340340
call AddNTimes
341341
xor a
342342
ld [hl], a

engine/battle/end_of_battle.asm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ EndOfBattle:
55
; link battle
66
ld a, [wEnemyMonPartyPos]
77
ld hl, wEnemyMon1Status
8-
ld bc, wEnemyMon2 - wEnemyMon1
8+
ld bc, PARTYMON_STRUCT_LENGTH
99
call AddNTimes
1010
ld a, [wEnemyMonStatus]
1111
ld [hl], a
@@ -60,8 +60,8 @@ EndOfBattle:
6060
ld [hli], a
6161
ld [hl], a
6262
ld [wListScrollOffset], a
63-
ld hl, wPlayerStatsToDouble
64-
ld b, $18
63+
ld hl, wBattleStatusData
64+
ld b, wBattleStatusDataEnd - wBattleStatusData
6565
.loop
6666
ld [hli], a
6767
dec b

0 commit comments

Comments
 (0)