Initial giant enby Commit

- Changed name lists
- Made Overworld pink palette into purple palette
- Changed gender selection options
- Added Topaz's graphics (Enby Trainer)
- Changed more or less every gender check in the game to account for enby option
- Changed out Morty's palette on  the trainer card to a more purple one to facilitate Topaz's graphics

KNOWN ISSUES / THINGS TO CHANGE
- Topaz's sprite does not currently render correctly on town map (check if this is a map issue or if it occasionally will pop up elsewhere as well)
- Bag Palette is still green like the tutorial made it. Might change it to yellow or something later on.
This commit is contained in:
Zeta_Null 2023-09-11 11:26:46 -04:00
parent 5a182b17f0
commit b3a3e27906
57 changed files with 553 additions and 177 deletions

View file

@ -219,13 +219,17 @@ gfx/player/chris.2bpp: rgbgfx += -Z
gfx/player/chris_back.2bpp: rgbgfx += -Z
gfx/player/kris.2bpp: rgbgfx += -Z
gfx/player/kris_back.2bpp: rgbgfx += -Z
gfx/player/enby.2bpp: rgbgfx += -Z
gfx/player/enby_back.2bpp: rgbgfx += -Z
gfx/trainer_card/chris_card.2bpp: rgbgfx += -Z
gfx/trainer_card/kris_card.2bpp: rgbgfx += -Z
gfx/trainer_card/enby_card.2bpp: rgbgfx += -Z
gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace
gfx/overworld/chris_fish.2bpp: tools/gfx += --trim-whitespace
gfx/overworld/kris_fish.2bpp: tools/gfx += --trim-whitespace
gfx/overworld/enby_fish.2bpp: tools/gfx += --trim-whitespace
gfx/sprites/big_onix.2bpp: tools/gfx += --remove-whitespace --remove-xflip

View file

@ -117,8 +117,6 @@
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
; wGameTimerPaused
const ENGINE_62
; wPlayerGender
const ENGINE_PLAYER_IS_FEMALE
; wCelebiEvent
const ENGINE_FOREST_IS_RESTLESS
; wDailyRematchFlags

View file

@ -1229,7 +1229,7 @@
const EVENT_COPYCAT_2
const EVENT_GOLDENROD_SALE_OFF
const EVENT_GOLDENROD_SALE_ON
const_skip ; unused in Crystal
const EVENT_COPYCAT_3
const EVENT_ILEX_FOREST_APPRENTICE
const EVENT_ILEX_FOREST_CHARCOAL_MASTER
const EVENT_CHARCOAL_KILN_FARFETCH_D

View file

@ -5,6 +5,7 @@ DEF TRUE EQU 1
; genders
DEF MALE EQU 0
DEF FEMALE EQU 1
DEF ENBY EQU 2
; FlagAction arguments (see home/flag.asm)
const_def

View file

@ -73,6 +73,7 @@ DEF STRING_BUFFER_LENGTH EQU 19
const VAR_BUENASPASSWORD ; 19
const VAR_KENJI_BREAK ; 1a
const VAR_DEXUNCAUGHT ; 1b
const VAR_PLAYERGENDER ; 1c
DEF NUM_VARS EQU const_value
; variable action types

View file

@ -80,6 +80,8 @@ DEF NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_INDEX_CELEBI ; 2c
const SPRITE_ANIM_INDEX_PURPLE_WALK ; 2d
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_PURPLE ; 2e
DEF NUM_SPRITE_ANIM_INDEXES EQU const_value
; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm)
@ -189,6 +191,8 @@ DEF NUM_SPRITE_ANIM_SEQS EQU const_value
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
const SPRITE_ANIM_FRAMESET_PURPLE_WALK ; 42
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_PURPLE ; 43
DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
@ -333,4 +337,8 @@ DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b
const SPRITE_ANIM_OAMSET_PURPLE_WALK_1 ; 8c
const SPRITE_ANIM_OAMSET_PURPLE_WALK_2 ; 8d
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_1 ; 8e
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_2 ; 8f
DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value

View file

@ -104,6 +104,8 @@
const SPRITE_ENTEI ; 64
const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66
const SPRITE_ENBY ; 67
const SPRITE_ENBY_BIKE ; 68
DEF NUM_OVERWORLD_SPRITES EQU const_value - 1
; SpriteMons indexes (see data/sprites/sprite_mons.asm)

View file

@ -703,4 +703,5 @@ DEF KRIS EQU __trainer_class__
trainerclass MYSTICALMAN ; 43
const EUSINE
DEF TOPAZ EQU __trainer_class__
DEF NUM_TRAINER_CLASSES EQU __trainer_class__ - 1

View file

@ -145,9 +145,6 @@ DEF PLAYERSPRITESETUP_CUSTOM_FACING_F EQU 5
DEF PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F EQU 6
DEF PLAYERSPRITESETUP_RESET_ACTION_F EQU 7
; wPlayerGender::
DEF PLAYERGENDER_FEMALE_F EQU 0
; wMapStatus::
const_def
const MAPSTATUS_START ; 0

View file

@ -128,8 +128,6 @@ EngineFlags:
engine_flag wGameTimerPaused, GAME_TIMER_MOBILE_F
engine_flag wPlayerGender, PLAYERGENDER_FEMALE_F
engine_flag wCelebiEvent, CELEBIEVENT_FOREST_IS_RESTLESS_F
; rematches

View file

