summaryrefslogtreecommitdiff
path: root/asm/macros/battle_frontier/battle_pyramid.inc
blob: 0468e595632cc4613c13bde96e8d2bc6657e331e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
@ TODO: Add explanatory comments to macros

	@ Initialize the Battle Pyramid challenge
	.macro pyramid_init
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT
	special CallBattlePyramidFunction 
	.endm

	@ Get the value of some PYRAMID_DATA_*. See GetBattlePyramidData for the data types that can be retrieved
	.macro pyramid_get data:req
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA
	setvar VAR_0x8005, \data
	special CallBattlePyramidFunction
	.endm

	@ Set some PYRAMID_DATA_* to val. See SetBattlePyramidData for the data types that can be set
	.macro pyramid_set data:req, val:req
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA
	setvar VAR_0x8005, \data
	setvar VAR_0x8006, \val
	special CallBattlePyramidFunction
	.endm

	@ Save the game and set the challenge status
	.macro pyramid_save challengeStatus:req
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SAVE
	setvar VAR_0x8005, \challengeStatus
	special CallBattlePyramidFunction
	.endm

	@
	.macro pyramid_setprize
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_PRIZE
	special CallBattlePyramidFunction
	.endm

	@  
	.macro pyramid_seedfloor
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR
	special CallBattlePyramidFunction
	.endm

	@   
	.macro pyramid_setitem
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_ITEM
	special CallBattlePyramidFunction
	.endm

	@  
	.macro pyramid_hideitem
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_HIDE_ITEM
	special CallBattlePyramidFunction
	.endm

	@ 
	.macro pyramid_inittrainers
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS
	special CallBattlePyramidFunction 
	.endm

	@  
	.macro pyramid_showhint
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT
	special CallBattlePyramidFunction
	.endm

	@ VAR_RESULT is 1 if player is on a Pyramid floor, 2 if on the Pyramid peak, 0 otherwise 
	.macro pyramid_inchallenge
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN
	special CallBattlePyramidFunction
	.endm   

	@  
	.macro pyramid_updatelight radius:req, mode:req
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT
	setvar VAR_0x8005, \radius
	setvar VAR_0x8006, \mode
	special CallBattlePyramidFunction
	.endm  

	@  
	.macro pyramid_clearhelditems
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS
	special CallBattlePyramidFunction
	.endm

	@  
	.macro pyramid_setfloorpal
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE
	special CallBattlePyramidFunction
	.endm

	@
	.macro pyramid_healparty
	setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY
	special CallBattlePyramidFunction 
	.endm