shithub: pokecrystal

Download patch

ref: ee98f7b48998e6aa77c67ecae60e9376eae180f7
parent: e7a3ba05929c27b3cc5b1f5c2725ab8dba9efb43
author: yenatch <[email protected]>
date: Mon Apr 13 17:39:54 EDT 2015

Enumerate the move effect command macros.

--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -90,8 +90,8 @@
 	ld [BattleScriptBufferLoc + 1], a
 	pop af
 
-; $fe is used to terminate branches without ending the read cycle.
-	cp $fe
+; endturn_command (-2) is used to terminate branches without ending the read cycle.
+	cp endturn_command
 	ret nc
 
 ; The rest of the commands (01-af) are read from BattleCommandPointers.
@@ -3918,7 +3918,7 @@
 
 
 Function355b0: ; 355b0
-	ld b, $12 ; buildopponentrage
+	ld b, buildopponentrage_command
 	jp SkipToBattleCommand
 ; 355b5
 
@@ -6977,7 +6977,7 @@
 	ld a, BIDE
 	ld [hl], a
 
-	ld b, $22 ; unleashenergy
+	ld b, unleashenergy_command
 	jp SkipToBattleCommand
 
 .asm_366dc
@@ -7051,7 +7051,7 @@
 	inc de
 	ld [de], a
 .asm_3674c
-	ld b, $3d ; rampage
+	ld b, rampage_command
 	jp SkipToBattleCommand
 ; 36751
 
@@ -7707,7 +7707,7 @@
 	res SUBSTATUS_CHARGED, [hl]
 	res SUBSTATUS_UNDERGROUND, [hl]
 	res SUBSTATUS_FLYING, [hl]
-	ld b, $39 ; charge
+	ld b, charge_command
 	jp SkipToBattleCommand
 ; 36b4d
 
@@ -7787,7 +7787,7 @@
 	ld a, BATTLE_VARS_MOVE_EFFECT
 	call GetBattleVar
 	cp EFFECT_SKULL_BASH
-	ld b, $fe ; endturn
+	ld b, endturn_command
 	jp z, SkipToBattleCommand
 	jp EndMoveEffect
 
@@ -10294,7 +10294,7 @@
 	ld a, [Weather]
 	cp WEATHER_SUN
 	ret nz
-	ld b, $39 ; charge
+	ld b, charge_command
 	jp SkipToBattleCommand
 ; 37d0d
 
@@ -10323,7 +10323,7 @@
 	ld [CurDamage], a
 	ld a, [de]
 	ld [CurDamage + 1], a
-	ld b, $9c ; futuresight
+	ld b, futuresight_command
 	jp SkipToBattleCommand
 ; 37d34
 
--- a/macros/move_effect.asm
+++ b/macros/move_effect.asm
@@ -1,708 +1,186 @@
-checkturn: macro
-	db $01
-	endm
+command: macro
+	enum \1_command
+\1 equs "db \1_command"
+endm
 
-checkobedience: macro
-	db $02
-	endm
+	enum_start 1
 
