summaryrefslogtreecommitdiff
path: root/engine/events.asm
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2018-03-13 13:07:16 +0100
committermid-kid <esteve.varela@gmail.com>2018-03-13 13:21:40 +0100
commitbaa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch)
tree968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/events.asm
parent12070ca50067d3abe36a730190f88ee43f2cace9 (diff)
Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by creating categorized subdirectories, in order to make it easier to navigate and find things. The directories created are as follows: * engine/game: Contains all "minigames", things like the unown puzzle and slot machine. * engine/gfx: Contains all handling of graphics. From loading palettes to playing animations. * engine/link: Contains all multiplayer functionality. * engine/menu: Contains all generic/misc. menus and menu code. Other, more specialized menus are in their own subdirectories (pokedex, pokegear, party menu, etc). * engine/overworld: Contains all handling of the overworld. From loading and connecting maps to wild encounters and the scripting engine. * engine/pokegear: In the same vein as engine/pokedex, except it could use some more splitting up. * engine/pokemon: Contains everything related to manipulating pokemon data. From the pokemon storage system to evolution and mail. * engine/printer: Contains everything related to printing things as well as the printer communication. * engine/title: Contains intro sequences, title screens and credits.
Diffstat (limited to 'engine/events.asm')
-rw-r--r--engine/events.asm1111
1 files changed, 0 insertions, 1111 deletions
diff --git a/engine/events.asm b/engine/events.asm
deleted file mode 100644
index 35a54138b..000000000
--- a/engine/events.asm
+++ /dev/null
@@ -1,1111 +0,0 @@
-INCLUDE "constants.asm"
-
-
-SECTION "Events", ROMX
-
-OverworldLoop:: ; 966b0
- xor a
- ld [wMapStatus], a
-.loop
- ld a, [wMapStatus]
- ld hl, .jumps
- rst JumpTable
- ld a, [wMapStatus]
- cp 3 ; done
- jr nz, .loop
-.done
- ret
-
-.jumps
- dw StartMap
- dw EnterMap
- dw HandleMap
- dw .done
-; 966cb
-
-DisableEvents: ; 966cb
- xor a
- ld [wScriptFlags3], a
- ret
-; 966d0
-
-EnableEvents:: ; 966d0
- ld a, $ff
- ld [wScriptFlags3], a
- ret
-; 966d6
-
-CheckBit5_ScriptFlags3: ; 966d6
- ld hl, wScriptFlags3
- bit 5, [hl]
- ret
-; 966dc
-
-DisableWarpsConnxns: ; 966dc
- ld hl, wScriptFlags3
- res 2, [hl]
- ret
-; 966e2
-
-DisableCoordEvents: ; 966e2
- ld hl, wScriptFlags3
- res 1, [hl]
- ret
-; 966e8
-
-DisableStepCount: ; 966e8
- ld hl, wScriptFlags3
- res 0, [hl]
- ret
-; 966ee
-
-DisableWildEncounters: ; 966ee
- ld hl, wScriptFlags3
- res 4, [hl]
- ret
-; 966f4
-
-EnableWarpsConnxns: ; 966f4
- ld hl, wScriptFlags3
- set 2, [hl]
- ret
-; 966fa
-
-EnableCoordEvents: ; 966fa
- ld hl, wScriptFlags3
- set 1, [hl]
- ret
-; 96700
-
-EnableStepCount: ; 96700
- ld hl, wScriptFlags3
- set 0, [hl]
- ret
-; 96706
-
-EnableWildEncounters: ; 96706
- ld hl, wScriptFlags3
- set 4, [hl]
- ret
-; 9670c
-
-CheckWarpConnxnScriptFlag: ; 9670c
- ld hl, wScriptFlags3
- bit 2, [hl]
- ret
-; 96712
-
-CheckCoordEventScriptFlag: ; 96712
- ld hl, wScriptFlags3
- bit 1, [hl]
- ret
-; 96718
-
-CheckStepCountScriptFlag: ; 96718
- ld hl, wScriptFlags3
- bit 0, [hl]
- ret
-; 9671e
-
-CheckWildEncountersScriptFlag: ; 9671e
- ld hl, wScriptFlags3
- bit 4, [hl]
- ret
-; 96724
-
-StartMap: ; 96724
- xor a
- ld [wScriptVar], a
- xor a
- ld [wScriptRunning], a
- ld hl, wMapStatus
- ld bc, wMapStatusEnd - wMapStatus
- call ByteFill
- farcall InitCallReceiveDelay
- call ClearJoypad
-EnterMap: ; 9673e
- xor a
- ld [wXYComparePointer], a
- ld [wXYComparePointer + 1], a
- call SetUpFiveStepWildEncounterCooldown
- farcall RunMapSetupScript
- call DisableEvents
-
- ld a, [hMapEntryMethod]
- cp MAPSETUP_CONNECTION
- jr nz, .dont_enable
- call EnableEvents
-.dont_enable
-
- ld a, [hMapEntryMethod]
- cp MAPSETUP_RELOADMAP
- jr nz, .dontresetpoison
- xor a
- ld [wPoisonStepCount], a
-.dontresetpoison
-
- xor a ; end map entry
- ld [hMapEntryMethod], a
- ld a, 2 ; HandleMap
- ld [wMapStatus], a
- ret
-; 9676d
-
-UnusedWait30Frames: ; 9676d
- ld c, 30
- call DelayFrames
- ret
-; 96773
-
-HandleMap: ; 96773
- call ResetOverworldDelay
- call HandleMapTimeAndJoypad
- farcall HandleCmdQueue ; no need to farcall
- call MapEvents
-
-; Not immediately entering a connected map will cause problems.
- ld a, [wMapStatus]
- cp 2 ; HandleMap
- ret nz
-
- call HandleMapObjects
- call NextOverworldFrame
- call HandleMapBackground
- call CheckPlayerState
- ret
-; 96795
-
-MapEvents: ; 96795
- ld a, [wMapEventStatus]
- ld hl, .jumps
- rst JumpTable
- ret
-
-.jumps
- dw .events
- dw .no_events
-; 967a1
-
-.events ; 967a1
- call PlayerEvents
- call DisableEvents
- farcall ScriptEvents
- ret
-; 967ae
-
-.no_events ; 967ae
- ret
-; 967af
-
-MaxOverworldDelay: ; 967af
- db 2
-; 967b0
-
-ResetOverworldDelay: ; 967b0
- ld a, [MaxOverworldDelay]
- ld [wOverworldDelay], a
- ret
-; 967b7
-
-NextOverworldFrame: ; 967b7
- ld a, [wOverworldDelay]
- and a
- ret z
- ld c, a
- call DelayFrames
- ret
-; 967c1
-
-HandleMapTimeAndJoypad: ; 967c1
- ld a, [wMapEventStatus]
- cp 1 ; no events
- ret z
-
- call UpdateTime
- call GetJoypad
- call TimeOfDayPals
- ret
-; 967d1
-
-HandleMapObjects: ; 967d1
- farcall HandleNPCStep ; engine/map_objects.asm
- farcall _HandlePlayerStep
- call _CheckObjectEnteringVisibleRange
- ret
-; 967e1
-
-HandleMapBackground: ; 967e1
- farcall _UpdateSprites
- farcall ScrollScreen
- farcall PlaceMapNameSign
- ret
-; 967f4
-
-CheckPlayerState: ; 967f4
- ld a, [wPlayerStepFlags]
- bit 5, a ; in the middle of step
- jr z, .events
- bit 6, a ; stopping step
- jr z, .noevents
- bit 4, a ; in midair
- jr nz, .noevents
- call EnableEvents
-.events
- ld a, 0 ; events
- ld [wMapEventStatus], a
- ret
-
-.noevents
- ld a, 1 ; no events
- ld [wMapEventStatus], a
- ret
-; 96812
-
-_CheckObjectEnteringVisibleRange: ; 96812
- ld hl, wPlayerStepFlags
- bit 6, [hl]
- ret z
- farcall CheckObjectEnteringVisibleRange
- ret
-; 9681f
-
-PlayerEvents: ; 9681f
- xor a
-; If there's already a player event, don't interrupt it.
- ld a, [wScriptRunning]
- and a
- ret nz
-
- call Dummy_CheckScriptFlags3Bit5 ; This is a waste of time
-
- call CheckTrainerBattle3
- jr c, .ok
-
- call CheckTileEvent
- jr c, .ok
-
- call RunMemScript
- jr c, .ok
-
- call RunSceneScript
- jr c, .ok
-
- call CheckTimeEvents
- jr c, .ok
-
- call OWPlayerInput
- jr c, .ok
-
- xor a
- ret
-
-.ok
- push af
- farcall EnableScriptMode
- pop af
-
- ld [wScriptRunning], a
- call DoPlayerEvent
- ld a, [wScriptRunning]
- cp PLAYEREVENT_CONNECTION
- jr z, .ok2
- cp PLAYEREVENT_JOYCHANGEFACING
- jr z, .ok2
-
- xor a
- ld [wLandmarkSignTimer], a
-
-.ok2
- scf
- ret
-; 96867
-
-CheckTrainerBattle3: ; 96867
- nop
- nop
- call CheckTrainerBattle2
- jr nc, .nope
-
- ld a, PLAYEREVENT_SEENBYTRAINER
- scf
- ret
-
-.nope
- xor a
- ret
-; 96874
-
-CheckTileEvent: ; 96874
-; Check for warps, coord events, or wild battles.
-
- call CheckWarpConnxnScriptFlag
- jr z, .connections_disabled
-
- farcall CheckMovingOffEdgeOfMap
- jr c, .map_connection
-
- call CheckWarpTile
- jr c, .warp_tile
-
-.connections_disabled
- call CheckCoordEventScriptFlag
- jr z, .coord_events_disabled
-
- call CheckCurrentMapCoordEvents
- jr c, .coord_event
-
-.coord_events_disabled
- call CheckStepCountScriptFlag
- jr z, .step_count_disabled
-
- call CountStep
- ret c
-
-.step_count_disabled
- call CheckWildEncountersScriptFlag
- jr z, .ok
-
- call RandomEncounter
- ret c
- jr .ok ; pointless
-
-.ok
- xor a
- ret
-
-.map_connection
- ld a, PLAYEREVENT_CONNECTION
- scf
- ret
-
-.warp_tile
- ld a, [wPlayerStandingTile]
- call CheckPitTile
- jr nz, .not_pit
- ld a, PLAYEREVENT_FALL
- scf
- ret
-
-.not_pit
- ld a, PLAYEREVENT_WARP
- scf
- ret
-
-.coord_event
- ld hl, wCurCoordEventScriptAddr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call GetMapScriptsBank
- call CallScript
- ret
-; 968c7
-
-CheckWildEncounterCooldown:: ; 968c7
- ld hl, wWildEncounterCooldown
- ld a, [hl]
- and a
- ret z
- dec [hl]
- ret z
- scf
- ret
-; 968d1
-
-SetUpFiveStepWildEncounterCooldown: ; 968d1
- ld a, 5
- ld [wWildEncounterCooldown], a
- ret
-; 968d7
-
-ret_968d7: ; 968d7
- ret
-;968d8
-
-SetMinTwoStepWildEncounterCooldown: ; 968d8
- ld a, [wWildEncounterCooldown]
- cp 2
- ret nc
- ld a, 2
- ld [wWildEncounterCooldown], a
- ret
-; 968e4
-
-Dummy_CheckScriptFlags3Bit5: ; 968e4
- call CheckBit5_ScriptFlags3
- ret z
- call ret_2f3e
- ret
-; 968ec
-
-RunSceneScript: ; 968ec
- ld a, [wCurrMapSceneScriptCount]
- and a
- jr z, .nope
-
- ld c, a
- call CheckScenes
- cp c
- jr nc, .nope
-
- ld e, a
- ld d, 0
- ld hl, wCurrMapSceneScriptsPointer
- ld a, [hli]
- ld h, [hl]
- ld l, a
-rept 4
- add hl, de
-endr
-
- call GetMapScriptsBank
- call GetFarHalfword
- call GetMapScriptsBank
- call CallScript
-
- ld hl, wScriptFlags
- res 3, [hl]
-
- farcall EnableScriptMode
- farcall ScriptEvents
-
- ld hl, wScriptFlags
- bit 3, [hl]
- jr z, .nope
-
- ld hl, wPriorityScriptAddr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [wPriorityScriptBank]
- call CallScript
- scf
- ret
-
-.nope
- xor a
- ret
-; 9693a
-
-CheckTimeEvents: ; 9693a
- ld a, [wLinkMode]
- and a
- jr nz, .nothing
-
- ld hl, wStatusFlags2
- bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl]
- jr z, .do_daily
-
- farcall CheckBugContestTimer
- jr c, .end_bug_contest
- xor a
- ret
-
-.do_daily
- farcall CheckDailyResetTimer
- farcall CheckPokerusTick
- farcall CheckPhoneCall
- ret c
-
-.nothing
- xor a
- ret
-
-.end_bug_contest
- ld a, BANK(BugCatchingContestOverScript)
- ld hl, BugCatchingContestOverScript
- call CallScript
- scf
- ret
-; 96970
-
-.unused ; 96970
- ld a, 8
- scf
- ret
-; 96974
-
-OWPlayerInput: ; 96974
-
- call PlayerMovement
- ret c
- and a
- jr nz, .NoAction
-
-; Can't perform button actions while sliding on ice.
- farcall CheckStandingOnIce
- jr c, .NoAction
-
- call CheckAPressOW
- jr c, .Action
-
- call CheckMenuOW
- jr c, .Action
-
-.NoAction:
- xor a
- ret
-
-.Action:
- push af
- farcall StopPlayerForEvent
- pop af
- scf
- ret
-; 96999
-
-CheckAPressOW: ; 96999
- ld a, [hJoyPressed]
- and A_BUTTON
- ret z
- call TryObjectEvent
- ret c
- call TryBGEvent
- ret c
- call TryTileCollisionEvent
- ret c
- xor a
- ret
-; 969ac
-
-PlayTalkObject: ; 969ac
- push de
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- pop de
- ret
-; 969b5
-
-TryObjectEvent: ; 969b5
- farcall CheckFacingObject
- jr c, .IsObject
- xor a
- ret
-
-.IsObject:
- call PlayTalkObject
- ld a, [hObjectStructIndexBuffer]
- call GetObjectStruct
- ld hl, OBJECT_MAP_OBJECT_INDEX
- add hl, bc
- ld a, [hl]
- ld [hLastTalked], a
-
- ld a, [hLastTalked]
- call GetMapObject
- ld hl, MAPOBJECT_COLOR
- add hl, bc
- ld a, [hl]
- and %00001111
-
-; Bug: If IsInArray returns nc, data at bc will be executed as code.
- push bc
- ld de, 3
- ld hl, .pointers
- call IsInArray
- jr nc, .nope_bugged
- pop bc
-
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-.nope_bugged
- ; pop bc
- xor a
- ret
-
-.pointers
- dbw OBJECTTYPE_SCRIPT, .script
- dbw OBJECTTYPE_ITEMBALL, .itemball
- dbw OBJECTTYPE_TRAINER, .trainer
- ; the remaining four are dummy events
- dbw OBJECTTYPE_3, .three
- dbw OBJECTTYPE_4, .four
- dbw OBJECTTYPE_5, .five
- dbw OBJECTTYPE_6, .six
- db -1
-; 96a04
-
-.script ; 96a04
- ld hl, MAPOBJECT_SCRIPT_POINTER
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call GetMapScriptsBank
- call CallScript
- ret
-; 96a12
-
-.itemball ; 96a12
- ld hl, MAPOBJECT_SCRIPT_POINTER
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call GetMapScriptsBank
- ld de, wEngineBuffer1
- ld bc, 2
- call FarCopyBytes
- ld a, PLAYEREVENT_ITEMBALL
- scf
- ret
-; 96a29
-
-.trainer ; 96a29
- call TalkToTrainer
- ld a, PLAYEREVENT_TALKTOTRAINER
- scf
- ret
-; 96a30
-
-.three ; 96a30
- xor a
- ret
-; 96a32
-
-.four ; 96a32
- xor a
- ret
-; 96a34
-
-.five ; 96a34
- xor a
- ret
-; 96a36
-
-.six ; 96a36
- xor a
- ret
-; 96a38
-
-TryBGEvent: ; 96a38
- call CheckFacingBGEvent
- jr c, .is_bg_event
- xor a
- ret
-
-.is_bg_event:
- ld a, [wEngineBuffer3]
- ld hl, .bg_events
- rst JumpTable
- ret
-
-.bg_events
- dw .read
- dw .up
- dw .down
- dw .right
- dw .left
- dw .ifset
- dw .ifnotset
- dw .itemifset
- dw .copy
-; 96a59
-
-.up
- ld b, OW_UP
- jr .checkdir
-.down
- ld b, OW_DOWN
- jr .checkdir
-.right
- ld b, OW_RIGHT
- jr .checkdir
-.left
- ld b, OW_LEFT
- jr .checkdir
-
-.checkdir
- ld a, [wPlayerDirection]
- and %1100
- cp b
- jp nz, .dontread
-
-.read
- call PlayTalkObject
- ld hl, wEngineBuffer4
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call GetMapScriptsBank
- call CallScript
- scf
- ret
-
-.itemifset
- call CheckBGEventFlag
- jp nz, .dontread
- call PlayTalkObject
- call GetMapScriptsBank
- ld de, wEngineBuffer1
- ld bc, 3
- call FarCopyBytes
- ld a, BANK(HiddenItemScript)
- ld hl, HiddenItemScript
- call CallScript
- scf
- ret
-
-.copy
- call CheckBGEventFlag
- jr nz, .dontread
- call GetMapScriptsBank
- ld de, wEngineBuffer1
- ld bc, 3
- call FarCopyBytes
- jr .dontread
-
-.ifset
- call CheckBGEventFlag
- jr z, .dontread
- jr .thenread
-
-.ifnotset
- call CheckBGEventFlag
- jr nz, .dontread
-
-.thenread
- push hl
- call PlayTalkObject
- pop hl
- inc hl
- inc hl
- call GetMapScriptsBank
- call GetFarHalfword
- call GetMapScriptsBank
- call CallScript
- scf
- ret
-
-.dontread
- xor a
- ret
-; 96ad8
-
-CheckBGEventFlag: ; 96ad8
- ld hl, wEngineBuffer4
- ld a, [hli]
- ld h, [hl]
- ld l, a
- push hl
- call GetMapScriptsBank
- call GetFarHalfword
- ld e, l
- ld d, h
- ld b, CHECK_FLAG
- call EventFlagAction
- ld a, c
- and a
- pop hl
- ret
-; 96af0
-
-PlayerMovement: ; 96af0
- farcall DoPlayerMovement
- ld a, c
- ld hl, .pointers
- rst JumpTable
- ld a, c
- ret
-; 96afd
-
-.pointers
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
- dw .six
- dw .seven
-
-.zero
-.four ; 96b0d
- xor a
- ld c, a
- ret
-; 96b10
-
-.seven ; 96b10
- call ret_968d7 ; mobile
- xor a
- ld c, a
- ret
-; 96b16
-
-.one ; 96b16
- ld a, 5
- ld c, a
- scf
- ret
-; 96b1b
-
-.two ; 96b1b
- ld a, 9
- ld c, a
- scf
- ret
-; 96b20
-
-.three ; 96b20
-; force the player to move in some direction
- ld a, BANK(Script_ForcedMovement)
- ld hl, Script_ForcedMovement
- call CallScript
-; ld a, -1
- ld c, a
- scf
- ret
-; 96b2b
-
-.five
-.six ; 96b2b
- ld a, -1
- ld c, a
- and a
- ret
-; 96b30
-
-CheckMenuOW: ; 96b30
- xor a
- ld [hMenuReturn], a
- ld [hMenuReturn + 1], a
- ld a, [hJoyPressed]
-
- bit SELECT_F, a
- jr nz, .Select
-
- bit START_F, a
- jr z, .NoMenu
-
- ld a, BANK(StartMenuScript)
- ld hl, StartMenuScript
- call CallScript
- scf
- ret
-
-.NoMenu:
- xor a
- ret
-
-.Select:
- call PlayTalkObject
- ld a, BANK(SelectMenuScript)
- ld hl, SelectMenuScript
- call CallScript
- scf
- ret
-; 96b58
-
-StartMenuScript: ; 96b58
- callasm StartMenu
- jump StartMenuCallback
-; 96b5f
-
-SelectMenuScript: ; 96b5f
- callasm SelectMenu
- jump SelectMenuCallback
-; 96b66
-
-StartMenuCallback:
-SelectMenuCallback: ; 96b66
- copybytetovar hMenuReturn
- ifequal HMENURETURN_SCRIPT, .Script
- ifequal HMENURETURN_ASM, .Asm
- end
-; 96b72
-
-.Script: ; 96b72
- ptjump wQueuedScriptBank
-; 96b75
-
-.Asm: ; 96b75
- ptcallasm wQueuedScriptBank
- end
-; 96b79
-
-CountStep: ; 96b79
- ; Don't count steps in link communication rooms.
- ld a, [wLinkMode]
- and a
- jr nz, .done
-
- ; If there is a special phone call, don't count the step.
- farcall CheckSpecialPhoneCall
- jr c, .doscript
-
- ; If Repel wore off, don't count the step.
- call DoRepelStep
- jr c, .doscript
-
- ; Count the step for poison and total steps
- ld hl, wPoisonStepCount
- inc [hl]
- ld hl, wStepCount
- inc [hl]
- ; Every 256 steps, increase the happiness of all your Pokemon.
- jr nz, .skip_happiness
-
- farcall StepHappiness
-
-.skip_happiness
- ; Every 256 steps, offset from the happiness incrementor by 128 steps,
- ; decrease the hatch counter of all your eggs until you reach the first
- ; one that is ready to hatch.
- ld a, [wStepCount]
- cp $80
- jr nz, .skip_egg
-
- farcall DoEggStep
- jr nz, .hatch
-
-.skip_egg
- ; Increase the EXP of (both) DayCare Pokemon by 1.
- farcall DayCareStep
-
- ; Every four steps, deal damage to all Poisoned Pokemon
- ld hl, wPoisonStepCount
- ld a, [hl]
- cp 4
- jr c, .skip_poison
- ld [hl], 0
-
- farcall DoPoisonStep
- jr c, .doscript
-
-.skip_poison
- farcall DoBikeStep
-
-.done
- xor a
- ret
-
-.doscript
- ld a, -1
- scf
- ret
-
-.hatch
- ld a, 8
- scf
- ret
-; 96bd3
-
-; unused
-.unreferenced ; 96bd3
- ld a, 7
- scf
- ret
-; 96bd7
-
-DoRepelStep: ; 96bd7
- ld a, [wRepelEffect]
- and a
- ret z
-
- dec a
- ld [wRepelEffect], a
- ret nz
-
- ld a, BANK(RepelWoreOffScript)
- ld hl, RepelWoreOffScript
- call CallScript
- scf
- ret
-; 96beb
-
-DoPlayerEvent: ; 96beb
- ld a, [wScriptRunning]
- and a
- ret z
-
- cp PLAYEREVENT_MAPSCRIPT ; run script
- ret z
-
- cp NUM_PLAYER_EVENTS
- ret nc
-
- ld c, a
- ld b, 0
- ld hl, PlayerEventScriptPointers
- add hl, bc
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld [wScriptBank], a
- ld a, [hli]
- ld [wScriptPos], a
- ld a, [hl]
- ld [wScriptPos + 1], a
- ret
-; 96c0c
-
-PlayerEventScriptPointers: ; 96c0c
- dba Invalid_0x96c2d ; 0
- dba SeenByTrainerScript ; 1
- dba TalkToTrainerScript ; 2
- dba FindItemInBallScript ; 3
- dba EdgeWarpScript ; 4
- dba WarpToNewMapScript ; 5
- dba FallIntoMapScript ; 6
- dba Script_OverworldWhiteout ; 7
- dba HatchEggScript ; 8
- dba ChangeDirectionScript ; 9
- dba Invalid_0x96c2d ; 10
-; 96c2d
-
-Invalid_0x96c2d: ; 96c2d
- end
-; 96c2e
-
-; unused
- end
-; 96c2f
-
-HatchEggScript: ; 96c2f
- callasm OverworldHatchEgg
- end
-; 96c34
-
-WarpToNewMapScript: ; 96c34
- warpsound
- newloadmap MAPSETUP_DOOR
- end
-; 96c38
-
-FallIntoMapScript: ; 96c38
- newloadmap MAPSETUP_FALL
- playsound SFX_KINESIS
- applymovement PLAYER, MovementData_0x96c48
- playsound SFX_STRENGTH
- scall LandAfterPitfallScript
- end
-; 96c48
-
-MovementData_0x96c48: ; 96c48
- skyfall
- step_end
-; 96c4a
-
-LandAfterPitfallScript: ; 96c4a
- earthquake 16
- end
-; 96c4d
-
-EdgeWarpScript: ; 4
- reloadandreturn MAPSETUP_CONNECTION
-; 96c4f
-
-ChangeDirectionScript: ; 9
- deactivatefacing 3
- callasm EnableWildEncounters
- end
-; 96c56
-
-INCLUDE "engine/scripting.asm"
-
-INCLUDE "engine/events_2.asm"