mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-10-16 12:06:25 +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
|
@ -786,6 +786,8 @@
|
||||||
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1
|
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1
|
||||||
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2
|
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2
|
||||||
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3
|
const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3
|
||||||
|
const EVENT_BOUGHT_CUBONE
|
||||||
|
const EVENT_BOUGHT_DITTO
|
||||||
|
|
||||||
; Cinnabar Volcano events
|
; Cinnabar Volcano events
|
||||||
const_next $9F0
|
const_next $9F0
|
||||||
|
|
|
@ -262,7 +262,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
|
||||||
mapconst COLOSSEUM, 4, 5 ; $F0
|
mapconst COLOSSEUM, 4, 5 ; $F0
|
||||||
mapconst CELADON_UNIVERSITY_OUTSIDE, 20, 21 ; $F1 - was UNUSED_MAP_F1
|
mapconst CELADON_UNIVERSITY_OUTSIDE, 20, 21 ; $F1 - was UNUSED_MAP_F1
|
||||||
mapconst CELADON_UNIVERSITY_INSIDE, 10, 11 ; $F2 - was UNUSED_MAP_F2
|
mapconst CELADON_UNIVERSITY_INSIDE, 10, 11 ; $F2 - was UNUSED_MAP_F2
|
||||||
mapconst UNUSED_MAP_F3, 0, 0 ; $F3
|
mapconst CELADON_UNIVERSITY_POKECENTER, 4, 7 ; $F3 - was UNUSED_MAP_F3
|
||||||
mapconst UNUSED_MAP_F4, 0, 0 ; $F4
|
mapconst UNUSED_MAP_F4, 0, 0 ; $F4
|
||||||
mapconst LORELEIS_ROOM, 6, 5 ; $F5
|
mapconst LORELEIS_ROOM, 6, 5 ; $F5
|
||||||
mapconst BRUNOS_ROOM, 6, 5 ; $F6
|
mapconst BRUNOS_ROOM, 6, 5 ; $F6
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
const SPRITE_FISHER ; $2f
|
const SPRITE_FISHER ; $2f
|
||||||
const SPRITE_KOGA ; $30
|
const SPRITE_KOGA ; $30
|
||||||
const SPRITE_GUARD ; $31
|
const SPRITE_GUARD ; $31
|
||||||
const SPRITE_UNUSED_GUARD ; $32
|
const SPRITE_FAKE_TREE ; $32 - fake tree
|
||||||
const SPRITE_MOM ; $33
|
const SPRITE_MOM ; $33
|
||||||
const SPRITE_BALDING_GUY ; $34
|
const SPRITE_BALDING_GUY ; $34
|
||||||
const SPRITE_LITTLE_BOY ; $35
|
const SPRITE_LITTLE_BOY ; $35
|
||||||
|
|
2
data/maps/headers/CeladonUniversityPokecenter.asm
Normal file
2
data/maps/headers/CeladonUniversityPokecenter.asm
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
map_header CeladonUniversityPokecenter, CELADON_UNIVERSITY_POKECENTER, POKECENTER, 0
|
||||||
|
end_map_header
|
|
@ -244,7 +244,7 @@ MapHeaderBanks::
|
||||||
db BANK(Colosseum_h)
|
db BANK(Colosseum_h)
|
||||||
db BANK(CeladonUniversityOutside_h) ; $11 UNUSED_MAP_F1
|
db BANK(CeladonUniversityOutside_h) ; $11 UNUSED_MAP_F1
|
||||||
db BANK(CeladonUniversityInside_h) ; $11 UNUSED_MAP_F2
|
db BANK(CeladonUniversityInside_h) ; $11 UNUSED_MAP_F2
|
||||||
db $11 ; UNUSED_MAP_F3
|
db BANK(CeladonUniversityPokecenter_h) ; UNUSED_MAP_F3
|
||||||
db $11 ; UNUSED_MAP_F4
|
db $11 ; UNUSED_MAP_F4
|
||||||
db BANK(LoreleisRoom_h)
|
db BANK(LoreleisRoom_h)
|
||||||
db BANK(BrunosRoom_h)
|
db BANK(BrunosRoom_h)
|
||||||
|
|
|
@ -244,7 +244,7 @@ MapHeaderPointers::
|
||||||
dw Colosseum_h
|
dw Colosseum_h
|
||||||
dw CeladonUniversityOutside_h ; UNUSED_MAP_F1
|
dw CeladonUniversityOutside_h ; UNUSED_MAP_F1
|
||||||
dw CeladonUniversityInside_h ; UNUSED_MAP_F2
|
dw CeladonUniversityInside_h ; UNUSED_MAP_F2
|
||||||
dw SilphCo2F_h ; UNUSED_MAP_F3
|
dw CeladonUniversityPokecenter_h ; UNUSED_MAP_F3
|
||||||
dw SilphCo2F_h ; UNUSED_MAP_F4
|
dw SilphCo2F_h ; UNUSED_MAP_F4
|
||||||
dw LoreleisRoom_h
|
dw LoreleisRoom_h
|
||||||
dw BrunosRoom_h
|
dw BrunosRoom_h
|
||||||
|
|
|
@ -3,12 +3,18 @@ CeladonUniversityOutside_Object:
|
||||||
|
|
||||||
def_warp_events
|
def_warp_events
|
||||||
warp_event 20, 13, CELADON_UNIVERSITY_INSIDE, 1
|
warp_event 20, 13, CELADON_UNIVERSITY_INSIDE, 1
|
||||||
|
warp_event 15, 25, CELADON_UNIVERSITY_POKECENTER, 1
|
||||||
|
|
||||||
def_bg_events
|
def_bg_events
|
||||||
|
|
||||||
def_object_events
|
def_object_events
|
||||||
object_event 19, 30, SPRITE_COOLTRAINER_F, STAY, RIGHT, 1, OPP_JR_TRAINER_F, 3
|
object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1, OPP_JR_TRAINER_F, 4
|
||||||
object_event 22, 26, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_SUPER_NERD, 6
|
object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2, OPP_SUPER_NERD, 6
|
||||||
object_event 9, 6, SPRITE_BALDING_GUY, STAY, DOWN, 3, OPP_ENGINEER, 1
|
object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3, OPP_ENGINEER, 1
|
||||||
|
object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4, OPP_SUPER_NERD, 7
|
||||||
|
object_event 4, 27, SPRITE_ROCKER, WALK, LEFT, 5
|
||||||
|
object_event 33, 16, SPRITE_BEAUTY, WALK, DOWN, 6
|
||||||
|
object_event 7, 22, SPRITE_SEEL, WALK, RIGHT, 7
|
||||||
|
object_event 34, 25, SPRITE_SEEL, WALK, LEFT, 7
|
||||||
|
|
||||||
def_warps_to CELADON_UNIVERSITY_OUTSIDE
|
def_warps_to CELADON_UNIVERSITY_OUTSIDE
|
16
data/maps/objects/CeladonUniversityPokecenter.asm
Normal file
16
data/maps/objects/CeladonUniversityPokecenter.asm
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
CeladonUniversityPokecenter_Object:
|
||||||
|
db $0 ; border block
|
||||||
|
|
||||||
|
def_warp_events
|
||||||
|
warp_event 3, 7, CELADON_UNIVERSITY_OUTSIDE, 2
|
||||||
|
warp_event 4, 7, CELADON_UNIVERSITY_OUTSIDE, 2
|
||||||
|
|
||||||
|
def_bg_events
|
||||||
|
|
||||||
|
def_object_events
|
||||||
|
object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person
|
||||||
|
object_event 8, 3, SPRITE_SCIENTIST, STAY, LEFT_RIGHT, 2 ; person
|
||||||
|
object_event 10, 5, SPRITE_MIDDLE_AGED_MAN, WALK, ANY_DIR, 3 ; spamton
|
||||||
|
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person
|
||||||
|
|
||||||
|
def_warps_to CELADON_UNIVERSITY_POKECENTER
|
|
@ -12,5 +12,6 @@ RockTunnelPokecenter_Object:
|
||||||
object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person
|
object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person
|
||||||
object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person
|
object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person
|
||||||
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person
|
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person
|
||||||
|
object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 5 ; spamton
|
||||||
|
|
||||||
def_warps_to ROCK_TUNNEL_POKECENTER
|
def_warps_to ROCK_TUNNEL_POKECENTER
|
||||||
|
|
|
@ -243,7 +243,7 @@ MapSongBanks::
|
||||||
db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM
|
db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM
|
||||||
db MUSIC_CELADON, BANK(Music_Celadon) ; UNUSED_MAP_F1 / Celadon University Outside
|
db MUSIC_CELADON, BANK(Music_Celadon) ; UNUSED_MAP_F1 / Celadon University Outside
|
||||||
db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; UNUSED_MAP_F2 / Celadon University Outside
|
db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; UNUSED_MAP_F2 / Celadon University Outside
|
||||||
db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3
|
db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; UNUSED_MAP_F3 / Celadon University Pokecenter
|
||||||
db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4
|
db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4
|
||||||
db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM
|
db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM
|
||||||
db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM
|
db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM
|
||||||
|
|
|
@ -93,7 +93,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2
|
||||||
db SPRITE_COOLTRAINER_F
|
db SPRITE_COOLTRAINER_F
|
||||||
db SPRITE_COOLTRAINER_M
|
db SPRITE_COOLTRAINER_M
|
||||||
db SPRITE_POKE_BALL
|
db SPRITE_POKE_BALL
|
||||||
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
|
db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler
|
||||||
assert_table_length SPRITE_SET_LENGTH
|
assert_table_length SPRITE_SET_LENGTH
|
||||||
|
|
||||||
; sprite set $03
|
; sprite set $03
|
||||||
|
@ -108,7 +108,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2
|
||||||
db SPRITE_COOLTRAINER_M
|
db SPRITE_COOLTRAINER_M
|
||||||
db SPRITE_GUARD
|
db SPRITE_GUARD
|
||||||
db SPRITE_POKE_BALL
|
db SPRITE_POKE_BALL
|
||||||
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
|
db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler
|
||||||
assert_table_length SPRITE_SET_LENGTH
|
assert_table_length SPRITE_SET_LENGTH
|
||||||
|
|
||||||
; sprite set $04
|
; sprite set $04
|
||||||
|
@ -123,7 +123,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2
|
||||||
db SPRITE_COOLTRAINER_F
|
db SPRITE_COOLTRAINER_F
|
||||||
db SPRITE_COOLTRAINER_M
|
db SPRITE_COOLTRAINER_M
|
||||||
db SPRITE_POKE_BALL
|
db SPRITE_POKE_BALL
|
||||||
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
|
db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler
|
||||||
assert_table_length SPRITE_SET_LENGTH
|
assert_table_length SPRITE_SET_LENGTH
|
||||||
|
|
||||||
; sprite set $05
|
; sprite set $05
|
||||||
|
@ -153,7 +153,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2
|
||||||
db SPRITE_GUARD
|
db SPRITE_GUARD
|
||||||
db SPRITE_GAMBLER
|
db SPRITE_GAMBLER
|
||||||
db SPRITE_POKE_BALL
|
db SPRITE_POKE_BALL
|
||||||
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
|
db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler
|
||||||
assert_table_length SPRITE_SET_LENGTH
|
assert_table_length SPRITE_SET_LENGTH
|
||||||
|
|
||||||
; sprite set $07
|
; sprite set $07
|
||||||
|
@ -168,7 +168,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2
|
||||||
db SPRITE_COOLTRAINER_M
|
db SPRITE_COOLTRAINER_M
|
||||||
db SPRITE_MONSTER
|
db SPRITE_MONSTER
|
||||||
db SPRITE_POKE_BALL
|
db SPRITE_POKE_BALL
|
||||||
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
|
db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler
|
||||||
assert_table_length SPRITE_SET_LENGTH
|
assert_table_length SPRITE_SET_LENGTH
|
||||||
|
|
||||||
; sprite set $08
|
; sprite set $08
|
||||||
|
|
|
@ -56,7 +56,7 @@ SpriteSheetPointerTable:
|
||||||
overworld_sprite FisherSprite, 12 ; SPRITE_FISHER
|
overworld_sprite FisherSprite, 12 ; SPRITE_FISHER
|
||||||
overworld_sprite KogaSprite, 12 ; SPRITE_KOGA
|
overworld_sprite KogaSprite, 12 ; SPRITE_KOGA
|
||||||
overworld_sprite GuardSprite, 12 ; SPRITE_GUARD
|
overworld_sprite GuardSprite, 12 ; SPRITE_GUARD
|
||||||
overworld_sprite GuardSprite, 12 ; SPRITE_UNUSED_GUARD
|
overworld_sprite TreeSprite, 4 ; SPRITE_FAKE_TREE - used to be unused guard, now fake tree
|
||||||
overworld_sprite MomSprite, 12 ; SPRITE_MOM
|
overworld_sprite MomSprite, 12 ; SPRITE_MOM
|
||||||
overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY
|
overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY
|
||||||
overworld_sprite LittleBoySprite, 12 ; SPRITE_LITTLE_BOY
|
overworld_sprite LittleBoySprite, 12 ; SPRITE_LITTLE_BOY
|
||||||
|
|
|
@ -168,7 +168,7 @@ JrTrainerFData:
|
||||||
db 16, RATTATA, PIKACHU, 0
|
db 16, RATTATA, PIKACHU, 0
|
||||||
db 16, PIDGEY, PIDGEY, PIDGEY, 0
|
db 16, PIDGEY, PIDGEY, PIDGEY, 0
|
||||||
; Unused - used in celadon university
|
; Unused - used in celadon university
|
||||||
db 22, BULBASAUR, 0
|
db 22, BULBASAUR, CHARMANDER, SQUIRTLE, 0
|
||||||
; Route 9
|
; Route 9
|
||||||
db 18, ODDISH, BELLSPROUT, ODDISH, BELLSPROUT, 0
|
db 18, ODDISH, BELLSPROUT, ODDISH, BELLSPROUT, 0
|
||||||
db 23, MEOWTH, 0
|
db 23, MEOWTH, 0
|
||||||
|
@ -222,8 +222,8 @@ SuperNerdData:
|
||||||
db 22, GRIMER, MUK, GRIMER, 0
|
db 22, GRIMER, MUK, GRIMER, 0
|
||||||
db 26, KOFFING, 0
|
db 26, KOFFING, 0
|
||||||
; Unused
|
; Unused
|
||||||
db 22, KOFFING, MAGNEMITE, WEEZING, 0 ; - used in celadon university
|
db 30, PORYGON, 0 ; - used in celadon university
|
||||||
db 20, MAGNEMITE, MAGNEMITE, KOFFING, MAGNEMITE, 0
|
db 25, MAGNETITE, ELECTRODE, KABUTO, OMANYTE, 0 ; - used in celadon university
|
||||||
db 24, MAGNEMITE, VOLTORB, 0
|
db 24, MAGNEMITE, VOLTORB, 0
|
||||||
; Cinnabar Gym
|
; Cinnabar Gym
|
||||||
db 36, VULPIX, VULPIX, NINETALES, 0
|
db 36, VULPIX, VULPIX, NINETALES, 0
|
||||||
|
@ -303,7 +303,7 @@ BurglarData:
|
||||||
|
|
||||||
EngineerData:
|
EngineerData:
|
||||||
; Unused - used in celadon university
|
; Unused - used in celadon university
|
||||||
db 21, VOLTORB, MAGNEMITE, 0
|
db 36, GOLEM, 0
|
||||||
; Route 11
|
; Route 11
|
||||||
db 21, MAGNEMITE, 0
|
db 21, MAGNEMITE, 0
|
||||||
db 18, MAGNEMITE, MAGNEMITE, MAGNETON, 0
|
db 18, MAGNEMITE, MAGNEMITE, MAGNETON, 0
|
||||||
|
@ -372,7 +372,7 @@ GamblerData:
|
||||||
db 18, GROWLITHE, VULPIX, 0
|
db 18, GROWLITHE, VULPIX, 0
|
||||||
; Route 8
|
; Route 8
|
||||||
db 22, POLIWAG, POLIWAG, POLIWHIRL, 0
|
db 22, POLIWAG, POLIWAG, POLIWHIRL, 0
|
||||||
; Unused - used in celadon university
|
; Unused - may be used in celadon university
|
||||||
db 22, ONIX, GEODUDE, GRAVELER, 0
|
db 22, ONIX, GEODUDE, GRAVELER, 0
|
||||||
; Route 8
|
; Route 8
|
||||||
db 24, GROWLITHE, VULPIX, 0
|
db 24, GROWLITHE, VULPIX, 0
|
||||||
|
|
|
@ -75,3 +75,4 @@ SeelSprite:: INCBIN "gfx/sprites/seel.2bpp"
|
||||||
SECTION "NPC Sprites 3", ROMX
|
SECTION "NPC Sprites 3", ROMX
|
||||||
|
|
||||||
CatSprite:: INCBIN "gfx/sprites/cat.2bpp"
|
CatSprite:: INCBIN "gfx/sprites/cat.2bpp"
|
||||||
|
TreeSprite:: INCBIN "gfx/sprites/fake_tree.2bpp"
|
||||||
|
|
BIN
gfx/sprites/fake_tree.png
Normal file
BIN
gfx/sprites/fake_tree.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 283 B |
5
maps.asm
5
maps.asm
|
@ -1237,3 +1237,8 @@ INCLUDE "data/maps/headers/CinnabarVolcano.asm"
|
||||||
INCLUDE "scripts/CinnabarVolcano.asm"
|
INCLUDE "scripts/CinnabarVolcano.asm"
|
||||||
INCLUDE "data/maps/objects/CinnabarVolcano.asm"
|
INCLUDE "data/maps/objects/CinnabarVolcano.asm"
|
||||||
CinnabarVolcano_Blocks: INCBIN "maps/CinnabarVolcano.blk"
|
CinnabarVolcano_Blocks: INCBIN "maps/CinnabarVolcano.blk"
|
||||||
|
|
||||||
|
INCLUDE "data/maps/headers/CeladonUniversityPokecenter.asm"
|
||||||
|
INCLUDE "scripts/CeladonUniversityPokecenter.asm"
|
||||||
|
INCLUDE "data/maps/objects/CeladonUniversityPokecenter.asm"
|
||||||
|
CeladonUniversityPokecenter_Blocks: INCBIN "maps/CeladonUniversityPokecenter.blk"
|
Binary file not shown.
2
maps/CeladonUniversityPokecenter.blk
Normal file
2
maps/CeladonUniversityPokecenter.blk
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
!"#
|
||||||
|
|
|
@ -2000,6 +2000,7 @@ wPokemonMansion3FCurScript:: db
|
||||||
wPokemonMansionB1FCurScript:: db
|
wPokemonMansionB1FCurScript:: db
|
||||||
wDiglettsCaveCurScript:: db
|
wDiglettsCaveCurScript:: db
|
||||||
wCinnabarVolcanoCurScript:: db
|
wCinnabarVolcanoCurScript:: db
|
||||||
|
wCeladonUniversityOutsideCurScript:: db
|
||||||
wVictoryRoad2FCurScript:: db
|
wVictoryRoad2FCurScript:: db
|
||||||
wVictoryRoad3FCurScript:: db
|
wVictoryRoad3FCurScript:: db
|
||||||
ds 1
|
ds 1
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
CeladonUniversityOutside_Script:
|
CeladonUniversityOutside_Script:
|
||||||
jp EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeaders
|
ld hl, CeladonUniversityOutsideTrainerHeaders
|
||||||
ld de, CeladonUniversityOutside_ScriptPointers
|
ld de, CeladonUniversityOutside_ScriptPointers
|
||||||
; ld a, [wCeladonUniversityOutsideCurScript]
|
; ld a, [wCeladonUniversityOutsideCurScript] these caused the trainers to have lines of sight?
|
||||||
; call ExecuteCurMapScriptInTable
|
; call ExecuteCurMapScriptInTable
|
||||||
; ld [wCeladonUniversityOutsideCurScript], a
|
; ld [wCeladonUniversityOutsideCurScript], a
|
||||||
ret
|
ret
|
||||||
|
@ -14,6 +14,12 @@ CeladonUniversityOutside_ScriptPointers:
|
||||||
|
|
||||||
CeladonUniversityOutside_TextPointers:
|
CeladonUniversityOutside_TextPointers:
|
||||||
dw CeladonUniversityOutsideText1
|
dw CeladonUniversityOutsideText1
|
||||||
|
dw CeladonUniversityOutsideText2
|
||||||
|
dw CeladonUniversityOutsideText3
|
||||||
|
dw CeladonUniversityOutsideText4
|
||||||
|
dw CeladonUniversityOutsideNPC1
|
||||||
|
dw CeladonUniversityOutsideNPC2
|
||||||
|
dw CeladonMagikarp
|
||||||
|
|
||||||
CeladonUniversityOutsideTrainerHeaders:
|
CeladonUniversityOutsideTrainerHeaders:
|
||||||
def_trainers 2
|
def_trainers 2
|
||||||
|
@ -23,13 +29,97 @@ CeladonUniversityOutsideTrainerHeader1:
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
||||||
CeladonUniversityOutsideTrainerHeader2:
|
CeladonUniversityOutsideTrainerHeader2:
|
||||||
trainer EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2, 3, CeladonUniversityOutsideBattleText1, CeladonUniversityOutsideEndBattleText1, CeladonUniversityOutsideAfterBattleText1
|
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
|
db -1 ; end
|
||||||
|
|
||||||
CeladonUniversityOutsideText1: ; trainer 0
|
CeladonUniversityOutsideText1: ; Starter girl
|
||||||
text_asm
|
text_asm
|
||||||
|
ld hl, CeladonUniversityOutsideYesNo1
|
||||||
|
call PrintText
|
||||||
|
call YesNoChoice
|
||||||
|
ld a, [wCurrentMenuItem]
|
||||||
|
and a
|
||||||
|
jr nz, .refused
|
||||||
ld hl, CeladonUniversityOutsideTrainerHeader0
|
ld hl, CeladonUniversityOutsideTrainerHeader0
|
||||||
call TalkToTrainer
|
call TalkToTrainer
|
||||||
jp TextScriptEnd
|
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:
|
CeladonUniversityOutsideBattleText1:
|
||||||
text_far _CeladonUniversityOutsideBattleText1
|
text_far _CeladonUniversityOutsideBattleText1
|
||||||
|
@ -43,4 +133,32 @@ CeladonUniversityOutsideAfterBattleText1:
|
||||||
text_far _CeladonUniversityOutsideAfterBattleText1
|
text_far _CeladonUniversityOutsideAfterBattleText1
|
||||||
text_end
|
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
|
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 RockTunnelPokecenterText2
|
||||||
dw RockTunnelPokecenterText3
|
dw RockTunnelPokecenterText3
|
||||||
dw RockTunnelTradeNurseText
|
dw RockTunnelTradeNurseText
|
||||||
|
dw DittoSalesmanText
|
||||||
|
|
||||||
RockTunnelHealNurseText:
|
RockTunnelHealNurseText:
|
||||||
script_pokecenter_nurse
|
script_pokecenter_nurse
|
||||||
|
@ -21,3 +22,68 @@ RockTunnelPokecenterText3:
|
||||||
|
|
||||||
RockTunnelTradeNurseText:
|
RockTunnelTradeNurseText:
|
||||||
script_cable_club_receptionist
|
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
|
1
text.asm
1
text.asm
|
@ -273,6 +273,7 @@ INCLUDE "data/text/text_7.asm"
|
||||||
INCLUDE "data/pokemon/new_dex_text.asm"
|
INCLUDE "data/pokemon/new_dex_text.asm"
|
||||||
INCLUDE "text/CeladonUniversityOutside.asm"
|
INCLUDE "text/CeladonUniversityOutside.asm"
|
||||||
INCLUDE "text/CeladonUniversityInside.asm"
|
INCLUDE "text/CeladonUniversityInside.asm"
|
||||||
|
INCLUDE "text/CeladonUniversityPokecenter.asm"
|
||||||
INCLUDE "text/CinnabarVolcano.asm"
|
INCLUDE "text/CinnabarVolcano.asm"
|
||||||
|
|
||||||
SECTION "Pokédex Text", ROMX
|
SECTION "Pokédex Text", ROMX
|
||||||
|
|
|
@ -7,14 +7,14 @@ _CeladonUniversityInsideText1::
|
||||||
|
|
||||||
para "My grandfather"
|
para "My grandfather"
|
||||||
line "created the"
|
line "created the"
|
||||||
cont "#BALL!"
|
cont "# BALL!"
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityInsideText2::
|
_CeladonUniversityInsideText2::
|
||||||
text "It's an old letter"
|
text "It's an old letter"
|
||||||
line "about selling the"
|
line "about selling the"
|
||||||
para "#BALL patent"
|
para "# BALL patent"
|
||||||
line "to SILPH CO."
|
line "to SILPH CO."
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
_CeladonUniversityOutsideYesNo::
|
_CeladonUniversityOutsideYesNo1::
|
||||||
text "I love battles!"
|
text "I love battles!"
|
||||||
cont "Wanna go?"
|
line "Wanna go?"
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityRefuse::
|
_CeladonUniversityRefuse::
|
||||||
|
@ -12,10 +12,66 @@ _CeladonUniversityOutsideBattleText1::
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityOutsideEndBattleText1::
|
_CeladonUniversityOutsideEndBattleText1::
|
||||||
text "Darn! You"
|
text "Darn!"
|
||||||
line "beat me again!"
|
line "You beat me!"
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
_CeladonUniversityOutsideAfterBattleText1::
|
_CeladonUniversityOutsideAfterBattleText1::
|
||||||
text "!"
|
text "Aww! Maybe next"
|
||||||
done
|
line "time!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideYesNo2::
|
||||||
|
text "I've been working"
|
||||||
|
line "on a digital"
|
||||||
|
|
||||||
|
para "on a digital"
|
||||||
|
line "#MON. Want to"
|
||||||
|
|
||||||
|
para "help me test it"
|
||||||
|
line "for my thesis?"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideYesNo3::
|
||||||
|
text "I had the TRADER"
|
||||||
|
line "lend me a hand."
|
||||||
|
|
||||||
|
para "I could beat"
|
||||||
|
line "anyone in the"
|
||||||
|
cont "UNIVERSITY!"
|
||||||
|
|
||||||
|
para "Try me!"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideYesNo4::
|
||||||
|
text "Hey! I met you"
|
||||||
|
line "in MT. MOON!"
|
||||||
|
|
||||||
|
para "Want a rematch?"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideNPC1::
|
||||||
|
text "I qualified for"
|
||||||
|
line "this UNIVERSITY"
|
||||||
|
cont "through a"
|
||||||
|
cont "magazine."
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonUniversityOutsideNPC2::
|
||||||
|
text "I got referred"
|
||||||
|
line "after studying"
|
||||||
|
cont "with ERIKA."
|
||||||
|
|
||||||
|
para "Her GRASS-type"
|
||||||
|
line "knowledge is"
|
||||||
|
cont "astounding!"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CeladonMagikarp::
|
||||||
|
text "MAGIKARP: Blub..."
|
||||||
|
|
||||||
|
done
|
||||||
|
|
48
text/CeladonUniversityPokecenter.asm
Normal file
48
text/CeladonUniversityPokecenter.asm
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
_CeladonUniversityPokecenterText4::
|
||||||
|
text "I think PORYGON"
|
||||||
|
line "should be"
|
||||||
|
cont "improved."
|
||||||
|
|
||||||
|
para "We need more"
|
||||||
|
line "funding from"
|
||||||
|
cont "SILPH CO.!"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CuboneSalesmanText1::
|
||||||
|
text "MAN: Hey there,"
|
||||||
|
line "BIG SHOT TRAINER!"
|
||||||
|
|
||||||
|
para "Have I got the"
|
||||||
|
line "deal for you!"
|
||||||
|
|
||||||
|
para "Strike fear into"
|
||||||
|
line "the hearts of"
|
||||||
|
cont "your foes with"
|
||||||
|
cont "CUBONE today!"
|
||||||
|
|
||||||
|
para "See that skull"
|
||||||
|
line "on its face?"
|
||||||
|
|
||||||
|
para "Just ¥500! You"
|
||||||
|
line "can't refuse"
|
||||||
|
cont "an offer like"
|
||||||
|
cont "that!"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_CuboneSalesmanNoText::
|
||||||
|
text "No? It's a"
|
||||||
|
line "limited time"
|
||||||
|
cont "offer, pal!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CuboneSalesmanNoMoneyText::
|
||||||
|
text "You'll need more"
|
||||||
|
line "money than that!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_CuboneSalesmanText2::
|
||||||
|
text "MAN: As usual, no"
|
||||||
|
line "refunds!"
|
||||||
|
done
|
|
@ -11,3 +11,42 @@ _RockTunnelPokecenterText3::
|
||||||
text "I sold a useless"
|
text "I sold a useless"
|
||||||
line "NUGGET for ¥5000!"
|
line "NUGGET for ¥5000!"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
_DittoSalesmanText1::
|
||||||
|
text "MAN: Hey there,"
|
||||||
|
line "kid! Nice to"
|
||||||
|
cont "see you again!"
|
||||||
|
|
||||||
|
para "I have a very"
|
||||||
|
line "special deal"
|
||||||
|
cont "for you again!"
|
||||||
|
|
||||||
|
para "For a limited"
|
||||||
|
line "time, you can"
|
||||||
|
cont "get access to"
|
||||||
|
cont "any #MON"
|
||||||
|
cont "in the world!"
|
||||||
|
|
||||||
|
para "Every single"
|
||||||
|
line "#MON, for just"
|
||||||
|
cont "¥500! You can't"
|
||||||
|
cont "refuse that!"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_DittoSalesmanNoText::
|
||||||
|
text "No? Time's"
|
||||||
|
line "ticking!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_DittoSalesmanNoMoneyText::
|
||||||
|
text "You'll need more"
|
||||||
|
line "money than that!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_DittoSalesmanText2::
|
||||||
|
text "MAN: Sold as seen!"
|
||||||
|
line "You can't get"
|
||||||
|
cont "every #MON"
|
||||||
|
cont "at the same time!"
|
||||||
|
done
|
||||||
|
|
Loading…
Reference in a new issue