Gargoyle's Quest II/ROM map

From Data Crystal
Revision as of 17:11, 27 June 2019 by Dugongue (talk | contribs)
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Gargoyle's Quest II.

Page 06

Function 06:87E0

Runs AI scripts for all occupied object slots.

Pointer table 06:8A83 / 06:8AF3

Addresses for all AI scripts.

Function 06:8E5E

AI script for the eyeball bird enemy.

8E5E: Phase 0 (Perched)
 When the player comes near, enter one of three random flight patterns.
8EB6: Phase 1 (Flying)

Function 06:8F80

AI script for the beetle enemy spawner.

If a beetle enemy is not currently on screen, spawn one relative to the player's position in a random diagonal direction.

Function 06:8FCB

AI script for the beetle enemy.

8FCB: Phase 0 (Appearing on screen)
8FF3: Phase 1 (Moving towards player)

Function 06:8FCB

AI script for walking NPCs in town.

Function 06:9135

AI script for the hooded enemy.

9135: Phase 0 (Hidden)
 Is randomly assigned one of five possible horizontal distances that the player must come within for the enemy to reveal itself.
916E: Phase 1 (Appearing)
9195: Phase 2 (Walking)

Function 06:945A

AI script for ramp flower enemy.

945A: Phase 0 (Initialization)
9467: Phase 1 (Waiting to attack)
9493: Phase 2 (Attacking)

Function 06:963B

AI script for green platform enemy.

963B: Phase 0 (Initialization)
9662: Phase 1 (Moving/attacking)
 Attack counter ticks down every frame the player is not standing on the platform. When it reaches zero, there is a 1/2 chance to spawn a projectile.

Function 06:A475

Sets the sprite for object X to face the player (without changing its direction of movement).

Function 06:A484

AI script for the Stage 1 Boss.

A484: Phase 0 (Initialization)
 Waits for 2 seconds or until player presses B to jump to the first platform.
A49C: Phase 1 (Deciding action)
A4D9: Phase 2 (Attacking)
A5B4: Phase 3 (Jumping)

Page 07

Function 07:ED1B

Checks if the tile beneath object X has attribute flag Y? (e.g. if it is solid). Carry is set if true; else, Carry is cleared.

Function 07:EDD9

Moves object X to the right a distance equal to its horizontal speed.

Function 07:EDF7

Moves object X to the left a distance equal to its horizontal speed.

Function 07:EE15

Moves object X down a distance equal to its horizontal speed.

Function 07:EE35

Moves object X up a distance equal to its horizontal speed.

Function 07:EF26

Moves object X horizontally.

Function 07:EF59

Set object X to animation A.

Function 07:EFB3

Set the x/y position of object Y relative to the position of object X, using signed offset values $10 from the tables 07:F020/07:F060, then sets its animation to A.

Table 07:F020 / 07:F060

Relative offset position values used by Function 07:EFB3.

Function 07:F0A0

Sets the direction of movement for object X to move toward the player.

Function 07:F0BA

Sets the sprite for object X to match its direction of horizontal movement.

Function 07:F531

Checks for an empty object slot. If successful, Carry is cleared & Y is set to the first available slot; otherwise, Carry is set.