@ -10,10 +10,10 @@ ChrisNameMenuHeader:
db 5 ; items
db "NEW NAME@"
MalePlayerNameArray:
db "ETHAN@"
db "GOLD@"
db "CHRIS@"
db "MAT@"
db "ALLAN@"
db "JON@"
db "JIMMY@"
db 2 ; title indent
db " NAME @" ; title
@ -30,8 +30,28 @@ KrisNameMenuHeader:
db "NEW NAME@"
FemalePlayerNameArray:
db "KRIS@"
db "MARINA@"
db "AMANDA@"
db "JUANA@"
db "JODI@"
db 2 ; title indent
db " NAME @" ; title
EnbyNameMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, 10, TEXTBOX_Y - 1
dw .OtherNames
db 1 ; ????
db 0 ; default option
.OtherNames:
db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
db 5 ; items
db "NEW NAME@"
EnbyPlayerNameArray:
db "TOPAZ@"
db "SAM@"
db "CRYS@"
db "RAY@"
db 2 ; displacement
db " NAME @" ; title

View file

@ -67,6 +67,8 @@ SpriteAnimFrameData:
dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
dw .Frameset_PurpleWalk
dw .Frameset_MagnetTrainPurple
assert_table_length NUM_SPRITE_ANIM_FRAMESETS
.Frameset_00:
@ -497,3 +499,17 @@ SpriteAnimFrameData:
oamframe SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
oamend
.Frameset_PurpleWalk:
oamframe SPRITE_ANIM_OAMSET_PURPLE_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_PURPLE_WALK_2, 8
oamframe SPRITE_ANIM_OAMSET_PURPLE_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_PURPLE_WALK_2, 8, OAM_X_FLIP
oamrestart
.Frameset_MagnetTrainPurple:
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_2, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_2, 8, OAM_X_FLIP
oamrestart

View file

@ -147,6 +147,10 @@ SpriteAnimOAMData:
spriteanimoam $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
spriteanimoam $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
spriteanimoam $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
spriteanimoam $00, .OAMData_PurpleWalk ; SPRITE_ANIM_OAMSET_PURPLE_WALK_1
spriteanimoam $04, .OAMData_PurpleWalk ; SPRITE_ANIM_OAMSET_PURPLE_WALK_2
spriteanimoam $00, .OAMData_MagnetTrainPurple ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_1
spriteanimoam $04, .OAMData_MagnetTrainPurple ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_PURPLE_2
assert_table_length NUM_SPRITE_ANIM_OAMSETS
.OAMData_1x1_Palette0:
@ -1133,3 +1137,17 @@ SpriteAnimOAMData:
dbsprite -1, 0, 4, 0, $51, 1
dbsprite 0, 0, 4, 0, $52, 1
dbsprite 1, 0, 4, 0, $53, 1
.OAMData_PurpleWalk:
db 4
dbsprite -1, 0, -1, 0, $00, PAL_OW_PURPLE
dbsprite -1, 0, 0, 0, $01, PAL_OW_PURPLE
dbsprite 0, 0, -1, 0, $02, PAL_OW_PURPLE
dbsprite 0, 0, 0, 0, $03, PAL_OW_PURPLE
.OAMData_MagnetTrainPurple:
db 4
dbsprite -1, 0, -1, 0, $00, PAL_OW_PURPLE | PRIORITY
dbsprite -1, 0, 0, 0, $01, PAL_OW_PURPLE | PRIORITY
dbsprite 0, 0, -1, 0, $02, PAL_OW_PURPLE | PRIORITY
dbsprite 0, 0, 0, 0, $03, PAL_OW_PURPLE | PRIORITY

View file

@ -92,4 +92,8 @@ SpriteAnimSeqData:
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_PURPLE_WALK
db SPRITE_ANIM_FRAMESET_PURPLE_WALK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_PURPLE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_PURPLE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
assert_table_length NUM_SPRITE_ANIM_INDEXES

View file

@ -11,3 +11,11 @@ KrisStateSprites:
db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
db -1 ; end
EnbyStateSprites:
db PLAYER_NORMAL, SPRITE_ENBY
db PLAYER_BIKE, SPRITE_ENBY_BIKE
db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
db -1 ; end

View file

@ -109,4 +109,6 @@ OverworldSprites:
overworld_sprite EnteiSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED
overworld_sprite RaikouSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED
overworld_sprite StandingYoungsterSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE
overworld_sprite EnbySpriteGFX, 12, WALKING_SPRITE, PAL_OW_PURPLE
overworld_sprite EnbyBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_PURPLE
assert_table_length NUM_OVERWORLD_SPRITES

View file

@ -663,8 +663,8 @@ _YouCantUseItInABattleText::
prompt
_AreYouABoyOrAreYouAGirlText::
text "Are you a boy?"
line "Or are you a girl?"
text "Please choose your"
line "gender."
done
Text_BattleEffectActivate::

View file

@ -12,6 +12,7 @@ KrisPalette: ; Kris shares Falkner's palette
INCBIN "gfx/trainers/falkner.gbcpal", middle_colors
INCBIN "gfx/trainers/whitney.gbcpal", middle_colors
INCBIN "gfx/trainers/bugsy.gbcpal", middle_colors
;EnbyPalette:
INCBIN "gfx/trainers/morty.gbcpal", middle_colors
INCBIN "gfx/trainers/pryce.gbcpal", middle_colors
INCBIN "gfx/trainers/jasmine.gbcpal", middle_colors
@ -77,4 +78,7 @@ INCBIN "gfx/trainers/officer.gbcpal", middle_colors
INCBIN "gfx/trainers/grunt_f.gbcpal", middle_colors
INCBIN "gfx/trainers/mysticalman.gbcpal", middle_colors
assert_table_length NUM_TRAINER_CLASSES + 1
EnbyPalette:
INCLUDE "gfx/player/topaz.pal"
assert_table_length NUM_TRAINER_CLASSES + 2

View file

@ -9079,9 +9079,16 @@ GetTrainerBackpic:
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
jr nz, .Chris
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .Chris
dec a ; FEMALE
jr z, .Kris
; It's nonbinary.
farcall GetEnbyBackpic
ret
.Kris:
; It's a girl.
farcall GetKrisBackpic
ret

View file

@ -6,9 +6,12 @@ LoadFishingGFX:
ld de, FishingGFX
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_gender
ld de, KrisFishingGFX
dec a ; FEMALE
jr z, .got_gender
ld de, EnbyFishingGFX
.got_gender
ld hl, vTiles0 tile $02
@ -40,3 +43,6 @@ INCBIN "gfx/overworld/chris_fish.2bpp"
KrisFishingGFX:
INCBIN "gfx/overworld/kris_fish.2bpp"
EnbyFishingGFX:
INCBIN "gfx/overworld/enby_fish.2bpp"

View file

@ -298,9 +298,12 @@ MagnetTrain_Jumptable:
ld a, BANK(wPlayerGender)
ldh [rSVBK], a
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
dec a ; FEMALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_PURPLE
.got_gender
pop af
ldh [rSVBK], a

View file

@ -177,9 +177,12 @@ InitPartyMenuBGPal0:
_CGB_PokegearPals:
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .male
ld hl, FemalePokegearPals
dec a ; FEMALE
jr z, .got_pals
ld hl, EnbyPokegearPals
jr .got_pals
.male
@ -628,7 +631,7 @@ _CGB_TrainerCard:
ld a, WHITNEY
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, MORTY
ld a, TOPAZ ;MORTY
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, CHUCK
@ -644,14 +647,21 @@ _CGB_TrainerCard:
call GetPredefPal
call LoadHLPaletteIntoDE
; fill screen with opposite-gender palette for the card border
; fill screen with gender-based palette for the card border
hlcoord 0, 0, wAttrmap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, [wPlayerGender]
and a
ld a, $1 ; kris
jr z, .got_gender
ld a, $0 ; chris
jr z, .male
dec a
jr z, .female
ld a, $6 ; dark magenta for enby
jr .got_gender
.male
ld a, $1 ; blue for chris
jr .got_gender
.female
ld a, $0 ; red for kris
.got_gender
call ByteFill
; fill trainer sprite area with same-gender palette
@ -659,14 +669,18 @@ _CGB_TrainerCard:
lb bc, 7, 5
ld a, [wPlayerGender]
and a
jr z, .male2
dec a
jr z, .female2
ld a, $4 ; enby
jr .got_gender2
.male2
ld a, $0 ; chris
jr z, .got_gender2
jr .got_gender2
.female2
ld a, $1 ; kris
.got_gender2
call FillBoxCGB
; top-right corner still uses the border's palette
hlcoord 18, 1, wAttrmap
ld [hl], $1
hlcoord 2, 11, wAttrmap
lb bc, 2, 4
ld a, $1 ; falkner
@ -695,22 +709,24 @@ _CGB_TrainerCard:
lb bc, 2, 4
ld a, $7 ; pryce
call FillBoxCGB
; clair uses kris's palette
ld a, [wPlayerGender]
and a
push af
jr z, .got_gender3
hlcoord 14, 14, wAttrmap
lb bc, 2, 4
ld a, $1
ld a, $1 ; clair
call FillBoxCGB
; top-right corner still uses the border's palette
ld a, [wPlayerGender]
and a
jr z, .male3
dec a
jr z, .female3
ld a, $6 ; dark magenta for enby
jr .got_gender3
.male3
ld a, $1 ; blue for chris
jr .got_gender3
.female3
ld a, $0 ; red for kris
.got_gender3
pop af
ld c, $0
jr nz, .got_gender4
inc c
.got_gender4
ld a, c
hlcoord 18, 1, wAttrmap
ld [hl], a
call ApplyAttrmap
@ -772,9 +788,15 @@ _CGB_PackPals:
jr z, .tutorial_male
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .tutorial_male
dec a ; FEMALE
jr z, .tutorial_female
ld hl, .EnbyPackPals
jr .got_gender
.tutorial_female
ld hl, .KrisPackPals
jr .got_gender
@ -819,6 +841,9 @@ INCLUDE "gfx/pack/pack.pal"
.KrisPackPals:
INCLUDE "gfx/pack/pack_f.pal"
.EnbyPackPals:
INCLUDE "gfx/pack/pack_nb.pal"
_CGB_Pokepic:
call _CGB_MapPals
ld de, SCREEN_WIDTH

View file

@ -689,6 +689,12 @@ GetPlayerOrMonPalettePointer:
ld a, [wPlayerGender]
and a
jr z, .male
dec a
jr z, .female
ld hl, EnbyPalette
ret
.female
ld hl, KrisPalette
ret
@ -1332,6 +1338,9 @@ INCLUDE "gfx/pokegear/pokegear.pal"
FemalePokegearPals:
INCLUDE "gfx/pokegear/pokegear_f.pal"
EnbyPokegearPals:
INCLUDE "gfx/pokegear/pokegear_nb.pal"
BetaPokerPals:
INCLUDE "gfx/beta_poker/beta_poker.pal"

View file

@ -1,14 +1,14 @@
BetaLoadPlayerTrainerClass: ; unreferenced
ld c, CAL
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .got_class
ld c, KAREN ; not KRIS?
.got_class
ld a, c
ld [wTrainerClass], a
ret
;BetaLoadPlayerTrainerClass: ; unreferenced
; ld c, CAL
; ld a, [wPlayerGender]
; bit PLAYERGENDER_FEMALE_F, a
; jr z, .got_class
; ld c, KAREN ; not KRIS?
;.got_class
; ld a, c
; ld [wTrainerClass], a
; ret
;
MovePlayerPicRight:
hlcoord 6, 4
ld de, 1
@ -57,9 +57,12 @@ MovePlayerPic:
ShowPlayerNamingChoices:
ld hl, ChrisNameMenuHeader
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_header
ld hl, KrisNameMenuHeader
dec a ; FEMALE
jr z, .got_header
ld hl, EnbyNameMenuHeader
.got_header
call LoadMenuHeader
call VerticalMenu
@ -71,34 +74,45 @@ ShowPlayerNamingChoices:
INCLUDE "data/player_names.asm"
GetPlayerNameArray: ; unreferenced
ld hl, wPlayerName
ld de, MalePlayerNameArray
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .got_array
ld de, FemalePlayerNameArray
.got_array
call InitName
ret
;GetPlayerNameArray: ; unreferenced
; ld hl, wPlayerName
; ld de, MalePlayerNameArray
; ld a, [wPlayerGender]
; bit PLAYERGENDER_FEMALE_F, a
; jr z, .got_array
; ld de, FemalePlayerNameArray
;.got_array
; call InitName
; ret
;
GetPlayerIcon:
ld de, ChrisSpriteGFX
ld b, BANK(ChrisSpriteGFX)
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_gfx
; Female
ld de, KrisSpriteGFX
ld b, BANK(KrisSpriteGFX)
dec a ; FEMALE
jr z, .got_gfx
; Enby
ld de, EnbySpriteGFX
ld b, BANK(EnbySpriteGFX)
.got_gfx
ret
GetCardPic:
ld hl, ChrisCardPic
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_pic
ld hl, KrisCardPic
dec a ; FEMALE
jr z, .got_pic
ld hl, EnbyCardPic
.got_pic
ld de, vTiles2 tile $00
ld bc, $23 tiles
@ -117,14 +131,19 @@ INCBIN "gfx/trainer_card/chris_card.2bpp"
KrisCardPic:
INCBIN "gfx/trainer_card/kris_card.2bpp"
EnbyCardPic:
INCBIN "gfx/trainer_card/enby_card.2bpp"
TrainerCardGFX:
INCBIN "gfx/trainer_card/trainer_card.2bpp"
GetPlayerBackpic:
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, GetChrisBackpic
call GetKrisBackpic
dec a ; FEMALE
jp z, GetKrisBackpic
call GetEnbyBackpic
ret
GetChrisBackpic:
@ -143,9 +162,12 @@ HOF_LoadTrainerFrontpic:
; Get class
ld e, CHRIS
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_class
ld e, KRIS
dec a ; FEMALE
jr z, .got_class
ld e, TOPAZ
.got_class
ld a, e
ld [wTrainerClass], a
@ -153,9 +175,13 @@ HOF_LoadTrainerFrontpic:
; Load pic
ld de, ChrisPic
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_pic
ld de, KrisPic
dec a ; FEMALE
jr z, .got_pic
ld de, EnbyPic
.got_pic
ld hl, vTiles2
ld b, BANK(ChrisPic) ; aka BANK(KrisPic)
@ -173,9 +199,12 @@ DrawIntroPlayerPic:
; Get class
ld e, CHRIS
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_class
ld e, KRIS
dec a ; FEMALE
jr z, .got_class
ld e, TOPAZ
.got_class
ld a, e
ld [wTrainerClass], a
@ -183,9 +212,12 @@ DrawIntroPlayerPic:
; Load pic
ld de, ChrisPic
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_pic
ld de, KrisPic
dec a ; FEMALE
jr z, .got_pic
ld de, EnbyPic
.got_pic
ld hl, vTiles2
ld b, BANK(ChrisPic) ; aka BANK(KrisPic)
@ -206,6 +238,9 @@ INCBIN "gfx/player/chris.2bpp"
KrisPic:
INCBIN "gfx/player/kris.2bpp"
EnbyPic:
INCBIN "gfx/player/enby.2bpp"
GetKrisBackpic:
; Kris's backpic is uncompressed.
ld de, KrisBackpic
@ -216,3 +251,13 @@ GetKrisBackpic:
KrisBackpic:
INCBIN "gfx/player/kris_back.2bpp"
GetEnbyBackpic:
ld de, EnbyBackpic
ld hl, vTiles2 tile $31
lb bc, BANK(EnbyBackpic), 7 * 7 ; dimensions
call Get2bpp
ret
EnbyBackpic:
INCBIN "gfx/player/enby_back.2bpp"

View file

@ -1216,8 +1216,13 @@ DrawPackGFX:
cp BATTLETYPE_TUTORIAL
jr z, .male_dude
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr nz, .female
and a ; MALE
jr z, .male_dude
dec a ; FEMALE
jr z, .female
farcall DrawEnbyPackGFX
ret
.male_dude
ld hl, PackGFXPointers
add hl, de

View file

@ -18,3 +18,24 @@ PackFGFXPointers:
PackFGFX:
INCBIN "gfx/pack/pack_f.2bpp"
DrawEnbyPackGFX:
ld hl, PackNBGFXPointers
add hl, de
add hl, de
ld a, [hli]
ld e, a
ld d, [hl]
ld hl, vTiles2 tile $50
lb bc, BANK(PackNBGFX), 15
call Request2bpp
ret
PackNBGFXPointers:
dw PackNBGFX + (15 tiles) * 1 ; ITEM_POCKET
dw PackNBGFX + (15 tiles) * 3 ; BALL_POCKET
dw PackNBGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET
dw PackNBGFX + (15 tiles) * 2 ; TM_HM_POCKET
PackNBGFX:
INCBIN "gfx/pack/pack_nb.2bpp"

View file

@ -42,15 +42,16 @@ InitGender:
.MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 6, 4, 12, 9
menu_coords 6, 3, 12, 10
dw .MenuData
db 1 ; default option
.MenuData:
db STATICMENU_CURSOR | STATICMENU_WRAP | STATICMENU_DISABLE_B ; flags
db 2 ; items
db 3 ; items
db "Boy@"
db "Girl@"
db "Enby@"
AreYouABoyOrAreYouAGirlText:
text_far _AreYouABoyOrAreYouAGirlText

View file

@ -797,17 +797,22 @@ NamePlayer:
ld hl, wPlayerName
ld de, .Chris
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .Male
and a ; MALE
jr z, .GotName
ld de, .Kris
.Male:
dec a ; FEMALE
jr z, .GotName
ld de, .Topaz
.GotName:
call InitName
ret
.Chris:
db "CHRIS@@@@@@"
db "ETHAN@@@@@@"
.Kris:
db "KRIS@@@@@@@"
.Topaz:
db "TOPAZ@@@@@@"
GSShowPlayerNamingChoices: ; unreferenced
call LoadMenuHeader
@ -962,10 +967,13 @@ Intro_PlacePlayerSprite:
ld b, PAL_OW_RED
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .male
and a ; MALE
jr z, .okay
ld b, PAL_OW_BLUE
.male
dec a ; FEMALE
jr z, .okay
ld b, PAL_OW_PURPLE
.okay
ld a, b
ld [hli], a ; attributes

View file

@ -216,7 +216,16 @@ NamingScreen:
cp LOW(KrisSpriteGFX)
jr nz, .not_kris
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
jr .not_enby
.not_kris
ld a, d
cp HIGH(EnbySpriteGFX)
jr nz, .not_enby
ld a, e
cp LOW(EnbySpriteGFX)
jr nz, .not_enby
ld b, SPRITE_ANIM_INDEX_PURPLE_WALK
.not_enby
ld a, b
depixel 4, 4, 4, 0
call InitSpriteAnimStruct

View file

@ -59,9 +59,12 @@ GetPlayerSprite:
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
jr nz, .go
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .go
ld hl, KrisStateSprites
dec a ; FEMALE
jr z, .go
ld hl, EnbyStateSprites
.go
ld a, [wPlayerState]

View file

@ -34,9 +34,12 @@ SpawnPlayer:
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
jr nz, .ok
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .ok
ln e, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT
dec a ; FEMALE
jr z, .ok
ln e, PAL_NPC_PURPLE, OBJECTTYPE_SCRIPT
.ok
ld [hl], e

View file

@ -657,9 +657,12 @@ PokegearMap_InitPlayerIcon:
depixel 0, 0
ld b, SPRITE_ANIM_INDEX_RED_WALK
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
dec a ; FEMALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_PURPLE_WALK
.got_gender
ld a, b
call InitSpriteAnimStruct
@ -2537,10 +2540,13 @@ Pokedex_GetArea:
push bc
ld c, PAL_OW_RED
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .male
and a ; MALE
jr z, .got_gender
inc c ; PAL_OW_BLUE
.male
dec a ; FEMALE
jr z, .got_gender
ld c, PAL_OW_PURPLE
.got_gender
ld a, c
ld [hli], a ; attributes
pop bc
@ -2750,9 +2756,12 @@ TownMapPlayerIcon:
depixel 0, 0
ld b, SPRITE_ANIM_INDEX_RED_WALK ; Male
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_BLUE_WALK ; Female
dec a ; FEMALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_PURPLE_WALK ; Enby
.got_gender
ld a, b
call InitSpriteAnimStruct

View file

@ -192,9 +192,12 @@ SetBoxmonOrEggmonCaughtData:
.NotPokecenter2F:
call GetWorldMapLocation
ld b, a
ld a, [wPlayerGender]
rrca ; shift bit 0 (PLAYERGENDER_FEMALE_F) to bit 7 (CAUGHT_GENDER_MASK)
or b
ld a, [wPlayerGender] ; Vestigial, get rid of this later.
dec a ; FEMALE
ld a, b
jr nz, .not_female
or CAUGHT_GENDER_MASK
.not_female
ld [hl], a
ret

View file

@ -801,20 +801,20 @@ LoadBluePage:
call CopyNickname
farcall CorrectNickErrors
hlcoord 2, 13
call PlaceString
ld a, [wTempMonCaughtGender]
and a
jr z, .done
cp $7f
jr z, .done
and CAUGHT_GENDER_MASK
ld a, "♂"
jr z, .got_gender
ld a, "♀"
.got_gender
hlcoord 9, 13
ld [hl], a
.done
call PlaceString ; Goodbye OT Gender display, you'd cause more of a problem than you're worth
; ld a, [wTempMonCaughtGender]
; and a
; jr z, .done
; cp $7f
; jr z, .done
; and CAUGHT_GENDER_MASK
; ld a, "♂"
; jr z, .got_gender
; ld a, "♀"
;.got_gender
; hlcoord 9, 13
; ld [hl], a
;.done
ret
.OTNamePointers:

BIN
gfx/overworld/enby_fish.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

29
gfx/pack/pack_nb.pal Normal file
View file

@ -0,0 +1,29 @@
RGB 31, 31, 31
RGB 12, 24, 01
RGB 05, 16, 00
RGB 00, 00, 00
RGB 31, 31, 31
RGB 12, 24, 01
RGB 05, 16, 00
RGB 00, 00, 00
RGB 31, 31, 11
RGB 12, 24, 01
RGB 05, 16, 00
RGB 00, 00, 00
RGB 31, 31, 31
RGB 12, 24, 01
RGB 05, 16, 00
RGB 31, 00, 00
RGB 31, 31, 31
RGB 12, 24, 01
RGB 31, 00, 00
RGB 00, 00, 00
RGB 31, 31, 31
RGB 07, 19, 07
RGB 07, 19, 07
RGB 00, 00, 00

BIN
gfx/pack/pack_nb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gfx/player/enby.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

BIN
gfx/player/enby_back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

2
gfx/player/topaz.pal Normal file
View file

@ -0,0 +1,2 @@
RGB 30, 19, 16
RGB 15, 00, 25

View file

@ -0,0 +1,31 @@
; border
RGB 28, 31, 20
RGB 21, 21, 21
RGB 13, 13, 13
RGB 00, 00, 00
; earth
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 00, 00, 00
; mountain
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
RGB 00, 00, 00
; city (enby)
RGB 28, 31, 20
RGB 22, 09, 31
RGB 10, 00, 26
RGB 00, 00, 00
; point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 31, 00, 00
; mountain point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
RGB 31, 00, 00

View file

@ -106,3 +106,9 @@ SuicuneSpriteGFX:: INCBIN "gfx/sprites/suicune.2bpp"
EnteiSpriteGFX:: INCBIN "gfx/sprites/entei.2bpp"
RaikouSpriteGFX:: INCBIN "gfx/sprites/raikou.2bpp"
StandingYoungsterSpriteGFX:: INCBIN "gfx/sprites/standing_youngster.2bpp"
SECTION "Sprites 3", ROMX
EnbySpriteGFX:: INCBIN "gfx/sprites/enby.2bpp"
EnbyBikeSpriteGFX:: INCBIN "gfx/sprites/enby_bike.2bpp"

BIN
gfx/sprites/enby.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

BIN
gfx/sprites/enby_bike.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

View file

@ -5,22 +5,22 @@
RGB 27, 31, 27
RGB 31, 19, 10
RGB 10, 14, 20
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 31, 07, 04
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 31, 07, 04
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 31, 07, 04
RGB 10, 09, 31
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 07, 23, 03
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 15, 10, 03
RGB 00, 00, 00
RGB 27, 31, 27
RGB 31, 19, 10
RGB 15, 00, 25
RGB 00, 00, 00
RGB 27, 31, 27

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

View file

@ -386,7 +386,7 @@ PlaceGenderedPlayerName::
ld h, b
ld l, c
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
ld de, KunSuffixText
jr z, PlaceCommandCharacter
ld de, ChanSuffixText

View file

@ -75,7 +75,7 @@ ROMX $11
ROMX $12
"Crystal Features 1"
"Egg Moves 2"
"Evolutions and Attacks 2"
ROMX $13
"bank13"
"Shrink Pics"

View file

@ -283,7 +283,6 @@ INCLUDE "engine/events/halloffame.asm"
SECTION "Crystal Features 2", ROMX
INCLUDE "engine/events/kurt.asm"
INCLUDE "engine/gfx/player_gfx.asm"
INCLUDE "mobile/mobile_22.asm"
INCLUDE "engine/events/unown_walls.asm"
INCLUDE "engine/events/buena.asm"
@ -291,6 +290,10 @@ INCLUDE "engine/events/dratini.asm"
INCLUDE "engine/events/battle_tower/rules.asm"
INCLUDE "mobile/mobile_22_2.asm"
SECTION "Player GFX", ROMX
INCLUDE "engine/gfx/player_gfx.asm"
SECTION "bank23", ROMX

View file

@ -5,6 +5,7 @@
const COPYCATSHOUSE2F_MONSTERDOLL
const COPYCATSHOUSE2F_BIRDDOLL
const COPYCATSHOUSE2F_COPYCAT2 ; if player is female
const COPYCATSHOUSE2F_COPYCAT3 ; if player is enby
CopycatsHouse2F_MapScripts:
def_scene_scripts
@ -13,14 +14,22 @@ CopycatsHouse2F_MapScripts:
callback MAPCALLBACK_OBJECTS, CopycatsHouse2FWhichGenderCallback
CopycatsHouse2FWhichGenderCallback:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Female
readvar VAR_PLAYERGENDER
ifequal FEMALE, .Female
ifequal ENBY, .Enby
disappear COPYCATSHOUSE2F_COPYCAT2
disappear COPYCATSHOUSE2F_COPYCAT3
appear COPYCATSHOUSE2F_COPYCAT1
sjump .Done
.Female:
disappear COPYCATSHOUSE2F_COPYCAT1
disappear COPYCATSHOUSE2F_COPYCAT3
appear COPYCATSHOUSE2F_COPYCAT2
sjump .Done
.Enby:
disappear COPYCATSHOUSE2F_COPYCAT1
disappear COPYCATSHOUSE2F_COPYCAT2
appear COPYCATSHOUSE2F_COPYCAT3
.Done:
endcallback
@ -32,8 +41,9 @@ Copycat:
iftrue .TryGivePassAgain
checkitem LOST_ITEM
iftrue .ReturnLostItem
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Default_Female_1
readvar VAR_PLAYERGENDER
ifequal FEMALE, .Default_Female_1
ifequal ENBY, .Default_Enby_1
applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
@ -43,12 +53,18 @@ Copycat:
applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
sjump .Default_Merge_1
.Default_Enby_1:
applymovement COPYCATSHOUSE2F_COPYCAT3, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_ENBY
.Default_Merge_1:
special LoadUsedSpritesGFX
checkevent EVENT_RETURNED_MACHINE_PART
iftrue .TalkAboutLostItem
opentext
checkflag ENGINE_PLAYER_IS_FEMALE
readvar VAR_PLAYERGENDER
iftrue .Default_Female_2a
writetext CopycatText_Male_1
sjump .Default_Merge_2a
@ -58,11 +74,16 @@ Copycat:
.Default_Merge_2a:
waitbutton
closetext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Default_Female_3a
readvar VAR_PLAYERGENDER
ifequal FEMALE, .Default_Female_3a
ifequal ENBY, .Default_Enby_3a
applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData
sjump .Default_Merge_3a
.Default_Enby_3a:
applymovement COPYCATSHOUSE2F_COPYCAT3, CopycatSpinAroundMovementData
sjump .Default_Merge_3a
.Default_Female_3a:
applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData
.Default_Merge_3a:
@ -77,7 +98,7 @@ Copycat:
.TalkAboutLostItem:
opentext
checkflag ENGINE_PLAYER_IS_FEMALE
readvar VAR_PLAYERGENDER
iftrue .Default_Female_2b
writetext CopycatText_Male_2
sjump .Default_Merge_2b
@ -87,13 +108,18 @@ Copycat:
.Default_Merge_2b:
waitbutton
closetext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Default_Female_3b
readvar VAR_PLAYERGENDER
ifequal FEMALE, .Default_Female_3b
ifequal ENBY, .Default_Enby_3b
applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData
sjump .Default_Merge_3b
.Default_Female_3b:
applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData
sjump .Default_Merge_3b
.Default_Enby_3b:
applymovement COPYCATSHOUSE2F_COPYCAT3, CopycatSpinAroundMovementData
.Default_Merge_3b:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
@ -128,8 +154,9 @@ Copycat:
end
.GotPass:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .GotPass_Female_1
readvar VAR_PLAYERGENDER
ifequal FEMALE, .GotPass_Female_1
ifequal ENBY, .GotPass_Enby_1
applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
@ -139,10 +166,16 @@ Copycat:
applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
sjump .GotPass_Merge_1
.GotPass_Enby_1:
applymovement COPYCATSHOUSE2F_COPYCAT3, CopycatSpinAroundMovementData
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_ENBY
.GotPass_Merge_1:
special LoadUsedSpritesGFX
opentext
checkflag ENGINE_PLAYER_IS_FEMALE
readvar VAR_PLAYERGENDER
iftrue .GotPass_Female_2
writetext CopycatText_Male_3
sjump .GotPass_Merge_2
@ -152,13 +185,18 @@ Copycat:
.GotPass_Merge_2:
waitbutton
closetext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .GotPass_Female_3
readvar VAR_PLAYERGENDER
ifequal FEMALE, .GotPass_Female_3
ifequal ENBY, .GotPass_Enby_3
applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData
sjump .GotPass_Merge_3
.GotPass_Female_3:
applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData
sjump .GotPass_Merge_3
.GotPass_Enby_3:
applymovement COPYCATSHOUSE2F_COPYCAT3, CopycatSpinAroundMovementData
.GotPass_Merge_3:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
@ -377,3 +415,4 @@ CopycatsHouse2F_MapEvents:
object_event 2, 1, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CopycatsHouse2FDoll, -1
object_event 7, 1, SPRITE_BIRD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CopycatsHouse2FDoll, -1
object_event 4, 3, SPRITE_COPYCAT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Copycat, EVENT_COPYCAT_2
object_event 4, 3, SPRITE_COPYCAT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_PURPLE, OBJECTTYPE_SCRIPT, 0, Copycat, EVENT_COPYCAT_3

View file

@ -89,8 +89,9 @@ DanceTheaterSurfGuy:
sjump .GetSurf
.KimonoGirlsUndefeated:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .PlayerIsFemale
readvar VAR_PLAYERGENDER
if_equal FEMALE, .PlayerIsFemale
if_equal ENBY, .PlayerIsEnby
writetext SurfGuyLadGiftText
waitbutton
closetext
@ -101,6 +102,12 @@ DanceTheaterSurfGuy:
waitbutton
closetext
end
.PlayerIsEnby:
writetext SurfGuyChildGiftText
waitbutton
closetext
end
.GetSurf:
writetext SurfGuyLikeADanceText
@ -263,6 +270,14 @@ SurfGuyLassieGiftText:
para "KIMONO GIRLS, I'll"
line "give you a gift."
done
SurfGuyChildGiftText:
text "Pal, if you can"
line "defeat all the"
para "KIMONO GIRLS, I'll"
line "give you a gift."
done
SurfGuyLikeADanceText:
text "The way you bat-"

View file

