; ScriptCommandTable indexes (see engine/overworld/scripting.asm)
	const_def

	const scall_command ; $00
scall: MACRO
	db scall_command
	dw \1 ; pointer
ENDM

	const farscall_command ; $01
farscall: MACRO
	db farscall_command
	dba \1
ENDM

	const memcall_command ; $02
memcall: MACRO
	db memcall_command
	dw \1 ; pointer
ENDM

	const sjump_command ; $03
sjump: MACRO
	db sjump_command
	dw \1 ; pointer
ENDM

	const farsjump_command ; $04
farsjump: MACRO
	db farsjump_command
	dba \1
ENDM

	const memjump_command ; $05
memjump: MACRO
	db memjump_command
	dw \1 ; pointer
ENDM

	const ifequal_command ; $06
ifequal: MACRO
	db ifequal_command
	db \1 ; byte
	dw \2 ; pointer
ENDM

	const ifnotequal_command ; $07
ifnotequal: MACRO
	db ifnotequal_command
	db \1 ; byte
	dw \2 ; pointer
ENDM

	const iffalse_command ; $08
iffalse: MACRO
	db iffalse_command
	dw \1 ; pointer
ENDM

	const iftrue_command ; $09
iftrue: MACRO
	db iftrue_command
	dw \1 ; pointer
ENDM

	const ifgreater_command ; $0a
ifgreater: MACRO
	db ifgreater_command
	db \1 ; byte
	dw \2 ; pointer
ENDM

	const ifless_command ; $0b
ifless: MACRO
	db ifless_command
	db \1 ; byte
	dw \2 ; pointer
ENDM

	const jumpstd_command ; $0c
jumpstd: MACRO
	db jumpstd_command
	dw (\1StdScript - StdScripts) / 3
ENDM

	const callstd_command ; $0d
callstd: MACRO
	db callstd_command
	dw (\1StdScript - StdScripts) / 3
ENDM

	const callasm_command ; $0e
callasm: MACRO
	db callasm_command
	dba \1
ENDM

	const special_command ; $0f
special: MACRO
	db special_command
	dw (\1Special - SpecialsPointers) / 3
ENDM

	const memcallasm_command ; $10
memcallasm: MACRO
	db memcallasm_command
	dw \1 ; asm
ENDM

	const checkmapscene_command ; $11
checkmapscene: MACRO
	db checkmapscene_command
	map_id \1 ; map
ENDM

	const setmapscene_command ; $12
setmapscene: MACRO
	db setmapscene_command
	map_id \1 ; map
	db \2 ; scene_id
ENDM

	const checkscene_command ; $13
checkscene: MACRO
	db checkscene_command
ENDM

	const setscene_command ; $14
setscene: MACRO
	db setscene_command
	db \1 ; scene_id
ENDM

	const setval_command ; $15
setval: MACRO
	db setval_command
	db \1 ; value
ENDM

	const addval_command ; $16
addval: MACRO
	db addval_command
	db \1 ; value
ENDM

	const random_command ; $17
random: MACRO
	db random_command
	db \1 ; input
ENDM

	const checkver_command ; $18
checkver: MACRO
	db checkver_command
ENDM

	const readmem_command ; $19
readmem: MACRO
	db readmem_command
	dw \1 ; address
ENDM

	const writemem_command ; $1a
writemem: MACRO
	db writemem_command
	dw \1 ; address
ENDM

	const loadmem_command ; $1b
loadmem: MACRO
	db loadmem_command
	dw \1 ; address
	db \2 ; value
ENDM

	const readvar_command ; $1c
readvar: MACRO
	db readvar_command
	db \1 ; variable_id
ENDM

	const writevar_command ; $1d
writevar: MACRO
	db writevar_command
	db \1 ; variable_id
ENDM

	const loadvar_command ; $1e
loadvar: MACRO
if STRIN("\1", "VAR_") != 1
; LEGACY: Support for the old name of "loadmem"
	loadmem \1, \2
else
	db loadvar_command
	db \1 ; variable_id
	db \2 ; value
endc
ENDM

	const giveitem_command ; $1f
giveitem: MACRO
if _NARG == 1
	giveitem \1, 1
else
	db giveitem_command
	db \1 ; item
	db \2 ; quantity
endc
ENDM

	const takeitem_command ; $20
takeitem: MACRO
if _NARG == 1
	takeitem \1, 1
else
	db takeitem_command
	db \1 ; item
	db \2 ; quantity
endc
ENDM

	const checkitem_command ; $21
checkitem: MACRO
	db checkitem_command
	db \1 ; item