-usedmovetext: macro
-	db $03
-	endm
-
-doturn: macro
-	db $04
-	endm
-
-critical: macro
-	db $05
-	endm
-
-damagestats: macro
-	db $06
-	endm
-
-stab: macro
-	db $07
-	endm
-
-damagevariation: macro
-	db $08
-	endm
-
-checkhit: macro
-	db $09
-	endm
-
-effect0x0a: macro
-	db $0a
-	endm
-
-effect0x0b: macro
-	db $0b
-	endm
-
-effect0x0c: macro
-	db $0c
-	endm
-
-resulttext: macro
-	db $0d
-	endm
-
-checkfaint: macro
-	db $0e
-	endm
-
-criticaltext: macro
-	db $0f
-	endm
-
-supereffectivetext: macro
-	db $10
-	endm
-
-checkdestinybond: macro
-	db $11
-	endm
-
-buildopponentrage: macro
-	db $12
-	endm
-
-poisontarget: macro
-	db $13
-	endm
-
-sleeptarget: macro
-	db $14
-	endm
-
-draintarget: macro
-	db $15
-	endm
-
-eatdream: macro
-	db $16
-	endm
-
-burntarget: macro
-	db $17
-	endm
-
-freezetarget: macro
-	db $18
-	endm
-
-paralyzetarget: macro
-	db $19
-	endm
-
-selfdestruct: macro
-	db $1a
-	endm
-
-mirrormove: macro
-	db $1b
-	endm
-
-statup: macro
-	db $1c
-	endm
-
-statdown: macro
-	db $1d
-	endm
-
-payday: macro
-	db $1e
-	endm
-
-conversion: macro
-	db $1f
-	endm
-
-resetstats: macro
-	db $20
-	endm
-
-storeenergy: macro
-	db $21
-	endm
-
-unleashenergy: macro
-	db $22
-	endm
-
-forceswitch: macro
-	db $23
-	endm
-
-endloop: macro
-	db $24
-	endm
-
-flinchtarget: macro
-	db $25
-	endm
-
-ohko: macro
-	db $26
-	endm
-
-recoil: macro
-	db $27
-	endm
-
-mist: macro
-	db $28
-	endm
-
-focusenergy: macro
-	db $29
-	endm
-
-confuse: macro
-	db $2a
-	endm
-
-confusetarget: macro
-	db $2b
-	endm
-
-heal: macro
-	db $2c
-	endm
-
-transform: macro
-	db $2d
-	endm
-
-screen: macro
-	db $2e
-	endm
-
-poison: macro
-	db $2f
-	endm
-
-paralyze: macro
-	db $30
-	endm
-
-substitute: macro
-	db $31
-	endm
-
-rechargenextturn: macro
-	db $32
-	endm
-
-mimic: macro
-	db $33
-	endm
-
-metronome: macro
-	db $34
-	endm
-
-leechseed: macro
-	db $35
-	endm
-
-splash: macro
-	db $36
-	endm
-
-disable: macro
-	db $37
-	endm
-
-cleartext: macro
-	db $38
-	endm
-
-charge: macro
-	db $39
-	endm
-
-checkcharge: macro
-	db $3a
-	endm
-
-traptarget: macro
-	db $3b
-	endm
-
-effect0x3c: macro
-	db $3c
-	endm
-
-rampage: macro
-	db $3d
-	endm
-
-checkrampage: macro
-	db $3e
-	endm
-
-constantdamage: macro
-	db $3f
-	endm
-
-counter: macro
-	db $40
-	endm
-
-encore: macro
-	db $41
-	endm
-
-painsplit: macro
-	db $42
-	endm
-
-snore: macro
-	db $43
-	endm
-
-conversion2: macro
-	db $44
-	endm
-
-lockon: macro
-	db $45
-	endm
-
-sketch: macro
-	db $46
-	endm
-
-defrostopponent: macro
-	db $47
-	endm
-
-sleeptalk: macro
-	db $48
-	endm
-
-destinybond: macro
-	db $49
-	endm
-
-spite: macro
-	db $4a
-	endm
-
-falseswipe: macro
-	db $4b
-	endm
-
-healbell: macro
-	db $4c
-	endm
-
-kingsrock: macro
-	db $4d
-	endm
-
-triplekick: macro
-	db $4e
-	endm
-
-kickcounter: macro
-	db $4f
-	endm
-
-thief: macro
-	db $50
-	endm
-
-arenatrap: macro
-	db $51
-	endm
-
-nightmare: macro
-	db $52
-	endm
-
-defrost: macro
-	db $53
-	endm
-
-curse: macro
-	db $54
-	endm
-
-protect: macro
-	db $55
-	endm
-
-spikes: macro
-	db $56
-	endm
-
-foresight: macro
-	db $57
-	endm
-
-perishsong: macro
-	db $58
-	endm
-
-startsandstorm: macro
-	db $59
-	endm
-
-endure: macro
-	db $5a
-	endm
-
-checkcurl: macro
-	db $5b
-	endm
-
-rolloutpower: macro
-	db $5c
-	endm
-
-effect0x5d: macro
-	db $5d
-	endm
-
-furycutter: macro
-	db $5e
-	endm
-
-attract: macro
-	db $5f
-	endm
-
-happinesspower: macro
-	db $60
-	endm
-
-present: macro
-	db $61
-	endm
-
-damagecalc: macro
-	db $62
-	endm
-
-frustrationpower: macro
-	db $63
-	endm
-
-safeguard: macro
-	db $64
-	endm
-
-checksafeguard: macro
-	db $65
-	endm
-
-getmagnitude: macro
-	db $66
-	endm
-
-batonpass: macro
-	db $67
-	endm
-
-pursuit: macro
-	db $68
-	endm
-
-clearhazards: macro
-	db $69
-	endm
-
-healmorn: macro
-	db $6a
-	endm
-
-healday: macro
-	db $6b
-	endm
-
-healnite: macro
-	db $6c
-	endm
-
-hiddenpower: macro
-	db $6d
-	endm
-
-startrain: macro
-	db $6e
-	endm
-
-startsun: macro
-	db $6f
-	endm
-
-attackup: macro
-	db $70
-	endm
-
-defenseup: macro
-	db $71
-	endm
-
-speedup: macro
-	db $72
-	endm
-
-specialattackup: macro
-	db $73
-	endm
-
-specialdefenseup: macro
-	db $74
-	endm
-
-accuracyup: macro
-	db $75
-	endm
-
-evasionup: macro
-	db $76
-	endm
-
-attackup2: macro
-	db $77
-	endm
-
-defenseup2: macro
-	db $78
-	endm
-
-speedup2: macro
-	db $79
-	endm
-
-specialattackup2: macro
-	db $7a
-	endm
-
-specialdefenseup2: macro
-	db $7b
-	endm
-
-accuracyup2: macro
-	db $7c
-	endm
-
-evasionup2: macro
-	db $7d
-	endm
-
-attackdown: macro
-	db $7e
-	endm
-
-defensedown: macro
-	db $7f
-	endm
-
-speeddown: macro
-	db $80
-	endm
+	command checkturn
+	command checkobedience
+	command usedmovetext
+	command doturn
+	command critical
+	command damagestats
+	command stab
+	command damagevariation
+	command checkhit
+	command effect0x0a
+	command effect0x0b
+	command effect0x0c
+	command resulttext
+	command checkfaint
+	command criticaltext
+	command supereffectivetext
+	command checkdestinybond
+	command buildopponentrage
+	command poisontarget
+	command sleeptarget
+	command draintarget
+	command eatdream
+	command burntarget
+	command freezetarget
+	command paralyzetarget
+	command selfdestruct
+	command mirrormove
+	command statup
+	command statdown
+	command payday
+	command conversion
+	command resetstats
+	command storeenergy
+	command unleashenergy
+	command forceswitch
+	command endloop
+	command flinchtarget
+	command ohko
+	command recoil
+	command mist
+	command focusenergy
+	command confuse
+	command confusetarget
+	command heal
+	command transform
+	command screen
+	command poison
+	command paralyze
+	command substitute
+	command rechargenextturn
+	command mimic
+	command metronome
+	command leechseed
+	command splash
+	command disable
+	command cleartext
+	command charge
+	command checkcharge
+	command traptarget
+	command effect0x3c
+	command rampage
+	command checkrampage
+	command constantdamage
+	command counter
+	command encore
+	command painsplit
+	command snore
+	command conversion2
+	command lockon
+	command sketch
+	command defrostopponent
+	command sleeptalk
+	command destinybond
+	command spite
+	command falseswipe
+	command healbell
+	command kingsrock
+	command triplekick
+	command kickcounter
+	command thief
+	command arenatrap
+	command nightmare
+	command defrost
+	command curse
+	command protect
+	command spikes
+	command foresight
+	command perishsong
+	command startsandstorm
+	command endure
+	command checkcurl
+	command rolloutpower
+	command effect0x5d
+	command furycutter
+	command attract
+	command happinesspower
+	command present
+	command damagecalc
+	command frustrationpower
+	command safeguard
+	command checksafeguard
+	command getmagnitude
+	command batonpass
+	command pursuit
+	command clearhazards
+	command healmorn
+	command healday
+	command healnite
+	command hiddenpower
+	command startrain
+	command startsun
+	command attackup
+	command defenseup
+	command speedup
+	command specialattackup
+	command specialdefenseup
+	command accuracyup
+	command evasionup
+	command attackup2
+	command defenseup2
+	command speedup2
+	command specialattackup2
+	command specialdefenseup2
+	command accuracyup2
+	command evasionup2
+	command attackdown
+	command defensedown
+	command speeddown
+	command specialattackdown
+	command specialdefensedown
+	command accuracydown
+	command evasiondown
+	command attackdown2
+	command defensedown2
+	command speeddown2
+	command specialattackdown2
+	command specialdefensedown2
+	command accuracydown2
+	command evasiondown2
+	command statmessageuser
+	command statmessagetarget
+	command statupfailtext
+	command statdownfailtext
+	command effectchance
+	command effect0x91
+	command effect0x92
+	command switchturn
+	command fakeout
+	command bellydrum
+	command psychup
+	command rage
+	command doubleflyingdamage
+	command doubleundergrounddamage
+	command mirrorcoat
+	command checkfuturesight
+	command futuresight
+	command doubleminimizedamage
+	command skipsuncharge
+	command thunderaccuracy
+	command teleport
+	command beatup
+	command ragedamage
+	command effect0xa3
+	command allstatsup
+	command effect0xa5
+	command effect0xa6
+	command effect0xa7
+	command effect0xa8
+	command clearmissdamage
+	command movedelay
+	command hittarget
+	command tristatuschance
+	command supereffectivelooptext
+	command startloop
+	command curl
 
-specialattackdown: macro
-	db $81
-	endm
-
-specialdefensedown: macro
-	db $82
-	endm
-
-accuracydown: macro
-	db $83
-	endm
-
-evasiondown: macro
-	db $84
-	endm
-
-attackdown2: macro
-	db $85
-	endm
-
-defensedown2: macro
-	db $86
-	endm
-
-speeddown2: macro
-	db $87
-	endm
-
-specialattackdown2: macro
-	db $88
-	endm
-
-specialdefensedown2: macro
-	db $89
-	endm
-
-accuracydown2: macro
-	db $8a
-	endm
-
-evasiondown2: macro
-	db $8b
-	endm
-
-statmessageuser: macro
-	db $8c
-	endm
-
-statmessagetarget: macro
-	db $8d
-	endm
-
-statupfailtext: macro
-	db $8e
-	endm
-
-statdownfailtext: macro
-	db $8f
-	endm
-
-effectchance: macro
-	db $90
-	endm
-
-effect0x91: macro
-	db $91
-	endm
-
-effect0x92: macro
-	db $92
-	endm
-
-switchturn: macro
-	db $93
-	endm
-
-fakeout: macro
-	db $94
-	endm
-
-bellydrum: macro
-	db $95
-	endm
-
-psychup: macro
-	db $96
-	endm
-
-rage: macro
-	db $97
-	endm
-
-doubleflyingdamage: macro
-	db $98
-	endm
-
-doubleundergrounddamage: macro
-	db $99
-	endm
-
-mirrorcoat: macro
-	db $9a
-	endm
-
-checkfuturesight: macro
-	db $9b
-	endm
-
-futuresight: macro
-	db $9c
-	endm
-
-doubleminimizedamage: macro
-	db $9d
-	endm
-
-skipsuncharge: macro
-	db $9e
-	endm
-
-thunderaccuracy: macro
-	db $9f
-	endm
-
-teleport: macro
-	db $a0
-	endm
-
-beatup: macro
-	db $a1
-	endm
-
-ragedamage: macro
-	db $a2
-	endm
-
-effect0xa3: macro
-	db $a3
-	endm
-
-allstatsup: macro
-	db $a4
-	endm
-
-effect0xa5: macro
-	db $a5
-	endm
-
-effect0xa6: macro
-	db $a6
-	endm
-
-effect0xa7: macro
-	db $a7
-	endm
-
-effect0xa8: macro
-	db $a8
-	endm
-
-clearmissdamage: macro
-	db $a9
-	endm
-
-movedelay: macro
-	db $aa
-	endm
-
-hittarget: macro
-	db $ab
-	endm
-
-tristatuschance: macro
-	db $ac
-	endm
-
-supereffectivelooptext: macro
-	db $ad
-	endm
-
-startloop: macro
-	db $ae
-	endm
-
-curl: macro
-	db $af
-	endm
-
-endturn: macro
-	db $fe
-	endm
-
-endmove: macro
-	db $ff
-	endm
-
+	enum_start -1, -1
+	command endmove
+	command endturn