WIP Omega Event

So this isn't working very well. It's halfway there and worked exactly once with what I can only describe as a cosmic ray event.

Here's how it's intended to work: Right as you open the Card Key door, Omega comes barging through, having previously been fighting with Giovanni.

The walking and stuff seems to work, but there are three issues:
- Omega's battle doesn't start, causing a softlock. `call TalkToTrainer` seems to be the iffy point. Note that this code is usually used when talking to a static entity.
- The music bugs out as Omega walks over; this may be linked to the above problem.
- Once these issues are alleviated, Omega will have to disappear, but this isn't a massive deal.

Also includes a dev door in Red's room to easily access the event, and minor code cleanup with Viridian Pre-Gym and Oak's lab - just unnecessary comments.
This commit is contained in:
Llinos Evans 2023-04-13 17:13:11 +01:00
parent bb65963836
commit da13aa9a32
8 changed files with 53 additions and 13 deletions

View file

@ -590,8 +590,8 @@
const EVENT_BEAT_MEW
const_skip 7
const EVENT_BEAT_MOLTRES
const_skip 7
const EVENT_BEAT_OMEGA
;const_skip 7
;const EVENT_BEAT_OMEGA
const_skip 7
const EVENT_BEAT_DRAGONITE
@ -714,7 +714,7 @@
const_skip 11
const EVENT_BEAT_SILPH_CO_11F_TRAINER_0
const EVENT_BEAT_SILPH_CO_11F_TRAINER_1
const_skip 2
const EVENT_BEAT_OMEGA ; must be here
const EVENT_SILPH_CO_11_UNLOCKED_DOOR
const_skip 4
const EVENT_GOT_MASTER_BALL

View file

@ -3,6 +3,7 @@ RedsHouse2F_Object:
def_warp_events
warp_event 7, 1, REDS_HOUSE_1F, 3
warp_event 5, 1, SILPH_CO_11F, 1
def_bg_events

View file

@ -4,7 +4,7 @@ SilphCo11F_Object:
def_warp_events
; warp_event 9, 0, SILPH_CO_10F, 2
; warp_event 13, 0, SILPH_CO_ELEVATOR, 1
warp_event 5, 5, LAST_MAP, 10
warp_event 2, 2, LAST_MAP, 10
; warp_event 3, 2, SILPH_CO_5F, 4
def_bg_events
@ -15,6 +15,6 @@ SilphCo11F_Object:
object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2
object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41
object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40
; object_event 0, 0, SPRITE_MONSTER, STAY, DOWN, 1, OMEGA, 45 | OW_POKEMON
object_event 6, 11, SPRITE_MONSTER, STAY, UP, 7, OMEGA, 45 | OW_POKEMON
def_warps_to SILPH_CO_11F

View file

@ -1 +1 @@
  
  

View file

@ -949,9 +949,9 @@ OaksLabScript_1d157:
jr z, OaksLabLookAtSquirtle
cp $4
jr z, OaksLabLookAtBulbasaur
cp $8 ; these may be the wrong way around.
cp $8
jr nz, OaksLabLookAtPikachu
cp $7 ; ^
cp $7
jr nz, OaksLabLookAtEevee

View file

@ -63,12 +63,27 @@ SilphCo11Script_62137:
ldh [hUnlockedSilphCoDoors], a
ret
SilphCo11Script_62163:
SilphCo11Script_62163: ; This is altered to have Omega rush you once the door is open.
ldh a, [hUnlockedSilphCoDoors]
and a
ret z
SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
ret
ld a, $6
ldh [hSpriteIndex], a
ld de, .OmegaMovement1
call MoveSprite
ld a, [wXCoord] ; compare x coord before moving
cp 6
ld a, NPC_MOVEMENT_RIGHT
jp OmegaText
.OmegaMovement1:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db -1 ; end
SilphCo11Script_6216d:
ld hl, MissableObjectIDs_6219b
@ -280,6 +295,7 @@ SilphCo11F_TextPointers:
dw SilphCo11Text4
dw SilphCo11Text5
dw SilphCo11Text6
dw OmegaText
SilphCo11TrainerHeaders:
def_trainers 4
@ -287,6 +303,8 @@ SilphCo11TrainerHeader0:
trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_0, 4, SilphCo11BattleText1, SilphCo11EndBattleText1, SilphCo11AfterBattleText1
SilphCo11TrainerHeader1:
trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_1, 3, SilphCo11BattleText2, SilphCo11EndBattleText2, SilphCo11AfterBattleText2
OmegaTrainerHeader:
trainer EVENT_BEAT_OMEGA, 0, OmegaBattleText, OmegaBattleText, OmegaBattleText
db -1 ; end
SilphCo11Text1:
@ -392,3 +410,20 @@ SilphCo10Text_6236c:
SilphCo10Text_6237b:
text_far _SilphCo10Text_6237b
text_end
; Omega Boss Fight text begins here.
OmegaBattleText:
text_far _OmegaBattleText
text_asm
ld a, OMEGA
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
OmegaText:
call Delay3
text_asm
ld hl, OmegaTrainerHeader
call TalkToTrainer
ld [wJoyIgnore], a
jp TextScriptEnd

View file

@ -86,9 +86,6 @@ YujirouText:
jr .done
.done
jp TextScriptEnd
; where the hell do i put SetEvent EVENT_BEAT_YUJIROU
YujirouIntro::
text_far _YujirouIntro

View file

@ -133,3 +133,10 @@ _SilphCo10Text_6237b::
text "The monitor has"
line "#MON on it!"
done
_OmegaBattleText::
text "ROCKET: Hey, kid!"
line "Watch out!"
para "Bzzt! Clank!"
prompt