ENDM

	const givemoney_command ; $22
givemoney: MACRO
	db givemoney_command
	db \1 ; account
	dt \2 ; money
ENDM

	const takemoney_command ; $23
takemoney: MACRO
	db takemoney_command
	db \1 ; account
	dt \2 ; money
ENDM

	const checkmoney_command ; $24
checkmoney: MACRO
	db checkmoney_command
	db \1 ; account
	dt \2 ; money
ENDM

	const givecoins_command ; $25
givecoins: MACRO
	db givecoins_command
	dw \1 ; coins
ENDM

	const takecoins_command ; $26
takecoins: MACRO
	db takecoins_command
	dw \1 ; coins
ENDM

	const checkcoins_command ; $27
checkcoins: MACRO
	db checkcoins_command
	dw \1 ; coins
ENDM

	const addcellnum_command ; $28
addcellnum: MACRO
	db addcellnum_command
	db \1 ; person
ENDM

	const delcellnum_command ; $29
delcellnum: MACRO
	db delcellnum_command
	db \1 ; person
ENDM

	const checkcellnum_command ; $2a
checkcellnum: MACRO
	db checkcellnum_command
	db \1 ; person
ENDM

	const checktime_command ; $2b
checktime: MACRO
	db checktime_command
	db \1 ; time
ENDM

	const checkpoke_command ; $2c
checkpoke: MACRO
	db checkpoke_command
	db \1 ; pkmn
ENDM

	const givepoke_command ; $2d
givepoke: MACRO
if _NARG == 2
	givepoke \1, \2, NO_ITEM, FALSE
elif _NARG == 3
	givepoke \1, \2, \3, FALSE
elif _NARG == 5
	givepoke \1, \2, \3, TRUE, \4, \5
else
	db givepoke_command
	db \1 ; pokemon
	db \2 ; level
	db \3 ; item
	db \4 ; trainer
if \4
	dw \5 ; nickname_pointer
	dw \6 ; ot_name_pointer
endc
endc
ENDM

	const giveegg_command ; $2e
giveegg: MACRO
	db giveegg_command
	db \1 ; pkmn
	db \2 ; level
ENDM

	const givepokemail_command ; $2f
givepokemail: MACRO
	db givepokemail_command
	dw \1 ; pointer
ENDM

	const checkpokemail_command ; $30
checkpokemail: MACRO
	db checkpokemail_command
	dw \1 ; pointer
ENDM

	const checkevent_command ; $31
checkevent: MACRO
	db checkevent_command
	dw \1 ; event_flag
ENDM

	const clearevent_command ; $32
clearevent: MACRO
	db clearevent_command
	dw \1 ; event_flag
ENDM

	const setevent_command ; $33
setevent: MACRO
	db setevent_command
	dw \1 ; event_flag
ENDM

	const checkflag_command ; $34
checkflag: MACRO
	db checkflag_command
	dw \1 ; engine_flag
ENDM

	const clearflag_command ; $35
clearflag: MACRO
	db clearflag_command
	dw \1 ; engine_flag
ENDM

	const setflag_command ; $36
setflag: MACRO
	db setflag_command
	dw \1 ; engine_flag
ENDM

	const wildon_command ; $37
wildon: MACRO
	db wildon_command
ENDM

	const wildoff_command ; $38
wildoff: MACRO
	db wildoff_command
ENDM

	const xycompare_command ; $39
xycompare: MACRO
	db xycompare_command
	dw \1 ; pointer
ENDM

	const warpmod_command ; $3a
warpmod: MACRO
	db warpmod_command
	db \1 ; warp_id
	map_id \2 ; map
ENDM

	const blackoutmod_command ; $3b
blackoutmod: MACRO
	db blackoutmod_command
	map_id \1 ; map
ENDM

	const warp_command ; $3c
warp: MACRO
	db warp_command
	map_id \1 ; map
	db \2 ; x
	db \3 ; y
ENDM

	const getmoney_command ; $3d
getmoney: MACRO
	db getmoney_command
	db \2 ; account
	db \1 ; string_buffer
ENDM

	const getcoins_command ; $3e
getcoins: MACRO
	db getcoins_command
	db \1 ; string_buffer
ENDM

	const getnum_command ; $3f
getnum: MACRO
	db getnum_command
	db \1 ; string_buffer
ENDM

	const getmonname_command ; $40
getmonname: MACRO
	db getmonname_command
	db \2 ; pokemon
	db \1 ; string_buffer
ENDM

	const getitemname_command ; $41
