mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Add trainers to Celadon University, add two new salesmen, etc
Overall completes Celadon University sans a problem with sprites being a bit corrupted until you leave. New Magikarp Salesman-esque events in other pokecenters which is kinda neat
This commit is contained in:
parent
89bb05b2dc
commit
19d5f2293c
27 changed files with 478 additions and 30 deletions
|
|
@ -1,8 +1,8 @@
|
|||
CeladonUniversityOutside_Script:
|
||||
jp EnableAutoTextBoxDrawing
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld hl, CeladonUniversityOutsideTrainerHeaders
|
||||
ld de, CeladonUniversityOutside_ScriptPointers
|
||||
; ld a, [wCeladonUniversityOutsideCurScript]
|
||||
; ld a, [wCeladonUniversityOutsideCurScript] these caused the trainers to have lines of sight?
|
||||
; call ExecuteCurMapScriptInTable
|
||||
; ld [wCeladonUniversityOutsideCurScript], a
|
||||
ret
|
||||
|
|
@ -14,6 +14,12 @@ CeladonUniversityOutside_ScriptPointers:
|
|||
|
||||
CeladonUniversityOutside_TextPointers:
|
||||
dw CeladonUniversityOutsideText1
|
||||
dw CeladonUniversityOutsideText2
|
||||
dw CeladonUniversityOutsideText3
|
||||
dw CeladonUniversityOutsideText4
|
||||
dw CeladonUniversityOutsideNPC1
|
||||
dw CeladonUniversityOutsideNPC2
|
||||
dw CeladonMagikarp
|
||||
|
||||
CeladonUniversityOutsideTrainerHeaders:
|
||||
def_trainers 2
|
||||
|
|
@ -23,13 +29,97 @@ CeladonUniversityOutsideTrainerHeader1:
|
|||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
||||
CeladonUniversityOutsideTrainerHeader2:
|
||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
||||
CeladonUniversityOutsideTrainerHeader3:
|
||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
||||
db -1 ; end
|
||||
|
||||
CeladonUniversityOutsideText1: ; trainer 0
|
||||
CeladonUniversityOutsideText1: ; Starter girl
|
||||
text_asm
|
||||
ld hl, CeladonUniversityOutsideYesNo1
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .refused
|
||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
CeladonUniversityOutsideText2: ; Porygon guy
|
||||
text_asm
|
||||
ld hl, CeladonUniversityOutsideYesNo2
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .refused
|
||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
CeladonUniversityOutsideText3: ; Golem guy
|
||||
text_asm
|
||||
ld hl, CeladonUniversityOutsideYesNo3
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .refused
|
||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
CeladonUniversityOutsideText4: ; Mt Moon guy
|
||||
text_asm
|
||||
ld hl, CeladonUniversityOutsideYesNo4
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .refused
|
||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
||||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
jr .done
|
||||
.refused
|
||||
ld hl, CeladonUniversityRefuse
|
||||
jr .done
|
||||
.done
|
||||
ld hl, CeladonUniversityOutsideAfterBattleText1
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
||||
CeladonUniversityOutsideNPC1:
|
||||
text_far _CeladonUniversityOutsideNPC1
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideNPC2:
|
||||
text_far _CeladonUniversityOutsideNPC2
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideBattleText1:
|
||||
text_far _CeladonUniversityOutsideBattleText1
|
||||
|
|
@ -43,4 +133,32 @@ CeladonUniversityOutsideAfterBattleText1:
|
|||
text_far _CeladonUniversityOutsideAfterBattleText1
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideYesNo1:
|
||||
text_far _CeladonUniversityOutsideYesNo1
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideYesNo2:
|
||||
text_far _CeladonUniversityOutsideYesNo2
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideYesNo3:
|
||||
text_far _CeladonUniversityOutsideYesNo3
|
||||
text_end
|
||||
|
||||
CeladonUniversityOutsideYesNo4:
|
||||
text_far _CeladonUniversityOutsideYesNo4
|
||||
text_end
|
||||
|
||||
CeladonUniversityRefuse:
|
||||
text_far _CeladonUniversityRefuse
|
||||
text_end
|
||||
|
||||
CeladonMagikarp:
|
||||
text_far _CeladonMagikarp
|
||||
text_asm
|
||||
ld a, MAGIKARP
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
|
||||
text_end ; unused
|
||||
|
|
|
|||
84
scripts/CeladonUniversityPokecenter.asm
Normal file
84
scripts/CeladonUniversityPokecenter.asm
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
CeladonUniversityPokecenter_Script:
|
||||
call Serial_TryEstablishingExternallyClockedConnection
|
||||
jp EnableAutoTextBoxDrawing
|
||||
|
||||
CeladonUniversityPokecenter_TextPointers:
|
||||
dw CeladonUniversityHealNurseText
|
||||
dw CeladonUniversityPokecenterText2
|
||||
dw CuboneSalesmanText
|
||||
dw CeladonUniversityTradeNurseText
|
||||
|
||||
CeladonUniversityTradeNurseText:
|
||||
script_cable_club_receptionist
|
||||
|
||||
CeladonUniversityHealNurseText:
|
||||
script_pokecenter_nurse
|
||||
|
||||
CeladonUniversityPokecenterText2:
|
||||
text_far _CeladonUniversityPokecenterText4
|
||||
text_end
|
||||
|
||||
CuboneSalesmanText:
|
||||
text_asm
|
||||
CheckEvent EVENT_BOUGHT_CUBONE, 1
|
||||
jp c, .alreadyBoughtCubone
|
||||
ld hl, .Text1
|
||||
call PrintText
|
||||
ld a, MONEY_BOX
|
||||
ld [wTextBoxID], a
|
||||
call DisplayTextBoxID
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jp nz, .choseNo
|
||||
ldh [hMoney], a
|
||||
ldh [hMoney + 2], a
|
||||
ld a, $5
|
||||
ldh [hMoney + 1], a
|
||||
call HasEnoughMoney
|
||||
jr nc, .enoughMoney
|
||||
ld hl, .NoMoneyText
|
||||
jr .printText
|
||||
.enoughMoney
|
||||
lb bc, CUBONE, 17
|
||||
call GivePokemon
|
||||
jr nc, .done
|
||||
xor a
|
||||
ld [wPriceTemp], a
|
||||
ld [wPriceTemp + 2], a
|
||||
ld a, $5
|
||||
ld [wPriceTemp + 1], a
|
||||
ld hl, wPriceTemp + 2
|
||||
ld de, wPlayerMoney + 2
|
||||
ld c, $3
|
||||
predef SubBCDPredef
|
||||
ld a, MONEY_BOX
|
||||
ld [wTextBoxID], a
|
||||
call DisplayTextBoxID
|
||||
SetEvent EVENT_BOUGHT_CUBONE
|
||||
jr .done
|
||||
.choseNo
|
||||
ld hl, .RefuseText
|
||||
jr .printText
|
||||
.alreadyBoughtCubone
|
||||
ld hl, .Text2
|
||||
.printText
|
||||
call PrintText
|
||||
.done
|
||||
jp TextScriptEnd
|
||||
|
||||
.Text1
|
||||
text_far _CuboneSalesmanText1
|
||||
text_end
|
||||
|
||||
.RefuseText
|
||||
text_far _CuboneSalesmanNoText
|
||||
text_end
|
||||
|
||||
.NoMoneyText
|
||||
text_far _CuboneSalesmanNoMoneyText
|
||||
text_end
|
||||
|
||||
.Text2
|
||||
text_far _CuboneSalesmanText2
|
||||
text_end
|
||||
|
|
@ -7,6 +7,7 @@ RockTunnelPokecenter_TextPointers:
|
|||
dw RockTunnelPokecenterText2
|
||||
dw RockTunnelPokecenterText3
|
||||
dw RockTunnelTradeNurseText
|
||||
dw DittoSalesmanText
|
||||
|
||||
RockTunnelHealNurseText:
|
||||
script_pokecenter_nurse
|
||||
|
|
@ -21,3 +22,68 @@ RockTunnelPokecenterText3:
|
|||
|
||||
RockTunnelTradeNurseText:
|
||||
script_cable_club_receptionist
|
||||
|
||||
DittoSalesmanText:
|
||||
text_asm
|
||||
CheckEvent EVENT_BOUGHT_DITTO, 1
|
||||
jp c, .alreadyBoughtDitto
|
||||
ld hl, .Text1
|
||||
call PrintText
|
||||
ld a, MONEY_BOX
|
||||
ld [wTextBoxID], a
|
||||
call DisplayTextBoxID
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jp nz, .choseNo
|
||||
ldh [hMoney], a
|
||||
ldh [hMoney + 2], a
|
||||
ld a, $5
|
||||
ldh [hMoney + 1], a
|
||||
call HasEnoughMoney
|
||||
jr nc, .enoughMoney
|
||||
ld hl, .NoMoneyText
|
||||
jr .printText
|
||||
.enoughMoney
|
||||
lb bc, DITTO, 23
|
||||
call GivePokemon
|
||||
jr nc, .done
|
||||
xor a
|
||||
ld [wPriceTemp], a
|
||||
ld [wPriceTemp + 2], a
|
||||
ld a, $5
|
||||
ld [wPriceTemp + 1], a
|
||||
ld hl, wPriceTemp + 2
|
||||
ld de, wPlayerMoney + 2
|
||||
ld c, $3
|
||||
predef SubBCDPredef
|
||||
ld a, MONEY_BOX
|
||||
ld [wTextBoxID], a
|
||||
call DisplayTextBoxID
|
||||
SetEvent EVENT_BOUGHT_DITTO
|
||||
jr .done
|
||||
.choseNo
|
||||
ld hl, .RefuseText
|
||||
jr .printText
|
||||
.alreadyBoughtDitto
|
||||
ld hl, .Text2
|
||||
.printText
|
||||
call PrintText
|
||||
.done
|
||||
jp TextScriptEnd
|
||||
|
||||
.Text1
|
||||
text_far _DittoSalesmanText1
|
||||
text_end
|
||||
|
||||
.RefuseText
|
||||
text_far _DittoSalesmanNoText
|
||||
text_end
|
||||
|
||||
.NoMoneyText
|
||||
text_far _DittoSalesmanNoMoneyText
|
||||
text_end
|
||||
|
||||
.Text2
|
||||
text_far _DittoSalesmanText2
|
||||
text_end
|
||||
Loading…
Add table
Add a link
Reference in a new issue