pokeemerald/asm/macros/battle_frontier/battle_pike.inc

172 lines
5.3 KiB
PHP
Raw Normal View History

2019-12-09 08:10:42 +01:00
@ Set sRoomType to the next PIKE_ROOM_* id
2019-11-29 08:00:19 +01:00
.macro pike_setnextroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
special CallBattlePikeFunction
.endm
2019-12-02 21:26:56 +01:00
@ Get the value of some PIKE_DATA_*. See GetBattlePikeData for the data types that can be retrieved
2019-11-29 08:00:19 +01:00
.macro pike_get data:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
2019-11-29 08:00:19 +01:00
setvar VAR_0x8005, \data
special CallBattlePikeFunction
.endm
2019-12-02 21:26:56 +01:00
@ Set some PIKE_DATA_* to val. See SetBattlePikeData for the data types that can be set
2019-11-29 08:00:19 +01:00
.macro pike_set data:req, val:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
2019-11-29 08:00:19 +01:00
setvar VAR_0x8005, \data
.if \val >= VARS_START
copyvar VAR_0x8006, \val
.else
2019-11-29 08:00:19 +01:00
setvar VAR_0x8006, \val
.endif
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ TRUE if the next room is the last (15th) room, FALSE otherwise
2019-11-29 08:00:19 +01:00
.macro pike_isfinalroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Set the object event gfx for the room being entered
2019-11-29 08:00:19 +01:00
.macro pike_setroomobjects
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Get the current room type (sRoomType)
2019-11-29 08:00:19 +01:00
.macro pike_getroomtype
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
special CallBattlePikeFunction
.endm
2019-11-29 08:00:19 +01:00
@ Sets a bool that's never read
.macro pike_inwildmonroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM
special CallBattlePikeFunction
.endm
@ Clears a bool that's never read
.macro pike_exitwildmonroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM
special CallBattlePikeFunction
.endm
@ Save the game and set the challenge status
.macro pike_save challengeStatus:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
setvar VAR_0x8005, \challengeStatus
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Returns the PIKE_STATUS_* to be afflicted for the status room
2019-11-29 08:00:19 +01:00
.macro pike_getstatus
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Returns the PIKE_STATUSMON_* that attacks the player for the status room
2019-11-29 08:00:19 +01:00
.macro pike_getstatusmon
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Randomly heals either one or two party mons and returns the number of mons healed
2019-11-29 08:00:19 +01:00
.macro pike_healonetwomons
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Buffers a message for the lone NPC in the NPC room to gStringVar4
2019-11-29 08:00:19 +01:00
.macro pike_getnpcmsg
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Flashes the screen 3 times for when the Dusclops/Kirlia attacks the player
.macro pike_flashscreen
setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH
2019-11-29 08:00:19 +01:00
special CallBattlePikeFunction
.endm
@ TRUE if the player is currently in a Battle Pike challenge map
.macro pike_inchallenge
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Set which room to give a hint about. TRUE if its the Pike Queens room next
2019-11-29 08:00:19 +01:00
.macro pike_sethintroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Get PIKE_ROOM_(LEFT/CENTER/RIGHT) for which room to give a hint about
2019-11-29 08:00:19 +01:00
.macro pike_gethintroomid
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Get the PIKE_HINT_* to give about the next room
2019-11-29 08:00:19 +01:00
.macro pike_gethint
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Reset the frontier trainer ids for the start of the challenge
2019-11-29 08:00:19 +01:00
.macro pike_cleartrainerids
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Buffer the opponents battle intro speech to gStringVar4. \trainer 0 for Trainer A, 1 for Trainer B
2019-11-29 08:00:19 +01:00
.macro pike_gettrainerintro trainer:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_TRAINER_INTRO
setvar VAR_0x8005, \trainer
special CallBattlePikeFunction
.endm
@ Get the status of the Pike Queen (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols)
.macro pike_getbrainstatus
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Heal 0-2 party mons depending on which room was chosen for the Pike Queen battle. Return the number healed
2019-11-29 08:00:19 +01:00
.macro pike_prequeenheal
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ When \set is TRUE, prevent healing rooms from appearing (for 1st room or when party is full health). \set FALSE to re-enable healing rooms
2019-11-29 08:00:19 +01:00
.macro pike_nohealing set:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED
setvar VAR_0x8005, \set
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ TRUE if the party is full health (full HP, PP, and no status), FALSE otherwise
2019-11-29 08:00:19 +01:00
.macro pike_ispartyfullhealth
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH
special CallBattlePikeFunction
.endm
2019-11-29 08:00:19 +01:00
2019-12-09 08:10:42 +01:00
@ Save the party held items in pikeHeldItemsBackup
2019-11-29 08:00:19 +01:00
.macro pike_savehelditems
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS
special CallBattlePikeFunction
.endm
2019-12-09 08:10:42 +01:00
@ Restore the party held items from pikeHeldItemsBackup
2019-11-29 08:00:19 +01:00
.macro pike_resethelditems
setvar VAR_0x8004, BATTLE_PIKE_FUNC_RESET_HELD_ITEMS
special CallBattlePikeFunction
.endm
2019-12-02 21:26:56 +01:00
@ Initialize the Battle Pike challenge
2019-11-29 08:00:19 +01:00
.macro pike_init
setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT
special CallBattlePikeFunction
.endm