getitemname: MACRO
	db getitemname_command
	db \2 ; item
	db \1 ; string_buffer
ENDM

	const getcurlandmarkname_command ; $42
getcurlandmarkname: MACRO
	db getcurlandmarkname_command
	db \1 ; string_buffer
ENDM

	const gettrainername_command ; $43
gettrainername: MACRO
	db gettrainername_command
	db \2 ; trainer_group
	db \3 ; trainer_id
	db \1 ; string_buffer
ENDM

	const getstring_command ; $44
getstring: MACRO
	db getstring_command
	dw \2 ; text_pointer
	db \1 ; string_buffer
ENDM

	const itemnotify_command ; $45
itemnotify: MACRO
	db itemnotify_command
ENDM

	const pocketisfull_command ; $46
pocketisfull: MACRO
	db pocketisfull_command
ENDM

	const opentext_command ; $47
opentext: MACRO
	db opentext_command
ENDM

	const refreshscreen_command ; $48
refreshscreen: MACRO
if _NARG == 0
	refreshscreen 0
else
	db refreshscreen_command
	db \1 ; dummy
endc
ENDM

	const closetext_command ; $49
closetext: MACRO
	db closetext_command
ENDM

	const writeunusedbyte_command ; $4a
writeunusedbyte: MACRO
	db writeunusedbyte_command
	db \1 ; byte
ENDM

	const farwritetext_command ; $4b
farwritetext: MACRO
	db farwritetext_command
	dba \1
ENDM

	const writetext_command ; $4c
writetext: MACRO
	db writetext_command
	dw \1 ; text_pointer
ENDM

	const repeattext_command ; $4d
repeattext: MACRO
	db repeattext_command
	db \1 ; byte
	db \2 ; byte
ENDM

	const yesorno_command ; $4e
yesorno: MACRO
	db yesorno_command
ENDM

	const loadmenu_command ; $4f
loadmenu: MACRO
	db loadmenu_command
	dw \1 ; menu_header
ENDM

	const closewindow_command ; $50
closewindow: MACRO
	db closewindow_command
ENDM

	const jumptextfaceplayer_command ; $51
jumptextfaceplayer: MACRO
	db jumptextfaceplayer_command
	dw \1 ; text_pointer
ENDM

	const farjumptext_command ; $52
farjumptext: MACRO
	db farjumptext_command
	dba \1
ENDM

	const jumptext_command ; $53
jumptext: MACRO
	db jumptext_command
	dw \1 ; text_pointer
ENDM

	const waitbutton_command ; $54
waitbutton: MACRO
	db waitbutton_command
ENDM

	const promptbutton_command ; $55
promptbutton: MACRO
	db promptbutton_command
ENDM

	const pokepic_command ; $56
pokepic: MACRO
	db pokepic_command
	db \1 ; pokemon
ENDM

	const closepokepic_command ; $57
closepokepic: MACRO
	db closepokepic_command
ENDM

	const _2dmenu_command ; $58
_2dmenu: MACRO
	db _2dmenu_command
ENDM

	const verticalmenu_command ; $59
verticalmenu: MACRO
	db verticalmenu_command
ENDM

	const loadpikachudata_command ; $5a
loadpikachudata: MACRO
	db loadpikachudata_command
ENDM

	const randomwildmon_command ; $5b
randomwildmon: MACRO
	db randomwildmon_command
ENDM

	const loadtemptrainer_command ; $5c
loadtemptrainer: MACRO
	db loadtemptrainer_command
ENDM

	const loadwildmon_command ; $5d
loadwildmon: MACRO
	db loadwildmon_command
	db \1 ; pokemon
	db \2 ; level
ENDM

	const loadtrainer_command ; $5e
loadtrainer: MACRO
	db loadtrainer_command
	db \1 ; trainer_group
	db \2 ; trainer_id
ENDM

	const startbattle_command ; $5f
startbattle: MACRO
	db startbattle_command
ENDM

	const reloadmapafterbattle_command ; $60
reloadmapafterbattle: MACRO
	db reloadmapafterbattle_command
ENDM

	const catchtutorial_command ; $61
catchtutorial: MACRO
	db catchtutorial_command
	db \1 ; byte
ENDM

	const trainertext_command ; $62
trainertext: MACRO
	db trainertext_command
	db \1 ; text_id
ENDM

	const trainerflagaction_command ; $63
trainerflagaction: MACRO
	db trainerflagaction_command
	db \1 ; action
ENDM

	const winlosstext_command ; $64
