mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 23:55:24 +13:00
Removing version differences, and adding Mew
This commit is contained in:
parent
d7940ad08b
commit
f74055e77b
60 changed files with 245 additions and 621 deletions
|
|
@ -50,8 +50,12 @@ VermilionCityScript0:
|
|||
ld a, $3
|
||||
ldh [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
ld a, [wObtainedBadges] ; ship returns after obtaining the soul badge
|
||||
bit 4, a
|
||||
jr nz, .default
|
||||
CheckEvent EVENT_SS_ANNE_LEFT
|
||||
jr nz, .shipHasDeparted
|
||||
.default
|
||||
ld b, S_S_TICKET
|
||||
predef GetQuantityOfItemInBag
|
||||
ld a, b
|
||||
|
|
@ -155,8 +159,12 @@ VermilionCityTextSSAnneDeparted:
|
|||
|
||||
VermilionCityText3:
|
||||
text_asm
|
||||
ld a, [wObtainedBadges]
|
||||
bit 4, a ; after obtaining soul badge the ship returns
|
||||
jr nz, .default
|
||||
CheckEvent EVENT_SS_ANNE_LEFT
|
||||
jr nz, .shipHasDeparted
|
||||
.default
|
||||
ld a, [wSpritePlayerStateData1FacingDirection]
|
||||
cp SPRITE_FACING_RIGHT
|
||||
jr z, .greetPlayer
|
||||
|
|
@ -233,9 +241,24 @@ VermilionCityText14:
|
|||
text_end
|
||||
|
||||
VermilionCityText6:
|
||||
text_asm
|
||||
ld a, [wObtainedBadges]
|
||||
bit 4, a ; after obtaining the soul badge the ship returns
|
||||
jr z, .default
|
||||
ld hl, VermilionCityText15
|
||||
ret
|
||||
.default
|
||||
ld hl, VermilionCityText6get
|
||||
ret
|
||||
|
||||
VermilionCityText6get:
|
||||
text_far _VermilionCityText6
|
||||
text_end
|
||||
|
||||
VermilionCityText15:
|
||||
text_far _VermilionCityText15
|
||||
text_end
|
||||
|
||||
VermilionCityText7:
|
||||
text_far _VermilionCityText7
|
||||
text_end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
VermilionDock_Script:
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, VermilionDockTrainerHeaders
|
||||
ld de, VermilionDock_ScriptPointers
|
||||
call ExecuteCurMapScriptInTable
|
||||
call TruckCheck
|
||||
CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK
|
||||
jr nz, .asm_1db8d
|
||||
CheckEventReuseHL EVENT_GOT_HM01
|
||||
|
|
@ -36,7 +40,15 @@ VermilionDock_Script:
|
|||
SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK
|
||||
ret
|
||||
|
||||
VermilionDock_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
||||
VermilionDock_1db9b:
|
||||
ld a, [wObtainedBadges]
|
||||
bit 4, a ; after obtaining 4 badges the ship returns
|
||||
ret nz
|
||||
SetEventForceReuseHL EVENT_SS_ANNE_LEFT
|
||||
ld a, SFX_STOP_ALL_MUSIC
|
||||
ld [wJoyIgnore], a
|
||||
|
|
@ -210,7 +222,173 @@ VermilionDock_EraseSSAnne:
|
|||
|
||||
VermilionDock_TextPointers:
|
||||
dw VermilionDockText1
|
||||
dw VermilionDockText2
|
||||
|
||||
VermilionDockText1:
|
||||
text_far _VermilionDockText1
|
||||
text_end
|
||||
|
||||
; this massive new set of scripts allows the truck to be pushed with Strength. Credit to Vortyne's pureRGB hack for figuring this out!
|
||||
|
||||
VermilionDockTrainerHeaders:
|
||||
def_trainers
|
||||
MewTrainerHeader:
|
||||
trainer EVENT_ENCOUNTERED_MEW, 0, MewBattleText, MewBattleText, MewBattleText
|
||||
db -1 ; end
|
||||
|
||||
VermilionDockText2:
|
||||
text_asm
|
||||
ld hl, MewTrainerHeader
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
MewBattleText:
|
||||
text_far _MewtwoBattleText ; Mew!
|
||||
text_asm
|
||||
ld a, MEW
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
TruckOAMTable:
|
||||
db $50, $28, $C0, $10
|
||||
db $50, $30, $C1, $10
|
||||
db $50, $38, $C2, $10
|
||||
db $50, $40, $C3, $10
|
||||
db $58, $28, $C4, $10
|
||||
db $58, $30, $C5, $10
|
||||
db $58, $38, $C6, $10
|
||||
db $58, $40, $C7, $10
|
||||
|
||||
RedLeftOAMTable:
|
||||
db $8,$0,$9,$0
|
||||
db $a,$2,$b,$3
|
||||
|
||||
TruckSpriteGFX: INCBIN "gfx/sprites/truck_sprite.2bpp"
|
||||
|
||||
TruckCheck:
|
||||
CheckEventHL EVENT_FOUND_MEW
|
||||
jp nz, ChangeTruckTile
|
||||
ld c, HS_MEW
|
||||
ld b, $2
|
||||
ld hl, wMissableObjectFlags
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
and a
|
||||
jr nz, .skiphidingmew
|
||||
ld a, HS_MEW
|
||||
ld [wMissableObjectIndex], a
|
||||
predef HideObject
|
||||
.skiphidingmew
|
||||
ld a, [wd728]
|
||||
bit 0, a ; using Strength?
|
||||
ret z
|
||||
; the position for moving truck is $00, $15
|
||||
ld hl, wYCoord
|
||||
ld a, [hli]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [hl]
|
||||
cp $16
|
||||
ret nz
|
||||
; if the player is trying to walk left
|
||||
ld a, [wPlayerDirection]
|
||||
cp 2
|
||||
ret nz
|
||||
|
||||
xor a
|
||||
ld [$ff8c], a
|
||||
ld a, $8
|
||||
ld [$ff8d], a
|
||||
call SetSpriteFacingDirection
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
xor a
|
||||
ld bc, $4c48
|
||||
ld de, RedLeftOAMTable
|
||||
call WriteOAMBlock
|
||||
ld bc, (Bank(TruckSpriteGFX) << 8) | 8
|
||||
ld hl, vChars1 + $400
|
||||
ld de, TruckSpriteGFX
|
||||
call CopyVideoData
|
||||
ld hl, TruckOAMTable
|
||||
ld bc, $20
|
||||
ld de, wShadowOAM + $20
|
||||
call CopyData
|
||||
ld a, $c
|
||||
ld [wNewTileBlockID], a ; used to be wd09f
|
||||
ld bc, $a
|
||||
predef ReplaceTileBlock
|
||||
; moving the truck
|
||||
ld a, SFX_PUSH_BOULDER
|
||||
call PlaySound
|
||||
ld b, 32
|
||||
ld de, 4
|
||||
.movingtruck
|
||||
ld hl, wShadowOAM + $21
|
||||
ld a, 8
|
||||
.movingtruck2
|
||||
dec [hl]
|
||||
add hl, de
|
||||
dec a
|
||||
jr nz, .movingtruck2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .movingtruck
|
||||
ld a, $3
|
||||
ld [wNewTileBlockID], a ; used to be wd09f
|
||||
ld bc, $9
|
||||
predef ReplaceTileBlock
|
||||
call ShowMew
|
||||
jp FinishShowMew
|
||||
; show mew and print its dialogue
|
||||
ShowMew:
|
||||
ld a, 1
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, HS_MEW
|
||||
ld [wMissableObjectIndex], a
|
||||
predef ShowObject
|
||||
ret
|
||||
FinishShowMew:
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
SetEvent EVENT_FOUND_MEW
|
||||
ret
|
||||
|
||||
ChangeTruckTile:
|
||||
ld bc, $9
|
||||
call GetOWCoord
|
||||
ld a, [hl]
|
||||
cp $3
|
||||
ret z
|
||||
ld a, $3
|
||||
ld [hli], a
|
||||
ld a, $c
|
||||
ld [hl], a
|
||||
CheckEvent EVENT_ENCOUNTERED_MEW
|
||||
call z, ShowMew
|
||||
jpfar RedrawMapView
|
||||
|
||||
GetOWCoord:
|
||||
ld hl, wOverworldMap + 2
|
||||
ld a, [wCurMapWidth]
|
||||
add $6
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
add hl, de
|
||||
inc b
|
||||
inc c
|
||||
.bloop
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .bloop
|
||||
.cloop
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .cloop
|
||||
ret
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue