Channeler Squad

This adds the Channeler trainers to Lavender Crypt and updates Mediums and Channelers to use the `PAL_NPC_EMOTE` NPCPAL. Over to you, Misty!
This commit is contained in:
Llinos Evans 2024-08-08 17:37:51 +01:00
parent d5fcc7d0d3
commit edccae1d74
9 changed files with 512 additions and 12 deletions

View file

@ -1090,7 +1090,19 @@
const EVENT_BEAT_SAGE_MASA
const EVENT_BEAT_SAGE_KOJI
; New trainers
const EVENT_BEAT_CHANNELER_SHANNA ; unused
const EVENT_BEAT_CHANNELER_SHANNA
const EVENT_BEAT_CHANNELER_GENMEI
const EVENT_BEAT_CHANNELER_HIMIKO
const EVENT_BEAT_CHANNELER_ARE
const EVENT_BEAT_CHANNELER_AMANDA
const EVENT_BEAT_CHANNELER_KARINA
const EVENT_BEAT_CHANNELER_LAUREL
const EVENT_BEAT_CHANNELER_JANAE
const EVENT_BEAT_CHANNELER_TAMMY
const EVENT_BEAT_CHANNELER_TASHA
const EVENT_BEAT_CHANNELER_REIMU
const EVENT_BEAT_CHANNELER_SANAE
const EVENT_BEAT_CUE_BALL_KIRBY ; unused
const EVENT_BEAT_ENGINEER_DASHU
const EVENT_BEAT_ROCKER_BOWIE ; unused
@ -1098,7 +1110,7 @@
const EVENT_BEAT_FIREFIGHTER_REMY ; unused
const EVENT_BEAT_TEACHERM_DORNYEI ; unused
const EVENT_BEAT_PAINTER_RACHEL ; unused
const EVENT_BEAT_PAINTER_DALI ; unused
const EVENT_BEAT_PAINTER_DALI
const EVENT_BEAT_SOLDIER_PEPPINO ; unused
const EVENT_BEAT_SPORTSMAN_JACQUES ; unused
const EVENT_BEAT_ELDER_LI

View file

@ -730,8 +730,20 @@ DEF KRIS EQU __trainer_class__
trainerclass MYSTICALMAN ; 43
const EUSINE
; Some names are often taken from historical women in Shinto faith, given the appearance of the Channeler. Others are taken from FRLG/LGPE, which use consistent trainer names.
trainerclass CHANNELER ; 44
const SHANNA ; unused
const SHANNA ; a random name i came up with when adding the classes that stuck, any fire emblem fans?
const GENMEI ; 43rd monarch of japan associated with shintoism
const HIMIKO ; shaman queen of japan from yamatai, japan, in c.180-247 AD
const ARE ; a Shinto shrine maiden said to have assisted in the creation of Kojiki, a famous Japanese text.
const AMANDA ; FRLG/LGPE
const KARINA ; FRLG/LGPE
const LAUREL ; FRLG/LGPE
const JANAE ; FRLG/LGPE
const TAMMY ; FRLG/LGPE
const TASHA ; FRLG/LGPE
const REIMU ; Touhou character known to carry a Gohei, which Channelers carry.
const SANAE ; Likewise.
trainerclass CUE_BALL ; 45
const KIRBY ; unused, that one Cleffa trainer.

View file

@ -1,11 +1,96 @@
SECTION "Enemy Trainer Parties 4", ROMX
; RBY / unused trainer types. Mostly placeholders.
; Channelers are possessed by the spirits they are using.
; Thus, we will keep to the 1-2 Pokemon limit seen in RBY/FRLG/LGPE.
; Also because Lavender Crypt is ridiculous, but that's another story.
; However, with more ghosts and general associations, they're a bit more varied this time.
ChannelerGroup:
next_list_item ; CHANNELER (1)
db "SHANNA@", TRAINERTYPE_NORMAL
db 23
dw GASTLY
db 40
dw HAUNTER
db -1 ; end
; These next three will be stronger than usual.
next_list_item ; CHANNELER (2)
db "GENMEI@", TRAINERTYPE_ITEM
db 45
dw MAROWAK ; references the Cubone's mother from RBY.
db THICK_CLUB ; jumpscare
db -1 ; end
next_list_item ; CHANNELER (3)
db "HIMIKO@", TRAINERTYPE_NORMAL
db 45
dw NINETALES ; Inari, the vixen kitsune rice goddess.
db -1 ; end
next_list_item ; CHANNELER (4)
db "ARE@", TRAINERTYPE_NORMAL
db 45
dw MISMAGIUS
db -1 ; end
next_list_item ; CHANNELER (5)
db "AMANDA@", TRAINERTYPE_NORMAL
db 40
dw GASTLY ; keep in mind this Pokemon isn't exactly weak
db 40
dw HAUNTER
db -1 ; end
next_list_item ; CHANNELER (6)
db "KARINA@", TRAINERTYPE_NORMAL
db 40
dw BIPULLA
db 40
dw HAUNTER
db -1 ; end
next_list_item ; CHANNELER (7)
db "LAUREL@", TRAINERTYPE_NORMAL
db 40
dw WISPIRIT
db -1 ; end
next_list_item ; CHANNELER (8)
db "JANAE@", TRAINERTYPE_NORMAL
db 40
dw WISPIRIT
db -1 ; end
next_list_item ; CHANNELER (9)
db "TAMMY@", TRAINERTYPE_NORMAL
db 40
dw HAUNTER
db 40
dw HAUNTER
db -1 ; end
next_list_item ; CHANNELER (10)
db "TASHA@", TRAINERTYPE_NORMAL
db 40
dw STROMEN
db -1 ; end
; These two aren't possessed, they're Shinto priestesses trying to seal the boss of the Lavender Crypt.
; They're also Touhou references.
next_list_item ; CHANNELER (11)
db "REIMU@", TRAINERTYPE_NORMAL
db 40
dw GOROTORA
db 40
dw GAVILLAIN
db -1 ; end
next_list_item ; CHANNELER (12)
db "SANAE@", TRAINERTYPE_NORMAL
db 40
dw ARBOK
db 40
dw POLITOED
db -1 ; end
end_list_items

View file

@ -432,7 +432,7 @@ EcruteakGym_MapEvents:
object_event 5, 1, SPRITE_MORTY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, EcruteakGymMortyScript, -1
object_event 2, 7, SPRITE_SAGE, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerSageJeffrey, -1
object_event 3, 13, SPRITE_SAGE, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSagePing, -1
object_event 7, 5, SPRITE_MEDIUM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerMediumMartha, -1
object_event 7, 9, SPRITE_MEDIUM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerMediumGrace, -1
object_event 7, 5, SPRITE_MEDIUM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 1, TrainerMediumMartha, -1
object_event 7, 9, SPRITE_MEDIUM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 1, TrainerMediumGrace, -1
object_event 7, 15, SPRITE_GYM_GUIDE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, EcruteakGymGuideScript, -1
object_event 4, 14, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_ECRUTEAK_GYM_GRAMPS

View file

@ -5,6 +5,60 @@ LavenderCrypt_MapScripts:
def_callbacks
TrainerChannelerReimu:
trainer CHANNELER, REIMU, EVENT_BEAT_CHANNELER_REIMU, ChannelerReimuSeenText, ChannelerReimuBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerReimuAfterBattleText
waitbutton
closetext
end
ChannelerReimuSeenText:
text "Halt! This place"
line "is full of GHOSTs!"
done
ChannelerReimuBeatenText:
text "What the--"
done
ChannelerReimuAfterBattleText:
text "To be honest, I"
line "didn't want to"
cont "work today!"
para "Thank you!"
done
TrainerChannelerSanae:
trainer CHANNELER, SANAE, EVENT_BEAT_CHANNELER_SANAE, ChannelerSanaeSeenText, ChannelerReimuBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerSanaeAfterBattleText
waitbutton
closetext
end
ChannelerSanaeSeenText:
text "Hey! That monster"
line "is mine!"
done
ChannelerSanaeBeatenText:
text "Grr…"
done
ChannelerSanaeAfterBattleText:
text "Tch! I wanted"
line "to seal that"
cont "beast myself!"
done
LavenderCrypt_MapEvents:
db 0, 0 ; filler
@ -20,4 +74,6 @@ LavenderCrypt_MapEvents:
def_bg_events
def_object_events
def_object_events
object_event 6, 6, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 4, TrainerChannelerReimu, -1
object_event 3, 6, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 4, TrainerChannelerSanae, -1

View file

@ -5,6 +5,126 @@ LavenderCryptSet1_MapScripts:
def_callbacks
TrainerChannelerGenmei: ; top left
trainer CHANNELER, GENMEI, EVENT_BEAT_CHANNELER_GENMEI, ChannelerGenmeiSeenText, ChannelerReimuBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerGenmeiAfterBattleText
waitbutton
closetext
end
ChannelerGenmeiSeenText:
text "Ke… ke…"
line "Ke… ke…"
done
ChannelerGenmeiBeatenText:
text "Kwah!"
done
ChannelerGenmeiAfterBattleText:
text "Was that a GHOST?"
para "GHOST? Ah…"
para "I saw something"
line "go in the left"
cont "hole!"
done
TrainerChannelerAmanda: ; top right
trainer CHANNELER, AMANDA, EVENT_BEAT_CHANNELER_AMANDA, ChannelerAmandaSeenText, ChannelerAmandaBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerAmandaAfterBattleText
waitbutton
closetext
end
ChannelerAmandaSeenText:
text "Ngh… Kwaaah!"
done
ChannelerAmandaBeatenText:
text "You saved me!"
done
ChannelerAmandaAfterBattleText:
text "Bwaaah! That was"
line "too scary!"
para "It went left!"
line "Or was it down…?" ; They won't always be reliable.
done
TrainerChannelerLaurel: ; bottom left
trainer CHANNELER, LAUREL, EVENT_BEAT_CHANNELER_LAUREL, ChannelerLaurelSeenText, ChannelerLaurelBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerLaurelAfterBattleText
waitbutton
closetext
end
ChannelerLaurelSeenText:
text "Kuh! Kuh! Fresh"
line "meat!"
done
ChannelerLaurelBeatenText:
text "Eeyowch!"
done
ChannelerLaurelAfterBattleText:
text "What was I saying?"
line "Such nonsense!"
para "That cur went…"
line "err…south!"
done
TrainerChannelerTasha: ; bottom right
trainer CHANNELER, TASHA, EVENT_BEAT_CHANNELER_TASHA, ChannelerTashaSeenText, ChannelerTashaBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerTashaAfterBattleText
waitbutton
closetext
end
; This Channeler is possessed by a Stromen.
; Thus, I want her to be more aggressive than usual.
ChannelerTashaSeenText:
text "Grrrr! I hate"
line "you! I hate you!"
para "Let the horror"
line "end!"
done
ChannelerTashaBeatenText:
text "Huh? Who are you?"
done
ChannelerTashaAfterBattleText:
text "I was overcome"
line "with such emotion…"
para "I pity that GHOST."
para "It retreated to"
line "the centre."
done
LavenderCryptSet1_MapEvents:
db 0, 0 ; filler
@ -46,3 +166,7 @@ LavenderCryptSet1_MapEvents:
def_bg_events
def_object_events
object_event 5, 3, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 3, TrainerChannelerGenmei, -1
object_event 20, 3, SPRITE_CHANNELER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 3, TrainerChannelerAmanda, -1
object_event 21, 16, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 3, TrainerChannelerLaurel, -1
object_event 3, 17, SPRITE_CHANNELER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerChannelerTasha, -1

View file

@ -5,6 +5,94 @@ LavenderCryptSet2_MapScripts:
def_callbacks
TrainerChannelerHimiko: ; Left
trainer CHANNELER, HIMIKO, EVENT_BEAT_CHANNELER_HIMIKO, ChannelerHimikoSeenText, ChannelerHimikoBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerHimikoAfterBattleText
waitbutton
closetext
end
ChannelerHimikoSeenText:
text "Gagagak! This"
line "power is like"
cont "no other!"
done
ChannelerHimikoBeatenText:
text "Bwoooah!"
done
ChannelerHimikoAfterBattleText:
text "My sincerest apo-"
line "logies. I don't"
cont "know what came"
cont "over me."
para "That GHOST didn't"
line "go too far. You"
cont "can catch it."
done
TrainerChannelerShanna:; right
trainer CHANNELER, SHANNA, EVENT_BEAT_CHANNELER_SHANNA, ChannelerShannaSeenText, ChannelerShannaBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerShannaAfterBattleText
waitbutton
closetext
end
ChannelerShannaSeenText:
text "Too much! Ack!"
line "Get awayyyy!"
done
ChannelerShannaBeatenText:
text "Gasp… pant…"
done
ChannelerShannaAfterBattleText:
text "Where did that"
line "thing come from?"
para "I don't know!"
line "It's all too"
cont "much!" ; They don't all need to give hints either.
done
TrainerChannelerKarina: ; bottom
trainer CHANNELER, KARINA, EVENT_BEAT_CHANNELER_KARINA, ChannelerKarinaSeenText, ChannelerKarinaBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerKarinaAfterBattleText
waitbutton
closetext
end
ChannelerKarinaSeenText:
text "Light, light,"
line "light, light…"
done
ChannelerKarinaBeatenText:
text "Bright! Toooo"
line "bright!"
done
ChannelerKarinaAfterBattleText:
text "Right! I mean"
line "right! It went"
cont "right!"
done
LavenderCryptSet2_MapEvents:
db 0, 0 ; filler
@ -44,3 +132,6 @@ LavenderCryptSet2_MapEvents:
def_bg_events
def_object_events
object_event 8, 1, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 1, TrainerChannelerHimiko, -1
object_event 12, 17, SPRITE_CHANNELER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerChannelerShanna, -1
object_event 20, 6, SPRITE_CHANNELER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerChannelerKarina, -1