winlosstext: MACRO
	db winlosstext_command
	dw \1 ; win_text_pointer
	dw \2 ; loss_text_pointer
ENDM

	const scripttalkafter_command ; $65
scripttalkafter: MACRO
	db scripttalkafter_command
ENDM

	const endifjustbattled_command ; $66
endifjustbattled: MACRO
	db endifjustbattled_command
ENDM

	const checkjustbattled_command ; $67
checkjustbattled: MACRO
	db checkjustbattled_command
ENDM

	const setlasttalked_command ; $68
setlasttalked: MACRO
	db setlasttalked_command
	db \1 ; object id
ENDM

	const applymovement_command ; $69
applymovement: MACRO
	db applymovement_command
	db \1 ; object id
	dw \2 ; data
ENDM

	const applymovementlasttalked_command ; $6a
applymovementlasttalked: MACRO
	db applymovementlasttalked_command
	dw \1 ; data
ENDM

	const faceplayer_command ; $6b
faceplayer: MACRO
	db faceplayer_command
ENDM

	const faceobject_command ; $6c
faceobject: MACRO
	db faceobject_command
	db \1 ; object1
	db \2 ; object2
ENDM

	const variablesprite_command ; $6d
variablesprite: MACRO
	db variablesprite_command
	db \1 - SPRITE_VARS ; byte
	db \2 ; sprite
ENDM

	const disappear_command ; $6e
disappear: MACRO
	db disappear_command
	db \1 ; object id
ENDM

	const appear_command ; $6f
appear: MACRO
	db appear_command
	db \1 ; object id
ENDM

	const follow_command ; $70
follow: MACRO
	db follow_command
	db \1 ; object2
	db \2 ; object1
ENDM

	const stopfollow_command ; $71
stopfollow: MACRO
	db stopfollow_command
ENDM

	const moveobject_command ; $72
moveobject: MACRO
	db moveobject_command
	db \1 ; object id
	db \2 ; x
	db \3 ; y
ENDM

	const writeobjectxy_command ; $73
writeobjectxy: MACRO
	db writeobjectxy_command
	db \1 ; object id
ENDM

	const loademote_command ; $74
loademote: MACRO
	db loademote_command
	db \1 ; bubble
ENDM

	const showemote_command ; $75
showemote: MACRO
	db showemote_command
	db \1 ; bubble
	db \2 ; object id
	db \3 ; time
ENDM

	const turnobject_command ; $76
turnobject: MACRO
	db turnobject_command
	db \1 ; object id
	db \2 ; facing
ENDM

	const follownotexact_command ; $77
follownotexact: MACRO
	db follownotexact_command
	db \1 ; object2
	db \2 ; object1
ENDM

	const earthquake_command ; $78
earthquake: MACRO
	db earthquake_command
	db \1 ; param
ENDM

	const changemapblocks_command ; $79
changemapblocks: MACRO
	db changemapblocks_command
	dba \1 ; map_data_pointer
ENDM

	const changeblock_command ; $7a
changeblock: MACRO
	db changeblock_command
	db \1 ; x
	db \2 ; y
	db \3 ; block
ENDM

	const reloadmap_command ; $7b
reloadmap: MACRO
	db reloadmap_command
ENDM

	const reloadmappart_command ; $7c
reloadmappart: MACRO
	db reloadmappart_command
ENDM

	const writecmdqueue_command ; $7d
writecmdqueue: MACRO
	db writecmdqueue_command
	dw \1 ; queue_pointer
ENDM

	const delcmdqueue_command ; $7e
delcmdqueue: MACRO
	db delcmdqueue_command
	db \1 ; byte
ENDM

	const playmusic_command ; $7f
playmusic: MACRO
	db playmusic_command
	dw \1 ; music_pointer
ENDM

	const encountermusic_command ; $80
encountermusic: MACRO
	db encountermusic_command
ENDM

	const musicfadeout_command ; $81
musicfadeout: MACRO
	db musicfadeout_command
	dw \1 ; music
	db \2 ; fadetime
ENDM

	const playmapmusic_command ; $82
playmapmusic: MACRO
	db playmapmusic_command
ENDM

	const dontrestartmapmusic_command ; $83
dontrestartmapmusic: MACRO
	db dontrestartmapmusic_command
ENDM

	const cry_command ; $84
cry: MACRO
	db cry_command
	dw \1 ; cry_id
ENDM

	const playsound_command ; $85
playsound: MACRO
	db playsound_command
	dw \1 ; sound_pointer
ENDM

	const waitsfx_command ; $86
waitsfx: MACRO
	db waitsfx_command
