mirror of
https://github.com/thornAvery/jep-hack.git
synced 2026-02-07 08:35:23 +13:00
Sepia School
Adds a prep-style school to Sepia City, which talks about all those super intricate GSC mechanics. It also gave it the May98 front porch and sign. I like to imagine they all have their little Munchlaxes being trained up, maybe stockpiling on Ultra Balls to catch their first Zapdos too.
This commit is contained in:
parent
e944e11479
commit
8ec7b027fd
15 changed files with 517 additions and 28 deletions
465
maps/SepiaSchool.asm
Normal file
465
maps/SepiaSchool.asm
Normal file
|
|
@ -0,0 +1,465 @@
|
|||
; This acts as a more "advanced" version of the Trainer School in Violet.
|
||||
; Lots of GSC mechanical details, focused on what was "new" for the time.
|
||||
; It also visualises some GSC intricacies that aren't talked about.
|
||||
|
||||
; Some of this was in Stadium 2.
|
||||
|
||||
object_const_def
|
||||
const SEPIASCHOOL_EARL
|
||||
const SEPIASCHOOL_COOLTRAINER_F
|
||||
const SEPIASCHOOL_GAMEBOY_KID1
|
||||
const SEPIASCHOOL_GAMEBOY_KID2
|
||||
const SEPIASCHOOL_COOLTRAINER_M
|
||||
const SEPIASCHOOL_POKEDEX
|
||||
|
||||
SepiaSchool_MapScripts:
|
||||
def_scene_scripts
|
||||
|
||||
def_callbacks
|
||||
|
||||
SepiaSchoolEarl:
|
||||
applymovement SEPIASCHOOL_EARL, SepiaSchoolEarlSpinMovement
|
||||
faceplayer
|
||||
opentext
|
||||
writetext SepiaSchoolEarlIntroText
|
||||
yesorno
|
||||
iffalse .Part1
|
||||
writetext SepiaSchoolEarlStatExpText
|
||||
yesorno
|
||||
iffalse .Done
|
||||
.Part1:
|
||||
writetext SepiaSchoolEarlTeachMoreText
|
||||
yesorno
|
||||
iffalse .Done
|
||||
writetext SepiaSchoolEarlDVsText
|
||||
waitbutton
|
||||
closetext
|
||||
end
|
||||
|
||||
.Done:
|
||||
writetext SepiaSchoolEarlNoMoreToTeachText
|
||||
waitbutton
|
||||
closetext
|
||||
end
|
||||
|
||||
SepiaSchoolCoolTrainerFScript:
|
||||
jumptextfaceplayer SepiaSchoolCoolTrainerFText
|
||||
|
||||
SepiaSchoolGameboyKid1Script:
|
||||
faceplayer
|
||||
opentext
|
||||
writetext SepiaSchoolGameboyKid1Text
|
||||
waitbutton
|
||||
closetext
|
||||
turnobject SEPIASCHOOL_GAMEBOY_KID1, DOWN
|
||||
end
|
||||
|
||||
SepiaSchoolGameboyKid2Script:
|
||||
faceplayer
|
||||
opentext
|
||||
writetext SepiaSchoolGameboyKid2Text
|
||||
waitbutton
|
||||
closetext
|
||||
turnobject SEPIASCHOOL_GAMEBOY_KID2, DOWN
|
||||
end
|
||||
|
||||
SepiaSchoolCoolTrainerMScript:
|
||||
jumptextfaceplayer SepiaSchoolCoolTrainerMText
|
||||
|
||||
SepiaSchoolBlackboard:
|
||||
opentext
|
||||
writetext SepiaSchoolBlackboardText
|
||||
.Loop:
|
||||
loadmenu .BlackboardMenuHeader
|
||||
_2dmenu
|
||||
closewindow
|
||||
ifequal 1, .Confusion
|
||||
ifequal 2, .MeanPass
|
||||
ifequal 3, .Nightmare
|
||||
ifequal 4, .Spikes
|
||||
ifequal 5, .PhysSpc
|
||||
closetext
|
||||
end
|
||||
|
||||
.Confusion:
|
||||
writetext SepiaSchoolConfusionText
|
||||
waitbutton
|
||||
sjump .Loop
|
||||
|
||||
.MeanPass:
|
||||
writetext SepiaSchoolMeanPassText
|
||||
waitbutton
|
||||
sjump .Loop
|
||||
|
||||
.Nightmare:
|
||||
writetext SepiaSchoolNightmareText
|
||||
waitbutton
|
||||
sjump .Loop
|
||||
|
||||
.Spikes:
|
||||
writetext SepiaSchoolSpikesText
|
||||
waitbutton
|
||||
sjump .Loop
|
||||
|
||||
.PhysSpc:
|
||||
writetext SepiaSchoolPhysSpcText
|
||||
waitbutton
|
||||
sjump .Loop
|
||||
|
||||
.BlackboardMenuHeader:
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 0, 0, 11, 13
|
||||
dw .MenuData
|
||||
db 1 ; default option
|
||||
|
||||
.MenuData:
|
||||
db STATICMENU_CURSOR ; flags
|
||||
dn 6, 1 ; rows, columns
|
||||
db 5 ; spacing
|
||||
dba .Text
|
||||
dbw BANK(@), NULL
|
||||
|
||||
.Text:
|
||||
db "CONFUSION@"
|
||||
db "TRAPPING@"
|
||||
db "NIGHTMARE@"
|
||||
db "SPIKES@"
|
||||
db "ATK TYPE@"
|
||||
db "QUIT@"
|
||||
|
||||
SepiaSchoolNotebook:
|
||||
opentext
|
||||
writetext SepiaSchoolNotebookText
|
||||
yesorno
|
||||
iffalse .Done
|
||||
writetext SepiaSchoolNotebookText1
|
||||
yesorno
|
||||
iffalse .Done
|
||||
writetext SepiaSchoolNotebookText2
|
||||
yesorno
|
||||
iffalse .Done
|
||||
writetext SepiaSchoolNotebookText3
|
||||
waitbutton
|
||||
.Done:
|
||||
closetext
|
||||
end
|
||||
|
||||
SepiaSchoolBookshelf:
|
||||
jumpstd DifficultBookshelfScript
|
||||
|
||||
SepiaSchoolEarlSpinMovement:
|
||||
turn_head DOWN
|
||||
turn_head LEFT
|
||||
turn_head UP
|
||||
turn_head RIGHT
|
||||
turn_head DOWN
|
||||
turn_head LEFT
|
||||
turn_head UP
|
||||
turn_head RIGHT
|
||||
turn_head DOWN
|
||||
turn_head LEFT
|
||||
turn_head UP
|
||||
turn_head RIGHT
|
||||
turn_head DOWN
|
||||
step_end
|
||||
|
||||
SepiaSchoolEarlIntroText:
|
||||
text "Aha! <PLAYER>!"
|
||||
|
||||
para "More I can teach,"
|
||||
line "there is!"
|
||||
|
||||
para "Hear me, you"
|
||||
line "must!"
|
||||
done
|
||||
|
||||
SepiaSchoolEarlStatExpText:
|
||||
text "Good! Teach you,"
|
||||
line "I will!"
|
||||
|
||||
para "If your #MON"
|
||||
line "beats another, it"
|
||||
cont "gains STAT EXP.!"
|
||||
|
||||
para "What it gets is"
|
||||
line "based on what"
|
||||
cont "that #MON was"
|
||||
cont "good at."
|
||||
|
||||
para "Beat KADABRA,"
|
||||
line "gain much SPEED"
|
||||
cont "and SPCL.ATK!"
|
||||
|
||||
para "Beat MANTINE,"
|
||||
line "gain much SPCL."
|
||||
cont "DEF!"
|
||||
|
||||
para "More from me you"
|
||||
line "want to hear?"
|
||||
done
|
||||
|
||||
SepiaSchoolEarlTeachMoreText:
|
||||
text "So, want to know"
|
||||
line "how to breed"
|
||||
cont "strong #MON?"
|
||||
done
|
||||
|
||||
SepiaSchoolEarlDVsText:
|
||||
text "Fine! Teach you,"
|
||||
line "I will!"
|
||||
|
||||
para "Each #MON have"
|
||||
line "genes."
|
||||
|
||||
para "Determine the"
|
||||
line "stats of your"
|
||||
cont "#MON they will!"
|
||||
|
||||
para "SPECIAL stats"
|
||||
line "will use the"
|
||||
cont "same gene."
|
||||
|
||||
para "They can be pas-"
|
||||
line "sed down with"
|
||||
cont "EGGs, so good"
|
||||
cont "usage means"
|
||||
cont "strong #MON!"
|
||||
done
|
||||
|
||||
SepiaSchoolEarlNoMoreToTeachText:
|
||||
text "Oh! Smart student"
|
||||
line "you are! Nothing"
|
||||
cont "more do I teach!"
|
||||
|
||||
para "Good at #MON"
|
||||
line "you must be!"
|
||||
done
|
||||
|
||||
SepiaSchoolCoolTrainerFText:
|
||||
text "Man, these are"
|
||||
line "really specific…"
|
||||
|
||||
para "Will this be on"
|
||||
line "the test?"
|
||||
done
|
||||
|
||||
SepiaSchoolGameboyKid1Text:
|
||||
text "We're trading"
|
||||
line "#MON so we can"
|
||||
cont "gain more EXP!"
|
||||
done
|
||||
|
||||
SepiaSchoolGameboyKid2Text:
|
||||
text "Having a trusted"
|
||||
line "friend like this"
|
||||
cont "guy is great!"
|
||||
|
||||
para "Alright, let's"
|
||||
line "beat up some"
|
||||
cont "#MON!"
|
||||
done
|
||||
|
||||
SepiaSchoolCoolTrainerMText:
|
||||
text "A #MON with low"
|
||||
line "HP will deal"
|
||||
cont "more damage if"
|
||||
cont "it uses FLAIL"
|
||||
cont "or REVERSAL?"
|
||||
|
||||
para "So if I use"
|
||||
line "ENDURE…"
|
||||
|
||||
para "Whoa! That means"
|
||||
line "my DODRIO…"
|
||||
done
|
||||
|
||||
SepiaSchoolBlackboardText:
|
||||
text "The blackboard"
|
||||
line "describes #MON"
|
||||
cont "intricacies."
|
||||
done
|
||||
|
||||
SepiaSchoolConfusionText:
|
||||
text "If confused, a"
|
||||
line "#MON will hit"
|
||||
cont "itself half of"
|
||||
cont "the time."
|
||||
|
||||
para "If its ATTACK"
|
||||
line "was increased,"
|
||||
cont "it will take"
|
||||
cont "more damage!"
|
||||
|
||||
para "Cure it with a"
|
||||
line "BITTER BERRY!"
|
||||
done
|
||||
|
||||
SepiaSchoolMeanPassText:
|
||||
text "If a #MON is"
|
||||
line "affecting another"
|
||||
cont "with SPIDER WEB"
|
||||
cont "or MEAN LOOK,"
|
||||
|
||||
para "that #MON"
|
||||
line "can't switch out!"
|
||||
|
||||
para "BATON PASS will"
|
||||
line "also keep the"
|
||||
cont "#MON trapped!"
|
||||
|
||||
para "Use this to"
|
||||
line "your advantage!"
|
||||
done
|
||||
|
||||
SepiaSchoolNightmareText:
|
||||
text "If used against"
|
||||
line "a sleeping #-"
|
||||
cont "MON, NIGHTMARE"
|
||||
cont "deals a quarter"
|
||||
cont "of a #MON's HP"
|
||||
cont "every turn!"
|
||||
|
||||
para "The only cure"
|
||||
line "is to wake it"
|
||||
cont "up or switch"
|
||||
cont "out!"
|
||||
done
|
||||
|
||||
SepiaSchoolSpikesText:
|
||||
text "SPIKES will"
|
||||
line "deal a little"
|
||||
cont "damage to #-"
|
||||
cont "MON that switch"
|
||||
cont "into battle!"
|
||||
|
||||
para "FLYING type #-"
|
||||
line "MON are immune."
|
||||
|
||||
para "Remove SPIKES"
|
||||
line "with RAPID SPIN!"
|
||||
done
|
||||
|
||||
SepiaSchoolPhysSpcText:
|
||||
text "Moves are physical"
|
||||
line "or special based"
|
||||
cont "on type."
|
||||
|
||||
para "Physical attacks:"
|
||||
line "NORMAL, ROCK, BUG,"
|
||||
cont "FIGHTING, FLYING,"
|
||||
cont "GHOST, POISON, GR-"
|
||||
cont "OUND, and STEEL."
|
||||
|
||||
para "Special attacks:"
|
||||
line "FIRE, WATER, ICE,"
|
||||
cont "ELECTRIC, PSYCHIC,"
|
||||
cont "GRASS, DRAGON,"
|
||||
cont "DARK, and FAIRY."
|
||||
done
|
||||
|
||||
SepiaSchoolNotebookText:
|
||||
text "It's this kid's"
|
||||
line "notebook…"
|
||||
|
||||
; Hilarious glitch btw
|
||||
para "If a #MON"
|
||||
line "tries to use"
|
||||
cont "BELLY DRUM,"
|
||||
cont "but can't, it"
|
||||
cont "still gets an"
|
||||
cont "ATTACK boost!"
|
||||
|
||||
para "Keep reading?"
|
||||
done
|
||||
|
||||
SepiaSchoolNotebookText1:
|
||||
text "GUST and TWISTER"
|
||||
line "deal double damage"
|
||||
cont "to a FLYing"
|
||||
cont "#MON!"
|
||||
|
||||
para "EARTHQUAKE does"
|
||||
line "the same if it"
|
||||
cont "uses DIG!"
|
||||
|
||||
para "Keep reading?"
|
||||
done
|
||||
|
||||
SepiaSchoolNotebookText2:
|
||||
text "Some moves that"
|
||||
line "restore HP will"
|
||||
cont "vary by weather."
|
||||
|
||||
para "In the sun, SYN-"
|
||||
line "THESIS and MOR-"
|
||||
cont "NING SUN are best."
|
||||
|
||||
para "In the rain, use"
|
||||
line "MOONLIGHT!"
|
||||
|
||||
para "Sandstorms will"
|
||||
line "make most worse."
|
||||
|
||||
para "Keep reading?"
|
||||
done
|
||||
|
||||
SepiaSchoolNotebookText3:
|
||||
text "PROTECT and DETECT"
|
||||
line "will fail if used"
|
||||
cont "too often."
|
||||
|
||||
para "The chance halves"
|
||||
line "each time!"
|
||||
|
||||
para "The next page"
|
||||
line "is… Blank!"
|
||||
|
||||
para "GIRL: Hey!"
|
||||
|
||||
para "These notes are"
|
||||
line "mine! I want to"
|
||||
cont "succeed at the"
|
||||
cont "championship!"
|
||||
done
|
||||
|
||||
SepiaSchoolYoungsterScript:
|
||||
jumptextfaceplayer SepiaSchoolYoungsterText
|
||||
|
||||
SepiaSchoolYoungsterText:
|
||||
text "I was using my"
|
||||
line "best GUARDIA, but"
|
||||
cont "after it used"
|
||||
cont "SWORDS DANCE, it"
|
||||
cont "became weak all"
|
||||
cont "of a sudden!"
|
||||
|
||||
para "Gah! Was it so"
|
||||
line "strong it turned"
|
||||
cont "negative?!"
|
||||
|
||||
para "Surely not, right?"
|
||||
done
|
||||
|
||||
SepiaSchool_MapEvents:
|
||||
db 0, 0 ; filler
|
||||
|
||||
def_warp_events
|
||||
warp_event 3, 15, OLD_CITY, 3
|
||||
warp_event 4, 15, OLD_CITY, 3
|
||||
|
||||
def_coord_events
|
||||
|
||||
def_bg_events
|
||||
bg_event 0, 1, BGEVENT_READ, SepiaSchoolBookshelf
|
||||
bg_event 1, 1, BGEVENT_READ, SepiaSchoolBookshelf
|
||||
bg_event 3, 0, BGEVENT_READ, SepiaSchoolBlackboard
|
||||
bg_event 4, 0, BGEVENT_READ, SepiaSchoolBlackboard
|
||||
|
||||
def_object_events
|
||||
object_event 3, 1, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SepiaSchoolEarl, 0
|
||||
object_event 4, 5, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SepiaSchoolCoolTrainerFScript, -1
|
||||
object_event 2, 9, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SepiaSchoolGameboyKid1Script, -1
|
||||
object_event 3, 9, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SepiaSchoolGameboyKid2Script, -1
|
||||
object_event 5, 7, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SepiaSchoolCoolTrainerMScript, -1
|
||||
object_event 4, 4, SPRITE_POKEDEX, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SepiaSchoolNotebook, -1
|
||||
object_event 5, 11, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SepiaSchoolYoungsterScript, -1
|
||||
Loading…
Add table
Add a link
Reference in a new issue