@ -59,8 +59,9 @@ SSAquaGranddaughterBefore:
showemote EMOTE_SHOCK, FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, 15
applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, SSAquaGranddaughterEntersCabinMovement
turnobject FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, RIGHT
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .PlayerIsFemale
readvar VAR_PLAYERGENDER
ifequal FEMALE, .PlayerIsFemale
ifequal ENBY, .PlayerIsEnby
opentext
writetext SSAquaGranddaughterWasPlayingMText
waitbutton
@ -72,6 +73,14 @@ SSAquaGranddaughterBefore:
writetext SSAquaGranddaughterWasPlayingFText
waitbutton
closetext
sjump .cont
.PlayerIsEnby:
opentext
writetext SSAquaGranddaughterWasPlayingNBText
waitbutton
closetext
sjump .cont
.cont:
turnobject FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2, DOWN
applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, SSAquaGrandpaApproachesPlayerMovement
@ -330,12 +339,20 @@ SSAquaGranddaughterWasPlayingFText:
para "with the CAPTAIN"
line "and this big girl!"
done
SSAquaGranddaughterWasPlayingNBText:
text "Grandpa, here I"
line "am! I was playing"
para "with the CAPTAIN"
line "and this kid!"
done
SSAquaGranddaughterHadFunText:
text "I had lots of fun"
line "playing!"
done
PokefanmColinSeenText:
text "Hey, kid! Want to"
line "battle with me?"

View file

@ -411,8 +411,8 @@ Script_WalkOutOfMobileBattleRoom:
end
Pokecenter2F_CheckGender:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Female
readvar VAR_PLAYERGENDER
ifnotequal MALE, .Female
applymovementlasttalked Pokecenter2FMovementData_ReceptionistWalksUpAndLeft_LookRight
applymovement PLAYER, Pokecenter2FMovementData_PlayerTakesThreeStepsUp
end
@ -459,8 +459,7 @@ Script_WalkOutOfLinkTradeRoom:
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
setval (PAL_NPC_BLUE << 4)
special SetPlayerPalette
scall Script_RestorePlayerColor
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special UpdatePlayerSprite
applymovement PLAYER, Pokecenter2FMovementData_PlayerTakesTwoStepsDown_2
@ -481,8 +480,7 @@ Script_WalkOutOfLinkBattleRoom:
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
setval (PAL_NPC_BLUE << 4)
special SetPlayerPalette
scall Script_RestorePlayerColor
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special UpdatePlayerSprite
applymovement PLAYER, Pokecenter2FMovementData_PlayerTakesTwoStepsDown_2
@ -490,8 +488,8 @@ Script_WalkOutOfLinkBattleRoom:
end
TimeCapsuleScript_CheckPlayerGender:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Female
readvar VAR_PLAYERGENDER
ifnotequal MALE, .Female
readvar VAR_FACING
ifequal LEFT, .MaleFacingLeft
ifequal RIGHT, .MaleFacingRight
@ -569,8 +567,7 @@ Script_LeftTimeCapsule:
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
setval (PAL_NPC_BLUE << 4)
special SetPlayerPalette
scall Script_RestorePlayerColor
applymovement PLAYER, Pokecenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special UpdatePlayerSprite
applymovement PLAYER, Pokecenter2FMovementData_PlayerTakesOneStepDown
@ -580,6 +577,17 @@ Script_LeftTimeCapsule:
setmapscene TIME_CAPSULE, SCENE_TIMECAPSULE_INITIALIZE
end
Script_RestorePlayerColor:
readvar VAR_PLAYERGENDER
ifequal FEMALE, .Blue
setval (PAL_NPC_PURPLE << 4)
special SetPlayerPalette
end
.Blue
setval (PAL_NPC_BLUE << 4)
special SetPlayerPalette
end
Pokecenter2FLinkRecordSign:
refreshscreen
special DisplayLinkRecord

View file

@ -69,15 +69,8 @@ SunnyScript:
promptbutton
setevent EVENT_MET_SUNNY_OF_SUNDAY
.MetSunny:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Kris
writetext SunnyGivesGiftText1
writetext SunnyGivesGiftText
promptbutton
sjump .next
.Kris:
writetext SunnyGivesGiftText2
promptbutton
.next
verbosegiveitem MAGNET
iffalse SunnyDoneScript
setevent EVENT_GOT_MAGNET_FROM_SUNNY
@ -179,13 +172,7 @@ MeetSunnyText:
cont "Sunday today!"
done
SunnyGivesGiftText1:
text "I was told to give"
line "you this if I saw"
cont "you!"
done
SunnyGivesGiftText2:
SunnyGivesGiftText:
text "I was told to give"
line "you this if I saw"
cont "you!"

View file

@ -310,7 +310,7 @@ asm_4828d:
ld a, [hli]
cp $50
jr nz, .asm_482e1
ld a, 1 << PLAYERGENDER_FEMALE_F
ld a, FEMALE
ld [wPlayerGender], a
jr .asm_482f1
.asm_482ed

View file

@ -579,7 +579,7 @@ Function89481:
Function89492:
ld d, 0
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
ret z
inc d
ret
@ -1196,7 +1196,7 @@ Function897d5:
Function89807:
ld hl, ChrisSilhouetteGFX
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
and a ; MALE
jr z, .asm_89814
ld hl, KrisSilhouetteGFX
.asm_89814

View file

@ -2878,9 +2878,9 @@ wMapStatusEnd::
wCrystalData::
wPlayerGender::
; bit 0:
; 0 male
; 1 female
; 0 male
; 1 female
; 2 enby
db
wd473:: ds 1
wd474:: ds 1