scriptpointer: MACRO ; scriptpointer mapName, scriptPointer \1Script_\2: dw \2 endm doscript: MACRO ; doscript mapName, scriptPointer ld a, (\1Script_\2 - \1ScriptPointers) / 2 ld [w\1CurScript], a endm dmaptext: MACRO ; dmaptext mapName, textPointer \1Text_\2: dw \2 endm maptext: MACRO ; maptext mapName, textPointer ld a, (\1Text_\2 - \1TextPointers) / 2 ld [hSpriteIndexOrTextID], a call DisplayTextID endm trainer_header: MACRO ; trainer_header eventFlag, sightRange, textBefore, textAfter, textWin, textLose[, flagOffset] IF _NARG > 6 dbEventFlagBit \1, \7 db (\2 << 4) ; trainer's view range dw EventFlagAddress \1, \7 ELSE dbEventFlagBit \1 db (\2 << 4) ; trainer's view range dw EventFlagAddress \1 ENDC dw \3 ; TextBeforeBattle dw \4 ; TextAfterBattle dw \5 ; TextEndBattle dw \6 ; TextEndBattle endm