View file

@ -5,6 +5,123 @@ LavenderCryptSet3_MapScripts:
def_callbacks
TrainerChannelerAre: ; top left
trainer CHANNELER, ARE, EVENT_BEAT_CHANNELER_ARE, ChannelerAreSeenText, ChannelerAreBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerAreAfterBattleText
waitbutton
closetext
end
ChannelerAreSeenText:
text "Ku… ku… ku…"
done
ChannelerAreBeatenText:
text "Ah!"
done
ChannelerAreAfterBattleText:
text "Keeeheheheh!"
line "Be cursed,"
cont "mortal!"
para "Just kidding."
line "That GHOST"
cont "went right."
done
TrainerChannelerJanae: ; right
trainer CHANNELER, JANAE, EVENT_BEAT_CHANNELER_JANAE, ChannelerJanaeSeenText, ChannelerAmandaBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerJanaeAfterBattleText
waitbutton
closetext
end
ChannelerJanaeSeenText:
text "Ngh…"
para "Come with me!"
done
ChannelerJanaeBeatenText:
text "Come! Now!"
para "…huh?"
done
ChannelerJanaeAfterBattleText:
text "What was that?"
para "Um…I don't know"
line "where it went…"
done
; spare, previous revision
;ChannelerTashaSeenText:
; text "Kyaah! Be cursed"
; line "with me, child!"
; done
;ChannelerTashaBeatenText:
; text "Something fell"
; line "out!" ; RBY reference
; done
;ChannelerTashaAfterBattleText:
; text "Eek! Eeeeek!"
; para "I don't know!"
; para "I looked over"
; line "some big hole"
; cont "and--"
; para "Aghhh! I don't"
; line "want to remember!"
; done
TrainerChannelerTammy: ; right
trainer CHANNELER, TAMMY, EVENT_BEAT_CHANNELER_TAMMY, ChannelerTammySeenText, ChannelerTammyBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext ChannelerTammyAfterBattleText
waitbutton
closetext
end
ChannelerTammySeenText:
text "Kyaah! Be cursed"
line "with me, child!"
done
ChannelerTammyBeatenText:
text "Something fell"
line "out!" ; RBY reference
done
ChannelerTammyAfterBattleText:
text "Eek! Eeeeek!"
para "I don't know!"
para "I looked over"
line "some big hole"
cont "and--"
para "Aghhh! I don't"
line "want to remember!"
done
LavenderCryptSet3_MapEvents:
db 0, 0 ; filler
@ -37,3 +154,6 @@ LavenderCryptSet3_MapEvents:
def_bg_events
def_object_events
object_event 4, 4, SPRITE_CHANNELER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerChannelerAre, -1
object_event 18, 12, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 3, TrainerChannelerJanae, -1
object_event 22, 18, SPRITE_CHANNELER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 4, TrainerChannelerTammy, -1

View file

@ -171,7 +171,7 @@ PokemonPagoda2F_MapEvents:
bg_event 4, 0, BGEVENT_READ, PokemonPagoda2FStatue
def_object_events
object_event 6, 6, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerMediumBethany, -1
object_event 3, 6, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerMediumMargret, -1
object_event 6, 3, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerMediumEthel, -1
object_event 3, 3, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerMediumElsie, -1
object_event 6, 6, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerMediumBethany, -1
object_event 3, 6, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerMediumMargret, -1
object_event 6, 3, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerMediumEthel, -1
object_event 3, 3, SPRITE_MEDIUM, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_TRAINER, 2, TrainerMediumElsie, -1