mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Introduce callback, hiddenitem, conditional_event, and cmdqueue macros for map scripts
This commit is contained in:
parent
d054116458
commit
5a3822fe86
@ -16,7 +16,7 @@
|
||||
|
||||
## `.MapCallbacks: db` *N*
|
||||
|
||||
- **`dbw` *type*, *script***
|
||||
- **`callback` *type*, *script***
|
||||
|
||||
Callback types:
|
||||
|
||||
@ -30,11 +30,21 @@ Callback types:
|
||||
|
||||
- **`MAPCALLBACK_CMDQUEUE`**
|
||||
|
||||
**`dbw CMDQUEUE_STONETABLE,` *table_pointer***
|
||||
|
||||
**`stonetable` *warp_id*, *person*, *script***
|
||||
|
||||
**`db -1 ; end`**
|
||||
<!-- need pre tags here; can't use inline bold/italic formatting in Markdown code blocks -->
|
||||
<pre>
|
||||
callback MAPCALLBACK_CMDQUEUE, .Boulders
|
||||
|
||||
.Boulders:
|
||||
writecmdqueue .BoulderCmdQueue
|
||||
return
|
||||
|
||||
.BoulderCmdQueue:
|
||||
cmdqueue CMDQUEUE_STONETABLE, .BoulderTable
|
||||
|
||||
.BoulderTable:
|
||||
stonetable <i>warp_id</i>, <i>person</i>, <i>script</i>
|
||||
db -1 ; end
|
||||
</pre>
|
||||
|
||||
|
||||
## Event scripts
|
||||
@ -54,8 +64,10 @@ Callback types:
|
||||
|
||||
## `MapName_MapEventHeader:`
|
||||
|
||||
```asm
|
||||
; filler
|
||||
db 0, 0
|
||||
```
|
||||
|
||||
|
||||
## `.Warps: db` *N*
|
||||
@ -80,11 +92,11 @@ BG event types:
|
||||
|
||||
- **`BGEVENT_IFSET/IFNOTSET`**
|
||||
|
||||
**`dw` *event_flag*, *script***
|
||||
**`conditional_event` *event_flag*, *script***
|
||||
|
||||
- **`BGEVENT_ITEM`**
|
||||
|
||||
**`dwb` *event_flag*, *item_id***
|
||||
**`hiddenitem` *event_flag*, *item_id***
|
||||
|
||||
- **`BGEVENT_COPY`**
|
||||
|
||||
|
@ -9,6 +9,12 @@ scene_script: MACRO
|
||||
dw \1, 0
|
||||
ENDM
|
||||
|
||||
callback: MACRO
|
||||
;\1: type: a MAPCALLBACK_* constant
|
||||
;\2: script pointer
|
||||
dbw \1, \2
|
||||
ENDM
|
||||
|
||||
warp_def: MACRO
|
||||
;\1: x: left to right, starts at 0
|
||||
;\2: y: top to bottom, starts at 0
|
||||
@ -23,9 +29,10 @@ coord_event: MACRO
|
||||
;\2: y: top to bottom, starts at 0
|
||||
;\3: scene id: controlled by setscene/setmapscene
|
||||
;\4: script pointer
|
||||
db \3, \2, \1, $0
|
||||
db \3, \2, \1
|
||||
db 0 ; filler
|
||||
dw \4
|
||||
db $0, $0
|
||||
db 0, 0 ; filler
|
||||
ENDM
|
||||
|
||||
bg_event: MACRO
|
||||
@ -91,6 +98,12 @@ else
|
||||
endc
|
||||
ENDM
|
||||
|
||||
hiddenitem: MACRO
|
||||
;\1: flag: an EVENT_* constant
|
||||
;\2: item: from constants/item_constants.asm
|
||||
dwb \1, \2
|
||||
ENDM
|
||||
|
||||
elevfloor: MACRO
|
||||
;\1: floor: a FLOOR_* constant
|
||||
;\2: warp destination: starts at 1
|
||||
@ -99,10 +112,22 @@ elevfloor: MACRO
|
||||
map \3
|
||||
ENDM
|
||||
|
||||
conditional_event: MACRO
|
||||
;\1: flag: an EVENT_* constant
|
||||
;\2: script pointer
|
||||
dw \1, \2
|
||||
ENDM
|
||||
|
||||
cmdqueue: MACRO
|
||||
;\1: type: a CMDQUEUE_* constant
|
||||
;\2: data pointer
|
||||
dbw \1, \2
|
||||
dw 0 ; filler
|
||||
ENDM
|
||||
|
||||
stonetable: MACRO
|
||||
;\1: warp id
|
||||
;\2: object_event id
|
||||
;\3: script pointer
|
||||
db \1, \2
|
||||
dw \3
|
||||
dbbw \1, \2, \3
|
||||
ENDM
|
||||
|
@ -21,7 +21,7 @@ AzaleaTown_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .Flypoint
|
||||
callback MAPCALLBACK_NEWMAP, .Flypoint
|
||||
|
||||
.DummyScene0:
|
||||
end
|
||||
@ -211,7 +211,7 @@ WhiteApricornTree:
|
||||
fruittree FRUITTREE_AZALEA_TOWN
|
||||
|
||||
AzaleaTownHiddenFullHeal:
|
||||
dwb EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
|
||||
hiddenitem EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
|
||||
|
||||
AzaleaTownRivalBattleApproachMovement1:
|
||||
step LEFT
|
||||
|
@ -10,8 +10,8 @@ BattleTowerOutside_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 2
|
||||
dbw MAPCALLBACK_TILES, .Callback1
|
||||
dbw MAPCALLBACK_OBJECTS, .Callback2
|
||||
callback MAPCALLBACK_TILES, .Callback1
|
||||
callback MAPCALLBACK_OBJECTS, .Callback2
|
||||
|
||||
.Callback1:
|
||||
return
|
||||
|
@ -15,8 +15,8 @@ BlackthornCity_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 2
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
dbw MAPCALLBACK_OBJECTS, .Santos
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
callback MAPCALLBACK_OBJECTS, .Santos
|
||||
|
||||
.FlyPoint:
|
||||
setflag ENGINE_FLYPOINT_BLACKTHORN
|
||||
|
@ -11,7 +11,7 @@ BlackthornGym1F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_TILES, .Boulders
|
||||
callback MAPCALLBACK_TILES, .Boulders
|
||||
|
||||
.Boulders:
|
||||
checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_1
|
||||
|
@ -14,15 +14,14 @@ BlackthornGym2F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_CMDQUEUE, .Boulders
|
||||
callback MAPCALLBACK_CMDQUEUE, .Boulders
|
||||
|
||||
.Boulders:
|
||||
writecmdqueue .BoulderCmdQueue
|
||||
return
|
||||
|
||||
.BoulderCmdQueue:
|
||||
dbw CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp
|
||||
dw 0 ; filler
|
||||
cmdqueue CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp
|
||||
|
||||
.BoulderTable:
|
||||
stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4
|
||||
|
@ -9,7 +9,7 @@ BrunosRoom_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_TILES, .BrunosRoomDoors
|
||||
callback MAPCALLBACK_TILES, .BrunosRoomDoors
|
||||
|
||||
.LockDoor:
|
||||
priorityjump .BrunosDoorLocksBehindYou
|
||||
|
@ -14,7 +14,7 @@ BurnedTower1F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_TILES, .HoleAndLadder
|
||||
callback MAPCALLBACK_TILES, .HoleAndLadder
|
||||
|
||||
.EusineScene:
|
||||
priorityjump .MeetEusine
|
||||
@ -131,10 +131,10 @@ BurnedTower1FRock:
|
||||
jumpstd smashrock
|
||||
|
||||
BurnedTower1FHiddenEther:
|
||||
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
|
||||
hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
|
||||
|
||||
BurnedTower1FHiddenUltraBall:
|
||||
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
|
||||
hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
|
||||
|
||||
BurnedTower1FHPUp:
|
||||
itemball HP_UP
|
||||
|
@ -17,7 +17,7 @@ BurnedTowerB1F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_TILES, .LadderCallback
|
||||
callback MAPCALLBACK_TILES, .LadderCallback
|
||||
|
||||
.DummyScene0:
|
||||
end
|
||||
|
@ -15,7 +15,7 @@ CeladonCity_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
|
||||
.FlyPoint:
|
||||
setflag ENGINE_FLYPOINT_CELADON
|
||||
@ -75,7 +75,7 @@ CeladonCityPokecenterSign:
|
||||
jumpstd pokecentersign
|
||||
|
||||
CeladonCityHiddenPpUp:
|
||||
dwb EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
|
||||
hiddenitem EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
|
||||
|
||||
CeladonCityFisherText:
|
||||
text "This POLIWRATH is"
|
||||
|
@ -8,7 +8,7 @@ CeladonDeptStore6F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_TILES, .Callback
|
||||
callback MAPCALLBACK_TILES, .Callback
|
||||
|
||||
.Callback:
|
||||
changeblock 12, 0, $03
|
||||
|
@ -12,7 +12,7 @@ CeruleanCity_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
|
||||
.FlyPoint:
|
||||
setflag ENGINE_FLYPOINT_CERULEAN
|
||||
@ -147,7 +147,7 @@ CeruleanCityMartSign:
|
||||
jumpstd martsign
|
||||
|
||||
CeruleanCityHiddenBerserkGene:
|
||||
dwb EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
|
||||
hiddenitem EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
|
||||
|
||||
CeruleanCityCooltrainerMText1:
|
||||
text "KANTO's POWER"
|
||||
|
@ -135,7 +135,7 @@ CeruleanGymGuyScript:
|
||||
end
|
||||
|
||||
CeruleanGymHiddenMachinePart:
|
||||
dwb EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
|
||||
hiddenitem EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
|
||||
|
||||
CeruleanGymStatue1:
|
||||
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
|
||||
|
@ -13,7 +13,7 @@ CherrygroveCity_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
|
||||
.DummyScene0:
|
||||
end
|
||||
|
@ -20,7 +20,7 @@ CianwoodCity_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPointAndSuicune
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPointAndSuicune
|
||||
|
||||
.DummyScene0:
|
||||
end
|
||||
@ -145,10 +145,10 @@ CianwoodCityRock:
|
||||
jumpstd smashrock
|
||||
|
||||
CianwoodCityHiddenRevive:
|
||||
dwb EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
|
||||
hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
|
||||
|
||||
CianwoodCityHiddenMaxEther:
|
||||
dwb EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
|
||||
hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
|
||||
|
||||
MovementData_0x1a00da:
|
||||
set_sliding
|
||||
|
@ -7,7 +7,7 @@ CinnabarIsland_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
callback MAPCALLBACK_NEWMAP, .FlyPoint
|
||||
|
||||
.FlyPoint:
|
||||
setflag ENGINE_FLYPOINT_CINNABAR
|
||||
@ -35,7 +35,7 @@ CinnabarIslandPokecenterSign:
|
||||
jumpstd pokecentersign
|
||||
|
||||
CinnabarIslandHiddenRareCandy:
|
||||
dwb EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
|
||||
hiddenitem EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
|
||||
|
||||
CinnabarIslandBlueTeleport:
|
||||
teleport_from
|
||||
|
@ -11,8 +11,8 @@ Colosseum_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 2
|
||||
dbw MAPCALLBACK_OBJECTS, .SetWhichChris
|
||||
dbw MAPCALLBACK_NEWMAP, .PreparePokecenter2F
|
||||
callback MAPCALLBACK_OBJECTS, .SetWhichChris
|
||||
callback MAPCALLBACK_NEWMAP, .PreparePokecenter2F
|
||||
|
||||
.InitializeColosseum:
|
||||
priorityjump .InitializeAndPreparePokecenter2F
|
||||
|
@ -12,7 +12,7 @@ CopycatsHouse2F_MapScriptHeader:
|
||||
|
||||
.MapCallbacks:
|
||||
db 1
|
||||
dbw MAPCALLBACK_OBJECTS, .Callback
|
||||
callback MAPCALLBACK_OBJECTS, .Callback
|
||||
|
||||
.Callback:
|
||||
checkflag ENGINE_PLAYER_IS_FEMALE
|
||||
|
@ -31,7 +31,7 @@ DarkCaveVioletEntranceRock:
|
||||
jumpstd smashrock
|
||||
|
||||
DarkCaveVioletEntranceHiddenElixer:
|
||||
dwb EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
|
||||
hiddenitem EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
|
||||
|
||||
DarkCaveVioletEntrance_MapEventHeader:
|
||||
; filler
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user