ENDM

	const warpsound_command ; $87
warpsound: MACRO
	db warpsound_command
ENDM

	const specialsound_command ; $88
specialsound: MACRO
	db specialsound_command
ENDM

	const autoinput_command ; $89
autoinput: MACRO
	db autoinput_command
	dba \1
ENDM

	const newloadmap_command ; $8a
newloadmap: MACRO
	db newloadmap_command
	db \1 ; which_method
ENDM

	const pause_command ; $8b
pause: MACRO
	db pause_command
	db \1 ; length
ENDM

	const deactivatefacing_command ; $8c
deactivatefacing: MACRO
	db deactivatefacing_command
	db \1 ; time
ENDM

	const sdefer_command ; $8d
sdefer: MACRO
	db sdefer_command
	dw \1 ; pointer
ENDM

	const warpcheck_command ; $8e
warpcheck: MACRO
	db warpcheck_command
ENDM

	const stopandsjump_command ; $8f
stopandsjump: MACRO
	db stopandsjump_command
	dw \1 ; pointer
ENDM

	const endcallback_command ; $90
endcallback: MACRO
	db endcallback_command
ENDM

	const end_command ; $91
end: MACRO
	db end_command
ENDM

	const reloadend_command ; $92
reloadend: MACRO
	db reloadend_command
	db \1 ; which_method
ENDM

	const endall_command ; $93
endall: MACRO
	db endall_command
ENDM

	const pokemart_command ; $94
pokemart: MACRO
	db pokemart_command
	db \1 ; dialog_id
	dw \2 ; mart_id
ENDM

	const elevator_command ; $95
elevator: MACRO
	db elevator_command
	dw \1 ; floor_list_pointer
ENDM

	const trade_command ; $96
trade: MACRO
	db trade_command
	db \1 ; trade_id
ENDM

	const askforphonenumber_command ; $97
askforphonenumber: MACRO
	db askforphonenumber_command
	db \1 ; number
ENDM

	const phonecall_command ; $98
phonecall: MACRO
	db phonecall_command
	dw \1 ; caller_name
ENDM

	const hangup_command ; $99
hangup: MACRO
	db hangup_command
ENDM

	const describedecoration_command ; $9a
describedecoration: MACRO
	db describedecoration_command
	db \1 ; byte
ENDM

	const fruittree_command ; $9b
fruittree: MACRO
	db fruittree_command
	db \1 ; tree_id
ENDM

	const specialphonecall_command ; $9c
specialphonecall: MACRO
	db specialphonecall_command
	dw \1 ; call_id
ENDM

	const checkphonecall_command ; $9d
checkphonecall: MACRO
	db checkphonecall_command
ENDM

	const verbosegiveitem_command ; $9e
verbosegiveitem: MACRO
if _NARG == 1
	verbosegiveitem \1, 1
else
	db verbosegiveitem_command
	db \1 ; item
	db \2 ; quantity
endc
ENDM

	const verbosegiveitemvar_command ; $9f
verbosegiveitemvar: MACRO
	db verbosegiveitemvar_command
	db \1 ; item
	db \2 ; var
ENDM

	const swarm_command ; $a0
swarm: MACRO
	db swarm_command
	db \1 ; flag
	map_id \2 ; map
ENDM

	const halloffame_command ; $a1
halloffame: MACRO
	db halloffame_command
ENDM

	const credits_command ; $a2
credits: MACRO
	db credits_command
ENDM

	const warpfacing_command ; $a3
warpfacing: MACRO
	db warpfacing_command
	db \1 ; facing
	map_id \2 ; map
	db \3 ; x
	db \4 ; y
ENDM

	const battletowertext_command ; $a4
battletowertext: MACRO
	db battletowertext_command
	db \1 ; bttext_id
ENDM

	const getlandmarkname_command ; $a5
getlandmarkname: MACRO
	db getlandmarkname_command
	db \2 ; landmark_id
	db \1 ; string_buffer
ENDM

	const gettrainerclassname_command ; $a6
gettrainerclassname: MACRO
	db gettrainerclassname_command
	db \2 ; trainer_group
	db \1 ; string_buffer
ENDM

	const getname_command ; $a7
getname: MACRO
	db getname_command
	db \2 ; type
	db \3 ; id
	db \1 ; memory
ENDM

	const wait_command ; $a8
wait: MACRO
	db wait_command
	db \1 ; duration
ENDM

	const checksave_command ; $a9
checksave: MACRO
	db checksave_command
ENDM

NUM_EVENT_COMMANDS EQU const_value
