diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 54078332c3..39510c2071 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -878,15 +878,15 @@ .endm @ Displays a box containing the front sprite for the specified (species) Pokemon species. - .macro drawmonpic species:req, x:req, y:req + .macro showmonpic species:req, x:req, y:req .byte 0x75 .2byte \species .byte \x .byte \y .endm - @ Hides all boxes displayed with drawmonpic. - .macro erasemonpic + @ Hides all boxes displayed with showmonpic. + .macro hidemonpic .byte 0x76 .endm @@ -1468,31 +1468,34 @@ .byte \location .endm - .macro mossdeepgym1 unknown:req + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Moves the objects on the colored puzzle specified by puzzleNumber one rotation + .macro moverotatingtileobjects puzzleNumber:req .byte 0xd3 - .2byte \unknown + .2byte \puzzleNumber .endm - .macro mossdeepgym2 + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Updates the facing direction of all objects on the puzzle tiles + .macro turnrotatingtileobjects .byte 0xd4 .endm - @ In FireRed, this command is a nop. - .macro mossdeepgym3 var:req + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Allocates memory for the puzzle objects. isTrickHouse is needed to determine which of the two maps the puzzle is on, in order to know where in the tileset the puzzle tiles start. In FireRed, this command is a nop. + .macro initrotatingtilepuzzle isTrickHouse:req .byte 0xd5 - .2byte \var + .2byte \isTrickHouse .endm - .macro mossdeepgym4 + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Frees the memory allocated for the puzzle objects. + .macro freerotatingtilepuzzle .byte 0xd6 .endm - .macro warp7 map:req, byte:req, word1:req, word2:req + .macro warpmossdeepgym map:req, warpId:req, x:req, y:req .byte 0xd7 map \map - .byte \byte - .2byte \word1 - .2byte \word2 + .byte \warpId + .2byte \x + .2byte \y .endm .macro cmdD8 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 0b114a4923..0f3cfdbb73 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -786,7 +786,7 @@ Move_HAMMER_ARM: playsewithpan SE_W004, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 3, 0, 4 delay 1 - createsprite gUnknown_085928D0, ANIM_ATTCKER, 2, 0, 0 + createsprite gSlamHitSpriteTemplate, ANIM_ATTCKER, 2, 0, 0 delay 3 setarg 7, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, -8, 1, 1 @@ -837,17 +837,17 @@ Move_HEALING_WISH: createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1 playsewithpan SE_W236, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -12, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -12, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -24, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -24, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 21, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 21, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 0, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 0, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 10, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 10, 0 delay 20 - createvisualtask sub_81025C0, 2 + createvisualtask AnimTask_FadeScreenBlue, 2 waitforvisualfinish end @@ -1217,18 +1217,18 @@ Move_HEAL_BLOCK: loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET createsoundtask AnimTask_PlaySeChangingVolume, SE_W071B, SOUND_PAN_TARGET, 256, -16, 0, 2 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 0, -5, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, 10, 1, 0 delay 7 createvisualtask sub_8116620, 10, 1 | 4, 4, 2, 12, 0, RGB_BLACK - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 0, -5, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, 10, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, -15, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, -15, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 10, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 10, -5, 1, 0 delay 7 waitforvisualfinish delay 11 @@ -2008,10 +2008,10 @@ Move_SEED_BOMB: Move_AIR_SLASH: loadspritegfx ANIM_TAG_SLASH call SetSkyBg - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, -8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 playsewithpan SE_W013, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, 8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, 8, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish @@ -2768,15 +2768,15 @@ Move_ZEN_HEADBUTT: delay 2, playsewithpan SE_W029, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_IMPACT - createsprite gUnknown_08592CD8, 2, 1, 0 + createsprite gBowMonSpriteTemplate, 2, 1, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, 2, 1, 1 + createsprite gBowMonSpriteTemplate, 2, 1, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 0, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, 2, 1, 2 + createsprite gBowMonSpriteTemplate, 2, 1, 2 createsprite gAquaTailHitSpriteTemplate, 131, 4, 0, 0, 1, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -3232,15 +3232,15 @@ Move_IRON_HEAD: loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0 waitforvisualfinish - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 7, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -3294,22 +3294,22 @@ Move_MAGNET_BOMB: loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan 177, 63 - createsprite gUnknown_08592E30, 130, 4, 8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, 8, 8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, -8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, -8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, 8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, 8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, -8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, -8, 8, 1, 0 waitforvisualfinish playsewithpan 177, 63 - createsprite gUnknown_08592E30, 130, 4, 8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, 8, 8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, -8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, -8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, 8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, 8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, 130, 4, -8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, 130, 4, -8, 8, 1, 0 waitforvisualfinish end @@ -3641,15 +3641,15 @@ Move_HEAL_ORDER: Move_HEAD_SMASH: loadspritegfx ANIM_TAG_IMPACT call SetImpactBackground - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W036, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3 waitforvisualfinish @@ -3695,21 +3695,21 @@ Move_LUNAR_DANCE: setalpha 0, 16 createsprite gSimplePaletteBlendSpriteTemplate, 2, 5, 1, 1, 0, 16, 0 waitforvisualfinish - createsprite gUnknown_08592EBC, 2, 2, 120, 56 + createsprite gMoonSpriteTemplate, 2, 2, 120, 56 createvisualtask sub_80A7A74, 3, 5, 0, 16, 16, 0, 1 playsewithpan 211, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 2, -12, 0 + createsprite gMoonlightSparkleSpriteTemplate, 40, 2, -12, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 2, -18, 0 + createsprite gMoonlightSparkleSpriteTemplate, 40, 2, -18, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 2, 21, 0 + createsprite gMoonlightSparkleSpriteTemplate, 40, 2, 21, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 2, 0, 0 + createsprite gMoonlightSparkleSpriteTemplate, 40, 2, 0, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 2, 10, 0 + createsprite gMoonlightSparkleSpriteTemplate, 40, 2, 10, 0 delay 20 - createvisualtask sub_81025C0, 2, 0 + createvisualtask AnimTask_FadeScreenBlue, 2, 0 createvisualtask sub_81133E8, 5, 0 playsewithpan 203, SOUND_PAN_ATTACKER delay 8 @@ -3788,29 +3788,29 @@ OminousWindHit: delay 0 createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK waitbgfadein - createsprite gUnknown_08592830, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 6 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 waitforvisualfinish playsewithpan SE_W016B, SOUND_PAN_TARGET clearmonbg ANIM_DEF_PARTNER @@ -5591,7 +5591,7 @@ Move_SLAM: playsewithpan SE_W004, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 3, 0, 4 delay 1 - createsprite gUnknown_085928D0, ANIM_ATTACKER, 2, 0, 0 + createsprite gSlamHitSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 delay 3 playsewithpan SE_W025B, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 @@ -5621,17 +5621,17 @@ Move_VINE_WHIP: Move_DRILL_PECK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHIRLWIND_LINES - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 delay 2 loopsewithpan SE_W030, SOUND_PAN_TARGET, 4, 8 createvisualtask sub_810EB88, 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 waitforvisualfinish - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6 waitforvisualfinish @@ -6167,11 +6167,11 @@ Move_CONFUSE_RAY: Move_LOCK_ON: loadspritegfx ANIM_TAG_LOCK_ON - createsprite gUnknown_08592CA0, ANIM_ATTACKER, 40 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 1 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 2 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 3 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 4 + createsprite gLockOnTargetSpriteTemplate, ANIM_ATTACKER, 40 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 1 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 2 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 3 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 4 delay 120 setarg 7, -1 waitforvisualfinish @@ -6389,45 +6389,45 @@ Move_CONVERSION: setalpha 16, 0 delay 0 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -24 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -8 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 8 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 24 delay 20 playsewithpan SE_W112, SOUND_PAN_ATTACKER createvisualtask sub_8115D94, 2, ANIM_TAG_CONVERSION, 1, 1, 14335, 12, 0, 0 delay 6 - createvisualtask sub_81022D4, 5 + createvisualtask AnimTask_ConversionAlphaBlend, 5 waitforvisualfinish delay 1 clearmonbg ANIM_ATK_PARTNER @@ -6441,23 +6441,23 @@ Move_CONVERSION_2: setalpha 0, 16 delay 0 playsewithpan SE_W112, SOUND_PAN_TARGET - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -24, 60 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -24, 65 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -24, 70 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -24, 75 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -8, 80 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -8, 85 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -8, 90 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -8, 95 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 8, 100 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 8, 105 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 8, 110 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 8, 115 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 24, 120 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 24, 125 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 24, 130 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 24, 135 - createvisualtask sub_81023E0, 5 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -24, 60 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -24, 65 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -24, 70 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -24, 75 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -8, 80 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -8, 85 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -8, 90 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 95 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 8, 100 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 8, 105 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 8, 110 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 115 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 24, 120 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 24, 125 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 24, 130 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 24, 135 + createvisualtask AnimTask_Conversion2AlphaBlend, 5 delay 60 playsewithpan SE_W129, SOUND_PAN_TARGET delay 10 @@ -6503,15 +6503,15 @@ Move_ROLLING_KICK: Move_HEADBUTT: loadspritegfx ANIM_TAG_IMPACT - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -6520,16 +6520,16 @@ Move_HEADBUTT: Move_HORN_ATTACK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 10 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET waitforvisualfinish @@ -6546,14 +6546,14 @@ FuryAttackContinue: end FuryAttackRight: - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 8, 8, 10 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 8, 8, 10 waitforvisualfinish createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET goto FuryAttackContinue FuryAttackLeft: - createsprite gUnknown_08592F44, ANIM_TARGET, 4, -8, -8, 10 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, -8, -8, 10 waitforvisualfinish createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET @@ -6569,12 +6569,12 @@ Move_HORN_DRILL: HornDrillContinue: waitbgfadein setalpha 12, 8 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 12 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 12 waitforvisualfinish playse SE_BAN createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 @@ -6612,7 +6612,7 @@ HornDrillContinue: createsprite gUnknown_085973E8, ANIM_TARGET, 3, 32, 0, 1, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 waitforvisualfinish restorebg waitbgfadeout @@ -6647,36 +6647,36 @@ Move_THRASH: Move_SING: loadspritegfx ANIM_TAG_MUSIC_NOTES monbg ANIM_DEF_PARTNER - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish panse_1B SE_W047, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 0, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 3, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 0, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 2, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 3, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 0, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 3, 12 delay 4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 waitforvisualfinish end @@ -6873,7 +6873,7 @@ Move_TELEPORT: end Move_DOUBLE_TEAM: - createvisualtask sub_81029B4, 2 + createvisualtask AnimTask_DoubleTeam, 2 setalpha 12, 8 monbg ANIM_ATK_PARTNER playsewithpan SE_W104, SOUND_PAN_ATTACKER @@ -6910,10 +6910,10 @@ Move_MINIMIZE: Move_METRONOME: loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE - createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 100 + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 playsewithpan SE_W118, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_085931BC, ANIM_ATTACKER, 12, 0 + createsprite gMetronomeFingerSpriteTemplate, ANIM_ATTACKER, 12, 0 delay 24 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3 waitforvisualfinish @@ -6939,7 +6939,7 @@ SkullBashSetUp1: return SkullBashAttack: loadspritegfx ANIM_TAG_IMPACT - createvisualtask sub_8101C94, 2, 0 + createvisualtask AnimTask_SkullBashPosition, 2, 0 playsewithpan SE_W036, SOUND_PAN_ATTACKER waitforvisualfinish playse SE_BAN @@ -6949,7 +6949,7 @@ SkullBashAttack: createsprite gUnknown_085973E8, ANIM_TARGET, 4, 0, 0, 1, 0 loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3 waitforvisualfinish - createvisualtask sub_8101C94, 2, 1 + createvisualtask AnimTask_SkullBashPosition, 2, 1 goto SkullBashEnd Move_AMNESIA: @@ -7104,7 +7104,7 @@ Move_ACID_ARMOR: Move_SHARPEN: loadspritegfx ANIM_TAG_SPHERE_TO_CUBE - createsprite gUnknown_08592DE4, ANIM_ATTACKER, 2 + createsprite gSharpenSphereSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish end @@ -7119,7 +7119,7 @@ Move_SUPER_FANG: delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 4 - createsprite gUnknown_08592F74, ANIM_TARGET, 2 + createsprite gSuperFangSpriteTemplate, ANIM_TARGET, 2 playsewithpan SE_W044, SOUND_PAN_TARGET delay 8 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14 @@ -7130,10 +7130,10 @@ Move_SUPER_FANG: Move_SLASH: loadspritegfx ANIM_TAG_SLASH - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, -8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 playsewithpan SE_W013, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, 8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, 8, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish @@ -7312,15 +7312,15 @@ Move_ENDURE: end EndureEffect: - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -24, 26, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 26, 2 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 14, 28, 1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 14, 28, 1 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -5, 10, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 28, 26, 3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 26, 3 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -12, 0, 1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0, 1 return Move_CHARM: @@ -7357,23 +7357,23 @@ Move_ROLLOUT: Move_FALSE_SWIPE: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_IMPACT - createsprite gUnknown_08592D44, ANIM_TARGET, 2 + createsprite gFalseSwipeSliceSpriteTemplate, ANIM_TARGET, 2 playsewithpan SE_W233, SOUND_PAN_TARGET delay 16 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 0 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 0 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 16 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 16 delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 32 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 32 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 48 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 48 delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 64 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 64 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 80 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 80 delay 2 waitforvisualfinish createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 @@ -7404,7 +7404,7 @@ Move_MILK_DRINK: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET - createsprite gUnknown_08592B3C, ANIM_ATTACKER, 2 + createsprite gMilkBottleSpriteTemplate, ANIM_ATTACKER, 2 delay 40 playsewithpan SE_W152, SOUND_PAN_ATTACKER delay 12 @@ -7468,21 +7468,21 @@ Move_MOONLIGHT: setalpha 0, 16 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08592EBC, ANIM_ATTACKER, 2, 120, 56 + createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 120, 56 createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1 playsewithpan SE_W236, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -12, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -12, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -24, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -24, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 21, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 21, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 0, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 0, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 10, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 10, 0 delay 20 - createvisualtask sub_81025C0, 2 + createvisualtask AnimTask_FadeScreenBlue, 2 waitforvisualfinish call HealingEffect waitforvisualfinish @@ -7645,7 +7645,7 @@ Move_SMELLING_SALT: Move_FOLLOW_ME: loadspritegfx ANIM_TAG_FINGER - createsprite gUnknown_085931D4, ANIM_ATTACKER, 2, 0 + createsprite gFollowMeFingerSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W039, SOUND_PAN_ATTACKER delay 18 playsewithpan SE_W213, SOUND_PAN_ATTACKER @@ -7693,10 +7693,10 @@ Move_TAUNT: loadspritegfx ANIM_TAG_FINGER_2 loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_ANGER - createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 45 + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 45 playsewithpan SE_W118, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_0859324C, ANIM_ATTACKER, 12, 0 + createsprite gTauntFingerSpriteTemplate, ANIM_ATTACKER, 12, 0 delay 4 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 16, 2 waitforvisualfinish @@ -8085,19 +8085,19 @@ Move_TEETER_DANCE: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK createvisualtask AnimTask_TeeterDanceMovement, 5 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 0, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, -16, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 1, -8, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, -8, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 2, 8, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 2, 8, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER end @@ -8153,42 +8153,42 @@ Move_NEEDLE_ARM: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loopsewithpan SE_W030, SOUND_PAN_TARGET, 2, 16 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -32, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -32, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 22, -22, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 22, -22, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 30, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 30, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 20, 20, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 20, 20, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, 28, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, 28, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -19, 19, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -19, 19, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -27, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -27, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -18, -18, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -18, -18, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -25, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -25, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 17, -17, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 17, -17, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 23, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 23, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 16, 16, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, 16, 16 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, -24, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, -17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 24, 0, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, 17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, 24, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, 17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -24, 0, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, -17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, -24, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, -17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 24, 0, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, 17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, 24, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, 17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -24, 0, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, -17, 10 end Move_SLACK_OFF: @@ -8230,17 +8230,17 @@ Move_AROMATHERAPY: delay 1 monbg ANIM_ATTACKER delay 1 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0 - createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0 + createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0 delay 20 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0 delay 10 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0 - createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0 + createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER delay 1 @@ -8250,9 +8250,9 @@ Move_AROMATHERAPY: createvisualtask sub_815DFCC, 2, 1 waitforvisualfinish playsewithpan SE_W234, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 delay 8 - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 43, 3, 10, 0, RGB(13, 31, 12) @@ -8294,7 +8294,7 @@ Move_AIR_CUTTER: createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128 waitforvisualfinish playsewithpan SE_W015, SOUND_PAN_TARGET - createsprite gUnknown_08592A34, ANIM_ATTACKER, 2, 40, -32, 0, 2 + createsprite gAirCutterSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0, 2 delay 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1 @@ -8324,35 +8324,35 @@ Move_GRASS_WHISTLE: loadspritegfx ANIM_TAG_MUSIC_NOTES createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB(18, 31, 12) waitforvisualfinish - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish panse_1B SE_W320, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0 delay 4 waitforvisualfinish - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB(18, 31, 12) waitforvisualfinish end @@ -8587,7 +8587,7 @@ Move_CALM_MIND: Move_LEAF_BLADE: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_CROSS_IMPACT - createvisualtask sub_80FFFC0, 5 + createvisualtask AnimTask_LeafBlade, 5 delay 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, SOUND_PAN_TARGET @@ -8672,43 +8672,43 @@ Move_HARDEN: Move_BELLY_DRUM: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 0, 0, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 1, 1, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 3, 3, 128 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 3, 3, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 2, 0, 128 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 1, 1, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 0, 3, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 3, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 waitforvisualfinish end BellyDrum2: - createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 0 + createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return BellyDrum1: - createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 1 + createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return @@ -8792,11 +8792,11 @@ Move_ICE_PUNCH: Move_REST: playsewithpan SE_W173, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_LETTER_Z - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 20 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 20 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 waitforvisualfinish end @@ -10980,16 +10980,16 @@ Move_OCTAZOOKA: loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_W025B, SOUND_PAN_ATTACKER - createsprite gUnknown_08592DFC, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0 + createsprite gOctazookaBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0 waitforvisualfinish playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, 8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 0 waitforvisualfinish end @@ -11810,9 +11810,9 @@ Move_HEAL_BELL: unloadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_W234, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 delay 8 - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish unloadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_THIN_RING @@ -13142,9 +13142,9 @@ Move_COSMIC_POWER: waitbgfadein delay 70 createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 delay 8 - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 40 createvisualtask sub_8117610, 2, 0, 15, 0, 0 waitforvisualfinish @@ -13267,29 +13267,29 @@ Move_SILVER_WIND: monbgprio_29 delay 0 call SetBugBg - createsprite gUnknown_08592830, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 6 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 waitforvisualfinish playsewithpan SE_W016B, SOUND_PAN_TARGET clearmonbg ANIM_DEF_PARTNER @@ -14118,33 +14118,33 @@ IcyWindEffect2: return GrantingStarsEffect: - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 delay 8 - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 8 return HealingEffect: playsewithpan SE_W071B, SOUND_PAN_ATTACKER - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 0, -5, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, 10, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, 10, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, -15, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, -15, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 10, -5, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 10, -5, 0, 0 delay 7 return HealingEffect2: playsewithpan SE_W071B, SOUND_PAN_TARGET - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 0, -5, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, 10, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, -15, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, -15, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 10, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 10, -5, 1, 0 delay 7 return @@ -14340,9 +14340,9 @@ Status_Infatuation: Status_Sleep: loadspritegfx ANIM_TAG_LETTER_Z playsewithpan SE_W173, SOUND_PAN_ATTACKER - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 30 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 end Status_Paralysis: diff --git a/data/berry_crush.s b/data/berry_crush.s index 6535cd5583..fa11700620 100755 --- a/data/berry_crush.s +++ b/data/berry_crush.s @@ -281,23 +281,23 @@ gUnknown_082F4304:: @ 82F4304 .align 2 gUnknown_082F430C:: @ 82F430C - spr_template 0x0001, 0x0001, gUnknown_0852491C, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0001, 0x0001, gOamData_AffineOff_ObjNormal_64x64, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F4324:: @ 82F4324 - spr_template 0x0002, 0x0002, gUnknown_08524914, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20 + spr_template 0x0002, 0x0002, gOamData_AffineOff_ObjNormal_32x32, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20 .align 2 gUnknown_082F433C:: @ 82F433C - spr_template 0x0003, 0x0002, gUnknown_0852490C, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0003, 0x0002, gOamData_AffineOff_ObjNormal_16x16, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F4354:: @ 82F4354 - spr_template 0x0004, 0x0004, gUnknown_08524944, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0004, 0x0004, gOamData_AffineOff_ObjNormal_8x16, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F436C:: @ 82F436C - spr_template 0x0005, 0x0005, gUnknown_085249D4, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy + spr_template 0x0005, 0x0005, gOamData_AffineDouble_ObjNormal_32x32, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy .align 2 gUnknown_082F4384:: @ 82F4384 diff --git a/data/event_scripts.s b/data/event_scripts.s index 19e42c9e93..62489d1fbd 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,8 +1,11 @@ #include "constants/global.h" #include "constants/battle.h" +#include "constants/battle_pike.h" +#include "constants/battle_pyramid.h" #include "constants/battle_frontier.h" #include "constants/battle_setup.h" #include "constants/berry.h" +#include "constants/cable_club.h" #include "constants/contest.h" #include "constants/daycare.h" #include "constants/decorations.h" @@ -10,7 +13,9 @@ #include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" +#include "constants/field_poison.h" #include "constants/field_specials.h" +#include "constants/field_tasks.h" #include "constants/flags.h" #include "constants/game_stat.h" #include "constants/item.h" @@ -22,13 +27,16 @@ #include "constants/maps.h" #include "constants/metatile_labels.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/pokemon.h" #include "constants/script_menu.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trade.h" #include "constants/trainer_hill.h" #include "constants/trainers.h" +#include "constants/tv.h" #include "constants/vars.h" #include "constants/weather.h" .include "asm/macros.inc" @@ -900,7 +908,7 @@ EventScript_PickItemUp:: @ 8271C3A waitfanfare waitmessage bufferitemnameplural 1, VAR_0x8004, VAR_0x8005 - setvar VAR_0x8004, 12 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN special CallBattlePyramidFunction compare VAR_RESULT, 1 goto_if_eq EventScript_271C86 @@ -1018,10 +1026,7 @@ Common_ShowEasyChatScreen:: @ 8271E7C fadescreen 0 return -DewfordTown_Gym_EventScript_271E84:: @ 8271E84 -LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84 -MauvilleCity_Gym_EventScript_271E84:: @ 8271E84 -RustboroCity_Gym_EventScript_271E84:: @ 8271E84 +Common_EventScript_ReadyPetalburgGymForBattle:: @ 8271E84 clearflag FLAG_HIDE_PETALBURG_GYM_GREETER setflag FLAG_PETALBURG_MART_EXPANDED_ITEMS return @@ -1246,12 +1251,12 @@ EventScript_RegionMap:: @ 827208F end Common_EventScript_PlayBrineysBoatMusic:: @ 82720A0 - setflag FLAG_SPECIAL_FLAG_0x4001 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_M_BOAT, 0 return Common_EventScript_StopBrineysBoatMusic:: @ 82720A8 - clearflag FLAG_SPECIAL_FLAG_0x4001 + clearflag FLAG_DONT_TRANSITION_MUSIC fadedefaultbgm return @@ -1273,7 +1278,7 @@ Movement_FerryDepart: @ 82721F0 walk_right step_end -PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8 +EventScript_HideMrBriney:: @ 82721F8 setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN setflag FLAG_HIDE_ROUTE_108_MR_BRINEY @@ -1296,7 +1301,7 @@ RusturfTunnel_EventScript_272216:: @ 8272216 EventScript_27222B:: @ 827222B delay 30 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 showobjectat 255, MAP_PETALBURG_CITY delay 30 @@ -1569,64 +1574,16 @@ EventScript_CableClub_SetVarResult0:: @ 8273755 setvar VAR_RESULT, 0 return -BattleFrontier_PokemonCenter_2F_EventScript_27375B:: @ 827375B -DewfordTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -EverGrandeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -EverGrandeCity_PokemonLeague_2F_EventScript_27375B:: @ 827375B -FallarborTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -FortreeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -LavaridgeTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -LilycoveCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -MauvilleCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -MossdeepCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -OldaleTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -PacifidlogTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -PetalburgCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -RustboroCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -SlateportCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -SootopolisCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -VerdanturfTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B - call OldaleTown_PokemonCenter_2F_EventScript_27751B +Common_EventScript_UnionRoomAttendant:: @ 827375B + call CableClub_EventScript_UnionRoomAttendant end -BattleFrontier_PokemonCenter_2F_EventScript_273761:: @ 8273761 -DewfordTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -EverGrandeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -EverGrandeCity_PokemonLeague_2F_EventScript_273761:: @ 8273761 -FallarborTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -FortreeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -LavaridgeTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -LilycoveCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -MauvilleCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -MossdeepCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -OldaleTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -PacifidlogTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -PetalburgCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -RustboroCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -SlateportCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -SootopolisCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -VerdanturfTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 - call OldaleTown_PokemonCenter_2F_EventScript_277672 +Common_EventScript_WirelessClubAttendant:: @ 8273761 + call CableClub_EventScript_WirelessClubAttendant end -BattleFrontier_PokemonCenter_2F_EventScript_273767:: @ 8273767 -DewfordTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -EverGrandeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -EverGrandeCity_PokemonLeague_2F_EventScript_273767:: @ 8273767 -FallarborTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -FortreeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -LavaridgeTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -LilycoveCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -MauvilleCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -MossdeepCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -OldaleTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -PacifidlogTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -PetalburgCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -RustboroCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -SlateportCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -SootopolisCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -VerdanturfTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 - call OldaleTown_PokemonCenter_2F_EventScript_2776A4 +Common_EventScript_DirectCornerAttendant:: @ 8273767 + call CableClub_EventScript_DirectCornerAttendant end Common_EventScript_RemoveStaticPokemon:: @ 827376D @@ -1731,6 +1688,7 @@ EventScript_GotoTrainerScript:: @ 82742F6 .include "data/scripts/berry_tree.inc" .include "data/scripts/secret_base.inc" .include "data/scripts/cable_club.inc" + .include "data/text/cable_club.inc" .include "data/scripts/contest_hall.inc" .include "data/text/contest_strings.inc" .include "data/text/contest_link.inc" diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index 975715fc22..87830e500c 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -31,14 +31,14 @@ AquaHideout_B2F_EventScript_233E09:: @ 8233E09 AquaHideout_B2F_EventScript_233E25:: @ 8233E25 setvar VAR_0x8008, 1 setvar VAR_0x8009, 4 - applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 applymovement VAR_0x8008, Common_Movement_FacePlayer waitmovement 0 msgbox AquaHideout_B2F_Text_233FA6, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80 waitmovement 0 removeobject VAR_0x8009 diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index a44b51ef5e..5ef17d3816 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -43,7 +43,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD compare VAR_RESULT, 0 call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C938 - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, MSGBOX_DEFAULT @@ -114,7 +114,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 setvar VAR_0x8004, 4 special CallBattleDomeFunction @@ -163,7 +163,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9 return BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 compare VAR_TEMP_2, 0 call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index 9c76544f67..68e6194cfe 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -304,12 +304,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA:: @ 825B1AA end BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4:: @ 825B1B4 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement 4, Common_Movement_WalkInPlaceRight - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft - applymovement 7, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement 4, Common_Movement_WalkInPlaceFastestRight + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft + applymovement 7, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index 605807580e..0513e2bb30 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -278,10 +278,10 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 waitfanfare setvar VAR_0x8004, 13 special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + applymovement 2, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 @@ -321,10 +321,10 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 waitfanfare setvar VAR_0x8004, 13 special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + applymovement 2, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index 20e14b72b1..44027d7cee 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -13,9 +13,9 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 setvar VAR_0x8005, 2 setvar VAR_0x8006, 1 special CallFrontierUtilFunc - setvar VAR_0x8004, 20 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS special CallBattlePikeFunction - setvar VAR_0x8004, 24 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED setvar VAR_0x8005, 1 special CallBattlePikeFunction applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index c3f5e80de3..541ffd313a 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -26,16 +26,16 @@ BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707 BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710 special HealPlayerParty - setvar VAR_0x8004, 27 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS special CallBattlePikeFunction lockall msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 special CallBattlePikeFunction - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 4 setvar VAR_0x8006, 0 special CallBattlePikeFunction @@ -68,21 +68,21 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9 setvar VAR_0x8004, 8 special CallFrontierUtilFunc - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA setvar VAR_0x8005, 3 special CallBattlePikeFunction addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 3 copyvar VAR_0x8006, VAR_RESULT special CallBattlePikeFunction special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 27 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS special CallBattlePikeFunction message BattleFrontier_BattlePikeLobby_Text_25C1DF waitmessage - setvar VAR_0x8004, 8 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_8 setvar VAR_0x8005, 0 special CallBattlePikeFunction playse SE_SAVE @@ -103,15 +103,15 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806 setvar VAR_0x8005, 2 setvar VAR_0x8006, 0 special CallFrontierUtilFunc - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 4 setvar VAR_0x8006, 0 special CallBattlePikeFunction special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 27 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS special CallBattlePikeFunction - setvar VAR_0x8004, 8 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_8 setvar VAR_0x8005, 0 special CallBattlePikeFunction playse SE_SAVE @@ -176,17 +176,17 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special CallFrontierUtilFunc - setvar VAR_0x8004, 28 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT_CHALLENGE special CallBattlePikeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 setvar VAR_0x8006, 1 special CallFrontierUtilFunc - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 4 setvar VAR_0x8006, 1 special CallBattlePikeFunction - setvar VAR_0x8004, 26 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS special CallBattlePikeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 3 @@ -197,7 +197,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 - setvar VAR_0x8004, 26 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS special CallBattlePikeFunction compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc index ea959387bd..565e28d474 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc @@ -11,7 +11,7 @@ BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171 setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 5 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6 @@ -27,7 +27,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6 delay 16 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 waitmovement 0 - setvar VAR_0x8004, 21 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG setvar VAR_0x8005, 0 special CallBattlePikeFunction msgbox gStringVar4, MSGBOX_DEFAULT @@ -63,7 +63,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231 closemessage applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 waitmovement 0 - setvar VAR_0x8004, 21 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG setvar VAR_0x8005, 0 special CallBattlePikeFunction msgbox gStringVar4, MSGBOX_DEFAULT @@ -102,7 +102,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF lockall applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF waitmovement 0 - setvar VAR_0x8004, 23 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC @@ -136,7 +136,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB waitse applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7 waitmovement 0 - setvar VAR_0x8004, 22 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE special CallBattlePikeFunction switch VAR_RESULT case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416 @@ -217,11 +217,11 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC waitmovement 0 - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA setvar VAR_0x8005, 1 special CallBattlePikeFunction addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT special CallBattlePikeFunction @@ -279,7 +279,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB waitmovement 0 - setvar VAR_0x8004, 21 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG setvar VAR_0x8005, 0 special CallBattlePikeFunction msgbox gStringVar4, MSGBOX_DEFAULT @@ -287,7 +287,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E delay 16 applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD waitmovement 0 - setvar VAR_0x8004, 21 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG setvar VAR_0x8005, 1 special CallBattlePikeFunction msgbox gStringVar4, MSGBOX_DEFAULT @@ -317,7 +317,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605 message BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA waitmovement 0 - setvar VAR_0x8004, 12 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON special CallBattlePikeFunction copyvar VAR_0x8004, VAR_RESULT compare VAR_0x8004, 0 @@ -335,7 +335,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643 waitse playmoncry SPECIES_KIRLIA, 0 waitmoncry - setvar VAR_0x8004, 11 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS special CallBattlePikeFunction compare VAR_RESULT, 2 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 @@ -345,7 +345,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F compare VAR_RESULT, 4 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 - setvar VAR_0x8004, 15 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE special CallBattlePikeFunction waitstate applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 @@ -372,13 +372,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5 waitse playmoncry SPECIES_DUSCLOPS, 0 waitmoncry - setvar VAR_0x8004, 11 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS special CallBattlePikeFunction compare VAR_RESULT, 0 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D compare VAR_RESULT, 1 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 - setvar VAR_0x8004, 15 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE special CallBattlePikeFunction waitstate applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 @@ -578,7 +578,7 @@ BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA step_end BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED - setvar VAR_0x8004, 5 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE special CallBattlePikeFunction switch VAR_RESULT case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B @@ -588,7 +588,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B lock faceplayer - setvar VAR_0x8004, 14 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG special CallBattlePikeFunction msgbox gStringVar4, MSGBOX_DEFAULT waitmessage @@ -605,7 +605,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831 end BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E - setvar VAR_0x8004, 13 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS special CallBattlePikeFunction compare VAR_RESULT, 2 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc index 9a44482268..a18ccda4c9 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc @@ -11,7 +11,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 6 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_6 special CallBattlePikeFunction end diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index 927222e8cd..6416ad4d74 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -35,7 +35,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4 lockall message BattleFrontier_BattlePikeThreePathRoom_Text_25CD75 waitmessage - setvar VAR_0x8004, 8 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_8 setvar VAR_0x8005, 1 special CallBattlePikeFunction playse SE_SAVE @@ -137,7 +137,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08 waitmessage special LoadPlayerParty - setvar VAR_0x8004, 8 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_8 setvar VAR_0x8005, 2 special CallBattlePikeFunction playse SE_SAVE @@ -161,12 +161,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A waitmessage multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 + case 0, BattleFrontier_BattlePike_EventScript_Retire release end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 - setvar VAR_0x8004, 17 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM special CallBattlePikeFunction compare VAR_RESULT, 1 goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 @@ -189,7 +189,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB - setvar VAR_0x8004, 19 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT special CallBattlePikeFunction compare VAR_RESULT, 4 goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 @@ -209,7 +209,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A - setvar VAR_0x8004, 18 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM_ID special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39 @@ -230,7 +230,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53 goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60 - setvar VAR_0x8004, 19 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc index 723c666d81..ba862ebdf2 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc @@ -12,7 +12,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43 BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D lockall - setvar VAR_0x8004, 13 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT setvar VAR_0x8005, 4 setvar VAR_0x8006, 1 setvar VAR_0x8007, 55 @@ -38,7 +38,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98 end BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 - setvar VAR_0x8004, 15 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE special CallBattlePyramidFunction setvar VAR_0x8004, 0 special CallFrontierUtilFunc @@ -67,7 +67,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 setvar VAR_TEMP_D, 1 BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39 - setvar VAR_0x8004, 17 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY special CallBattlePyramidFunction end @@ -77,18 +77,18 @@ BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42 setvar VAR_0x8005, 0 setvar VAR_0x8006, 4 special CallFrontierUtilFunc - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA setvar VAR_0x8005, 7 setvar VAR_0x8006, 255 special CallBattlePyramidFunction BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66 BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66 - setvar VAR_0x8004, 13 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special CallBattlePyramidFunction - setvar VAR_0x8004, 14 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS special CallBattlePyramidFunction special HealPlayerParty warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13 @@ -96,7 +96,7 @@ BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66 end BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_3 setvar VAR_0x8005, 1 special CallBattlePyramidFunction special SavePlayerParty @@ -104,7 +104,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special CallFrontierUtilFunc - setvar VAR_0x8004, 9 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS special CallBattlePyramidFunction setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 @@ -118,7 +118,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA end BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5 - setvar VAR_0x8004, 13 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT setvar VAR_0x8005, 32 setvar VAR_0x8006, 0 special CallBattlePyramidFunction @@ -136,7 +136,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8 special CallFrontierUtilFunc compare VAR_RESULT, 7 goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45 - setvar VAR_0x8004, 6 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR special CallBattlePyramidFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 @@ -154,7 +154,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45 BattlePyramid_TrainerBattle:: @ 8252C4F trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText - setvar VAR_0x8004, 10 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT special CallBattlePyramidFunction waitmessage waitbuttonpress @@ -163,12 +163,12 @@ BattlePyramid_TrainerBattle:: @ 8252C4F end BattlePyramid_FindItemBall:: @ 8252C6A - setvar VAR_0x8004, 7 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_ITEM special CallBattlePyramidFunction callstd STD_FIND_ITEM compare VAR_0x8007, 0 goto_if_eq BattlePyramid_FindItemBall_End - setvar VAR_0x8004, 8 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_HIDE_ITEM special CallBattlePyramidFunction BattlePyramid_FindItemBall_End:: @ 8252C87 diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index b2f7d4579a..72abed5efa 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -32,11 +32,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768 playse SE_EXPMAX waitse closemessage - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 special CallBattlePyramidFunction - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA setvar VAR_0x8005, 2 setvar VAR_0x8006, 0 special CallBattlePyramidFunction @@ -68,7 +68,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA setvar VAR_0x8004, 8 special CallFrontierUtilFunc special LoadPlayerParty - setvar VAR_0x8004, 14 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS special CallBattlePyramidFunction special HealPlayerParty message BattleFrontier_BattlePyramidLobby_Text_2519F8 @@ -81,9 +81,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9 message BattleFrontier_BattlePyramidLobby_Text_251A77 waitmessage - setvar VAR_0x8004, 4 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_REWARD special CallBattlePyramidFunction - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_3 setvar VAR_0x8005, 0 special CallBattlePyramidFunction playse SE_SAVE @@ -98,7 +98,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852 setvar VAR_0x8004, 8 special CallFrontierUtilFunc special LoadPlayerParty - setvar VAR_0x8004, 14 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS special CallBattlePyramidFunction special HealPlayerParty lockall @@ -108,11 +108,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852 waitse message BattleFrontier_BattlePyramidLobby_Text_251A77 waitmessage - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA setvar VAR_0x8005, 2 setvar VAR_0x8006, 0 special CallBattlePyramidFunction - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_3 setvar VAR_0x8005, 0 special CallBattlePyramidFunction playse SE_SAVE @@ -179,9 +179,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special CallFrontierUtilFunc - setvar VAR_0x8004, 0 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_CHALLENGE special CallBattlePyramidFunction - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA setvar VAR_0x8005, 2 setvar VAR_0x8006, 1 special CallBattlePyramidFunction @@ -193,9 +193,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special CallFrontierUtilFunc - setvar VAR_0x8004, 6 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR special CallBattlePyramidFunction - setvar VAR_0x8004, 9 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS special CallBattlePyramidFunction special LoadPlayerParty closemessage @@ -282,7 +282,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27 BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28 msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA setvar VAR_0x8005, 5 special CallBattlePyramidFunction compare VAR_RESULT, 0 @@ -292,7 +292,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28 return BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53 - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA setvar VAR_0x8005, 3 special CallBattlePyramidFunction goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 @@ -300,7 +300,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53 BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66 msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA setvar VAR_0x8005, 6 special CallBattlePyramidFunction compare VAR_RESULT, 0 @@ -310,7 +310,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66 return BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91 - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA setvar VAR_0x8005, 4 special CallBattlePyramidFunction goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 @@ -437,7 +437,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56 applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD waitmovement 0 msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA setvar VAR_0x8005, 1 special CallBattlePyramidFunction compare VAR_RESULT, 0 diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index 211ab0c87c..8906d4c428 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -6,7 +6,7 @@ BattleFrontier_BattlePyramidTop_MapScripts:: @ 82550A1 .byte 0 BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6 - setvar VAR_0x8004, 13 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT setvar VAR_0x8005, 200 setvar VAR_0x8006, 0 special CallBattlePyramidFunction @@ -69,7 +69,7 @@ BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A end BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_3 setvar VAR_0x8005, 1 special CallBattlePyramidFunction special SavePlayerParty @@ -77,7 +77,7 @@ BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special CallFrontierUtilFunc - setvar VAR_0x8004, 9 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS special CallBattlePyramidFunction setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index ce171e3c05..f2c6ca0ac9 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -230,7 +230,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3 applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_24219A waitmovement 0 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2725B6 + applymovement 3, Common_Movement_WalkInPlaceLeft waitmovement 0 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc index 097e732aba..786f1fa3ef 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc @@ -68,8 +68,8 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248ED5 waitmovement 0 delay 40 - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement 2, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement 2, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor 7, 1 waitdooranim diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 888faa268f..00205942d1 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -926,16 +926,16 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7 return BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5 - setvar VAR_0x8004, 9 + setvar VAR_0x8004, USING_BATTLE_TOWER message gText_PleaseWaitForLink waitmessage setvar VAR_0x8005, 0 - special sub_80B2DA4 + special TryBattleLinkup waitstate compare VAR_RESULT, 1 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F327 compare VAR_RESULT, 4 @@ -943,7 +943,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5 compare VAR_RESULT, 5 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6 compare VAR_RESULT, 6 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError compare VAR_RESULT, 11 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 end @@ -952,7 +952,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327 special CloseLink compare VAR_0x8005, 3 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F - msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT release end @@ -965,7 +965,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351 msgbox BattleFrontier_BattleTowerLobby_Text_241240, MSGBOX_DEFAULT special CloseLink - msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, MSGBOX_DEFAULT + msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT release end @@ -1020,7 +1020,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F3E8:: @ 823F3E8 end BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3 - message BattleFrontier_BattleTowerLobby_Text_2792CD + message CableClub_Text_ChooseGroupLeaderOfTwo waitmessage multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT @@ -1031,7 +1031,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3 end BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430 - call BattleFrontier_BattleTowerLobby_EventScript_277B30 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 compare VAR_RESULT, 5 @@ -1044,7 +1044,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430 return BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463 - call BattleFrontier_BattleTowerLobby_EventScript_277B35 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 compare VAR_RESULT, 5 diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index 64cca60dd8..d053c33e48 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -6,7 +6,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92 .byte 0 BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7 - setvar VAR_0x8004, 17 + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY special CallBattlePyramidFunction end @@ -64,7 +64,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77 waitmovement 0 copyobjectxytoperm 1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT special HealPlayerParty @@ -104,7 +104,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5 msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor 10, 1 waitdooranim diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc index 2b14c43c56..8f695aee30 100644 --- a/data/maps/BattleFrontier_Lounge6/scripts.inc +++ b/data/maps/BattleFrontier_Lounge6/scripts.inc @@ -5,7 +5,7 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED lock faceplayer goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_265083 - setvar VAR_0x8008, 3 + setvar VAR_0x8008, INGAME_TRADE_MEOWTH copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index 82b04023fc..854a1d3605 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -265,7 +265,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 fadescreen 1 special CloseBattlePointsWindow special CloseBattleFrontierTutorWindow - special sub_81B892C + special OpenPartyMenuForMoveTutor waitstate compare VAR_RESULT, 0 goto_if_eq BattleFrontier_Lounge7_EventScript_265645 diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc index 06e3a4ff64..1f3d61628e 100644 --- a/data/maps/BattleFrontier_OutsideWest/scripts.inc +++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc @@ -63,7 +63,7 @@ BattleFrontier_OutsideWest_EventScript_23D4AE:: @ 823D4AE BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 3, MAP_BATTLE_FRONTIER_OUTSIDE_WEST @@ -126,16 +126,16 @@ BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D end BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544 - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox BattleFrontier_OutsideWest_Text_23DB7D, MSGBOX_DEFAULT - applymovement 10, Common_Movement_WalkInPlaceLeft + applymovement 10, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox BattleFrontier_OutsideWest_Text_23DBCE, MSGBOX_DEFAULT closemessage delay 25 - applymovement 9, Common_Movement_WalkInPlaceUp - applymovement 10, Common_Movement_WalkInPlaceUp + applymovement 9, Common_Movement_WalkInPlaceFastestUp + applymovement 10, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end @@ -157,7 +157,7 @@ BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F end BattleFrontier_OutsideWest_EventScript_23D5BA:: @ 823D5BA - applymovement 14, Common_Movement_WalkInPlaceUp + applymovement 14, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index 167f9afa02..84aeef1822 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_MapScript1_267904 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/map.json b/data/maps/BattleFrontier_PokemonCenter_2F/map.json index caa6fed8ac..fa93cde5f9 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc index 59ede7f6a5..5a19a9d284 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +BattleFrontier_PokemonCenter_2F_EventScript_Colosseum:: @ 8267AB9 + call CableClub_EventScript_Colosseum end -BattleFrontier_PokemonCenter_2F_EventScript_267ABF:: @ 8267ABF - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +BattleFrontier_PokemonCenter_2F_EventScript_TradeCenter:: @ 8267ABF + call CableClub_EventScript_TradeCenter end -BattleFrontier_PokemonCenter_2F_EventScript_267AC5:: @ 8267AC5 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +BattleFrontier_PokemonCenter_2F_EventScript_RecordCorner:: @ 8267AC5 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 3eac4655b3..640309975a 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -38,9 +38,9 @@ BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229 msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT msgbox BattleFrontier_ReceptionGate_Text_266703, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement 2, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement 2, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index b2d0543804..eeb6f6904c 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -227,22 +227,22 @@ BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8 end BattleFrontier_ScottsHouse_EventScript_263A13:: @ 8263A13 - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_263A1E:: @ 8263A1E - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_263A29:: @ 8263A29 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_263A34:: @ 8263A34 - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc index 9ef54cdc80..a421521831 100644 --- a/data/maps/BirthIsland_Harbor/scripts.inc +++ b/data/maps/BirthIsland_Harbor/scripts.inc @@ -9,7 +9,7 @@ BirthIsland_Harbor_EventScript_26805D:: @ 826805D goto_if_eq BirthIsland_Harbor_EventScript_2680A2 msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_BIRTH_ISLAND_HARBOR diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc index 3b130e756b..5a6383199d 100644 --- a/data/maps/CaveOfOrigin_B1F/scripts.inc +++ b/data/maps/CaveOfOrigin_B1F/scripts.inc @@ -6,7 +6,7 @@ CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9 faceplayer msgbox CaveOfOrigin_B1F_Text_23586E, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 60 playse SE_PIN diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json index cf87f878ae..35ba61064b 100644 --- a/data/maps/DewfordTown_Gym/map.json +++ b/data/maps/DewfordTown_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Gym_EventScript_1FC7C2", + "script": "DewfordTown_Gym_EventScript_Brawly", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC8B7", + "script": "DewfordTown_Gym_EventScript_Takao", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC8D9", + "script": "DewfordTown_Gym_EventScript_Jocelyn", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "DewfordTown_Gym_EventScript_1FC8FB", + "script": "DewfordTown_Gym_EventScript_Laura", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Gym_EventScript_1FC983", + "script": "DewfordTown_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC93F", + "script": "DewfordTown_Gym_EventScript_Cristian", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC961", + "script": "DewfordTown_Gym_EventScript_Lilith", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "DewfordTown_Gym_EventScript_1FC91D", + "script": "DewfordTown_Gym_EventScript_Brenden", "flag": "0" } ], @@ -143,7 +143,7 @@ "y": 23, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9A2" + "script": "DewfordTown_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -151,7 +151,7 @@ "y": 23, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9B2" + "script": "DewfordTown_Gym_EventScript_RightGymStatue" }, { "type": "sign", @@ -159,7 +159,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9A2" + "script": "DewfordTown_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -167,7 +167,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9B2" + "script": "DewfordTown_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index 7e406ea253..2641db5dcd 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -3,186 +3,181 @@ DewfordTown_Gym_MapScripts:: @ 81FC63C .byte 0 DewfordTown_Gym_OnTransition: @ 81FC642 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius end -DewfordTown_Gym_EventScript_1FC648:: @ 81FC648 +DewfordTown_Gym_EventScript_SetFlashRadius:: @ 81FC648 checktrainerflag TRAINER_BRAWLY_1 - goto_if_eq DewfordTown_Gym_EventScript_1FC6A2 - call DewfordTown_Gym_EventScript_1FC768 + goto_if_eq DewfordTown_Gym_EventScript_SetLightsOn + call DewfordTown_Gym_EventScript_CountTrainersDefeated copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 0 - goto_if_eq DewfordTown_Gym_EventScript_1FC6BE + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius7 compare VAR_0x8000, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC6BA + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius6 compare VAR_0x8000, 2 - goto_if_eq DewfordTown_Gym_EventScript_1FC6B6 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius5 compare VAR_0x8000, 3 - goto_if_eq DewfordTown_Gym_EventScript_1FC6B2 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius4 compare VAR_0x8000, 4 - goto_if_eq DewfordTown_Gym_EventScript_1FC6AE + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius3 compare VAR_0x8000, 5 - goto_if_eq DewfordTown_Gym_EventScript_1FC6AA - goto DewfordTown_Gym_EventScript_1FC6A6 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius2 + goto DewfordTown_Gym_EventScript_SetFlashRadius1 -DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2 +DewfordTown_Gym_EventScript_SetLightsOn:: @ 81FC6A2 setflashradius 0 return -DewfordTown_Gym_EventScript_1FC6A6:: @ 81FC6A6 +DewfordTown_Gym_EventScript_SetFlashRadius1:: @ 81FC6A6 setflashradius 1 return -DewfordTown_Gym_EventScript_1FC6AA:: @ 81FC6AA +DewfordTown_Gym_EventScript_SetFlashRadius2:: @ 81FC6AA setflashradius 2 return -DewfordTown_Gym_EventScript_1FC6AE:: @ 81FC6AE +DewfordTown_Gym_EventScript_SetFlashRadius3:: @ 81FC6AE setflashradius 3 return -DewfordTown_Gym_EventScript_1FC6B2:: @ 81FC6B2 +DewfordTown_Gym_EventScript_SetFlashRadius4:: @ 81FC6B2 setflashradius 4 return -DewfordTown_Gym_EventScript_1FC6B6:: @ 81FC6B6 +DewfordTown_Gym_EventScript_SetFlashRadius5:: @ 81FC6B6 setflashradius 5 return -DewfordTown_Gym_EventScript_1FC6BA:: @ 81FC6BA +DewfordTown_Gym_EventScript_SetFlashRadius6:: @ 81FC6BA setflashradius 6 return -DewfordTown_Gym_EventScript_1FC6BE:: @ 81FC6BE +DewfordTown_Gym_EventScript_SetFlashRadius7:: @ 81FC6BE setflashradius 7 return -DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2 - call DewfordTown_Gym_EventScript_1FC768 +DewfordTown_Gym_EventScript_BrightenRoom:: @ 81FC6C2 + call DewfordTown_Gym_EventScript_CountTrainersDefeated nop1 compare VAR_0x8000, VAR_0x8001 - goto_if_eq DewfordTown_Gym_EventScript_1FC71A + goto_if_eq DewfordTown_Gym_EventScript_NoLightChange copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC71B + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash1Trainer compare VAR_0x8000, 2 - goto_if_eq DewfordTown_Gym_EventScript_1FC726 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash2Trainers compare VAR_0x8000, 3 - goto_if_eq DewfordTown_Gym_EventScript_1FC731 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash3Trainers compare VAR_0x8000, 4 - goto_if_eq DewfordTown_Gym_EventScript_1FC73C + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash4Trainers compare VAR_0x8000, 5 - goto_if_eq DewfordTown_Gym_EventScript_1FC747 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash5Trainers compare VAR_0x8000, 6 - goto_if_eq DewfordTown_Gym_EventScript_1FC752 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash6Trainers -DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A +DewfordTown_Gym_EventScript_NoLightChange:: @ 81FC71A return -DewfordTown_Gym_EventScript_1FC71B:: @ 81FC71B +@ NOTE: A little confusingly, a larger animateflash param value is a smaller flash radius +DewfordTown_Gym_EventScript_AnimateFlash1Trainer:: @ 81FC71B playse SE_MU_PACHI animateflash 6 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC726:: @ 81FC726 +DewfordTown_Gym_EventScript_AnimateFlash2Trainers:: @ 81FC726 playse SE_MU_PACHI animateflash 5 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC731:: @ 81FC731 +DewfordTown_Gym_EventScript_AnimateFlash3Trainers:: @ 81FC731 playse SE_MU_PACHI animateflash 4 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC73C:: @ 81FC73C +DewfordTown_Gym_EventScript_AnimateFlash4Trainers:: @ 81FC73C playse SE_MU_PACHI animateflash 3 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC747:: @ 81FC747 +DewfordTown_Gym_EventScript_AnimateFlash5Trainers:: @ 81FC747 playse SE_MU_PACHI animateflash 2 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC752:: @ 81FC752 +DewfordTown_Gym_EventScript_AnimateFlash6Trainers:: @ 81FC752 playse SE_MU_PACHI animateflash 1 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D +DewfordTown_Gym_EventScript_AnimateFlashFullBrightness:: @ 81FC75D playse SE_MU_PACHI animateflash 0 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC768:: @ 81FC768 +DewfordTown_Gym_EventScript_CountTrainersDefeated:: @ 81FC768 setvar VAR_0x8000, 0 checktrainerflag TRAINER_TAKAO - goto_if_lt DewfordTown_Gym_EventScript_1FC77B + goto_if_lt DewfordTown_Gym_EventScript_CheckJocelyn addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B +DewfordTown_Gym_EventScript_CheckJocelyn:: @ 81FC77B checktrainerflag TRAINER_JOCELYN - goto_if_lt DewfordTown_Gym_EventScript_1FC789 + goto_if_lt DewfordTown_Gym_EventScript_CheckLaura addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC789:: @ 81FC789 +DewfordTown_Gym_EventScript_CheckLaura:: @ 81FC789 checktrainerflag TRAINER_LAURA - goto_if_lt DewfordTown_Gym_EventScript_1FC797 + goto_if_lt DewfordTown_Gym_EventScript_CheckBrenden addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC797:: @ 81FC797 +DewfordTown_Gym_EventScript_CheckBrenden:: @ 81FC797 checktrainerflag TRAINER_BRENDEN - goto_if_lt DewfordTown_Gym_EventScript_1FC7A5 + goto_if_lt DewfordTown_Gym_EventScript_CheckCristian addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5 +DewfordTown_Gym_EventScript_CheckCristian:: @ 81FC7A5 checktrainerflag TRAINER_CRISTIAN - goto_if_lt DewfordTown_Gym_EventScript_1FC7B3 + goto_if_lt DewfordTown_Gym_EventScript_CheckLilith addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3 +DewfordTown_Gym_EventScript_CheckLilith:: @ 81FC7B3 checktrainerflag TRAINER_LILITH - goto_if_lt DewfordTown_Gym_EventScript_1FC7C1 + goto_if_lt DewfordTown_Gym_EventScript_StopCountingTrainers addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1 +DewfordTown_Gym_EventScript_StopCountingTrainers:: @ 81FC7C1 return -DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2 - trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7, NO_MUSIC +DewfordTown_Gym_EventScript_Brawly:: @ 81FC7C2 + trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyPreBattle, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC89C - goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1FC878 - msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq DewfordTown_Gym_EventScript_BrawlyRematch + goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2 + msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 - call DewfordTown_Gym_EventScript_1FC75D - message DewfordTown_Gym_Text_1FD07D +DewfordTown_Gym_EventScript_BrawlyDefeated:: @ 81FC7F7 + call DewfordTown_Gym_EventScript_AnimateFlashFullBrightness + message DewfordTown_Gym_Text_ReceivedKnuckleBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox DewfordTown_Gym_Text_1FD0A8, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_DEWFORD_GYM setflag FLAG_BADGE02_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq DewfordTown_Gym_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 2 call Common_EventScript_SetGymTrainers - call DewfordTown_Gym_EventScript_1FC855 + call DewfordTown_Gym_EventScript_GiveBulkUp closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox DewfordTown_Gym_Text_1FD1E0, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_RegisteredBrawly, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -192,124 +187,124 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 release end -DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 +DewfordTown_Gym_EventScript_GiveBulkUp:: @ 81FC855 giveitem_std ITEM_TM08 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM08 return -DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 +DewfordTown_Gym_EventScript_GiveBulkUp2: @ 81FC878 giveitem_std ITEM_TM08 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM08 release end -DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C - trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE - msgbox DewfordTown_Gym_Text_1FD37B, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_BrawlyRematch:: @ 81FC89C + trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyPreRematch, DewfordTown_Gym_Text_BrawlyRematchDefeat, DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons + msgbox DewfordTown_Gym_Text_BrawlyPostRematch, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7 - trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2 - msgbox DewfordTown_Gym_Text_1FCBCA, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Takao:: @ 81FC8B7 + trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_TakaoPreBattle, DewfordTown_Gym_Text_TakaoDefeat, DewfordTown_Gym_EventScript_TakaoBrightenRoom + msgbox DewfordTown_Gym_Text_TakaoPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_TakaoBrightenRoom:: @ 81FC8D2 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9 - trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4 - msgbox DewfordTown_Gym_Text_1FCC6B, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Jocelyn:: @ 81FC8D9 + trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_JocelynPreBattle, DewfordTown_Gym_Text_JocelynDefeat, DewfordTown_Gym_EventScript_JocelynBrightenRoom + msgbox DewfordTown_Gym_Text_JocelynPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_JocelynBrightenRoom:: @ 81FC8F4 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB - trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916 - msgbox DewfordTown_Gym_Text_1FCD4F, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Laura:: @ 81FC8FB + trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_LauraPreBattle, DewfordTown_Gym_Text_LauraDefeat, DewfordTown_Gym_EventScript_LauraBrightenRoom + msgbox DewfordTown_Gym_Text_LauraPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC916:: @ 81FC916 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_LauraBrightenRoom:: @ 81FC916 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D - trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938 - msgbox DewfordTown_Gym_Text_1FCEAB, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Brenden:: @ 81FC91D + trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_BrendenPreBattle, DewfordTown_Gym_Text_BrendenDefeat, DewfordTown_Gym_EventScript_BrendenBrightenRoom + msgbox DewfordTown_Gym_Text_BrendenPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC938:: @ 81FC938 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_BrendenBrightenRoom:: @ 81FC938 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F - trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A - msgbox DewfordTown_Gym_Text_1FCF26, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Cristian:: @ 81FC93F + trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_CristianPreBattle, DewfordTown_Gym_Text_CristianDefeat, DewfordTown_Gym_EventScript_CristianBrightenRoom + msgbox DewfordTown_Gym_Text_CristianPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_CristianBrightenRoom:: @ 81FC95A + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC961:: @ 81FC961 - trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C - msgbox DewfordTown_Gym_Text_1FCE08, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Lilith:: @ 81FC961 + trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_LilithPreBattle, DewfordTown_Gym_Text_LilithDefeat, DewfordTown_Gym_EventScript_LilithBrightenRoom + msgbox DewfordTown_Gym_Text_LilithPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_LilithBrightenRoom:: @ 81FC97C + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC983:: @ 81FC983 +DewfordTown_Gym_EventScript_GymGuide:: @ 81FC983 lock faceplayer - goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_1FC998 - msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_GymGuidePostVictory + msgbox DewfordTown_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC998:: @ 81FC998 - msgbox DewfordTown_Gym_Text_1FCB5C, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymGuidePostVictory:: @ 81FC998 + msgbox DewfordTown_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2 +DewfordTown_Gym_EventScript_LeftGymStatue:: @ 81FC9A2 lockall - goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 - goto DewfordTown_Gym_EventScript_1FC9CC + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified + goto DewfordTown_Gym_EventScript_GymStatue end -DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2 +DewfordTown_Gym_EventScript_RightGymStatue:: @ 81FC9B2 lockall - goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 - goto DewfordTown_Gym_EventScript_1FC9CC + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified + goto DewfordTown_Gym_EventScript_GymStatue end -DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2 - msgbox DewfordTown_Gym_Text_1FD28B, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymStatueCertified:: @ 81FC9C2 + msgbox DewfordTown_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC - msgbox DewfordTown_Gym_Text_1FD272, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymStatue:: @ 81FC9CC + msgbox DewfordTown_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6 +DewfordTown_Gym_Text_GymGuideAdvice: @ 81FC9D6 .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "DEWFORD's GYM LEADER BRAWLY commands\n" @@ -325,88 +320,88 @@ DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6 .string "the TRAINERS in your way.\p" .string "Hey, okay, go for it!$" -DewfordTown_Gym_Text_1FCB5C: @ 81FCB5C +DewfordTown_Gym_Text_GymGuidePostVictory: @ 81FCB5C .string "Whoah! It's turned too bright in here!\p" .string "Your future is bright, too!$" -DewfordTown_Gym_Text_1FCB9F: @ 81FCB9F +DewfordTown_Gym_Text_TakaoPreBattle: @ 81FCB9F .string "Might is right!\n" .string "Come on!$" -DewfordTown_Gym_Text_1FCBB8: @ 81FCBB8 +DewfordTown_Gym_Text_TakaoDefeat: @ 81FCBB8 .string "Not enough power…$" -DewfordTown_Gym_Text_1FCBCA: @ 81FCBCA +DewfordTown_Gym_Text_TakaoPostBattle: @ 81FCBCA .string "Your skill overcame my strength!\n" .string "Your technique is commendable!$" -DewfordTown_Gym_Text_1FCC0A: @ 81FCC0A +DewfordTown_Gym_Text_JocelynPreBattle: @ 81FCC0A .string "There's no need for BRAWLY to be\n" .string "involved!\p" .string "I'll crush you!$" -DewfordTown_Gym_Text_1FCC45: @ 81FCC45 +DewfordTown_Gym_Text_JocelynDefeat: @ 81FCC45 .string "But… How?\n" .string "How could I lose so easily?$" -DewfordTown_Gym_Text_1FCC6B: @ 81FCC6B +DewfordTown_Gym_Text_JocelynPostBattle: @ 81FCC6B .string "I'm not going to waste this loss.\n" .string "I'll use it to motivate me to train!\p" .string "One day I'll become a GYM LEADER…\p" .string "No, I'll become the POKéMON LEAGUE\n" .string "CHAMPION!$" -DewfordTown_Gym_Text_1FCD01: @ 81FCD01 +DewfordTown_Gym_Text_LauraPreBattle: @ 81FCD01 .string "Don't you dare brush me off!\n" .string "It's not my fault if you cry!$" -DewfordTown_Gym_Text_1FCD3C: @ 81FCD3C +DewfordTown_Gym_Text_LauraDefeat: @ 81FCD3C .string "Waaaaaaah!\n" .string "I lost!$" -DewfordTown_Gym_Text_1FCD4F: @ 81FCD4F +DewfordTown_Gym_Text_LauraPostBattle: @ 81FCD4F .string "I battle in the dark to make my heart\n" .string "stronger.\p" .string "But because it's so dark, I can never\n" .string "see BRAWLY's face…$" -DewfordTown_Gym_Text_1FCDB8: @ 81FCDB8 +DewfordTown_Gym_Text_LilithPreBattle: @ 81FCDB8 .string "Ufufu…\n" .string "Are you stumbling around in the dark?$" -DewfordTown_Gym_Text_1FCDE5: @ 81FCDE5 +DewfordTown_Gym_Text_LilithDefeat: @ 81FCDE5 .string "Oh, you…\n" .string "I don't want to know you!$" -DewfordTown_Gym_Text_1FCE08: @ 81FCE08 +DewfordTown_Gym_Text_LilithPostBattle: @ 81FCE08 .string "You deserve to stay lost and end up\n" .string "back at the entrance again!$" -DewfordTown_Gym_Text_1FCE48: @ 81FCE48 +DewfordTown_Gym_Text_BrendenPreBattle: @ 81FCE48 .string "I'll show you the gumption of\n" .string "a sailing man!$" -DewfordTown_Gym_Text_1FCE75: @ 81FCE75 +DewfordTown_Gym_Text_BrendenDefeat: @ 81FCE75 .string "How'd this happen?\n" .string "It's not like me to lose this way!$" -DewfordTown_Gym_Text_1FCEAB: @ 81FCEAB +DewfordTown_Gym_Text_BrendenPostBattle: @ 81FCEAB .string "Oh, aye! You're worthy of seeing\n" .string "our GYM LEADER.$" -DewfordTown_Gym_Text_1FCEDC: @ 81FCEDC +DewfordTown_Gym_Text_CristianPreBattle: @ 81FCEDC .string "If you mean to pass, it has to be\n" .string "through me!$" -DewfordTown_Gym_Text_1FCF0A: @ 81FCF0A +DewfordTown_Gym_Text_CristianDefeat: @ 81FCF0A .string "Grrrrr!\n" .string "Vastly overpowered!$" -DewfordTown_Gym_Text_1FCF26: @ 81FCF26 +DewfordTown_Gym_Text_CristianPostBattle: @ 81FCF26 .string "You win!\n" .string "Go after that BADGE!$" -DewfordTown_Gym_Text_1FCF44: @ 81FCF44 +DewfordTown_Gym_Text_BrawlyPreBattle: @ 81FCF44 .string "I'm BRAWLY!\n" .string "DEWFORD's GYM LEADER!\p" .string "I've been churned in the rough waves\n" @@ -415,18 +410,18 @@ DewfordTown_Gym_Text_1FCF44: @ 81FCF44 .string "So you wanted to challenge me?\n" .string "Let me see what you're made of!$" -DewfordTown_Gym_Text_1FD008: @ 81FD008 +DewfordTown_Gym_Text_BrawlyDefeat: @ 81FD008 .string "Whoah, wow! You made a much bigger\n" .string "splash than I expected!\p" .string "You swamped me!\p" .string "Okay, you've got me.\n" .string "Take this GYM BADGE!$" -DewfordTown_Gym_Text_1FD07D: @ 81FD07D +DewfordTown_Gym_Text_ReceivedKnuckleBadge: @ 81FD07D .string "{PLAYER} received the KNUCKLE BADGE\n" .string "from BRAWLY.$" -DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8 +DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis: @ 81FD0A8 .string "The KNUCKLE BADGE makes all POKéMON\n" .string "up to Level 30, even those you get in\l" .string "trades, obey without question.\p" @@ -435,30 +430,30 @@ DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8 .string "If you'd like, use this TECHNICAL\n" .string "MACHINE, too.$" -DewfordTown_Gym_Text_1FD181: @ 81FD181 +DewfordTown_Gym_Text_ExplainBulkUp: @ 81FD181 .string "That TM08 contains BULK UP.\p" .string "It's a move that raises both ATTACK\n" .string "and DEFENSE stats.\p" .string "… … … … … …$" -DewfordTown_Gym_Text_1FD1E0: @ 81FD1E0 +DewfordTown_Gym_Text_RegisteredBrawly: @ 81FD1E0 .string "Registered GYM LEADER BRAWLY\n" .string "in the POKéNAV.$" -DewfordTown_Gym_Text_1FD20D: @ 81FD20D +DewfordTown_Gym_Text_BrawlyPostBattle: @ 81FD20D .string "I can see your talent becoming a giant\n" .string "wave to cause a storm of astonishment\l" .string "among TRAINERS one day!$" -DewfordTown_Gym_Text_1FD272: @ 81FD272 +DewfordTown_Gym_Text_GymStatue: @ 81FD272 .string "DEWFORD TOWN POKéMON GYM$" -DewfordTown_Gym_Text_1FD28B: @ 81FD28B +DewfordTown_Gym_Text_GymStatueCertified: @ 81FD28B .string "DEWFORD TOWN POKéMON GYM\p" .string "BRAWLY'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4 +DewfordTown_Gym_Text_BrawlyPreRematch: @ 81FD2C4 .string "BRAWLY: A wave may draw back, but it\n" .string "always returns to the shore.\p" .string "A giant wave of a talent like you…\n" @@ -466,16 +461,16 @@ DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4 .string "Show me how much higher\n" .string "you've gone!$" -DewfordTown_Gym_Text_1FD367: @ 81FD367 +DewfordTown_Gym_Text_BrawlyRematchDefeat: @ 81FD367 .string "Wow!\n" .string "Swamped again!$" -DewfordTown_Gym_Text_1FD37B: @ 81FD37B +DewfordTown_Gym_Text_BrawlyPostRematch: @ 81FD37B .string "BRAWLY: Battling is vast and it's deep.\n" .string "You can't see the bottom.\l" .string "It's just like the sea of HOENN!$" -DewfordTown_Gym_Text_1FD3DE: @ 81FD3DE +DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons: @ 81FD3DE .string "BRAWLY: A wave may draw back, but it\n" .string "always returns to the shore.\p" .string "A giant wave of a talent like you…\n" diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index 2e6fd2cdda..9790753cfe 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -53,7 +53,7 @@ DewfordTown_Hall_EventScript_1FD547:: @ 81FD547 call DewfordTown_Hall_EventScript_271E8B msgbox DewfordTown_Hall_Text_1FDA5C, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end @@ -64,7 +64,7 @@ DewfordTown_Hall_EventScript_1FD563:: @ 81FD563 call DewfordTown_Hall_EventScript_271E8B msgbox DewfordTown_Hall_Text_1FDA99, MSGBOX_DEFAULT closemessage - applymovement 5, Common_Movement_WalkInPlaceUp + applymovement 5, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end @@ -200,7 +200,7 @@ DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B compare VAR_FACING, DIR_EAST goto_if_eq DewfordTown_Hall_EventScript_1FD739 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -224,19 +224,19 @@ DewfordTown_Hall_EventScript_1FD793:: @ 81FD793 return DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0 compare VAR_FACING, DIR_WEST goto_if_eq DewfordTown_Hall_EventScript_1FD739 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index bde0f84fba..6fc9abb99d 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, DewfordTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 DewfordTown_PokemonCenter_1F_OnTransition: @ 81FC52E diff --git a/data/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json index 2792a9a20b..6ebca2ae0c 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc index f49560d8ca..df8539f0b7 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615 - map_script MAP_SCRIPT_ON_FRAME_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, DewfordTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +DewfordTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC62A + call CableClub_EventScript_Colosseum end -DewfordTown_PokemonCenter_2F_EventScript_1FC630:: @ 81FC630 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +DewfordTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC630 + call CableClub_EventScript_TradeCenter end -DewfordTown_PokemonCenter_2F_EventScript_1FC636:: @ 81FC636 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +DewfordTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC636 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 99a1a6eb37..22acc0361d 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -1,140 +1,140 @@ EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A05 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A14 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_OnFrame .byte 0 EverGrandeCity_ChampionsRoom_OnTransition: @ 82289FF call Common_EventScript_SetupRivalGfxId end -EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F +EverGrandeCity_ChampionsRoom_OnWarp: @ 8228A05 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F +EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth:: @ 8228A0F turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E +EverGrandeCity_ChampionsRoom_OnFrame: @ 8228A14 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_EnterRoom .2byte 0 -EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E +EverGrandeCity_ChampionsRoom_EventScript_EnterRoom:: @ 8228A1E lockall - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp4 waitmovement 0 delay 40 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace waitmovement 0 setvar VAR_TEMP_1, 1 - goto EverGrandeCity_ChampionsRoom_EventScript_228A45 + goto EverGrandeCity_ChampionsRoom_EventScript_Wallace releaseall end -EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42 +EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace: @ 8228A42 walk_up walk_up step_end -EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45 +EverGrandeCity_ChampionsRoom_EventScript_Wallace:: @ 8228A45 playbgm MUS_DAIGO, 0 - msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_228EAC - goto EverGrandeCity_ChampionsRoom_EventScript_228A61 + msgbox EverGrandeCity_ChampionsRoom_Text_PreBattleSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_Defeat + goto EverGrandeCity_ChampionsRoom_EventScript_Defeated end -EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61 +EverGrandeCity_ChampionsRoom_EventScript_Defeated:: @ 8228A61 playse SE_DOOR setmetatile 6, 1, METATILE_EliteFour_OpenDoorChampion_Frame, 0 setmetatile 6, 2, METATILE_EliteFour_OpenDoorChampion_Opening, 0 special DrawWholeMapView - msgbox EverGrandeCity_ChampionsRoom_Text_228F66, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT closemessage playse SE_DOOR checkplayergender compare VAR_RESULT, MALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic addobject 2 - call EverGrandeCity_ChampionsRoom_EventScript_228BFD + call EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer checkplayergender compare VAR_RESULT, MALE - goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayAdvice compare VAR_RESULT, FEMALE - goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice end -EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC +EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic:: @ 8228ABC playbgm MUS_GIRL_SUP, 0 return -EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1 +EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic:: @ 8228AC1 playbgm MUS_BOY_SUP, 0 return -EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6 - msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_MayAdvice:: @ 8228AC6 + msgbox EverGrandeCity_ChampionsRoom_Text_MayAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - call EverGrandeCity_ChampionsRoom_EventScript_228C12 - msgbox EverGrandeCity_ChampionsRoom_Text_22910B, MSGBOX_DEFAULT - goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth + msgbox EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver, MSGBOX_DEFAULT + goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF end -EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB - msgbox EverGrandeCity_ChampionsRoom_Text_229152, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice:: @ 8228AFB + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - call EverGrandeCity_ChampionsRoom_EventScript_228C12 - msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, MSGBOX_DEFAULT - goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon, MSGBOX_DEFAULT + goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF end -EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 +EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF:: @ 8228B30 closemessage addobject 3 - applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43 + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_BirchArrives waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT - call EverGrandeCity_ChampionsRoom_EventScript_272184 - msgbox EverGrandeCity_ChampionsRoom_Text_22934D, MSGBOX_DEFAULT - applymovement 1, Common_Movement_WalkInPlaceUp + msgbox EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex, MSGBOX_DEFAULT + call ProfBirch_EventScript_RatePokedex + msgbox EverGrandeCity_ChampionsRoom_Text_BirchCongratulations, MSGBOX_DEFAULT + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_229399, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe, MSGBOX_DEFAULT closemessage delay 30 - applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalFollows waitmovement 0 delay 20 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside, MSGBOX_DEFAULT checkplayergender compare VAR_RESULT, MALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations compare VAR_RESULT, FEMALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations closemessage - applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExit + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExit waitmovement 0 setflag FLAG_HIDE_PETALBURG_GYM_GREETER warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16 @@ -142,32 +142,32 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 releaseall end -EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB - msgbox EverGrandeCity_ChampionsRoom_Text_229479, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations:: @ 8228BEB + msgbox EverGrandeCity_ChampionsRoom_Text_MayCongratulations, MSGBOX_DEFAULT return -EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4 - msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations:: @ 8228BF4 + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations, MSGBOX_DEFAULT return -EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26 +EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer:: @ 8228BFD + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -EverGrandeCity_ChampionsRoom_EventScript_228C12:: @ 8228C12 - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C2F +EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth:: @ 8228C12 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth waitmovement 0 return -EverGrandeCity_ChampionsRoom_Movement_228C1D: @ 8228C1D +EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart: @ 8228C1D walk_up walk_up step_end -EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20 +EverGrandeCity_ChampionsRoom_Movement_PlayerExit: @ 8228C20 walk_up delay_16 walk_up @@ -175,7 +175,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20 set_invisible step_end -EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26 +EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer: @ 8228C26 walk_up walk_up walk_up @@ -186,7 +186,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26 walk_in_place_fastest_right step_end -EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F +EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth: @ 8228C2F walk_in_place_fastest_up delay_16 walk_in_place_fastest_right @@ -197,24 +197,24 @@ EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F delay_16 step_end -EverGrandeCity_ChampionsRoom_Movement_228C38: @ 8228C38 +EverGrandeCity_ChampionsRoom_Movement_RivalFollows: @ 8228C38 walk_right walk_up step_end -EverGrandeCity_ChampionsRoom_Movement_228C3B: @ 8228C3B +EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart: @ 8228C3B walk_up walk_up walk_in_place_fastest_down step_end -EverGrandeCity_ChampionsRoom_Movement_228C3F: @ 8228C3F +EverGrandeCity_ChampionsRoom_Movement_WallaceExit: @ 8228C3F walk_up delay_8 set_invisible step_end -EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43 +EverGrandeCity_ChampionsRoom_Movement_BirchArrives: @ 8228C43 walk_up walk_up walk_up @@ -225,7 +225,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43 walk_in_place_fastest_left step_end -EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C +EverGrandeCity_ChampionsRoom_Text_PreBattleSpeech: @ 8228C4C .string "WALLACE: Welcome, {PLAYER}{KUN}.\p" .string "That incident in SOOTOPOLIS CITY…\n" .string "That was superb work, putting an end\l" @@ -248,7 +248,7 @@ EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C .string "their POKéMON in HOENN?\p" .string "Show me right here and now!$" -EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC +EverGrandeCity_ChampionsRoom_Text_Defeat: @ 8228EAC .string "I, the CHAMPION, fall in defeat…\p" .string "That was wonderful work.\n" .string "You were elegant, infuriatingly so.\l" @@ -257,7 +257,7 @@ EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC .string "You are a truly noble POKéMON\n" .string "TRAINER!$" -EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66 +EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech: @ 8228F66 .string "WALLACE: The POKéMON you sent into\n" .string "battle…\p" .string "At times they danced like a spring\n" @@ -272,29 +272,29 @@ EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66 .string "I now proclaim you to be the new\n" .string "HOENN region…$" -EverGrandeCity_ChampionsRoom_Text_2290CA: @ 82290CA +EverGrandeCity_ChampionsRoom_Text_MayAdvice: @ 82290CA .string "MAY: {PLAYER}{KUN}!\p" .string "Here's some advice before you challenge\n" .string "the CHAMPION…$" -EverGrandeCity_ChampionsRoom_Text_22910B: @ 822910B +EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver: @ 822910B .string "MAY: Huh?\n" .string "What, what, what?\p" .string "{PLAYER}{KUN}…\n" .string "Could it be that…\l" .string "It's already over?$" -EverGrandeCity_ChampionsRoom_Text_229152: @ 8229152 +EverGrandeCity_ChampionsRoom_Text_BrendanAdvice: @ 8229152 .string "BRENDAN: {PLAYER}!\p" .string "How would you like some advice before\n" .string "you challenge the CHAMPION?…$" -EverGrandeCity_ChampionsRoom_Text_2291A2: @ 82291A2 +EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon: @ 82291A2 .string "BRENDAN: {PLAYER}…\p" .string "Are you trying to tell me…\n" .string "You've beaten the CHAMPION?$" -EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6 +EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex: @ 82291E6 .string "PROF. BIRCH: See?\n" .string "What did I tell you, {RIVAL}?\p" .string "Didn't I tell you that you don't need\n" @@ -310,25 +310,25 @@ EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6 .string "What became of your POKéDEX?\n" .string "Here, let me see.$" -EverGrandeCity_ChampionsRoom_Text_22934D: @ 822934D +EverGrandeCity_ChampionsRoom_Text_BirchCongratulations: @ 822934D .string "PROF. BIRCH: Anyways,\n" .string "congratulations!\p" .string "Now, go proudly into the final room!$" -EverGrandeCity_ChampionsRoom_Text_229399: @ 8229399 +EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe: @ 8229399 .string "WALLACE: {PLAYER}{KUN}…\p" .string "No, let me rephrase that properly.\p" .string "The new CHAMPION!\p" .string "Come with me.$" -EverGrandeCity_ChampionsRoom_Text_2293EB: @ 82293EB +EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside: @ 82293EB .string "WALLACE: I'm sorry, but…\p" .string "From here on, only those TRAINERS who\n" .string "have become CHAMPIONS may enter.\p" .string "You'll have to wait outside with\n" .string "PROF. BIRCH.$" -EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479 +EverGrandeCity_ChampionsRoom_Text_MayCongratulations: @ 8229479 .string "MAY: Groan…\p" .string "… … … … … … … …\n" .string "… … … … … … … …\p" @@ -337,7 +337,7 @@ EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479 .string "{PLAYER}{KUN}!\n" .string "Honestly, congratulations!$" -EverGrandeCity_ChampionsRoom_Text_2294F5: @ 82294F5 +EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations: @ 82294F5 .string "BRENDAN: Whaaaat?! … … … … …\n" .string "… … … … … … … …\p" .string "It can't be helped if that's the rule.\p" diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json index 4fb0d16ef6..5ff9107909 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/map.json +++ b/data/maps/EverGrandeCity_DrakesRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_DrakesRoom_EventScript_2286F3", + "script": "EverGrandeCity_DrakesRoom_EventScript_Drake", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index bfc1b60278..e2623e28c1 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -1,67 +1,68 @@ EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_MapScript2_2286BB - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_MapScript1_2286D2 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_DrakesRoom_MapScript2_227F3E + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_OnFrame + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp .byte 0 -EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6 +@ Unused, Drake uses Sidneys identical OnWarp for some reason +EverGrandeCity_DrakesRoom_OnWarp: @ 82286AC + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 +EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth:: @ 82286B6 turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB - map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_2286C5 +EverGrandeCity_DrakesRoom_OnFrame: @ 82286BB + map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5 +EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor:: @ 82286C5 lockall - call EverGrandeCity_DrakesRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 4 releaseall end -EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2 - call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_2286E7 +EverGrandeCity_DrakesRoom_OnLoad: @ 82286D2 + call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 4 - call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED + call_if_eq EverGrandeCity_DrakesRoom_EventScript_CloseDoor end -EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7 - call EverGrandeCity_DrakesRoom_EventScript_2724BC +EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82286E7 + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED - call EverGrandeCity_DrakesRoom_EventScript_27255F +EverGrandeCity_DrakesRoom_EventScript_CloseDoor:: @ 82286ED + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3 +EverGrandeCity_DrakesRoom_EventScript_Drake:: @ 82286F3 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_22871A + goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895 - goto EverGrandeCity_DrakesRoom_EventScript_228724 + msgbox EverGrandeCity_DrakesRoom_Text_PreBattleSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_Defeat + goto EverGrandeCity_DrakesRoom_EventScript_Defeated end -EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A - msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT +EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech:: @ 822871A + msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724 +EverGrandeCity_DrakesRoom_EventScript_Defeated:: @ 8228724 setvar VAR_0x8004, 0 special sub_813BF7C setflag FLAG_DEFEATED_ELITE_4_DRAKE - call EverGrandeCity_DrakesRoom_EventScript_2723F8 - msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E +EverGrandeCity_DrakesRoom_Text_PreBattleSpeech: @ 822873E .string "I am the last of the POKéMON LEAGUE\n" .string "ELITE FOUR, DRAKE the DRAGON master!\p" .string "In their natural state, POKéMON are\n" @@ -74,10 +75,10 @@ EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E .string "If you don't, then you will never\n" .string "prevail over me!$" -EverGrandeCity_DrakesRoom_Text_228895: @ 8228895 +EverGrandeCity_DrakesRoom_Text_Defeat: @ 8228895 .string "Superb, it should be said.$" -EverGrandeCity_DrakesRoom_Text_2288B0: @ 82288B0 +EverGrandeCity_DrakesRoom_Text_PostBattleSpeech: @ 82288B0 .string "You deserve every credit for coming\n" .string "this far as a TRAINER of POKéMON.\p" .string "You do seem to know what is needed.\p" diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json index ea3116460d..8d220202e4 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/map.json +++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_GlaciasRoom_EventScript_228469", + "script": "EverGrandeCity_GlaciasRoom_EventScript_Glacia", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index 00e829930c..6836b886db 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -1,65 +1,65 @@ EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228431 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_MapScript1_228448 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228422 + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_OnFrame + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_OnWarp .byte 0 -EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C +EverGrandeCity_GlaciasRoom_OnWarp: @ 8228422 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C +EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth:: @ 822842C turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431 - map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_22843B +EverGrandeCity_GlaciasRoom_OnFrame: @ 8228431 + map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B +EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor:: @ 822843B lockall - call EverGrandeCity_GlaciasRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 3 releaseall end -EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448 - call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_22845D +EverGrandeCity_GlaciasRoom_OnLoad: @ 8228448 + call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 3 - call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463 + call_if_eq EverGrandeCity_GlaciasRoom_EventScript_CloseDoor end -EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D - call EverGrandeCity_GlaciasRoom_EventScript_2724BC +EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom:: @ 822845D + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463 - call EverGrandeCity_GlaciasRoom_EventScript_27255F +EverGrandeCity_GlaciasRoom_EventScript_CloseDoor:: @ 8228463 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469 +EverGrandeCity_GlaciasRoom_EventScript_Glacia:: @ 8228469 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_228490 + goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4 - goto EverGrandeCity_GlaciasRoom_EventScript_22849A + msgbox EverGrandeCity_GlaciasRoom_Text_PreBattleSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_Defeat + goto EverGrandeCity_GlaciasRoom_EventScript_Defeated end -EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490 - msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT +EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech:: @ 8228490 + msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A +EverGrandeCity_GlaciasRoom_EventScript_Defeated:: @ 822849A setflag FLAG_DEFEATED_ELITE_4_GLACIA - call EverGrandeCity_GlaciasRoom_EventScript_2723F8 - msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC +EverGrandeCity_GlaciasRoom_Text_PreBattleSpeech: @ 82284AC .string "Welcome, my name is GLACIA\n" .string "of the ELITE FOUR.\p" .string "I've traveled from afar to HOENN\n" @@ -70,14 +70,14 @@ EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC .string "It would please me to no end if I could\n" .string "go all out against you!$" -EverGrandeCity_GlaciasRoom_Text_2285B4: @ 82285B4 +EverGrandeCity_GlaciasRoom_Text_Defeat: @ 82285B4 .string "You and your POKéMON…\n" .string "How hot your spirits burn!\p" .string "The all-consuming heat overwhelms.\p" .string "It's no surprise that my icy skills\n" .string "failed to harm you.$" -EverGrandeCity_GlaciasRoom_Text_228640: @ 8228640 +EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech: @ 8228640 .string "Advance to the next room.\p" .string "And there, confirm the truly fearsome\n" .string "side of the POKéMON LEAGUE.$" diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index ebfcb3311a..638e18eb51 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -20,8 +20,8 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 applymovement 1, EverGrandeCity_HallOfFame_Movement_229901 applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901 waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT closemessage @@ -29,13 +29,13 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908 waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 dofieldeffect FLDEFF_HALL_OF_FAME_RECORD diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json index a0072fd08f..73ee3357d1 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/map.json +++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PhoebesRoom_EventScript_2281CB", + "script": "EverGrandeCity_PhoebesRoom_EventScript_Phoebe", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index b5a3a9999b..4843359c01 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -1,65 +1,65 @@ EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_MapScript1_2281AA - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228184 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228193 + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_OnFrame .byte 0 -EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E +EverGrandeCity_PhoebesRoom_OnWarp: @ 8228184 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E +EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth:: @ 822818E turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193 - map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_22819D +EverGrandeCity_PhoebesRoom_OnFrame: @ 8228193 + map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D +EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor:: @ 822819D lockall - call EverGrandeCity_PhoebesRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 2 releaseall end -EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA - call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281BF +EverGrandeCity_PhoebesRoom_OnLoad: @ 82281AA + call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 2 - call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5 + call_if_eq EverGrandeCity_PhoebesRoom_EventScript_CloseDoor end -EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF - call EverGrandeCity_PhoebesRoom_EventScript_2724BC +EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82281BF + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5 - call EverGrandeCity_PhoebesRoom_EventScript_27255F +EverGrandeCity_PhoebesRoom_EventScript_CloseDoor:: @ 82281C5 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB +EverGrandeCity_PhoebesRoom_EventScript_Phoebe:: @ 82281CB lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281F2 + goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325 - goto EverGrandeCity_PhoebesRoom_EventScript_2281FC + msgbox EverGrandeCity_PhoebesRoom_Text_PreBattleSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_Defeat + goto EverGrandeCity_PhoebesRoom_EventScript_Defeated end -EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2 - msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT +EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech:: @ 82281F2 + msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC +EverGrandeCity_PhoebesRoom_EventScript_Defeated:: @ 82281FC setflag FLAG_DEFEATED_ELITE_4_PHOEBE - call EverGrandeCity_PhoebesRoom_EventScript_2723F8 - msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E +EverGrandeCity_PhoebesRoom_Text_PreBattleSpeech: @ 822820E .string "Ahahaha!\p" .string "I'm PHOEBE of the ELITE FOUR.\n" .string "I did my training on MT. PYRE.\p" @@ -70,11 +70,11 @@ EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E .string "So, come on, just try and see if you can\n" .string "even inflict damage on my POKéMON!$" -EverGrandeCity_PhoebesRoom_Text_228325: @ 8228325 +EverGrandeCity_PhoebesRoom_Text_Defeat: @ 8228325 .string "Oh, darn.\n" .string "I've gone and lost.$" -EverGrandeCity_PhoebesRoom_Text_228343: @ 8228343 +EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech: @ 8228343 .string "There's a definite bond between you\n" .string "and your POKéMON, too.\p" .string "I didn't recognize it, so it's only\n" diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index e3bf7ada8d..2d1f1de37c 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 EverGrandeCity_PokemonCenter_1F_OnTransition: @ 8229A3F diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json index f1dcd3868b..b995908296 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc index 690032b8a4..f52419d605 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc @@ -1,20 +1,21 @@ EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +EverGrandeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8229CF5 + call CableClub_EventScript_Colosseum end -EverGrandeCity_PokemonCenter_2F_EventScript_229CFB:: @ 8229CFB - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +EverGrandeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8229CFB + call CableClub_EventScript_TradeCenter end -EverGrandeCity_PokemonCenter_2F_EventScript_229D01:: @ 8229D01 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +EverGrandeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8229D01 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index 55c09d444f..84693e2fac 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -1,6 +1,6 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 EverGrandeCity_PokemonLeague_1F_OnTransition: @ 82295DD diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json index 0d0bb68a10..a016be34be 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc index 2a2652938d..b860f95b87 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc @@ -1,19 +1,20 @@ EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +EverGrandeCity_PokemonLeague_2F_EventScript_Colosseum:: @ 8229D1C + call CableClub_EventScript_Colosseum end -EverGrandeCity_PokemonLeague_2F_EventScript_229D22:: @ 8229D22 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +EverGrandeCity_PokemonLeague_2F_EventScript_TradeCenter:: @ 8229D22 + call CableClub_EventScript_TradeCenter end -EverGrandeCity_PokemonLeague_2F_EventScript_229D28:: @ 8229D28 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +EverGrandeCity_PokemonLeague_2F_EventScript_RecordCorner:: @ 8229D28 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json index 87545b5973..0aa57a944b 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/map.json +++ b/data/maps/EverGrandeCity_SidneysRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_SidneysRoom_EventScript_227F64", + "script": "EverGrandeCity_SidneysRoom_EventScript_Sidney", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 432747fdaf..74cd384fb9 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -1,8 +1,8 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_MapScript1_227F1D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F3E + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_SidneysRoom_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F4D + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_OnFrame .byte 0 EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16 @@ -10,63 +10,62 @@ EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16 setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT end -EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D - call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32 +EverGrandeCity_SidneysRoom_OnLoad: @ 8227F1D + call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 1 - call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38 + call_if_eq EverGrandeCity_SidneysRoom_EventScript_CloseDoor end -EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32 - call EverGrandeCity_SidneysRoom_EventScript_2724BC +EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom:: @ 8227F32 + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38 - call EverGrandeCity_SidneysRoom_EventScript_27255F +EverGrandeCity_SidneysRoom_EventScript_CloseDoor:: @ 8227F38 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E -EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_227F48 +EverGrandeCity_SidneysRoom_OnWarp: @ 8227F3E + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 +EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth:: @ 8227F48 turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D - map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_227F57 +EverGrandeCity_SidneysRoom_OnFrame: @ 8227F4D + map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57 +EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor:: @ 8227F57 lockall - call EverGrandeCity_SidneysRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 1 releaseall end -EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64 +EverGrandeCity_SidneysRoom_EventScript_Sidney:: @ 8227F64 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F8B + goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2 - goto EverGrandeCity_SidneysRoom_EventScript_227F95 + msgbox EverGrandeCity_SidneysRoom_Text_PreBattleSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_Defeat + goto EverGrandeCity_SidneysRoom_EventScript_Defeated end -EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B - msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT +EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech:: @ 8227F8B + msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95 +EverGrandeCity_SidneysRoom_EventScript_Defeated:: @ 8227F95 setflag FLAG_DEFEATED_ELITE_4_SIDNEY - call EverGrandeCity_SidneysRoom_EventScript_2723F8 - msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7 +EverGrandeCity_SidneysRoom_Text_PreBattleSpeech: @ 8227FA7 .string "Welcome, challenger!\n" .string "I'm SIDNEY of the ELITE FOUR.\p" .string "I like that look you're giving me.\n" @@ -76,11 +75,11 @@ EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7 .string "a battle that can only be staged\l" .string "here in the POKéMON LEAGUE!$" -EverGrandeCity_SidneysRoom_Text_2280A2: @ 82280A2 +EverGrandeCity_SidneysRoom_Text_Defeat: @ 82280A2 .string "Well, how do you like that? I lost!\n" .string "Eh, it was fun, so it doesn't matter.$" -EverGrandeCity_SidneysRoom_Text_2280EC: @ 82280EC +EverGrandeCity_SidneysRoom_Text_PostBattleSpeech: @ 82280EC .string "Well, listen to what this loser has\n" .string "to say.\p" .string "You've got what it takes to go far.\n" diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json index 9248eec875..60b0be26ae 100644 --- a/data/maps/FallarborTown_Mart/map.json +++ b/data/maps/FallarborTown_Mart/map.json @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_2C80B6", + "script": "FallarborTown_Mart_EventScript_MetronomeTutor", "flag": "0" } ], diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index 5954ca787a..db9122b6d0 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, FallarborTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 FallarborTown_PokemonCenter_1F_OnTransition: @ 8200BD8 diff --git a/data/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json index 029a4a9c66..60bca57a90 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc index 0d53326474..e9912ee686 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB - map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, FallarborTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +FallarborTown_PokemonCenter_2F_EventScript_Colosseum:: @ 8200F00 + call CableClub_EventScript_Colosseum end -FallarborTown_PokemonCenter_2F_EventScript_200F06:: @ 8200F06 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +FallarborTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8200F06 + call CableClub_EventScript_TradeCenter end -FallarborTown_PokemonCenter_2F_EventScript_200F0C:: @ 8200F0C - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +FallarborTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8200F0C + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index e0d54233b1..f69bca3779 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -24,7 +24,7 @@ FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2 goto_if_eq FarawayIsland_Entrance_EventScript_267CE7 msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_FARAWAY_ISLAND_ENTRANCE diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc index 30f617f78a..34853336d8 100644 --- a/data/maps/FortreeCity/scripts.inc +++ b/data/maps/FortreeCity/scripts.inc @@ -8,7 +8,7 @@ FortreeCity_OnTransition: @ 81E25AF end FortreeCity_MapScript1_1E25B3: @ 81E25B3 - setstepcallback 2 + setstepcallback STEP_CB_FORTREE_BRIDGE end FortreeCity_EventScript_1E25B6:: @ 81E25B6 @@ -72,7 +72,7 @@ FortreeCity_EventScript_1E2630:: @ 81E2630 FortreeCity_EventScript_1E2645:: @ 81E2645 msgbox FortreeCity_Text_1E2A48, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7 + applymovement VAR_LAST_TALKED, Movement_KecleonAppears waitmovement 0 waitse playmoncry SPECIES_KECLEON, 2 diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json index f985b2ce47..7b17c58c0c 100644 --- a/data/maps/FortreeCity_Gym/map.json +++ b/data/maps/FortreeCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Gym_EventScript_2165C8", + "script": "FortreeCity_Gym_EventScript_Winona", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "FortreeCity_Gym_EventScript_2166A8", + "script": "FortreeCity_Gym_EventScript_Jared", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "FortreeCity_Gym_EventScript_2166D6", + "script": "FortreeCity_Gym_EventScript_Flint", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "FortreeCity_Gym_EventScript_2166ED", + "script": "FortreeCity_Gym_EventScript_Ashley", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "FortreeCity_Gym_EventScript_2166BF", + "script": "FortreeCity_Gym_EventScript_Edwardo", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Gym_EventScript_216732", + "script": "FortreeCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "FortreeCity_Gym_EventScript_216704", + "script": "FortreeCity_Gym_EventScript_Humberto", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "FortreeCity_Gym_EventScript_21671B", + "script": "FortreeCity_Gym_EventScript_Darius", "flag": "0" } ], @@ -143,7 +143,7 @@ "y": 21, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "FortreeCity_Gym_EventScript_216751" + "script": "FortreeCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -151,7 +151,7 @@ "y": 21, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "FortreeCity_Gym_EventScript_216761" + "script": "FortreeCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index 59ca317a7c..0b0008d538 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -1,44 +1,44 @@ FortreeCity_Gym_MapScripts:: @ 82165AB map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_Gym_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_MapScript2_2165BA + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_OnWarp .byte 0 FortreeCity_Gym_OnTransition: @ 82165B6 special RotatingGate_InitPuzzle end -FortreeCity_Gym_MapScript2_2165BA: @ 82165BA - map_script_2 VAR_TEMP_0, 16384, FortreeCity_Gym_EventScript_2165C4 +FortreeCity_Gym_OnWarp: @ 82165BA + map_script_2 VAR_TEMP_0, VAR_TEMP_0, FortreeCity_Gym_EventScript_InitRotatingGates .2byte 0 -FortreeCity_Gym_EventScript_2165C4:: @ 82165C4 +FortreeCity_Gym_EventScript_InitRotatingGates:: @ 82165C4 special RotatingGate_InitPuzzleAndGraphics end -FortreeCity_Gym_EventScript_2165C8:: @ 82165C8 - trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD, NO_MUSIC +FortreeCity_Gym_EventScript_Winona:: @ 82165C8 + trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaPreBattle, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq FortreeCity_Gym_EventScript_21668D - goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_216646 - msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq FortreeCity_Gym_EventScript_WinonaRematch + goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2 + msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_2165FD:: @ 82165FD - message FortreeCity_Gym_Text_216EEC +FortreeCity_Gym_EventScript_WinonaDefeated:: @ 82165FD + message FortreeCity_Gym_Text_ReceivedFeatherBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox FortreeCity_Gym_Text_216F17, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_FORTREE_GYM setflag FLAG_BADGE06_GET setvar VAR_0x8008, 6 call Common_EventScript_SetGymTrainers - call FortreeCity_Gym_EventScript_21666A + call FortreeCity_Gym_EventScript_GiveAerialAce closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox FortreeCity_Gym_Text_217044, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_RegisteredWinona, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -48,94 +48,94 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD release end -FortreeCity_Gym_EventScript_216646:: @ 8216646 +FortreeCity_Gym_EventScript_GiveAerialAce2:: @ 8216646 giveitem_std ITEM_TM40 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM40 release end -FortreeCity_Gym_EventScript_21666A:: @ 821666A +FortreeCity_Gym_EventScript_GiveAerialAce:: @ 821666A giveitem_std ITEM_TM40 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM40 return -FortreeCity_Gym_EventScript_21668D:: @ 821668D - trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292 - msgbox FortreeCity_Gym_Text_21720B, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_WinonaRematch:: @ 821668D + trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaPreRematch, FortreeCity_Gym_Text_WinonaRematchDefeat, FortreeCity_Gym_Text_WinonaRematchNeedTwoMons + msgbox FortreeCity_Gym_Text_WinonaPostRematch, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166A8:: @ 82166A8 - trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3 - msgbox FortreeCity_Gym_Text_2168E7, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Jared:: @ 82166A8 + trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_JaredPreBattle, FortreeCity_Gym_Text_JaredDefeat + msgbox FortreeCity_Gym_Text_JaredPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166BF:: @ 82166BF - trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7 - msgbox FortreeCity_Gym_Text_2169F1, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Edwardo:: @ 82166BF + trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_EdwardoPreBattle, FortreeCity_Gym_Text_EdwardoDefeat + msgbox FortreeCity_Gym_Text_EdwardoPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166D6:: @ 82166D6 - trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4 - msgbox FortreeCity_Gym_Text_216AD7, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Flint:: @ 82166D6 + trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_FlintPreBattle, FortreeCity_Gym_Text_FlintDefeat + msgbox FortreeCity_Gym_Text_FlintPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166ED:: @ 82166ED - trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51 - msgbox FortreeCity_Gym_Text_216B5F, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Ashley:: @ 82166ED + trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_AshleyPreBattle, FortreeCity_Gym_Text_AshleyDefeat + msgbox FortreeCity_Gym_Text_AshleyPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_216704:: @ 8216704 - trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18 - msgbox FortreeCity_Gym_Text_216C32, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Humberto:: @ 8216704 + trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_HumbertoPreBattle, FortreeCity_Gym_Text_HumbertoDefeat + msgbox FortreeCity_Gym_Text_HumbertoPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_21671B:: @ 821671B - trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2 - msgbox FortreeCity_Gym_Text_216D0F, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Darius:: @ 821671B + trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_DariusPreBattle, FortreeCity_Gym_Text_DariusDefeat + msgbox FortreeCity_Gym_Text_DariusPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_216732:: @ 8216732 +FortreeCity_Gym_EventScript_GymGuide:: @ 8216732 lock faceplayer - goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_216747 - msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_GymGuidePostVictory + msgbox FortreeCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_216747:: @ 8216747 - msgbox FortreeCity_Gym_Text_21687D, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymGuidePostVictory:: @ 8216747 + msgbox FortreeCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_216751:: @ 8216751 +FortreeCity_Gym_EventScript_LeftGymStatue:: @ 8216751 lockall - goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 - goto FortreeCity_Gym_EventScript_21677B + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified + goto FortreeCity_Gym_EventScript_GymStatue end -FortreeCity_Gym_EventScript_216761:: @ 8216761 +FortreeCity_Gym_EventScript_RightGymStatue:: @ 8216761 lockall - goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 - goto FortreeCity_Gym_EventScript_21677B + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified + goto FortreeCity_Gym_EventScript_GymStatue end -FortreeCity_Gym_EventScript_216771:: @ 8216771 - msgbox FortreeCity_Gym_Text_2170C7, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymStatueCertified:: @ 8216771 + msgbox FortreeCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -FortreeCity_Gym_EventScript_21677B:: @ 821677B - msgbox FortreeCity_Gym_Text_2170AE, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymStatue:: @ 821677B + msgbox FortreeCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -FortreeCity_Gym_Text_216785: @ 8216785 +FortreeCity_Gym_Text_GymGuideAdvice: @ 8216785 .string "Yo, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "FORTREE GYM LEADER WINONA is\n" @@ -146,94 +146,94 @@ FortreeCity_Gym_Text_216785: @ 8216785 .string "who are trying to take wing!\p" .string "Okay, go for it!$" -FortreeCity_Gym_Text_21687D: @ 821687D +FortreeCity_Gym_Text_GymGuidePostVictory: @ 821687D .string "You did it!\n" .string "You've achieved liftoff!$" -FortreeCity_Gym_Text_2168A2: @ 82168A2 +FortreeCity_Gym_Text_JaredPreBattle: @ 82168A2 .string "Behold the elegant battle style of\n" .string "BIRD POKéMON!$" -FortreeCity_Gym_Text_2168D3: @ 82168D3 +FortreeCity_Gym_Text_JaredDefeat: @ 82168D3 .string "You…\n" .string "You're strong…$" -FortreeCity_Gym_Text_2168E7: @ 82168E7 +FortreeCity_Gym_Text_JaredPostBattle: @ 82168E7 .string "A TRAINER has to be smart to keep\n" .string "up with unexpected turns of events.\p" .string "Do you have the smarts to get to\n" .string "our LEADER?$" -FortreeCity_Gym_Text_21695A: @ 821695A +FortreeCity_Gym_Text_EdwardoPreBattle: @ 821695A .string "The lovers of BIRD POKéMON aspire\n" .string "to join this GYM.\p" .string "As a member of the FORTREE GYM,\n" .string "I'm not allowed to lose!$" -FortreeCity_Gym_Text_2169C7: @ 82169C7 +FortreeCity_Gym_Text_EdwardoDefeat: @ 82169C7 .string "It was too much of a load for me\n" .string "to bear…$" -FortreeCity_Gym_Text_2169F1: @ 82169F1 +FortreeCity_Gym_Text_EdwardoPostBattle: @ 82169F1 .string "The world is huge, and there are\n" .string "countless tough TRAINERS.\p" .string "I'm going to keep training and make\n" .string "myself even stronger.$" -FortreeCity_Gym_Text_216A66: @ 8216A66 +FortreeCity_Gym_Text_FlintPreBattle: @ 8216A66 .string "There's no need for WINONA, our GYM\n" .string "LEADER, to deal with you!\p" .string "I'm plenty good enough for you!$" -FortreeCity_Gym_Text_216AC4: @ 8216AC4 +FortreeCity_Gym_Text_FlintDefeat: @ 8216AC4 .string "WINONA, I…\n" .string "I lost!$" -FortreeCity_Gym_Text_216AD7: @ 8216AD7 +FortreeCity_Gym_Text_FlintPostBattle: @ 8216AD7 .string "WINONA is cute and she's strong.\n" .string "She's the ultimate LEADER!\p" .string "Blush…$" -FortreeCity_Gym_Text_216B1A: @ 8216B1A +FortreeCity_Gym_Text_AshleyPreBattle: @ 8216B1A .string "WINONA taught me personally!\n" .string "You can't beat me easily!$" -FortreeCity_Gym_Text_216B51: @ 8216B51 +FortreeCity_Gym_Text_AshleyDefeat: @ 8216B51 .string "I was beaten…$" -FortreeCity_Gym_Text_216B5F: @ 8216B5F +FortreeCity_Gym_Text_AshleyPostBattle: @ 8216B5F .string "Thanks to WINONA, the people of\n" .string "FORTREE can live without fear.$" -FortreeCity_Gym_Text_216B9E: @ 8216B9E +FortreeCity_Gym_Text_HumbertoPreBattle: @ 8216B9E .string "When WINONA takes to battle, her face\n" .string "shines with beautiful determination…\p" .string "I'm not letting you witness that\n" .string "lovely sight!$" -FortreeCity_Gym_Text_216C18: @ 8216C18 +FortreeCity_Gym_Text_HumbertoDefeat: @ 8216C18 .string "Urk!\n" .string "I couldn't stop you.$" -FortreeCity_Gym_Text_216C32: @ 8216C32 +FortreeCity_Gym_Text_HumbertoPostBattle: @ 8216C32 .string "You'd better watch it!\n" .string "Don't get distracted staring at WINONA\l" .string "or you'll go crashing down in a heap!$" -FortreeCity_Gym_Text_216C96: @ 8216C96 +FortreeCity_Gym_Text_DariusPreBattle: @ 8216C96 .string "You'd better know that there are all\n" .string "sorts of FLYING-type POKéMON.\p" .string "You do know that, right?$" -FortreeCity_Gym_Text_216CF2: @ 8216CF2 +FortreeCity_Gym_Text_DariusDefeat: @ 8216CF2 .string "You seem to know your stuff!$" -FortreeCity_Gym_Text_216D0F: @ 8216D0F +FortreeCity_Gym_Text_DariusPostBattle: @ 8216D0F .string "Sure, you beat me all right.\n" .string "But you'd better watch it! Our LEADER\l" .string "WINONA's POKéMON are all business.$" -FortreeCity_Gym_Text_216D75: @ 8216D75 +FortreeCity_Gym_Text_WinonaPreBattle: @ 8216D75 .string "I am WINONA. I am the LEADER of\n" .string "the FORTREE POKéMON GYM.\p" .string "I have become one with BIRD POKéMON\n" @@ -243,18 +243,18 @@ FortreeCity_Gym_Text_216D75: @ 8216D75 .string "Witness the elegant choreography\n" .string "of BIRD POKéMON and I!$" -FortreeCity_Gym_Text_216E60: @ 8216E60 +FortreeCity_Gym_Text_WinonaDefeat: @ 8216E60 .string "Never before have I seen a TRAINER\n" .string "command POKéMON with more grace\l" .string "than I…\p" .string "In recognition of your prowess,\n" .string "I present to you this GYM BADGE.$" -FortreeCity_Gym_Text_216EEC: @ 8216EEC +FortreeCity_Gym_Text_ReceivedFeatherBadge: @ 8216EEC .string "{PLAYER} received the FEATHER BADGE\n" .string "from WINONA.$" -FortreeCity_Gym_Text_216F17: @ 8216F17 +FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis: @ 8216F17 .string "With the FEATHER BADGE, all POKéMON up\n" .string "to LV 70, even those received through\l" .string "trades, will obey your every command.\p" @@ -263,29 +263,29 @@ FortreeCity_Gym_Text_216F17: @ 8216F17 .string "And this…\n" .string "This is a gift from me.$" -FortreeCity_Gym_Text_216FEC: @ 8216FEC +FortreeCity_Gym_Text_ExplainAerialAce: @ 8216FEC .string "TM40 contains AERIAL ACE.\p" .string "Its speed…\n" .string "No POKéMON should be able to avoid it.\p" .string "… … … … … …$" -FortreeCity_Gym_Text_217044: @ 8217044 +FortreeCity_Gym_Text_RegisteredWinona: @ 8217044 .string "Registered GYM LEADER WINONA\n" .string "in the POKéNAV.$" -FortreeCity_Gym_Text_217071: @ 8217071 +FortreeCity_Gym_Text_WinonaPostBattle: @ 8217071 .string "Though I fell to you, I will remain\n" .string "devoted to BIRD POKéMON.$" -FortreeCity_Gym_Text_2170AE: @ 82170AE +FortreeCity_Gym_Text_GymStatue: @ 82170AE .string "FORTREE CITY POKéMON GYM$" -FortreeCity_Gym_Text_2170C7: @ 82170C7 +FortreeCity_Gym_Text_GymStatueCertified: @ 82170C7 .string "FORTREE CITY POKéMON GYM\p" .string "WINONA'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -FortreeCity_Gym_Text_217100: @ 8217100 +FortreeCity_Gym_Text_WinonaPreRematch: @ 8217100 .string "WINONA: We humans can never escape\n" .string "gravity's pull on the ground.\p" .string "But by striving for excellence,\n" @@ -295,17 +295,17 @@ FortreeCity_Gym_Text_217100: @ 8217100 .string "Please, allow me to see your power\n" .string "at full flight!$" -FortreeCity_Gym_Text_2171E6: @ 82171E6 +FortreeCity_Gym_Text_WinonaRematchDefeat: @ 82171E6 .string "I failed to reach your height again…$" -FortreeCity_Gym_Text_21720B: @ 821720B +FortreeCity_Gym_Text_WinonaPostRematch: @ 821720B .string "WINONA: Even though I have lost,\n" .string "the wings of my heart remain unbroken.\p" .string "I can rise and soar again and\n" .string "yet again.\p" .string "I am convinced of it!$" -FortreeCity_Gym_Text_217292: @ 8217292 +FortreeCity_Gym_Text_WinonaRematchNeedTwoMons: @ 8217292 .string "WINONA: We humans can never escape\n" .string "gravity's pull on the ground.\p" .string "But by striving for excellence,\n" diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc index 87aa7a6436..e6a6176772 100644 --- a/data/maps/FortreeCity_House1/scripts.inc +++ b/data/maps/FortreeCity_House1/scripts.inc @@ -5,7 +5,7 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB lock faceplayer goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_216355 - setvar VAR_0x8008, 1 + setvar VAR_0x8008, INGAME_TRADE_PLUSLE copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json index 17f928fe90..492590c6cc 100644 --- a/data/maps/FortreeCity_House2/map.json +++ b/data/maps/FortreeCity_House2/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House2_EventScript_2C811E", + "script": "FortreeCity_House2_EventScript_SleepTalkTutor", "flag": "0" } ], diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index 2b75949597..fa88bd7523 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, FortreeCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 FortreeCity_PokemonCenter_1F_OnTransition: @ 82173E3 diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json index 79bdfad307..42aca81648 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc index 2ab9510f3c..183dbece0b 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E - map_script MAP_SCRIPT_ON_FRAME_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, FortreeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +FortreeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8217653 + call CableClub_EventScript_Colosseum end -FortreeCity_PokemonCenter_2F_EventScript_217659:: @ 8217659 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +FortreeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8217659 + call CableClub_EventScript_TradeCenter end -FortreeCity_PokemonCenter_2F_EventScript_21765F:: @ 821765F - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +FortreeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821765F + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/GraniteCave_B1F/scripts.inc b/data/maps/GraniteCave_B1F/scripts.inc index 099e5a501c..f465b0694b 100644 --- a/data/maps/GraniteCave_B1F/scripts.inc +++ b/data/maps/GraniteCave_B1F/scripts.inc @@ -1,11 +1,11 @@ GraniteCave_B1F_MapScripts:: @ 822DC5E - map_script MAP_SCRIPT_ON_FRAME_TABLE, GraniteCave_B1F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, GraniteCave_B1F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_MapScript1_22DC6E + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_SetHoleWarp .byte 0 -GraniteCave_B1F_MapScript1_22DC6E: @ 822DC6E - setstepcallback 7 +GraniteCave_B1F_SetHoleWarp: @ 822DC6E + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_GRANITE_CAVE_B2F, 255, 0, 0 end diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 043c8a8d8a..9573fe745f 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -10,7 +10,7 @@ InsideOfTruck_MapScript1_23BEE5: @ 823BEE5 end InsideOfTruck_MapScript1_23BF01: @ 823BF01 - setstepcallback 5 + setstepcallback STEP_CB_TRUCK end InsideOfTruck_EventScript_23BF04:: @ 823BF04 diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index 2a12ab5a2e..62ef6e1a95 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -5,7 +5,7 @@ JaggedPass_MapScripts:: @ 8230656 .byte 0 JaggedPass_MapScript1_230666: @ 8230666 - setstepcallback 1 + setstepcallback STEP_CB_ASH compare VAR_JAGGED_PASS_STATE, 0 call_if_eq JaggedPass_EventScript_230674 end diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index eb9bf10183..ee689ed299 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -110,7 +110,7 @@ LavaridgeTown_EventScript_1EA635:: @ 81EA635 return LavaridgeTown_EventScript_1EA63A:: @ 81EA63A - applymovement 8, Common_Movement_WalkInPlaceUp + applymovement 8, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 8, Common_Movement_ExclamationMark @@ -127,14 +127,14 @@ LavaridgeTown_EventScript_1EA65C:: @ 81EA65C waitmovement 0 closedoor 12, 15 waitdooranim - applymovement 8, Common_Movement_WalkInPlaceLeft + applymovement 8, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 8, Common_Movement_ExclamationMark waitmovement 0 applymovement 8, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json index aae6afc034..51665cdeb3 100644 --- a/data/maps/LavaridgeTown_Gym_1F/map.json +++ b/data/maps/LavaridgeTown_Gym_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE78C", + "script": "LavaridgeTown_Gym_1F_EventScript_Flannery", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE87F", + "script": "LavaridgeTown_Gym_1F_EventScript_Cole", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE900", + "script": "LavaridgeTown_Gym_1F_EventScript_Gerald", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE8AF", + "script": "LavaridgeTown_Gym_1F_EventScript_Axle", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE8E5", + "script": "LavaridgeTown_Gym_1F_EventScript_Danielle", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE96C", + "script": "LavaridgeTown_Gym_1F_EventScript_GymGuide", "flag": "0" } ], @@ -285,7 +285,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE98B" + "script": "LavaridgeTown_Gym_1F_EventScript_LeftGymStatue" }, { "type": "sign", @@ -293,7 +293,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE99B" + "script": "LavaridgeTown_Gym_1F_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index 2399c4d3f3..a5dcabf30d 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -3,91 +3,84 @@ LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4 .byte 0 LavaridgeTown_Gym_1F_OnTransition: @ 81FE6FA - call LavaridgeTown_Gym_1F_EventScript_1FE705 - call LavaridgeTown_Gym_1F_EventScript_1FE757 + call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars + call LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers end -LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705 +@ Unclear where/if these temp vars are getting checked +LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars:: @ 81FE705 setvar VAR_TEMP_B, 0 setvar VAR_TEMP_C, 0 setvar VAR_TEMP_D, 0 setvar VAR_TEMP_E, 0 setvar VAR_TEMP_F, 0 checktrainerflag TRAINER_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE72C + goto_if_eq LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar setvar VAR_TEMP_B, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C +LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar:: @ 81FE72C checktrainerflag TRAINER_GERALD - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE73A + goto_if_eq LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar setvar VAR_TEMP_C, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A +LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar:: @ 81FE73A checktrainerflag TRAINER_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE748 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar setvar VAR_TEMP_D, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748 +LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar:: @ 81FE748 checktrainerflag TRAINER_DANIELLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE756 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars setvar VAR_TEMP_E, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 +LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars:: @ 81FE756 return -LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757 +LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers:: @ 81FE757 checktrainerflag TRAINER_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_CheckHideGerald setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764 +LavaridgeTown_Gym_1F_EventScript_CheckHideGerald:: @ 81FE764 checktrainerflag TRAINER_GERALD - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_CheckHideAxle setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771 +LavaridgeTown_Gym_1F_EventScript_CheckHideAxle:: @ 81FE771 checktrainerflag TRAINER_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E + goto_if_eq LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E +LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle:: @ 81FE77E checktrainerflag TRAINER_DANIELLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B + goto_if_eq LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers setobjectmovementtype 5, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B +LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers:: @ 81FE78B return -LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C - trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1, NO_MUSIC +LavaridgeTown_Gym_1F_EventScript_Flannery:: @ 81FE78C + trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryPreBattle, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864 - goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1FE81D - msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT + goto_if_eq LavaridgeTown_Gym_1F_EventScript_FlanneryRematch + goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2 + msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 - message LavaridgeTown_Gym_1F_Text_1FF32F +LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated:: @ 81FE7C1 + message LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox LavaridgeTown_Gym_1F_Text_1FF359, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_FLANNERY_GIVES_BADGE_INFO setflag FLAG_DEFEATED_LAVARIDGE_GYM setflag FLAG_BADGE04_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq LavaridgeTown_Gym_1F_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 4 call Common_EventScript_SetGymTrainers setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY setvar VAR_LAVARIDGE_TOWN_STATE, 1 - call LavaridgeTown_Gym_1F_EventScript_1FE841 + call LavaridgeTown_Gym_1F_EventScript_GiveOverheat closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox LavaridgeTown_Gym_1F_Text_1FF517, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_RegisteredFlannery, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -95,113 +88,112 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 release end -LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D +LavaridgeTown_Gym_1F_EventScript_GiveOverheat2:: @ 81FE81D giveitem_std ITEM_TM50 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM50 release end -LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841 +LavaridgeTown_Gym_1F_EventScript_GiveOverheat:: @ 81FE841 giveitem_std ITEM_TM50 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM50 return -LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864 - trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E - msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_FlanneryRematch:: @ 81FE864 + trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryPreRematch, LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat, LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons + msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostRematch, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Cole:: @ 81FE87F + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_ColePreBattle, LavaridgeTown_Gym_1F_Text_ColeDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_ColePostBattle MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A -LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A - call LavaridgeTown_Gym_1F_EventScript_1FE705 +LavaridgeTown_Gym_EventScript_CheckTrainerScript:: @ 81FE89A + call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars release special ShouldTryGetTrainerScript compare VAR_RESULT, 1 goto_if_eq EventScript_GotoTrainerScript end -LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Axle:: @ 81FE8AF + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_AxlePreBattle, LavaridgeTown_Gym_1F_Text_AxleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_AxlePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FED02, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Keegan:: @ 81FE8CA + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_KeeganPreBattle, LavaridgeTown_Gym_B1F_Text_KeeganDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_KeeganPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Danielle:: @ 81FE8E5 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_DaniellePreBattle, LavaridgeTown_Gym_1F_Text_DanielleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_DaniellePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Gerald:: @ 81FE900 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_GeraldPreBattle, LavaridgeTown_Gym_1F_Text_GeraldDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_GeraldPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Jace:: @ 81FE91B + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_JacePreBattle, LavaridgeTown_Gym_B1F_Text_JaceDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_JacePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Jeff:: @ 81FE936 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_JeffPreBattle, LavaridgeTown_Gym_B1F_Text_JeffDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_JeffPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Eli:: @ 81FE951 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_EliPreBattle, LavaridgeTown_Gym_B1F_Text_EliDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_EliPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C +LavaridgeTown_Gym_1F_EventScript_GymGuide:: @ 81FE96C lock faceplayer - goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_1FE981 - msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory + msgbox LavaridgeTown_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981 - msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory:: @ 81FE981 + msgbox LavaridgeTown_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B +LavaridgeTown_Gym_1F_EventScript_LeftGymStatue:: @ 81FE98B lockall - goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB - goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified + goto LavaridgeTown_Gym_1F_EventScript_GymStatue end -LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B +LavaridgeTown_Gym_1F_EventScript_RightGymStatue:: @ 81FE99B lockall - goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB - goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified + goto LavaridgeTown_Gym_1F_EventScript_GymStatue end -LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB - msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymStatueCertified:: @ 81FE9AB + msgbox LavaridgeTown_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5 - msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymStatue:: @ 81FE9B5 + msgbox LavaridgeTown_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT releaseall end -LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF +LavaridgeTown_Gym_1F_Text_GymGuideAdvice: @ 81FE9BF .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "LAVARIDGE's GYM LEADER FLANNERY\n" @@ -212,35 +204,35 @@ LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF .string "Hose her down with water and then\l" .string "go for it!$" -LavaridgeTown_Gym_1F_Text_1FEAB8: @ 81FEAB8 +LavaridgeTown_Gym_1F_Text_GymGuidePostVictory: @ 81FEAB8 .string "Yow! That was a scorching-hot battle!$" -LavaridgeTown_Gym_1F_Text_1FEADE: @ 81FEADE +LavaridgeTown_Gym_1F_Text_ColePreBattle: @ 81FEADE .string "Owowowowow!\n" .string "Yikes, it's hot!$" -LavaridgeTown_Gym_1F_Text_1FEAFB: @ 81FEAFB +LavaridgeTown_Gym_1F_Text_ColeDefeat: @ 81FEAFB .string "I'm blinded by sweat in my eyes…$" -LavaridgeTown_Gym_1F_Text_1FEB1C: @ 81FEB1C +LavaridgeTown_Gym_1F_Text_ColePostBattle: @ 81FEB1C .string "Being buried in hot sand promotes\n" .string "circulation.\p" .string "It's effective for healing pain in\n" .string "your joints.$" -LavaridgeTown_Gym_1F_Text_1FEB7B: @ 81FEB7B +LavaridgeTown_Gym_1F_Text_AxlePreBattle: @ 81FEB7B .string "I'm trying to relieve my stress.\n" .string "Don't come along and stress me out!$" -LavaridgeTown_Gym_1F_Text_1FEBC0: @ 81FEBC0 +LavaridgeTown_Gym_1F_Text_AxleDefeat: @ 81FEBC0 .string "I hope FLANNERY flames you good!$" -LavaridgeTown_Gym_1F_Text_1FEBE1: @ 81FEBE1 +LavaridgeTown_Gym_1F_Text_AxlePostBattle: @ 81FEBE1 .string "Haaah… Whew…\p" .string "If you spend too much time buried in\n" .string "hot sand, it tuckers you out…$" -LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31 +LavaridgeTown_Gym_B1F_Text_KeeganPreBattle: @ 81FEC31 .string "You must be getting tired by now.\n" .string "You'd like to rest in the hot sand,\l" .string "wouldn't you?\p" @@ -248,78 +240,78 @@ LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31 .string "your willpower is an important ability\l" .string "for all TRAINERS.$" -LavaridgeTown_Gym_B1F_Text_1FECE3: @ 81FECE3 +LavaridgeTown_Gym_B1F_Text_KeeganDefeat: @ 81FECE3 .string "Play with fire, and be burned…$" -LavaridgeTown_Gym_B1F_Text_1FED02: @ 81FED02 +LavaridgeTown_Gym_B1F_Text_KeeganPostBattle: @ 81FED02 .string "Your skill is real…\n" .string "But our LEADER FLANNERY is strong.\p" .string "If you don't watch yourself, you'll be\n" .string "burned seriously.$" -LavaridgeTown_Gym_1F_Text_1FED72: @ 81FED72 +LavaridgeTown_Gym_1F_Text_GeraldPreBattle: @ 81FED72 .string "Can your POKéMON withstand\n" .string "392-degree heat?$" -LavaridgeTown_Gym_1F_Text_1FED9E: @ 81FED9E +LavaridgeTown_Gym_1F_Text_GeraldDefeat: @ 81FED9E .string "It didn't burn hotly enough…$" -LavaridgeTown_Gym_1F_Text_1FEDBB: @ 81FEDBB +LavaridgeTown_Gym_1F_Text_GeraldPostBattle: @ 81FEDBB .string "The temperature of magma is\n" .string "392 degrees.\p" .string "Your POKéMON beat me, so they should\n" .string "easily survive in magma.$" -LavaridgeTown_Gym_1F_Text_1FEE22: @ 81FEE22 +LavaridgeTown_Gym_1F_Text_DaniellePreBattle: @ 81FEE22 .string "Um…\n" .string "Okay, I'll battle with you.$" -LavaridgeTown_Gym_1F_Text_1FEE42: @ 81FEE42 +LavaridgeTown_Gym_1F_Text_DanielleDefeat: @ 81FEE42 .string "Oh, but you're too strong.$" -LavaridgeTown_Gym_1F_Text_1FEE5D: @ 81FEE5D +LavaridgeTown_Gym_1F_Text_DaniellePostBattle: @ 81FEE5D .string "I'm going to be a pretty and strong\n" .string "TRAINER just like FLANNERY.$" -LavaridgeTown_Gym_B1F_Text_1FEE9D: @ 81FEE9D +LavaridgeTown_Gym_B1F_Text_JacePreBattle: @ 81FEE9D .string "Come on, get with it!\n" .string "Let's go before my feelings cool!$" -LavaridgeTown_Gym_B1F_Text_1FEED5: @ 81FEED5 +LavaridgeTown_Gym_B1F_Text_JaceDefeat: @ 81FEED5 .string "It's so hot, and yet my heart is\n" .string "clutched by ice…$" -LavaridgeTown_Gym_B1F_Text_1FEF07: @ 81FEF07 +LavaridgeTown_Gym_B1F_Text_JacePostBattle: @ 81FEF07 .string "The way the battling spirit burns\n" .string "within you, you may stand a chance\l" .string "against our LEADER.$" -LavaridgeTown_Gym_B1F_Text_1FEF60: @ 81FEF60 +LavaridgeTown_Gym_B1F_Text_JeffPreBattle: @ 81FEF60 .string "See how the flames blaze wildly?\n" .string "They flare in anticipation of my win!$" -LavaridgeTown_Gym_B1F_Text_1FEFA7: @ 81FEFA7 +LavaridgeTown_Gym_B1F_Text_JeffDefeat: @ 81FEFA7 .string "Something didn't go right.$" -LavaridgeTown_Gym_B1F_Text_1FEFC2: @ 81FEFC2 +LavaridgeTown_Gym_B1F_Text_JeffPostBattle: @ 81FEFC2 .string "Well, so what? I say so what?\n" .string "I can walk on hot coals barefoot!\p" .string "…Don't even think about trying it!$" -LavaridgeTown_Gym_B1F_Text_1FF025: @ 81FF025 +LavaridgeTown_Gym_B1F_Text_EliPreBattle: @ 81FF025 .string "As much as I love mountains,\n" .string "I especially love volcanoes.$" -LavaridgeTown_Gym_B1F_Text_1FF05F: @ 81FF05F +LavaridgeTown_Gym_B1F_Text_EliDefeat: @ 81FF05F .string "Well, it seems to me I lost without\n" .string "ever being in control.$" -LavaridgeTown_Gym_B1F_Text_1FF09A: @ 81FF09A +LavaridgeTown_Gym_B1F_Text_EliPostBattle: @ 81FF09A .string "I stay here because I became a fan\n" .string "of FLANNERY's power.\p" .string "Hehehehe.$" -LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC +LavaridgeTown_Gym_1F_Text_FlanneryPreBattle: @ 81FF0DC .string "Welcome… No, wait.\p" .string "Puny TRAINER, how good to see you've\n" .string "made it here!\p" @@ -334,7 +326,7 @@ LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC .string "father, I shall, uh…demonstrate the\l" .string "hot moves we have honed on this land!$" -LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233 +LavaridgeTown_Gym_1F_Text_FlanneryDefeat: @ 81FF233 .string "Oh…\n" .string "I guess I was trying too hard…\p" .string "I… I've only recently become\n" @@ -346,11 +338,11 @@ LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233 .string "Thanks for teaching me that.\n" .string "For that, you deserve this.$" -LavaridgeTown_Gym_1F_Text_1FF32F: @ 81FF32F +LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge: @ 81FF32F .string "{PLAYER} received the HEAT BADGE\n" .string "from FLANNERY.$" -LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359 +LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis: @ 81FF359 .string "If you have a HEAT BADGE, all POKéMON\n" .string "up to Level 50, even those you get in\l" .string "trades from other people, will obey\l" @@ -360,7 +352,7 @@ LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359 .string "This is a token of my appreciation.\n" .string "Don't be shy about taking it!$" -LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C +LavaridgeTown_Gym_1F_Text_ExplainOverheat: @ 81FF45C .string "That TM50 contains OVERHEAT.\p" .string "That move inflicts serious damage on\n" .string "the opponent.\p" @@ -368,24 +360,24 @@ LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C .string "of the POKéMON using it. It might not\l" .string "be suitable for longer battles.$" -LavaridgeTown_Gym_1F_Text_1FF517: @ 81FF517 +LavaridgeTown_Gym_1F_Text_RegisteredFlannery: @ 81FF517 .string "Registered GYM LEADER FLANNERY\n" .string "in the POKéNAV.$" -LavaridgeTown_Gym_1F_Text_1FF546: @ 81FF546 +LavaridgeTown_Gym_1F_Text_FlanneryPostBattle: @ 81FF546 .string "Your power reminds me of someone…\p" .string "Oh! I know! You battle like NORMAN,\n" .string "the GYM LEADER of PETALBURG.$" -LavaridgeTown_Gym_1F_Text_1FF5A9: @ 81FF5A9 +LavaridgeTown_Gym_1F_Text_GymStatue: @ 81FF5A9 .string "LAVARIDGE TOWN POKéMON GYM$" -LavaridgeTown_Gym_1F_Text_1FF5C4: @ 81FF5C4 +LavaridgeTown_Gym_1F_Text_GymStatueCertified: @ 81FF5C4 .string "LAVARIDGE TOWN POKéMON GYM\p" .string "FLANNERY'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601 +LavaridgeTown_Gym_1F_Text_FlanneryPreRematch: @ 81FF601 .string "FLANNERY: Losing a battle isn't going\n" .string "to deflate me.\p" .string "I love POKéMON.\n" @@ -394,11 +386,11 @@ LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601 .string "Let's exchange superhot moves\n" .string "in another battle!$" -LavaridgeTown_Gym_1F_Text_1FF69F: @ 81FF69F +LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat: @ 81FF69F .string "Whew!\n" .string "On the verge of eruption!$" -LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF +LavaridgeTown_Gym_1F_Text_FlanneryPostRematch: @ 81FF6BF .string "FLANNERY: I lost the match,\n" .string "but I'm completely satisfied.\p" .string "It's not often I get to enjoy a battle\n" @@ -406,7 +398,7 @@ LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF .string "Let's have another one like this\n" .string "again sometime!$" -LavaridgeTown_Gym_1F_Text_1FF75E: @ 81FF75E +LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons: @ 81FF75E .string "FLANNERY: Losing a battle isn't going\n" .string "to deflate me.\p" .string "I love POKéMON.\n" diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json index 9679beb485..7b03d4f533 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/map.json +++ b/data/maps/LavaridgeTown_Gym_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE91B", + "script": "LavaridgeTown_Gym_B1F_EventScript_Jace", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE8CA", + "script": "LavaridgeTown_Gym_B1F_EventScript_Keegan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE936", + "script": "LavaridgeTown_Gym_B1F_EventScript_Jeff", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE951", + "script": "LavaridgeTown_Gym_B1F_EventScript_Eli", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc index 4f3bb062da..9be4e29751 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc @@ -3,57 +3,50 @@ LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E .byte 0 LavaridgeTown_Gym_B1F_OnTransition: @ 81FF884 - call LavaridgeTown_Gym_B1F_EventScript_1FF88F - call LavaridgeTown_Gym_B1F_EventScript_1FF8DC + call LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars + call LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers end -LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F +@ Unclear where/if these temp vars are getting checked +LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars:: @ 81FF88F setvar VAR_TEMP_7, 0 setvar VAR_TEMP_8, 0 setvar VAR_TEMP_9, 0 setvar VAR_TEMP_A, 0 checktrainerflag TRAINER_KEEGAN - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar setvar VAR_TEMP_7, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1 +LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar:: @ 81FF8B1 checktrainerflag TRAINER_JACE - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar setvar VAR_TEMP_8, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF +LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar:: @ 81FF8BF checktrainerflag TRAINER_JEFF - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar setvar VAR_TEMP_9, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD +LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar:: @ 81FF8CD checktrainerflag TRAINER_ELI - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars setvar VAR_TEMP_A, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB +LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars:: @ 81FF8DB return -LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC +LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers:: @ 81FF8DC checktrainerflag TRAINER_KEEGAN - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_CheckHideJace setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9 +LavaridgeTown_Gym_B1F_EventScript_CheckHideJace:: @ 81FF8E9 checktrainerflag TRAINER_JACE - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff setobjectmovementtype 1, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6 +LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff:: @ 81FF8F6 checktrainerflag TRAINER_JEFF - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_CheckHideEli setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903 +LavaridgeTown_Gym_B1F_EventScript_CheckHideEli:: @ 81FF903 checktrainerflag TRAINER_ELI - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910 +LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers:: @ 81FF910 return diff --git a/data/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json index a0cd74f59e..83416a7c06 100644 --- a/data/maps/LavaridgeTown_House/map.json +++ b/data/maps/LavaridgeTown_House/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_House_EventScript_2C804E", + "script": "LavaridgeTown_House_EventScript_MimicTutor", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 3968430dd5..3a27182d5a 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 LavaridgeTown_PokemonCenter_1F_OnTransition: @ 81FFB05 diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json index 95d1e194fc..2ee196f9ba 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc index c8e52468fc..633f91e95f 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +LavaridgeTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FFCAC + call CableClub_EventScript_Colosseum end -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB2:: @ 81FFCB2 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +LavaridgeTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FFCB2 + call CableClub_EventScript_TradeCenter end -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB8:: @ 81FFCB8 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +LavaridgeTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FFCB8 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 8edf1b385c..ed0239819c 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -387,7 +387,7 @@ LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD LilycoveCity_EventScript_1E3006:: @ 81E3006 closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index a5ab9601ce..3b470b8a6c 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -9,7 +9,7 @@ LilycoveCity_ContestLobby_OnTransition: @ 821A21C end LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227 - getpricereduction 4 + getpricereduction POKENEWS_BLENDMASTER compare VAR_RESULT, 1 goto_if_eq LilycoveCity_ContestLobby_EventScript_21A23C clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT @@ -810,7 +810,7 @@ LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1 LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT release end @@ -908,12 +908,12 @@ LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B end LilycoveCity_ContestLobby_EventScript_21AC33:: @ 821AC33 - special BerryBlenderLinkBecomeLeader + special TryBecomeLinkLeader waitstate return LilycoveCity_ContestLobby_EventScript_21AC38:: @ 821AC38 - special BerryBlenderLinkJoinGroup + special TryJoinLinkGroup waitstate return diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc index 87e4c0afdb..d4e630e4a2 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc @@ -44,7 +44,7 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211 waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index 83a43a5b66..d7061d7e4b 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -114,7 +114,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E0:: @ 82207E0 LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 special CloseDeptStoreElevatorWindow closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 waitse special MoveElevator diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json index 7514a548a0..06159b81a6 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186", + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc index 654395dde5..44b9b2d242 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc @@ -3,7 +3,7 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207 .byte 0 LilycoveCity_DepartmentStoreRooftop_OnTransition: @ 822020D - getpricereduction 3 + getpricereduction POKENEWS_LILYCOVE compare VAR_RESULT, 1 call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227 compare VAR_RESULT, 0 @@ -51,7 +51,7 @@ LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248 LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268 lock faceplayer - getpricereduction 3 + getpricereduction POKENEWS_LILYCOVE compare VAR_RESULT, 1 call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220282 msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index a99f928628..36057b3bbe 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -22,7 +22,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C copyvar VAR_0x8008, VAR_RESULT special BufferLottoTicketNumber msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, MSGBOX_DEFAULT - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 playse SE_PC_ON special DoLotteryCornerComputerEffect diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 3226e69610..79943cec3a 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -141,7 +141,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7 msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, MSGBOX_DEFAULT closemessage - applymovement 7, Common_Movement_WalkInPlaceUp + applymovement 7, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 292180d314..5ef4852d33 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -247,7 +247,7 @@ LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: @ 821E350 call LilycoveCity_Harbor_EventScript_GetEventTicketSailor msgbox EventTicket_Text_OldSeaMapTooFar, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 4, Common_Movement_ExclamationMark @@ -329,12 +329,12 @@ LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime:: @ 821E44D LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect:: @ 821E4B6 msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 removeobject 4 delay 30 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 showobjectat 1, MAP_LILYCOVE_CITY_HARBOR delay 30 @@ -343,7 +343,7 @@ LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect:: @ 821E4B6 end LilycoveCity_Harbor_EventScript_GetEventTicketSailor:: @ 821E4EE - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR @@ -355,7 +355,7 @@ LilycoveCity_Harbor_EventScript_GetEventTicketSailor:: @ 821E4EE return LilycoveCity_Harbor_EventScript_BoardFerryWithSailor:: @ 821E514 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 removeobject 4 @@ -419,7 +419,7 @@ LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind:: @ 821E5C0 LilycoveCity_Harbor_EventScript_BoardFerry:: @ 821E5CC msgbox LilycoveCity_Harbor_Text_PleaseBoard, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR @@ -499,22 +499,22 @@ LilycoveCity_Harbor_Movement_SailorOutOfWayEast: @ 821E671 step_end LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth:: @ 821E675 - applymovement 5, Common_Movement_WalkInPlaceLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast:: @ 821E680 - applymovement 5, Common_Movement_WalkInPlaceDown + applymovement 5, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth:: @ 821E68B - applymovement 5, Common_Movement_WalkInPlaceDown + applymovement 5, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast:: @ 821E696 - applymovement 5, Common_Movement_WalkInPlaceLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index 6151535303..09b18f4bd9 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, LilycoveCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 LilycoveCity_PokemonCenter_1F_OnTransition: @ 821C5BD diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json index 6bfb1c4cb0..cd1324cbe4 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc index 9bbf4f3497..965580da54 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D - map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +LilycoveCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821C772 + call CableClub_EventScript_Colosseum end -LilycoveCity_PokemonCenter_2F_EventScript_21C778:: @ 821C778 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +LilycoveCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 821C778 + call CableClub_EventScript_TradeCenter end -LilycoveCity_PokemonCenter_2F_EventScript_21C77E:: @ 821C77E - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +LilycoveCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821C77E + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index d9ba545fbd..8b0cf40acd 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -9,18 +9,18 @@ LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A lockall - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, MSGBOX_DEFAULT applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index c55f1db860..8825d18991 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -357,9 +357,9 @@ LittlerootTown_Movement_1E8118: @ 81E8118 LittlerootTown_EventScript_1E811F:: @ 81E811F lockall - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT @@ -490,12 +490,12 @@ LittlerootTown_EventScript_1E828C:: @ 81E828C return LittlerootTown_EventScript_1E8297:: @ 81E8297 - applymovement 4, Common_Movement_WalkInPlaceRight + applymovement 4, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return LittlerootTown_EventScript_1E82A2:: @ 81E82A2 - applymovement 4, Common_Movement_WalkInPlaceLeft + applymovement 4, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return @@ -530,70 +530,70 @@ LittlerootTown_EventScript_1E82F0:: @ 81E82F0 return LittlerootTown_EventScript_1E8333:: @ 81E8333 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D1 waitmovement 0 return LittlerootTown_EventScript_1E8348:: @ 81E8348 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D8 waitmovement 0 return LittlerootTown_EventScript_1E835D:: @ 81E835D - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85DF waitmovement 0 return LittlerootTown_EventScript_1E8372:: @ 81E8372 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85E4 waitmovement 0 return LittlerootTown_EventScript_1E8387:: @ 81E8387 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85EA waitmovement 0 return LittlerootTown_EventScript_1E839C:: @ 81E839C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85ED waitmovement 0 return LittlerootTown_EventScript_1E83B1:: @ 81E83B1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F1 waitmovement 0 return LittlerootTown_EventScript_1E83C6:: @ 81E83C6 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F5 waitmovement 0 return LittlerootTown_EventScript_1E83DB:: @ 81E83DB - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F8 waitmovement 0 return LittlerootTown_EventScript_1E83F0:: @ 81E83F0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85FE waitmovement 0 @@ -894,7 +894,7 @@ LittlerootTown_EventScript_1E863D:: @ 81E863D compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E828C call LittlerootTown_EventScript_1E8693 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 397bdfb8f9..3d62846006 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -94,7 +94,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E waitmovement 0 applymovement 4, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C waitmovement 0 special GetRivalSonDaughterString @@ -117,7 +117,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78A3:: @ 81F78A3 lockall setvar VAR_0x8004, 1 setvar VAR_0x8005, 0 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 goto LittlerootTown_BrendansHouse_1F_EventScript_292765 end @@ -181,7 +181,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 end LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 87551999a6..130781f23c 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -93,7 +93,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage @@ -105,7 +105,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage @@ -117,7 +117,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage @@ -129,7 +129,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index 510f8c2496..74654f7eef 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -94,7 +94,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE waitmovement 0 applymovement 4, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC waitmovement 0 special GetRivalSonDaughterString @@ -154,7 +154,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A4C:: @ 81F8A4C lockall setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceRight + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestRight waitmovement 0 goto LittlerootTown_MaysHouse_1F_EventScript_292765 end @@ -218,7 +218,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B end LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index 5ded4592a6..31a097ead5 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -94,7 +94,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage @@ -106,7 +106,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage @@ -118,7 +118,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage @@ -129,7 +129,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index b0275642c7..283be0477f 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -6,7 +6,7 @@ LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91 LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1 call Common_EventScript_SetupRivalGfxId - call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD + call ProfBirch_EventScript_UpdateLocation compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7 compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4 @@ -167,8 +167,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 delay 10 playse SE_TK_KASYA delay 20 - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 checkplayergender compare VAR_RESULT, MALE @@ -180,8 +180,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 delay 20 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58 waitmovement 0 - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT playfanfare MUS_FANFA4 @@ -286,9 +286,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_CYNDAQUIL, 10, 3 + showmonpic SPECIES_CYNDAQUIL, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 @@ -299,9 +299,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_TOTODILE, 10, 3 + showmonpic SPECIES_TOTODILE, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 @@ -312,9 +312,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023 release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_CHIKORITA, 10, 3 + showmonpic SPECIES_CHIKORITA, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 @@ -327,7 +327,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061 - erasemonpic + hidemonpic msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, MSGBOX_DEFAULT releaseall end @@ -340,7 +340,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 compare VAR_RESULT, 1 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC - erasemonpic + hidemonpic goto Common_EventScript_NoMoreRoomForPokemon end @@ -371,7 +371,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD - erasemonpic + hidemonpic msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall @@ -385,7 +385,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 compare VAR_RESULT, 1 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D - erasemonpic + hidemonpic goto Common_EventScript_NoMoreRoomForPokemon end @@ -416,7 +416,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E - erasemonpic + hidemonpic msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall @@ -430,7 +430,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 compare VAR_RESULT, 1 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E - erasemonpic + hidemonpic goto Common_EventScript_NoMoreRoomForPokemon end @@ -461,7 +461,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F - erasemonpic + hidemonpic msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall @@ -482,7 +482,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E - goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E end @@ -497,19 +497,18 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E - goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, ProfBirch_EventScript_RatePokedexOrRegister compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_eq ProfBirch_EventScript_RatePokedexOrRegister compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_ge ProfBirch_EventScript_RatePokedexOrRegister compare VAR_BIRCH_LAB_STATE, 5 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2 -Route101_EventScript_1FA2D2:: @ 81FA2D2 +EventScript_RegisterProfBirch:: @ 81FA2D2 msgbox Route101_Text_2B5F52, MSGBOX_DEFAULT closemessage delay 30 @@ -530,7 +529,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 closemessage applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 checkplayergender compare VAR_RESULT, MALE diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index de6790a252..ce22293962 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -18,7 +18,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 playfanfare MUS_ME_TAMA playse SE_TAMA special sub_80B0534 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 150 removeobject 7 @@ -50,7 +50,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 waitmovement 0 msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 applymovement 6, Common_Movement_FacePlayer diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index 4163f4d9d3..d5dc8ae994 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -162,7 +162,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_2C7F7E", + "script": "MauvilleCity_EventScript_RolloutTutor", "flag": "0" }, { diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 548004f599..52ff2237c5 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -86,7 +86,7 @@ MauvilleCity_EventScript_1DF43D:: @ 81DF43D MauvilleCity_EventScript_1DF452:: @ 81DF452 lockall goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF690 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT msgbox MauvilleCity_Text_1DF8B9, MSGBOX_DEFAULT @@ -118,7 +118,7 @@ MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 applymovement 6, MauvilleCity_Movement_1DF6A8 applymovement 7, MauvilleCity_Movement_1DF6E2 waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE @@ -138,7 +138,7 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D applymovement 6, MauvilleCity_Movement_1DF6AE applymovement 7, MauvilleCity_Movement_1DF6E8 waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 applymovement 7, MauvilleCity_Movement_1DF6F7 @@ -164,7 +164,7 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593 call_if_eq MauvilleCity_EventScript_1DF5F3 compare VAR_FACING, DIR_EAST call_if_eq MauvilleCity_EventScript_1DF601 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT closemessage @@ -205,13 +205,13 @@ MauvilleCity_EventScript_1DF628:: @ 81DF628 MauvilleCity_EventScript_1DF63A:: @ 81DF63A msgbox MauvilleCity_Text_1DFB6D, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_2, MauvilleCity_Text_1DFB96 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox MauvilleCity_Text_1DFBC3, MSGBOX_DEFAULT applymovement 6, Common_Movement_FacePlayer waitmovement 0 msgbox MauvilleCity_Text_1DFBED, MSGBOX_DEFAULT - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox MauvilleCity_Text_1DFC8A, MSGBOX_DEFAULT return diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json index 07bfd3bb2c..c811cd7fd7 100644 --- a/data/maps/MauvilleCity_GameCorner/map.json +++ b/data/maps/MauvilleCity_GameCorner/map.json @@ -291,7 +291,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -299,7 +299,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -307,7 +307,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -315,7 +315,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -323,7 +323,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -331,7 +331,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -339,7 +339,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -347,7 +347,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -355,7 +355,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -363,7 +363,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -371,7 +371,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -379,7 +379,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index a6ee8ec85d..6f6366c595 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -534,7 +534,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 0 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -545,7 +545,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 1 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -556,7 +556,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 2 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -567,7 +567,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 3 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -578,7 +578,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 4 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -589,7 +589,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 5 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -600,7 +600,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 6 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -611,7 +611,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 7 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -622,7 +622,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 8 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -633,7 +633,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 9 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -644,7 +644,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 10 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -655,15 +655,15 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 11 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210456:: @ 8210456 - msgbox MauvilleCity_GameCorner_Text_210C2E, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NoCoinCase:: @ 8210456 + msgbox MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase, MSGBOX_DEFAULT releaseall end @@ -811,7 +811,7 @@ MauvilleCity_GameCorner_Text_210B04: @ 8210B04 .string "That would total 660 COINS, but it's\n" .string "very difficult to get.$" -MauvilleCity_GameCorner_Text_210C2E: @ 8210C2E +MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase: @ 8210C2E .string "You can't play if you don't have\n" .string "a COIN CASE.$" diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json index 9de74941c4..ecc9f13c20 100644 --- a/data/maps/MauvilleCity_Gym/map.json +++ b/data/maps/MauvilleCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Gym_EventScript_20DEEB", + "script": "MauvilleCity_Gym_EventScript_Wattson", "flag": "FLAG_HIDE_MAUVILLE_GYM_WATTSON" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MauvilleCity_Gym_EventScript_20E0D0", + "script": "MauvilleCity_Gym_EventScript_Shawn", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0FE", + "script": "MauvilleCity_Gym_EventScript_Vivian", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0E7", + "script": "MauvilleCity_Gym_EventScript_Ben", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0B9", + "script": "MauvilleCity_Gym_EventScript_Kirk", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Gym_EventScript_20E12C", + "script": "MauvilleCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MauvilleCity_Gym_EventScript_20E115", + "script": "MauvilleCity_Gym_EventScript_Angelo", "flag": "0" } ], @@ -130,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E01E" + "script": "MauvilleCity_Gym_EventScript_Switch2" }, { "type": "trigger", @@ -139,7 +139,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E043" + "script": "MauvilleCity_Gym_EventScript_Switch3" }, { "type": "trigger", @@ -148,7 +148,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20DFF9" + "script": "MauvilleCity_Gym_EventScript_Switch1" }, { "type": "trigger", @@ -157,7 +157,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E068" + "script": "MauvilleCity_Gym_EventScript_Switch4" } ], "bg_events": [ @@ -167,7 +167,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MauvilleCity_Gym_EventScript_20E14B" + "script": "MauvilleCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -175,7 +175,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MauvilleCity_Gym_EventScript_20E15B" + "script": "MauvilleCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc index 10837e2699..a4489018f1 100644 --- a/data/maps/MauvilleCity_Gym/scripts.inc +++ b/data/maps/MauvilleCity_Gym/scripts.inc @@ -1,22 +1,22 @@ MauvilleCity_Gym_MapScripts:: @ 820DD6E - map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_MapScript1_20DD74 + map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_OnLoad .byte 0 -MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20DEE7 +MauvilleCity_Gym_OnLoad: @ 820DD74 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_DeactivatePuzzle switch VAR_MAUVILLE_GYM_STATE - case 0, MauvilleCity_Gym_EventScript_20DDBA - case 1, MauvilleCity_Gym_EventScript_20DEAF - case 2, MauvilleCity_Gym_EventScript_20DEBD - case 3, MauvilleCity_Gym_EventScript_20DECB - case 4, MauvilleCity_Gym_EventScript_20DED9 + case 0, MauvilleCity_Gym_EventScript_UpdateBarriers + case 1, MauvilleCity_Gym_EventScript_Switch1Pressed + case 2, MauvilleCity_Gym_EventScript_Switch2Pressed + case 3, MauvilleCity_Gym_EventScript_Switch3Pressed + case 4, MauvilleCity_Gym_EventScript_Switch4Pressed end -MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA - goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20DDC4 +MauvilleCity_Gym_EventScript_UpdateBarriers:: @ 820DDBA + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetAltBarriers end -MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 +MauvilleCity_Gym_EventScript_SetAltBarriers:: @ 820DDC4 setmetatile 3, 11, METATILE_MauvilleGym_RedBeamV1_On, 1 setmetatile 3, 12, METATILE_MauvilleGym_RedBeamV2_On, 1 setmetatile 3, 13, METATILE_MauvilleGym_PoleTop_On, 1 @@ -45,68 +45,68 @@ MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 setmetatile 5, 7, METATILE_MauvilleGym_GreenBeamH4_Off, 0 end -MauvilleCity_Gym_EventScript_20DEAF:: @ 820DEAF +MauvilleCity_Gym_EventScript_Switch1Pressed:: @ 820DEAF setvar VAR_0x8004, 0 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DEBD:: @ 820DEBD +MauvilleCity_Gym_EventScript_Switch2Pressed:: @ 820DEBD setvar VAR_0x8004, 1 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DECB:: @ 820DECB +MauvilleCity_Gym_EventScript_Switch3Pressed:: @ 820DECB setvar VAR_0x8004, 2 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DED9:: @ 820DED9 +MauvilleCity_Gym_EventScript_Switch4Pressed:: @ 820DED9 setvar VAR_0x8004, 3 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7 - special MauvilleGymSpecial3 +MauvilleCity_Gym_EventScript_DeactivatePuzzle:: @ 820DEE7 + special MauvilleGymDeactivatePuzzle end -MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB - trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B, NO_MUSIC +MauvilleCity_Gym_EventScript_Wattson:: @ 820DEEB + trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonPreBattle, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_Gym_EventScript_20DFDE - goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_20DF8D + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_Gym_EventScript_WattsonRematch + goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2 compare VAR_NEW_MAUVILLE_STATE, 2 - goto_if_eq MauvilleCity_Gym_EventScript_20DFD4 - msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT + goto_if_eq MauvilleCity_Gym_EventScript_CompletedNewMauville + msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B - message MauvilleCity_Gym_Text_20E77F +MauvilleCity_Gym_EventScript_WattsonDefeated:: @ 820DF2B + message MauvilleCity_Gym_Text_ReceivedDynamoBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox MauvilleCity_Gym_Text_20E7AA, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis, MSGBOX_DEFAULT setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 3 clearflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT setflag FLAG_DEFEATED_MAUVILLE_GYM setflag FLAG_BADGE03_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq MauvilleCity_Gym_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 3 call Common_EventScript_SetGymTrainers - special MauvilleGymSpecial3 + special MauvilleGymDeactivatePuzzle special DrawWholeMapView playse SE_KI_GASYAN - call MauvilleCity_Gym_EventScript_20DFB1 + call MauvilleCity_Gym_EventScript_GiveShockWave closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox MauvilleCity_Gym_Text_20E8B5, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_RegisteredWattson, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -114,158 +114,158 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B release end -MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D +MauvilleCity_Gym_EventScript_GiveShockWave2:: @ 820DF8D giveitem_std ITEM_TM34 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM34 release end -MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1 +MauvilleCity_Gym_EventScript_GiveShockWave:: @ 820DFB1 giveitem_std ITEM_TM34 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM34 return -MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4 - msgbox MauvilleCity_Gym_Text_20E925, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_CompletedNewMauville:: @ 820DFD4 + msgbox MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE - trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD +MauvilleCity_Gym_EventScript_WattsonRematch:: @ 820DFDE + trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonPreRematch, MauvilleCity_Gym_Text_WattsonRematchDefeat, MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons msgbox MauvilleCity_Gym_Text_20EA5E, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 +MauvilleCity_Gym_EventScript_Switch1:: @ 820DFF9 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 1 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 1 setvar VAR_0x8004, 0 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E +MauvilleCity_Gym_EventScript_Switch2:: @ 820E01E lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 2 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 2 setvar VAR_0x8004, 1 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E043:: @ 820E043 +MauvilleCity_Gym_EventScript_Switch3:: @ 820E043 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 3 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 3 setvar VAR_0x8004, 2 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E068:: @ 820E068 +MauvilleCity_Gym_EventScript_Switch4:: @ 820E068 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 4 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 4 setvar VAR_0x8004, 3 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D - special MauvilleGymSpecial2 - special MauvilleGymSpecial1 +MauvilleCity_Gym_EventScript_PressFloorSwitch:: @ 820E08D + special MauvilleGymSetDefaultBarriers + special MauvilleGymPressSwitch special DrawWholeMapView playse SE_KI_GASYAN - goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0B4 - goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0AF + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_ClearBarriersAltState + goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetBarriersAltState releaseall end -MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD +MauvilleCity_Gym_EventScript_SwitchDoNothing:: @ 820E0AD releaseall end -MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF +MauvilleCity_Gym_EventScript_SetBarriersAltState:: @ 820E0AF setflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end -MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4 +MauvilleCity_Gym_EventScript_ClearBarriersAltState:: @ 820E0B4 clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end -MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9 - trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC - msgbox MauvilleCity_Gym_Text_20E336, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Kirk:: @ 820E0B9 + trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_KirkPreBattle, MauvilleCity_Gym_Text_KirkDefeat + msgbox MauvilleCity_Gym_Text_KirkPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0 - trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7 - msgbox MauvilleCity_Gym_Text_20E3C1, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Shawn:: @ 820E0D0 + trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_ShawnPreBattle, MauvilleCity_Gym_Text_ShawnDefeat + msgbox MauvilleCity_Gym_Text_ShawnPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7 - trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469 - msgbox MauvilleCity_Gym_Text_20E47E, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Ben:: @ 820E0E7 + trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_BenPreBattle, MauvilleCity_Gym_Text_BenDefeat + msgbox MauvilleCity_Gym_Text_BenPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE - trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4 - msgbox MauvilleCity_Gym_Text_20E50F, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Vivian:: @ 820E0FE + trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_VivianPreBattle, MauvilleCity_Gym_Text_VivianDefeat + msgbox MauvilleCity_Gym_Text_VivianPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E115:: @ 820E115 - trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8 - msgbox MauvilleCity_Gym_Text_20E5C2, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Angelo:: @ 820E115 + trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_AngeloPreBattle, MauvilleCity_Gym_Text_AngeloDefeat + msgbox MauvilleCity_Gym_Text_AngeloPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C +MauvilleCity_Gym_EventScript_GymGuide:: @ 820E12C lock faceplayer - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E141 - msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_GymGuidePostVictory + msgbox MauvilleCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20E141:: @ 820E141 - msgbox MauvilleCity_Gym_Text_20E283, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymGuidePostVictory:: @ 820E141 + msgbox MauvilleCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B +MauvilleCity_Gym_EventScript_LeftGymStatue:: @ 820E14B lockall - goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B - goto MauvilleCity_Gym_EventScript_20E175 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified + goto MauvilleCity_Gym_EventScript_GymStatue end -MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B +MauvilleCity_Gym_EventScript_RightGymStatue:: @ 820E15B lockall - goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B - goto MauvilleCity_Gym_EventScript_20E175 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified + goto MauvilleCity_Gym_EventScript_GymStatue end -MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B - msgbox MauvilleCity_Gym_Text_20E96C, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymStatueCertified:: @ 820E16B + msgbox MauvilleCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -MauvilleCity_Gym_EventScript_20E175:: @ 820E175 - msgbox MauvilleCity_Gym_Text_20E952, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymStatue:: @ 820E175 + msgbox MauvilleCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -MauvilleCity_Gym_Text_20E17F: @ 820E17F +MauvilleCity_Gym_Text_GymGuideAdvice: @ 820E17F .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "WATTSON, the LEADER of MAUVILLE\n" @@ -276,72 +276,72 @@ MauvilleCity_Gym_Text_20E17F: @ 820E17F .string "doors all over his GYM! Eccentric!\p" .string "Hey, go for it!$" -MauvilleCity_Gym_Text_20E283: @ 820E283 +MauvilleCity_Gym_Text_GymGuidePostVictory: @ 820E283 .string "Whoa, you're electrifying!\n" .string "You've powered the door open!$" -MauvilleCity_Gym_Text_20E2BC: @ 820E2BC +MauvilleCity_Gym_Text_KirkPreBattle: @ 820E2BC .string "My electric soul, it'll shatter your\n" .string "dreams whole, whoa-yeahah!$" -MauvilleCity_Gym_Text_20E2FC: @ 820E2FC +MauvilleCity_Gym_Text_KirkDefeat: @ 820E2FC .string "That was plugged in, amped up,\n" .string "over-driven electric, man!$" -MauvilleCity_Gym_Text_20E336: @ 820E336 +MauvilleCity_Gym_Text_KirkPostBattle: @ 820E336 .string "POKéMON and rock, it's all about heart,\n" .string "whoa-yeah!$" -MauvilleCity_Gym_Text_20E369: @ 820E369 +MauvilleCity_Gym_Text_ShawnPreBattle: @ 820E369 .string "I trained under WATTSON!\n" .string "There ain't no way I'll lose easily!$" -MauvilleCity_Gym_Text_20E3A7: @ 820E3A7 +MauvilleCity_Gym_Text_ShawnDefeat: @ 820E3A7 .string "Unplugged and turned off…$" -MauvilleCity_Gym_Text_20E3C1: @ 820E3C1 +MauvilleCity_Gym_Text_ShawnPostBattle: @ 820E3C1 .string "WATTSON, our GYM LEADER, has been\n" .string "around for a long, long time.\p" .string "He was battling even before your\n" .string "daddy was born, that tough coot.$" -MauvilleCity_Gym_Text_20E443: @ 820E443 +MauvilleCity_Gym_Text_BenPreBattle: @ 820E443 .string "This GYM's got puzzles!\n" .string "Isn't it fun?$" -MauvilleCity_Gym_Text_20E469: @ 820E469 +MauvilleCity_Gym_Text_BenDefeat: @ 820E469 .string "It's no fun to lose…$" -MauvilleCity_Gym_Text_20E47E: @ 820E47E +MauvilleCity_Gym_Text_BenPostBattle: @ 820E47E .string "WATTSON says he likes setting up\n" .string "little traps with switches.$" -MauvilleCity_Gym_Text_20E4BB: @ 820E4BB +MauvilleCity_Gym_Text_VivianPreBattle: @ 820E4BB .string "With my charm and my POKéMON's moves,\n" .string "you'll be shocked!$" -MauvilleCity_Gym_Text_20E4F4: @ 820E4F4 +MauvilleCity_Gym_Text_VivianDefeat: @ 820E4F4 .string "I'm shocked by your power!$" -MauvilleCity_Gym_Text_20E50F: @ 820E50F +MauvilleCity_Gym_Text_VivianPostBattle: @ 820E50F .string "I've heard that MAUVILLE was founded\n" .string "by WATTSON.\p" .string "He was a TRAINER long before we\n" .string "became TRAINERS.\l" .string "He must know all sorts of things!$" -MauvilleCity_Gym_Text_20E593: @ 820E593 +MauvilleCity_Gym_Text_AngeloPreBattle: @ 820E593 .string "I love shiny things!$" -MauvilleCity_Gym_Text_20E5A8: @ 820E5A8 +MauvilleCity_Gym_Text_AngeloDefeat: @ 820E5A8 .string "Oh…\n" .string "My eyes are frazzled…$" -MauvilleCity_Gym_Text_20E5C2: @ 820E5C2 +MauvilleCity_Gym_Text_AngeloPostBattle: @ 820E5C2 .string "MAUVILLE GYM's WATTSON has a shiny\n" .string "forehead. It makes me happy!$" -MauvilleCity_Gym_Text_20E602: @ 820E602 +MauvilleCity_Gym_Text_WattsonPreBattle: @ 820E602 .string "I've given up on my plans to convert\n" .string "the city, I have.\p" .string "And so, I put my time into making\n" @@ -354,17 +354,17 @@ MauvilleCity_Gym_Text_20E602: @ 820E602 .string "Then, I, WATTSON, the LEADER of\n" .string "MAUVILLE GYM, shall electrify you!$" -MauvilleCity_Gym_Text_20E734: @ 820E734 +MauvilleCity_Gym_Text_WattsonDefeat: @ 820E734 .string "Wahahahah!\n" .string "Fine, I lost!\p" .string "You ended up giving me a thrill!\n" .string "Take this BADGE!$" -MauvilleCity_Gym_Text_20E77F: @ 820E77F +MauvilleCity_Gym_Text_ReceivedDynamoBadge: @ 820E77F .string "{PLAYER} received the DYNAMO BADGE\n" .string "from WATTSON.$" -MauvilleCity_Gym_Text_20E7AA: @ 820E7AA +MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis: @ 820E7AA .string "With the DYNAMO BADGE, POKéMON can\n" .string "use ROCK SMASH out of battle.\p" .string "And, it will make your POKéMON a little\n" @@ -372,33 +372,33 @@ MauvilleCity_Gym_Text_20E7AA: @ 820E7AA .string "Hmm…\n" .string "You should take this, too!$" -MauvilleCity_Gym_Text_20E844: @ 820E844 +MauvilleCity_Gym_Text_ExplainShockWave: @ 820E844 .string "That TM34 there contains SHOCK WAVE.\p" .string "It's a trustworthy move that never\n" .string "misses! You can count on it!\p" .string "… … … … … …$" -MauvilleCity_Gym_Text_20E8B5: @ 820E8B5 +MauvilleCity_Gym_Text_RegisteredWattson: @ 820E8B5 .string "Registered GYM LEADER WATTSON\n" .string "in the POKéNAV.$" -MauvilleCity_Gym_Text_20E8E3: @ 820E8E3 +MauvilleCity_Gym_Text_WattsonPostBattle: @ 820E8E3 .string "I swell with optimism, seeing a promising\n" .string "young TRAINER like you!$" -MauvilleCity_Gym_Text_20E925: @ 820E925 +MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor: @ 820E925 .string "Wahahahah!\n" .string "Go forth and endeavor, youngster!$" -MauvilleCity_Gym_Text_20E952: @ 820E952 +MauvilleCity_Gym_Text_GymStatue: @ 820E952 .string "MAUVILLE CITY POKéMON GYM$" -MauvilleCity_Gym_Text_20E96C: @ 820E96C +MauvilleCity_Gym_Text_GymStatueCertified: @ 820E96C .string "MAUVILLE CITY POKéMON GYM\p" .string "WATTSON'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -MauvilleCity_Gym_Text_20E9A7: @ 820E9A7 +MauvilleCity_Gym_Text_WattsonPreRematch: @ 820E9A7 .string "WATTSON: Ah-ha! Here at last!\n" .string "I know what you want.\l" .string "You want to battle my POKéMON!\p" @@ -406,7 +406,7 @@ MauvilleCity_Gym_Text_20E9A7: @ 820E9A7 .string "I'll make sparks fly from you!\n" .string "Don't say I didn't warn you!$" -MauvilleCity_Gym_Text_20EA42: @ 820EA42 +MauvilleCity_Gym_Text_WattsonRematchDefeat: @ 820EA42 .string "Oof…\n" .string "Our batteries ran dry…$" @@ -418,7 +418,7 @@ MauvilleCity_Gym_Text_20EA5E: @ 820EA5E .string "So, come back again sometime,\n" .string "won't you?$" -MauvilleCity_Gym_Text_20EAFD: @ 820EAFD +MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons: @ 820EAFD .string "WATTSON: Ah-ha! Here at last!\n" .string "I know what you want.\l" .string "You want to battle my POKéMON!\p" diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index 6343bd090a..dd302167bd 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, MauvilleCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 MauvilleCity_PokemonCenter_1F_OnTransition: @ 8210E66 diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json index 4afcc3882a..000f0cf640 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_21102F", + "script": "MauvilleCity_PokemonCenter_2F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc index c0200ea1f5..9626e48826 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc @@ -1,27 +1,28 @@ MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +MauvilleCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821101D + call CableClub_EventScript_Colosseum end -MauvilleCity_PokemonCenter_2F_EventScript_211023:: @ 8211023 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +MauvilleCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8211023 + call CableClub_EventScript_TradeCenter end -MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +MauvilleCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8211029 + call CableClub_EventScript_RecordCorner end -MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F - msgbox MauvilleCity_PokemonCenter_2F_Text_211038, MSGBOX_NPC +MauvilleCity_PokemonCenter_2F_EventScript_Youngster:: @ 821102F + msgbox MauvilleCity_PokemonCenter_2F_Text_Youngster, MSGBOX_NPC end -MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038 +MauvilleCity_PokemonCenter_2F_Text_Youngster: @ 8211038 .string "Did you know that you can link battle\n" .string "at the COLOSSEUM here?\p" .string "They put up your record on the wall\n" diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 8211034a64..dc81427bc9 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -19,12 +19,12 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceDown waitmovement 0 delay 30 - applymovement 5, MeteorFalls_1F_1R_Movement_2725B4 + applymovement 5, Common_Movement_WalkInPlaceDown waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22BF47, MSGBOX_DEFAULT closemessage - applymovement 5, Common_Movement_WalkInPlaceUp - applymovement 6, Common_Movement_WalkInPlaceUp + applymovement 5, Common_Movement_WalkInPlaceFastestUp + applymovement 6, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 5, Common_Movement_ExclamationMark @@ -37,9 +37,9 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 addobject 7 addobject 8 @@ -49,8 +49,8 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F applymovement 8, MeteorFalls_1F_1R_Movement_22BEE0 applymovement 9, MeteorFalls_1F_1R_Movement_22BEE8 waitmovement 0 - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT closemessage @@ -68,10 +68,10 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F applymovement 9, MeteorFalls_1F_1R_Movement_22BF18 waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C268, MSGBOX_DEFAULT - applymovement 7, Common_Movement_WalkInPlaceDown + applymovement 7, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C292, MSGBOX_DEFAULT - applymovement 7, Common_Movement_WalkInPlaceLeft + applymovement 7, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C2FC, MSGBOX_DEFAULT closemessage diff --git a/data/maps/MirageTower_2F/scripts.inc b/data/maps/MirageTower_2F/scripts.inc index d22a7c6fff..888288633d 100644 --- a/data/maps/MirageTower_2F/scripts.inc +++ b/data/maps/MirageTower_2F/scripts.inc @@ -1,11 +1,11 @@ MirageTower_2F_MapScripts:: @ 823AD11 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_2F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_2F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_MapScript1_23AD21 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_SetHoleWarp .byte 0 -MirageTower_2F_MapScript1_23AD21: @ 823AD21 - setstepcallback 7 +MirageTower_2F_SetHoleWarp: @ 823AD21 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MIRAGE_TOWER_1F, 255, 0, 0 end diff --git a/data/maps/MirageTower_3F/scripts.inc b/data/maps/MirageTower_3F/scripts.inc index f29f542fc4..a54b2cccaa 100644 --- a/data/maps/MirageTower_3F/scripts.inc +++ b/data/maps/MirageTower_3F/scripts.inc @@ -1,11 +1,11 @@ MirageTower_3F_MapScripts:: @ 823AD2C - map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_3F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_3F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_MapScript1_23AD3C + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_SetHoleWarp .byte 0 -MirageTower_3F_MapScript1_23AD3C: @ 823AD3C - setstepcallback 7 +MirageTower_3F_SetHoleWarp: @ 823AD3C + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MIRAGE_TOWER_2F, 255, 0, 0 end diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index db24a9b3b3..580b4ca62d 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -222,7 +222,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_2C81EE", + "script": "MossdeepCity_EventScript_DynamicPunchTutor", "flag": "0" }, { diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json index 8ea28a4742..3e64c45fda 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B54", + "script": "MossdeepCity_GameCorner_1F_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B4B", + "script": "MossdeepCity_GameCorner_1F_EventScript_InfoMan", "flag": "0" } ], @@ -72,7 +72,7 @@ "y": 0, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B5D" + "script": "RS_MysteryEventsHouse_EventScript_Door" }, { "type": "sign", @@ -80,7 +80,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_277E9D" + "script": "MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords" }, { "type": "sign", @@ -88,7 +88,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_277E96" + "script": "MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords" } ] -} \ No newline at end of file +} diff --git a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc index db9a1f8548..79f1a54e24 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc +++ b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc @@ -1,80 +1,87 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 8224B27 map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B41 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B37 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_GameCorner_1F_MapScript1_276BBE + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad .byte 0 MossdeepCity_GameCorner_1F_MapScript2_224B37: @ 8224B37 - map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276BAE + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant .2byte 0 MossdeepCity_GameCorner_1F_MapScript2_224B41: @ 8224B41 - map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276C9D + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom .2byte 0 -MossdeepCity_GameCorner_1F_EventScript_224B4B:: @ 8224B4B +@ Script is redundant, the label in the goto also does lock and faceplayer +MossdeepCity_GameCorner_1F_EventScript_InfoMan:: @ 8224B4B lock faceplayer - goto MossdeepCity_GameCorner_1F_EventScript_277C34 + goto MossdeepCity_GameCorner_1F_EventScript_InfoMan2 release end -MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54 +@ Script is redundant, the label in the goto also does lock and faceplayer +MossdeepCity_GameCorner_1F_EventScript_OldMan:: @ 8224B54 lock faceplayer - goto MossdeepCity_GameCorner_1F_EventScript_277C91 + goto MossdeepCity_GameCorner_1F_EventScript_OldMan2 release end -MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D - msgbox MossdeepCity_GameCorner_1F_Text_224BFD, MSGBOX_SIGN + +@ Everything below is leftover from RS +@ The house that was here in RS was moved to Sootopolis and replaced by the Game Corner +@ The text below is unused and duplicated in its replacement in Sootopolis City +@ And the BG Door event was moved inaccessibly into a wall + +RS_MysteryEventsHouse_EventScript_Door:: @ 8224B5D + msgbox RS_MysteryEventsHouse_Text_DoorIsLocked, MSGBOX_SIGN end -MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66 +RS_MysteryEventsHouse_Text_OldManGreeting: @ 8224B66 .string "When I was young, I traveled the world\n" .string "as a POKéMON TRAINER.\p" .string "Now that I've become an old buzzard,\n" .string "my only amusement is watching young\l" .string "TRAINERS battle.$" -MossdeepCity_GameCorner_1F_Text_224BFD: @ 8224BFD +RS_MysteryEventsHouse_Text_DoorIsLocked: @ 8224BFD .string "The door appears to be locked.$" -MossdeepCity_GameCorner_1F_Text_224C1C: @ 8224C1C +RS_MysteryEventsHouse_Text_ChallengeVisitingTrainer: @ 8224C1C .string "A TRAINER named {STR_VAR_1} is\n" .string "visiting my home.\p" .string "Would you like to challenge\n" .string "{STR_VAR_1}?$" -MossdeepCity_GameCorner_1F_Text_224C64: @ 8224C64 +RS_MysteryEventsHouse_Text_YouWontBattle: @ 8224C64 .string "You won't battle? I'm disappointed\n" .string "that I can't see you battle…$" -MossdeepCity_GameCorner_1F_Text_224CA4: @ 8224CA4 +RS_MysteryEventsHouse_Text_KeepItToA3On3: @ 8224CA4 .string "Oh, good, good!\p" .string "But my house isn't all that sturdy.\p" .string "Could I ask you to keep it down to\n" .string "a 3-on-3 match?$" -MossdeepCity_GameCorner_1F_Text_224D0B: @ 8224D0B +RS_MysteryEventsHouse_Text_SaveYourProgress: @ 8224D0B .string "Before you two battle, you should\n" .string "save your progress.$" -MossdeepCity_GameCorner_1F_Text_224D41: @ 8224D41 +RS_MysteryEventsHouse_Text_HopeToSeeAGoodMatch: @ 8224D41 .string "I hope to see a good match!$" -MossdeepCity_GameCorner_1F_Text_224D5D: @ 8224D5D +RS_MysteryEventsHouse_Text_BattleTie: @ 8224D5D .string "So, it became a standoff.\p" .string "It was a brilliant match in which\n" .string "neither side conceded a step!$" -MossdeepCity_GameCorner_1F_Text_224DB7: @ 8224DB7 +RS_MysteryEventsHouse_Text_BattleWon: @ 8224DB7 .string "That was superlative!\p" .string "Why, it was like seeing myself in\n" .string "my youth again!$" -MossdeepCity_GameCorner_1F_Text_224DFF: @ 8224DFF +RS_MysteryEventsHouse_Text_BattleLost: @ 8224DFF .string "Ah, too bad for you!\p" .string "But it was a good match.\n" .string "I hope you can win next time.$" - diff --git a/data/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json index 2d86ad9a8e..33bd1d4349 100644 --- a/data/maps/MossdeepCity_Gym/map.json +++ b/data/maps/MossdeepCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220898", + "script": "MossdeepCity_Gym_EventScript_TateAndLiza", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220AFD", + "script": "MossdeepCity_Gym_EventScript_Preston", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B2B", + "script": "MossdeepCity_Gym_EventScript_Blake", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B70", + "script": "MossdeepCity_Gym_EventScript_Maura", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B59", + "script": "MossdeepCity_Gym_EventScript_Samantha", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B14", + "script": "MossdeepCity_Gym_EventScript_Virgil", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B42", + "script": "MossdeepCity_Gym_EventScript_Hannah", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220C11", + "script": "MossdeepCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220898", + "script": "MossdeepCity_Gym_EventScript_TateAndLiza", "flag": "0" }, { @@ -232,7 +232,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B9E", + "script": "MossdeepCity_Gym_EventScript_Nate", "flag": "0" }, { @@ -245,7 +245,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B87", + "script": "MossdeepCity_Gym_EventScript_Sylvia", "flag": "0" }, { @@ -336,7 +336,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BCC", + "script": "MossdeepCity_Gym_EventScript_Clifford", "flag": "0" }, { @@ -362,7 +362,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BB5", + "script": "MossdeepCity_Gym_EventScript_Macey", "flag": "0" }, { @@ -375,7 +375,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BFA", + "script": "MossdeepCity_Gym_EventScript_Kathleen", "flag": "0" }, { @@ -427,7 +427,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BE3", + "script": "MossdeepCity_Gym_EventScript_Nicholas", "flag": "0" }, { @@ -591,7 +591,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C67" + "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch" }, { "type": "trigger", @@ -600,7 +600,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C7D" + "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch" }, { "type": "trigger", @@ -609,7 +609,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C7D" + "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch" }, { "type": "trigger", @@ -618,7 +618,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C93" + "script": "MossdeepCity_Gym_EventScript_GreenFloorSwitch" }, { "type": "trigger", @@ -627,7 +627,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CA9" + "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch" }, { "type": "trigger", @@ -636,7 +636,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CA9" + "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch" }, { "type": "trigger", @@ -645,7 +645,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CBF" + "script": "MossdeepCity_Gym_EventScript_RedFloorSwitch" }, { "type": "trigger", @@ -654,7 +654,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220AF1" + "script": "MossdeepCity_Gym_EventScript_WarpToEntrance" }, { "type": "trigger", @@ -663,7 +663,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C67" + "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch" } ], "bg_events": [ @@ -673,7 +673,7 @@ "y": 34, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MossdeepCity_Gym_EventScript_220C33" + "script": "MossdeepCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -681,7 +681,7 @@ "y": 34, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MossdeepCity_Gym_EventScript_220C43" + "script": "MossdeepCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index 0b0bed1975..fc6a45d843 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -1,64 +1,68 @@ MossdeepCity_Gym_MapScripts:: @ 8220800 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_MapScript1_220806 + map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_OnLoad .byte 0 -MossdeepCity_Gym_MapScript1_220806: @ 8220806 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_22083D - goto MossdeepCity_Gym_EventScript_220815 +@ NOTE: Mossdeep Gym was redesigned between R/S and E. Leftover (and now functionally unused) scripts are commented below + +@ All the below checks are leftover from RS. FLAG_MOSSDEEP_GYM_SWITCH_X is never set +MossdeepCity_Gym_OnLoad: @ 8220806 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_SetSwitch1Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch2 end -MossdeepCity_Gym_EventScript_220815:: @ 8220815 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220855 - goto MossdeepCity_Gym_EventScript_220824 +MossdeepCity_Gym_EventScript_CheckSwitch2:: @ 8220815 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_SetSwitch2Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch3 end -MossdeepCity_Gym_EventScript_220824:: @ 8220824 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_22086D - goto MossdeepCity_Gym_EventScript_220833 +MossdeepCity_Gym_EventScript_CheckSwitch3:: @ 8220824 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_SetSwitch3Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch4 end -MossdeepCity_Gym_EventScript_220833:: @ 8220833 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220885 +MossdeepCity_Gym_EventScript_CheckSwitch4:: @ 8220833 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_SetSwitch4Metatiles end -MossdeepCity_Gym_EventScript_22083D:: @ 822083D - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220815 +@ All the below set metatile scripts are leftover from RS and are functionally unused +MossdeepCity_Gym_EventScript_SetSwitch1Metatiles:: @ 822083D + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch2 end -MossdeepCity_Gym_EventScript_220855:: @ 8220855 - setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220824 +MossdeepCity_Gym_EventScript_SetSwitch2Metatiles:: @ 8220855 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch3 end -MossdeepCity_Gym_EventScript_22086D:: @ 822086D - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220833 +MossdeepCity_Gym_EventScript_SetSwitch3Metatiles:: @ 822086D + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch4 end -MossdeepCity_Gym_EventScript_220885:: @ 8220885 - setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1 +MossdeepCity_Gym_EventScript_SetSwitch4Metatiles:: @ 8220885 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1 end -MossdeepCity_Gym_EventScript_220898:: @ 8220898 - trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1, NO_MUSIC +MossdeepCity_Gym_EventScript_TateAndLiza:: @ 8220898 + trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaPreBattle, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_Gym_EventScript_22097E - goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_220937 - msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MossdeepCity_Gym_EventScript_TateAndLizaRematch + goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2 + msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT release end -MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 - message MossdeepCity_Gym_Text_22196A +MossdeepCity_Gym_EventScript_TateAndLizaDefeated:: @ 82208D1 + message MossdeepCity_Gym_Text_ReceivedMindBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox MossdeepCity_Gym_Text_221999, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_MOSSDEEP_GYM setflag FLAG_BADGE07_GET setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS @@ -74,11 +78,11 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 setvar VAR_MOSSDEEP_CITY_STATE, 1 setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1 - call MossdeepCity_Gym_EventScript_22095B + call MossdeepCity_Gym_EventScript_GiveCalmMind closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox MossdeepCity_Gym_Text_221AEA, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_RegisteredTateAndLiza, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -86,282 +90,284 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 release end -MossdeepCity_Gym_EventScript_220937:: @ 8220937 +MossdeepCity_Gym_EventScript_GiveCalmMind2:: @ 8220937 giveitem_std ITEM_TM04 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM04 release end -MossdeepCity_Gym_EventScript_22095B:: @ 822095B +MossdeepCity_Gym_EventScript_GiveCalmMind:: @ 822095B giveitem_std ITEM_TM04 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM04 return -MossdeepCity_Gym_EventScript_22097E:: @ 822097E - trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8 - msgbox MossdeepCity_Gym_Text_221E45, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_TateAndLizaRematch:: @ 822097E + trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaPreRematch, MossdeepCity_Gym_Text_TateAndLizaRematchDefeat, MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons + msgbox MossdeepCity_Gym_Text_TateAndLizaPostRematch, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220999:: @ 8220999 +@ All the below switch scripts are leftover from RS and are functionally unused +MossdeepCity_Gym_EventScript_Switch1:: @ 8220999 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_2209D0 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_ClearSwitch1 setflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 +MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed:: @ 82209C8 special DrawWholeMapView playse SE_TK_KASYA releaseall end -MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 +MossdeepCity_Gym_EventScript_ClearSwitch1:: @ 82209D0 clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 +MossdeepCity_Gym_EventScript_Switch2:: @ 82209F5 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220A24 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_ClearSwitch2 setflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 +MossdeepCity_Gym_EventScript_ClearSwitch2:: @ 8220A24 clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 8, 14, METATILE_MossdeepGym_OuterWall_RightCorner, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Down, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 +MossdeepCity_Gym_EventScript_Switch3:: @ 8220A49 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_220A78 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_ClearSwitch3 setflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 +MossdeepCity_Gym_EventScript_ClearSwitch3:: @ 8220A78 clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D +MossdeepCity_Gym_EventScript_Switch4:: @ 8220A9D lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220ACC + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_ClearSwitch4 setflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC +MossdeepCity_Gym_EventScript_ClearSwitch4:: @ 8220ACC clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 1, 23, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1 +MossdeepCity_Gym_EventScript_WarpToEntrance:: @ 8220AF1 lockall - warp7 MAP_MOSSDEEP_CITY_GYM, 255, 7, 30 + warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 255, 7, 30 waitstate releaseall end -MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD - trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC - msgbox MossdeepCity_Gym_Text_220ED3, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Preston:: @ 8220AFD + trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_PrestonPreBattle, MossdeepCity_Gym_Text_PrestonDefeat + msgbox MossdeepCity_Gym_Text_PrestonPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B14:: @ 8220B14 - trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A - msgbox MossdeepCity_Gym_Text_220F3A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Virgil:: @ 8220B14 + trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_VirgilPreBattle, MossdeepCity_Gym_Text_VirgilDefeat + msgbox MossdeepCity_Gym_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B - trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024 - msgbox MossdeepCity_Gym_Text_221055, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Blake:: @ 8220B2B + trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_BlakePreBattle, MossdeepCity_Gym_Text_BlakeDefeat + msgbox MossdeepCity_Gym_Text_BlakePostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B42:: @ 8220B42 - trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152 - msgbox MossdeepCity_Gym_Text_22116A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Hannah:: @ 8220B42 + trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_HannahPreBattle, MossdeepCity_Gym_Text_HannahDefeat + msgbox MossdeepCity_Gym_Text_HannahPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B59:: @ 8220B59 - trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230 - msgbox MossdeepCity_Gym_Text_22123D, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Samantha:: @ 8220B59 + trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_SamanthaPreBattle, MossdeepCity_Gym_Text_SamanthaDefeat + msgbox MossdeepCity_Gym_Text_SamanthaPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B70:: @ 8220B70 - trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309 - msgbox MossdeepCity_Gym_Text_22132E, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Maura:: @ 8220B70 + trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_MauraPreBattle, MossdeepCity_Gym_Text_MauraDefeat + msgbox MossdeepCity_Gym_Text_MauraPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B87:: @ 8220B87 - trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4 - msgbox MossdeepCity_Gym_Text_221412, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Sylvia:: @ 8220B87 + trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_SylviaPreBattle, MossdeepCity_Gym_Text_SylviaDefeat + msgbox MossdeepCity_Gym_Text_SylviaPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E - trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7 - msgbox MossdeepCity_Gym_Text_2214D3, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Nate:: @ 8220B9E + trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_NatePreBattle, MossdeepCity_Gym_Text_NateDefeat + msgbox MossdeepCity_Gym_Text_NatePostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5 - trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658 - msgbox MossdeepCity_Gym_Text_221680, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Macey:: @ 8220BB5 + trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_MaceyPreBattle, MossdeepCity_Gym_Text_MaceyDefeat + msgbox MossdeepCity_Gym_Text_MaceyPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC - trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8 - msgbox MossdeepCity_Gym_Text_2215E2, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Clifford:: @ 8220BCC + trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_CliffordPreBattle, MossdeepCity_Gym_Text_CliffordDefeat + msgbox MossdeepCity_Gym_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3 - trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D - msgbox MossdeepCity_Gym_Text_22173A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Nicholas:: @ 8220BE3 + trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_NicholasPreBattle, MossdeepCity_Gym_Text_NicholasDefeat + msgbox MossdeepCity_Gym_Text_NicholasPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA - trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B - msgbox MossdeepCity_Gym_Text_221545, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Kathleen:: @ 8220BFA + trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_KathleenPreBattle, MossdeepCity_Gym_Text_KathleenDefeat + msgbox MossdeepCity_Gym_Text_KathleenPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220C11:: @ 8220C11 +MossdeepCity_Gym_EventScript_GymGuide:: @ 8220C11 lock faceplayer - goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_220C26 - msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_GymGuidePostVictory + msgbox MossdeepCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -MossdeepCity_Gym_EventScript_220C26:: @ 8220C26 - msgbox MossdeepCity_Gym_Text_220E2A, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymGuidePostVictory:: @ 8220C26 + msgbox MossdeepCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -MossdeepCity_Gym_Movement_220C30: @ 8220C30 +@ Leftover from RS, functionally unused +MossdeepCity_Gym_Movement_WaitAfterSwitchUse: @ 8220C30 delay_16 delay_16 step_end -MossdeepCity_Gym_EventScript_220C33:: @ 8220C33 +MossdeepCity_Gym_EventScript_LeftGymStatue:: @ 8220C33 lockall - goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 - goto MossdeepCity_Gym_EventScript_220C5D + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified + goto MossdeepCity_Gym_EventScript_GymStatue end -MossdeepCity_Gym_EventScript_220C43:: @ 8220C43 +MossdeepCity_Gym_EventScript_RightGymStatue:: @ 8220C43 lockall - goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 - goto MossdeepCity_Gym_EventScript_220C5D + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified + goto MossdeepCity_Gym_EventScript_GymStatue end -MossdeepCity_Gym_EventScript_220C53:: @ 8220C53 - msgbox MossdeepCity_Gym_Text_221CCA, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymStatueCertified:: @ 8220C53 + msgbox MossdeepCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D - msgbox MossdeepCity_Gym_Text_221CB0, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymStatue:: @ 8220C5D + msgbox MossdeepCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -MossdeepCity_Gym_EventScript_220C67:: @ 8220C67 +MossdeepCity_Gym_EventScript_YellowFloorSwitch:: @ 8220C67 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 0 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 0 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220C7D:: @ 8220C7D +MossdeepCity_Gym_EventScript_BlueFloorSwitch:: @ 8220C7D playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 1 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 1 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220C93:: @ 8220C93 +MossdeepCity_Gym_EventScript_GreenFloorSwitch:: @ 8220C93 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 2 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 2 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220CA9:: @ 8220CA9 +MossdeepCity_Gym_EventScript_PurpleFloorSwitch:: @ 8220CA9 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 3 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 3 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220CBF:: @ 8220CBF +MossdeepCity_Gym_EventScript_RedFloorSwitch:: @ 8220CBF playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 4 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 4 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_Text_220CD5: @ 8220CD5 +MossdeepCity_Gym_Text_GymGuideAdvice: @ 8220CD5 .string "Yo, how's it going, CHAMPION-bound\n" .string "{PLAYER}?\p" .string "The GYM LEADERS here use\n" @@ -375,46 +381,46 @@ MossdeepCity_Gym_Text_220CD5: @ 8220CD5 .string "them how tight you are with your\l" .string "POKéMON. Go for it!$" -MossdeepCity_Gym_Text_220E2A: @ 8220E2A +MossdeepCity_Gym_Text_GymGuidePostVictory: @ 8220E2A .string "Wow, you're astounding!\n" .string "You're one great TRAINER!$" -MossdeepCity_Gym_Text_220E5C: @ 8220E5C +MossdeepCity_Gym_Text_PrestonPreBattle: @ 8220E5C .string "Battles hinge on the strength of your\n" .string "spirit! The weak-spirited will never win!$" -MossdeepCity_Gym_Text_220EAC: @ 8220EAC +MossdeepCity_Gym_Text_PrestonDefeat: @ 8220EAC .string "I lost!\n" .string "I must temper my spirit again!$" -MossdeepCity_Gym_Text_220ED3: @ 8220ED3 +MossdeepCity_Gym_Text_PrestonPostBattle: @ 8220ED3 .string "The indecisive lose.\n" .string "That's my warning to you.$" -MossdeepCity_Gym_Text_220F02: @ 8220F02 +MossdeepCity_Gym_Text_VirgilPreBattle: @ 8220F02 .string "Let me see your talent!$" -MossdeepCity_Gym_Text_220F1A: @ 8220F1A +MossdeepCity_Gym_Text_VirgilDefeat: @ 8220F1A .string "You possess spectacular talent!$" -MossdeepCity_Gym_Text_220F3A: @ 8220F3A +MossdeepCity_Gym_Text_VirgilPostBattle: @ 8220F3A .string "If there are prodigies in the world,\n" .string "then our GYM LEADERS are them!\p" .string "However, you may be even more talented\n" .string "than them…$" -MossdeepCity_Gym_Text_220FB0: @ 8220FB0 +MossdeepCity_Gym_Text_BlakePreBattle: @ 8220FB0 .string "Fufufufu… Watch me levitate a POKé\n" .string "BALL telekinetically!\p" .string "Wrooooooooaaaar!\n" .string "… … … … … … …\p" .string "Sometimes, I'm out of sync…$" -MossdeepCity_Gym_Text_221024: @ 8221024 +MossdeepCity_Gym_Text_BlakeDefeat: @ 8221024 .string "My POKéMON battling skills are out\n" .string "of sync, too!$" -MossdeepCity_Gym_Text_221055: @ 8221055 +MossdeepCity_Gym_Text_BlakePostBattle: @ 8221055 .string "A POKé BALL was too heavy to lift\n" .string "psychically. But this dust bunny…\p" .string "Whoooooooooooooooh!\n" @@ -422,127 +428,127 @@ MossdeepCity_Gym_Text_221055: @ 8221055 .string "No, I'm not cheating!\n" .string "I didn't blow on it! Honestly!$" -MossdeepCity_Gym_Text_2210EE: @ 82210EE +MossdeepCity_Gym_Text_HannahPreBattle: @ 82210EE .string "When you lose to me, don't be too hard\n" .string "on yourself.\p" .string "It's not that you're weak--I'm just\n" .string "too strong!$" -MossdeepCity_Gym_Text_221152: @ 8221152 +MossdeepCity_Gym_Text_HannahDefeat: @ 8221152 .string "You're just too strong!$" -MossdeepCity_Gym_Text_22116A: @ 822116A +MossdeepCity_Gym_Text_HannahPostBattle: @ 822116A .string "I'm not going to get down on myself for\n" .string "losing. I just need to train harder.\p" .string "Positive thinking--that's my strong\n" .string "point!$" -MossdeepCity_Gym_Text_2211E2: @ 82211E2 +MossdeepCity_Gym_Text_SamanthaPreBattle: @ 82211E2 .string "I see it…\n" .string "I see your future…\p" .string "If you can beat me, I will tell you\n" .string "your future!$" -MossdeepCity_Gym_Text_221230: @ 8221230 +MossdeepCity_Gym_Text_SamanthaDefeat: @ 8221230 .string "I surrender!$" -MossdeepCity_Gym_Text_22123D: @ 822123D +MossdeepCity_Gym_Text_SamanthaPostBattle: @ 822123D .string "You will wage a terrifically intense\n" .string "battle with our GYM LEADERS…\p" .string "The result…\n" .string "You won't hear it from me!$" -MossdeepCity_Gym_Text_2212A6: @ 82212A6 +MossdeepCity_Gym_Text_MauraPreBattle: @ 82212A6 .string "The roads you have traveled…\n" .string "What you have experienced…\p" .string "Come at me with everything you've\n" .string "learned!$" -MossdeepCity_Gym_Text_221309: @ 8221309 +MossdeepCity_Gym_Text_MauraDefeat: @ 8221309 .string "You've traveled a path of greatness!$" -MossdeepCity_Gym_Text_22132E: @ 822132E +MossdeepCity_Gym_Text_MauraPostBattle: @ 822132E .string "A bright future awaits those who have\n" .string "worked diligently.\p" .string "For those who lazed idly, there is\n" .string "only despair at the end.\p" .string "What goes around comes around…$" -MossdeepCity_Gym_Text_2213C2: @ 82213C2 +MossdeepCity_Gym_Text_SylviaPreBattle: @ 82213C2 .string "Even at the risk of life, I will win\n" .string "this battle!$" -MossdeepCity_Gym_Text_2213F4: @ 82213F4 +MossdeepCity_Gym_Text_SylviaDefeat: @ 82213F4 .string "What you do…\n" .string "It horrifies me…$" -MossdeepCity_Gym_Text_221412: @ 8221412 +MossdeepCity_Gym_Text_SylviaPostBattle: @ 8221412 .string "How dare you beat me…\p" .string "It won't be my fault if something\n" .string "horrible befalls you…$" -MossdeepCity_Gym_Text_221460: @ 8221460 +MossdeepCity_Gym_Text_NatePreBattle: @ 8221460 .string "Hohoho.\p" .string "You need me to show you how tenacious\n" .string "the PSYCHIC type can be.$" -MossdeepCity_Gym_Text_2214A7: @ 82214A7 +MossdeepCity_Gym_Text_NateDefeat: @ 82214A7 .string "Oh! My, my!\n" .string "Your battle style is fantastic!$" -MossdeepCity_Gym_Text_2214D3: @ 82214D3 +MossdeepCity_Gym_Text_NatePostBattle: @ 82214D3 .string "I… I don't let defeat rattle m-me,\n" .string "however b-badly.$" -MossdeepCity_Gym_Text_221507: @ 8221507 +MossdeepCity_Gym_Text_KathleenPreBattle: @ 8221507 .string "Let me show you a perfectly awful,\n" .string "horrifying time!$" -MossdeepCity_Gym_Text_22153B: @ 822153B +MossdeepCity_Gym_Text_KathleenDefeat: @ 822153B .string "N-nooooo!$" -MossdeepCity_Gym_Text_221545: @ 8221545 +MossdeepCity_Gym_Text_KathleenPostBattle: @ 8221545 .string "Your vitality is contagious!\n" .string "Get away from me quickly!$" -MossdeepCity_Gym_Text_22157C: @ 822157C +MossdeepCity_Gym_Text_CliffordPreBattle: @ 822157C .string "I may be past my prime, but I suggest\n" .string "you not patronize me.$" -MossdeepCity_Gym_Text_2215B8: @ 82215B8 +MossdeepCity_Gym_Text_CliffordDefeat: @ 82215B8 .string "Ah, you overflow with the power\n" .string "of youth!$" -MossdeepCity_Gym_Text_2215E2: @ 82215E2 +MossdeepCity_Gym_Text_CliffordPostBattle: @ 82215E2 .string "It seems that I could not overcome\n" .string "your youthful energy.$" -MossdeepCity_Gym_Text_22161B: @ 822161B +MossdeepCity_Gym_Text_MaceyPreBattle: @ 822161B .string "You're not getting through to the end!\n" .string "Not if I can help it!$" -MossdeepCity_Gym_Text_221658: @ 8221658 +MossdeepCity_Gym_Text_MaceyDefeat: @ 8221658 .string "How could you be so ludicrously\n" .string "strong?$" -MossdeepCity_Gym_Text_221680: @ 8221680 +MossdeepCity_Gym_Text_MaceyPostBattle: @ 8221680 .string "Humph! You may be strong, but you're\n" .string "not suitable for the PSYCHIC type!\p" .string "The way you battle is somehow brutal!$" -MossdeepCity_Gym_Text_2216EE: @ 82216EE +MossdeepCity_Gym_Text_NicholasPreBattle: @ 82216EE .string "Wroooar! Have a taste of my super\n" .string "POKéMON hard-battling power!$" -MossdeepCity_Gym_Text_22172D: @ 822172D +MossdeepCity_Gym_Text_NicholasDefeat: @ 822172D .string "Oh!\n" .string "Done in!$" -MossdeepCity_Gym_Text_22173A: @ 822173A +MossdeepCity_Gym_Text_NicholasPostBattle: @ 822173A .string "All right! I think I'll develop a special\n" .string "invincible POKéMON power next.$" -MossdeepCity_Gym_Text_221783: @ 8221783 +MossdeepCity_Gym_Text_TateAndLizaPreBattle: @ 8221783 .string "TATE: Hehehe… Were you surprised?\p" .string "LIZA: Fufufu… Were you surprised?\p" .string "TATE: That there are two GYM LEADERS?\n" @@ -556,24 +562,24 @@ MossdeepCity_Gym_Text_221783: @ 8221783 .string "TATE: This combination of ours…\n" .string "LIZA: Can you beat it?$" -MossdeepCity_Gym_Text_2218EC: @ 82218EC +MossdeepCity_Gym_Text_TateAndLizaDefeat: @ 82218EC .string "TATE: What?! Our combination…\n" .string "LIZA: Was shattered!\p" .string "TATE: It can't be helped. You've won…\n" .string "LIZA: So, in recognition, take this.$" -MossdeepCity_Gym_Text_22196A: @ 822196A +MossdeepCity_Gym_Text_ReceivedMindBadge: @ 822196A .string "{PLAYER} received the MIND BADGE\n" .string "from TATE and LIZA.$" -MossdeepCity_Gym_Text_221999: @ 8221999 +MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis: @ 8221999 .string "TATE: The MIND BADGE enhances the\n" .string "SP. ATK and SP. DEF of POKéMON.\p" .string "LIZA: It also lets you use the HM move\n" .string "DIVE outside of battle.\p" .string "TATE: You should also take this, too.$" -MossdeepCity_Gym_Text_221A40: @ 8221A40 +MossdeepCity_Gym_Text_ExplainCalmMind: @ 8221A40 .string "TATE: That TM04 contains…\n" .string "LIZA: CALM MIND!\p" .string "TATE: It raises SP. ATK and…\n" @@ -582,18 +588,18 @@ MossdeepCity_Gym_Text_221A40: @ 8221A40 .string "LIZA: For PSYCHIC POKéMON!\p" .string "… … … … … …$" -MossdeepCity_Gym_Text_221AEA: @ 8221AEA +MossdeepCity_Gym_Text_RegisteredTateAndLiza: @ 8221AEA .string "Registered GYM LEADERS TATE & LIZA\n" .string "in the POKéNAV.$" -MossdeepCity_Gym_Text_221B1D: @ 8221B1D +MossdeepCity_Gym_Text_TateAndLizaPostBattle: @ 8221B1D .string "TATE: Looks like the bond between you\n" .string "and your POKéMON is far stronger than\l" .string "the bond that we share as twins.\p" .string "LIZA: You will become even stronger!\n" .string "We've battled you, so we know.$" -MossdeepCity_Gym_Text_221BCE: @ 8221BCE +MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons: @ 8221BCE .string "TATE: Hehehe… Were you surprised?\p" .string "LIZA: That there are two GYM LEADERS?\p" .string "TATE: Oops, you have only one…\n" @@ -602,15 +608,15 @@ MossdeepCity_Gym_Text_221BCE: @ 8221BCE .string "LIZA: If you want to challenge us,\n" .string "bring some more POKéMON.$" -MossdeepCity_Gym_Text_221CB0: @ 8221CB0 +MossdeepCity_Gym_Text_GymStatue: @ 8221CB0 .string "MOSSDEEP CITY POKéMON GYM$" -MossdeepCity_Gym_Text_221CCA: @ 8221CCA +MossdeepCity_Gym_Text_GymStatueCertified: @ 8221CCA .string "MOSSDEEP CITY POKéMON GYM\p" .string "LIZA AND TATE'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -MossdeepCity_Gym_Text_221D0B: @ 8221D0B +MossdeepCity_Gym_Text_TateAndLizaPreRematch: @ 8221D0B .string "TATE: POKéMON…\n" .string "LIZA: POKéMON…\p" .string "TATE: By changing the party's mix…\n" @@ -622,17 +628,17 @@ MossdeepCity_Gym_Text_221D0B: @ 8221D0B .string "TATE: Our combination…\n" .string "LIZA: We'll show you again and again!$" -MossdeepCity_Gym_Text_221E05: @ 8221E05 +MossdeepCity_Gym_Text_TateAndLizaRematchDefeat: @ 8221E05 .string "TATE: You and your POKéMON…\n" .string "LIZA: It's as if you were siblings!$" -MossdeepCity_Gym_Text_221E45: @ 8221E45 +MossdeepCity_Gym_Text_TateAndLizaPostRematch: @ 8221E45 .string "TATE: You can knock us down,\n" .string "but we'll never stay down!\p" .string "LIZA: Because the two of us,\n" .string "we always support each other!$" -MossdeepCity_Gym_Text_221EB8: @ 8221EB8 +MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons: @ 8221EB8 .string "TATE: You're back again…\n" .string "LIZA: You're back again…\p" .string "TATE: To give us a rematch.\n" diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 6611238abe..02e8b33b4f 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, MossdeepCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 MossdeepCity_PokemonCenter_1F_OnTransition: @ 822224A diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json index 88bf3caf2a..aa8691ac8a 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_22235B", + "script": "MossdeepCity_PokemonCenter_2F_EventScript_Woman5", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc index 1c9c89fefe..1d88c9ca2c 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc @@ -1,27 +1,28 @@ MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +MossdeepCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8222349 + call CableClub_EventScript_Colosseum end -MossdeepCity_PokemonCenter_2F_EventScript_22234F:: @ 822234F - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +MossdeepCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 822234F + call CableClub_EventScript_TradeCenter end -MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +MossdeepCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8222355 + call CableClub_EventScript_RecordCorner end -MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B - msgbox MossdeepCity_PokemonCenter_2F_Text_222364, MSGBOX_NPC +MossdeepCity_PokemonCenter_2F_EventScript_Woman5:: @ 822235B + msgbox MossdeepCity_PokemonCenter_2F_Text_Woman5, MSGBOX_NPC end -MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364 +MossdeepCity_PokemonCenter_2F_Text_Woman5: @ 8222364 .string "If I win a whole lot of link battles\n" .string "and show everyone how good I am,\l" .string "I might get a fan following!$" diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 0f9af5b04f..1058761c53 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -82,7 +82,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024 compare VAR_RESULT, 1 call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22305A closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end @@ -106,7 +106,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063 MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end @@ -139,14 +139,14 @@ MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119 msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 58b7e3f738..32c34ed236 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -57,13 +57,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09 trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461 applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_35, MossdeepCity_SpaceCenter_2F_Text_224499 applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1 @@ -238,13 +238,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 releaseall end MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 special SavePlayerParty fadescreen 1 @@ -270,19 +270,19 @@ MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032 switch VAR_RESULT case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071 fadescreen 1 - special sp0C8_whiteout_maybe + special SetCB2WhiteOut waitstate MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, MSGBOX_DEFAULT closemessage delay 20 - applymovement 9, Common_Movement_WalkInPlaceLeft - applymovement 8, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestLeft + applymovement 8, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 60 - applymovement 9, Common_Movement_WalkInPlaceUp - applymovement 8, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestUp + applymovement 8, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, MSGBOX_DEFAULT diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 677f1d3827..33b30e1d0b 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -28,7 +28,7 @@ MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0 MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA lockall - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 9f11cedc03..11e9b5c9f9 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -8,7 +8,7 @@ MtChimney_OnTransition: @ 822EDCC end MtChimney_MapScript1_22EDD2: @ 822EDD2 - setstepcallback 1 + setstepcallback STEP_CB_ASH end MtChimney_EventScript_22EDD5:: @ 822EDD5 @@ -60,7 +60,7 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B call_if_eq MtChimney_EventScript_22EEC7 compare VAR_FACING, DIR_NORTH call_if_eq MtChimney_EventScript_22EED2 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT closemessage diff --git a/data/maps/MtPyre_2F/scripts.inc b/data/maps/MtPyre_2F/scripts.inc index 150c08df4e..be98ac8e77 100644 --- a/data/maps/MtPyre_2F/scripts.inc +++ b/data/maps/MtPyre_2F/scripts.inc @@ -1,11 +1,11 @@ MtPyre_2F_MapScripts:: @ 82310FB - map_script MAP_SCRIPT_ON_FRAME_TABLE, MtPyre_2F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_2F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_MapScript1_23110B + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_SetHoleWarp .byte 0 -MtPyre_2F_MapScript1_23110B: @ 823110B - setstepcallback 7 +MtPyre_2F_SetHoleWarp: @ 823110B + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MT_PYRE_1F, 255, 0, 0 end diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index eb61c4c2dd..4049a1f29e 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -34,7 +34,7 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C playbgm MUS_AQA_0, 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceDown + applymovement 2, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 compare VAR_0x8008, 0 @@ -86,7 +86,7 @@ MtPyre_Summit_EventScript_2320EC:: @ 82320EC MtPyre_Summit_EventScript_2320F7:: @ 82320F7 applymovement 3, MtPyre_Summit_Movement_23212C waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -98,7 +98,7 @@ MtPyre_Summit_EventScript_23210C:: @ 823210C MtPyre_Summit_EventScript_232117:: @ 8232117 applymovement 3, MtPyre_Summit_Movement_232132 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return @@ -207,7 +207,7 @@ MtPyre_Summit_EventScript_232204:: @ 8232204 end MtPyre_Summit_EventScript_232210:: @ 8232210 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 60 compare VAR_0x8008, 0 @@ -292,7 +292,7 @@ MtPyre_Summit_EventScript_23235A:: @ 823235A applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323ED waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -300,7 +300,7 @@ MtPyre_Summit_EventScript_232376:: @ 8232376 applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F3 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -308,7 +308,7 @@ MtPyre_Summit_EventScript_232392:: @ 8232392 applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F8 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc index 873b4fd3b4..6538b2b8ea 100644 --- a/data/maps/NavelRock_Harbor/scripts.inc +++ b/data/maps/NavelRock_Harbor/scripts.inc @@ -9,7 +9,7 @@ NavelRock_Harbor_EventScript_2690BD:: @ 82690BD goto_if_eq NavelRock_Harbor_EventScript_269102 msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_NAVEL_ROCK_HARBOR diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 1fadc7b7d4..9b31454fdd 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -23,7 +23,7 @@ NewMauville_Entrance_OnTransition: @ 82372FB NewMauville_Entrance_EventScript_2372FF:: @ 82372FF lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT checkitem ITEM_BASEMENT_KEY, 1 diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index 7b124bc680..8e3950cae5 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -227,7 +227,7 @@ OldaleTown_EventScript_1E9086:: @ 81E9086 lockall applymovement 4, OldaleTown_Movement_1E9170 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -237,7 +237,7 @@ OldaleTown_EventScript_1E90A6:: @ 81E90A6 lockall applymovement 4, OldaleTown_Movement_1E9173 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -247,7 +247,7 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6 lockall applymovement 4, OldaleTown_Movement_1E9175 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index 87c8693a79..9df202d09b 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, OldaleTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 OldaleTown_PokemonCenter_1F_OnTransition: @ 81FC011 diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json index cddd0a5a30..c3e41775d0 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc index aead0bd65c..125805f50f 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218 - map_script MAP_SCRIPT_ON_FRAME_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, OldaleTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +OldaleTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC22D + call CableClub_EventScript_Colosseum end -OldaleTown_PokemonCenter_2F_EventScript_1FC233:: @ 81FC233 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +OldaleTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC233 + call CableClub_EventScript_TradeCenter end -OldaleTown_PokemonCenter_2F_EventScript_1FC239:: @ 81FC239 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +OldaleTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC239 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PacifidlogTown/scripts.inc b/data/maps/PacifidlogTown/scripts.inc index 1d1518c0a7..26e9924edb 100644 --- a/data/maps/PacifidlogTown/scripts.inc +++ b/data/maps/PacifidlogTown/scripts.inc @@ -8,7 +8,7 @@ PacifidlogTown_OnTransition: @ 81EBABC end PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0 - setstepcallback 3 + setstepcallback STEP_CB_PACIFIDLOG_BRIDGE end PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3 diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc index 28f187da99..9633ddc8b8 100644 --- a/data/maps/PacifidlogTown_House3/scripts.inc +++ b/data/maps/PacifidlogTown_House3/scripts.inc @@ -5,7 +5,7 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 lock faceplayer goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_203CAB - setvar VAR_0x8008, 2 + setvar VAR_0x8008, INGAME_TRADE_HORSEA copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json index 6902432778..83fdd1f792 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index 1a30d620b4..e51f6e89f5 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 PacifidlogTown_PokemonCenter_1F_OnTransition: @ 82034B2 diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json index c5f7c9907a..25d8abd04e 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc index fcb4f1ab48..576c1679c0 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635 - map_script MAP_SCRIPT_ON_FRAME_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +PacifidlogTown_PokemonCenter_2F_EventScript_Colosseum:: @ 820364A + call CableClub_EventScript_Colosseum end -PacifidlogTown_PokemonCenter_2F_EventScript_203650:: @ 8203650 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +PacifidlogTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8203650 + call CableClub_EventScript_TradeCenter end -PacifidlogTown_PokemonCenter_2F_EventScript_203656:: @ 8203656 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +PacifidlogTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8203656 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index e95fc9d929..d164300691 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -44,14 +44,14 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E special StartWallyTutorialBattle waitstate msgbox PetalburgCity_Text_1EC271, MSGBOX_DEFAULT - applymovement 2, Common_Movement_WalkInPlaceLeft, MAP_PETALBURG_CITY + applymovement 2, Common_Movement_WalkInPlaceFastestLeft, MAP_PETALBURG_CITY waitmovement 2, MAP_PETALBURG_CITY msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT closemessage clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_PETALBURG_CITY_STATE, 3 fadedefaultbgm - clearflag FLAG_SPECIAL_FLAG_0x4001 + clearflag FLAG_DONT_TRANSITION_MUSIC special LoadPlayerParty setvar VAR_PETALBURG_GYM_STATE, 1 warp MAP_PETALBURG_CITY_GYM, 255, 4, 108 @@ -78,7 +78,7 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390 waitdooranim clearflag FLAG_HIDE_MAP_NAME_POPUP fadedefaultbgm - clearflag FLAG_SPECIAL_FLAG_0x4001 + clearflag FLAG_DONT_TRANSITION_MUSIC warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4 waitstate releaseall @@ -290,8 +290,8 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA compare VAR_0x8008, 3 call_if_eq PetalburgCity_EventScript_1DC5FF msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT - applymovement 8, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement 8, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT closemessage @@ -304,7 +304,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA PetalburgCity_EventScript_1DC57F:: @ 81DC57F applymovement 8, PetalburgCity_Movement_1DC615 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return @@ -316,14 +316,14 @@ PetalburgCity_EventScript_1DC594:: @ 81DC594 PetalburgCity_EventScript_1DC59F:: @ 81DC59F applymovement 8, PetalburgCity_Movement_1DC61D waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4 applymovement 8, PetalburgCity_Movement_1DC622 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return @@ -549,17 +549,17 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 waitmovement 0 applymovement 9, PetalburgCity_Movement_1DC7DB waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_SCOTT_STATE, 1 msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT closemessage - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 msgbox PetalburgCity_Text_1DCB82, MSGBOX_DEFAULT closemessage - applymovement 9, Common_Movement_WalkInPlaceLeft + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 30 msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json index ff317c9430..30cb6e2096 100644 --- a/data/maps/PetalburgCity_Gym/map.json +++ b/data/maps/PetalburgCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2049F1", + "script": "PetalburgCity_Gym_EventScript_Norman", "flag": "FLAG_HIDE_PETALBURG_GYM_NORMAN" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2054AA", + "script": "PetalburgCity_Gym_EventScript_Mary", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2053BA", + "script": "PetalburgCity_Gym_EventScript_Randall", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2053F6", + "script": "PetalburgCity_Gym_EventScript_Parker", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2054E6", + "script": "PetalburgCity_Gym_EventScript_Alexia", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_205432", + "script": "PetalburgCity_Gym_EventScript_George", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_205522", + "script": "PetalburgCity_Gym_EventScript_Jody", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_20546E", + "script": "PetalburgCity_Gym_EventScript_Berke", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_20574F", + "script": "PetalburgCity_Gym_EventScript_GymGuide", "flag": "FLAG_HIDE_PETALBURG_GYM_GREETER" }, { @@ -434,7 +434,7 @@ "y": 105, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205137" + "script": "PetalburgCity_Gym_EventScript_SpeedRoomDoor" }, { "type": "sign", @@ -442,7 +442,7 @@ "y": 105, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205187" + "script": "PetalburgCity_Gym_EventScript_AccuracyRoomDoor" }, { "type": "sign", @@ -450,7 +450,7 @@ "y": 79, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2051BC" + "script": "PetalburgCity_Gym_EventScript_ConfusionRoomDoor" }, { "type": "sign", @@ -458,7 +458,7 @@ "y": 79, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2051EF" + "script": "PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor" }, { "type": "sign", @@ -466,7 +466,7 @@ "y": 92, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205222" + "script": "PetalburgCity_Gym_EventScript_RightDefenseRoomDoor" }, { "type": "sign", @@ -474,7 +474,7 @@ "y": 92, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205255" + "script": "PetalburgCity_Gym_EventScript_RecoveryRoomDoor" }, { "type": "sign", @@ -482,7 +482,7 @@ "y": 40, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205288" + "script": "PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor" }, { "type": "sign", @@ -490,7 +490,7 @@ "y": 53, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2052BB" + "script": "PetalburgCity_Gym_EventScript_RightStrengthRoomDoor" }, { "type": "sign", @@ -498,7 +498,7 @@ "y": 53, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2052EE" + "script": "PetalburgCity_Gym_EventScript_LeftOHKORoomDoor" }, { "type": "sign", @@ -506,7 +506,7 @@ "y": 66, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205321" + "script": "PetalburgCity_Gym_EventScript_RightOHKORoomDoor" }, { "type": "sign", @@ -514,7 +514,7 @@ "y": 14, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205354" + "script": "PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor" }, { "type": "sign", @@ -522,7 +522,7 @@ "y": 27, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205387" + "script": "PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor" }, { "type": "sign", @@ -530,7 +530,7 @@ "y": 110, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "PetalburgCity_Gym_EventScript_20576E" + "script": "PetalburgCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -538,7 +538,7 @@ "y": 110, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "PetalburgCity_Gym_EventScript_20577E" + "script": "PetalburgCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index f48f5a538a..f6a21b0b8a 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -1,219 +1,220 @@ PetalburgCity_Gym_MapScripts:: @ 8204889 - map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnTransition - map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_MapScript1_20492D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_MapScript2_20498B - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_MapScript2_20499A + map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_OnFrame .byte 0 -PetalburgCity_Gym_OnTransition: @ 820489E +PetalburgCity_Gym_OnLoad: @ 820489E compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_eq PetalburgCity_Gym_EventScript_2048B5 + goto_if_eq PetalburgCity_Gym_EventScript_OpenUnlockedDoors compare VAR_PETALBURG_GYM_STATE, 7 - call_if_ge PetalburgCity_Gym_EventScript_2048FF + call_if_ge PetalburgCity_Gym_EventScript_UnlockAllDoors end -PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5 +@ NOTE: Strength and OHKO rooms are misleading. Both are more accurately Critical-Hit +PetalburgCity_Gym_EventScript_OpenUnlockedDoors:: @ 82048B5 setvar VAR_0x8005, 1 - call PetalburgCity_Gym_EventScript_20555E + call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors checktrainerflag TRAINER_RANDALL - call_if_eq PetalburgCity_Gym_EventScript_20557F + call_if_eq PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors checktrainerflag TRAINER_MARY - call_if_eq PetalburgCity_Gym_EventScript_2055A0 + call_if_eq PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors checktrainerflag TRAINER_PARKER - call_if_eq PetalburgCity_Gym_EventScript_2055C1 + call_if_eq PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors checktrainerflag TRAINER_ALEXIA - call_if_eq PetalburgCity_Gym_EventScript_2055E2 + call_if_eq PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors checktrainerflag TRAINER_GEORGE - call_if_eq PetalburgCity_Gym_EventScript_205603 + call_if_eq PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors checktrainerflag TRAINER_JODY - call_if_eq PetalburgCity_Gym_EventScript_205624 + call_if_eq PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors checktrainerflag TRAINER_BERKE - call_if_eq PetalburgCity_Gym_EventScript_205645 + call_if_eq PetalburgCity_Gym_EventScript_OpenOHKORoomDoors end -PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF +PetalburgCity_Gym_EventScript_UnlockAllDoors:: @ 82048FF setvar VAR_0x8005, 1 - call PetalburgCity_Gym_EventScript_20555E - call PetalburgCity_Gym_EventScript_20557F - call PetalburgCity_Gym_EventScript_2055A0 - call PetalburgCity_Gym_EventScript_2055C1 - call PetalburgCity_Gym_EventScript_2055E2 - call PetalburgCity_Gym_EventScript_205603 - call PetalburgCity_Gym_EventScript_205624 - call PetalburgCity_Gym_EventScript_205645 + call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors + call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors + call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors + call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors + call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors + call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors + call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors + call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors return -PetalburgCity_Gym_MapScript1_20492D: @ 820492D +PetalburgCity_Gym_OnTransition: @ 820492D compare VAR_PETALBURG_GYM_STATE, 1 - call_if_eq PetalburgCity_Gym_EventScript_20494D + call_if_eq PetalburgCity_Gym_EventScript_MoveWallyToEntrance compare VAR_PETALBURG_GYM_STATE, 6 - call_if_lt PetalburgCity_Gym_EventScript_204955 - call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20495D + call_if_lt PetalburgCity_Gym_EventScript_MoveNormanToEntrance + call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_CheckNormanForRematch end -PetalburgCity_Gym_EventScript_20494D:: @ 820494D +PetalburgCity_Gym_EventScript_MoveWallyToEntrance:: @ 820494D setobjectxyperm 10, 5, 108 return -PetalburgCity_Gym_EventScript_204955:: @ 8204955 +PetalburgCity_Gym_EventScript_MoveNormanToEntrance:: @ 8204955 setobjectxyperm 1, 4, 107 return -PetalburgCity_Gym_EventScript_20495D:: @ 820495D - setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, 269 +PetalburgCity_Gym_EventScript_CheckNormanForRematch:: @ 820495D + setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, TRAINER_NORMAN_1 specialvar VAR_RESULT, IsTrainerReadyForRematch - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204985 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront compare VAR_PETALBURG_GYM_STATE, 8 - goto_if_eq PetalburgCity_Gym_EventScript_204985 + goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront setobjectxyperm 1, 4, 107 return -PetalburgCity_Gym_EventScript_204985:: @ 8204985 +PetalburgCity_Gym_EventScript_DontMoveNormanToFront:: @ 8204985 setvar VAR_PETALBURG_GYM_STATE, 8 end -PetalburgCity_Gym_MapScript2_20498B: @ 820498B - map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_204995 +PetalburgCity_Gym_OnWarp: @ 820498B + map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_TurnPlayerNorth .2byte 0 -PetalburgCity_Gym_EventScript_204995:: @ 8204995 +PetalburgCity_Gym_EventScript_TurnPlayerNorth:: @ 8204995 turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -PetalburgCity_Gym_MapScript2_20499A: @ 820499A - map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_2049A4 +PetalburgCity_Gym_OnFrame: @ 820499A + map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial .2byte 0 -PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4 +PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial:: @ 82049A4 lockall - msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadSoDidItWorkOut, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyThankYouBye, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2049EC + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyExitGym waitmovement 0 playse SE_KAIDAN removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLY delay 30 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadGoCollectBadges, MSGBOX_DEFAULT setvar VAR_PETALBURG_GYM_STATE, 2 releaseall end -PetalburgCity_Gym_Movement_2049EC: @ 82049EC +PetalburgCity_Gym_Movement_WallyExitGym: @ 82049EC walk_down walk_down walk_down delay_16 step_end -PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1 +PetalburgCity_Gym_EventScript_Norman:: @ 82049F1 lock faceplayer switch VAR_PETALBURG_GYM_STATE - case 2, PetalburgCity_Gym_EventScript_204D4A - case 3, PetalburgCity_Gym_EventScript_204D54 - case 4, PetalburgCity_Gym_EventScript_204D5E - case 5, PetalburgCity_Gym_EventScript_204D68 - case 6, PetalburgCity_Gym_EventScript_204E3B - case 7, PetalburgCity_Gym_EventScript_204D80 - case 8, PetalburgCity_Gym_EventScript_204DB3 - msgbox PetalburgCity_Gym_Text_2057A2, MSGBOX_DEFAULT + case 2, PetalburgCity_Gym_EventScript_NormanNoBadges + case 3, PetalburgCity_Gym_EventScript_NormanOneBadge + case 4, PetalburgCity_Gym_EventScript_NormanTwoBadges + case 5, PetalburgCity_Gym_EventScript_NormanThreeBadges + case 6, PetalburgCity_Gym_EventScript_NormanBattle + case 7, PetalburgCity_Gym_EventScript_NormanPostBattle + case 8, PetalburgCity_Gym_EventScript_NormanRematch + msgbox PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon, MSGBOX_DEFAULT closemessage switch VAR_FACING - case DIR_SOUTH, PetalburgCity_Gym_EventScript_204A80 - case DIR_NORTH, PetalburgCity_Gym_EventScript_204A8B - case DIR_WEST, PetalburgCity_Gym_EventScript_204A96 - case DIR_EAST, PetalburgCity_Gym_EventScript_204AA1 + case DIR_SOUTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth + case DIR_NORTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth + case DIR_WEST, PetalburgCity_Gym_EventScript_BeginWallyTutorialWest + case DIR_EAST, PetalburgCity_Gym_EventScript_BeginWallyTutorialEast end -PetalburgCity_Gym_EventScript_204A80:: @ 8204A80 +PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth:: @ 8204A80 setvar VAR_0x8008, 0 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204A8B:: @ 8204A8B +PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth:: @ 8204A8B setvar VAR_0x8008, 1 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204A96:: @ 8204A96 +PetalburgCity_Gym_EventScript_BeginWallyTutorialWest:: @ 8204A96 setvar VAR_0x8008, 2 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204AA1:: @ 8204AA1 +PetalburgCity_Gym_EventScript_BeginWallyTutorialEast:: @ 8204AA1 setvar VAR_0x8008, 3 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC - addobject 10 +PetalburgCity_Gym_EventScript_BeginWallyTutorial:: @ 8204AAC + addobject 10 @ Wally playse SE_DOOR compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204C31 + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204C43 + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204C5F + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204C5F - msgbox PetalburgCity_Gym_Text_2058B1, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_2058DB, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205910, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_2059D8, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast + msgbox PetalburgCity_Gym_Text_WallyIdLikeAPokemon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadOhYoureWallyRight, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadHmISee, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204CC7 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204CD2 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204CE4 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204CF6 - msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerEast + msgbox PetalburgCity_Gym_Text_DadPlayerGoWithWally, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D08 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallySouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D13 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D1E + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D29 - msgbox PetalburgCity_Gym_Text_205A46, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205A89, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205AF4, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyEast + msgbox PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyOhWowThankYou, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D72 + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D73 + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D7E + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D7F + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorEast compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D3F + call_if_eq PetalburgCity_Gym_EventScript_WallyFaceDown compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D34 - msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer + msgbox PetalburgCity_Gym_Text_WouldYouReallyComeWithMe, MSGBOX_DEFAULT closemessage - setflag FLAG_SPECIAL_FLAG_0x4001 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204C78 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallySouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204C91 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204CA3 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204CB5 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyEast removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT setvar VAR_PETALBURG_GYM_STATE, 1 @@ -227,180 +228,181 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC release end -PetalburgCity_Gym_EventScript_204C31:: @ 8204C31 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2050EB +PetalburgCity_Gym_EventScript_WallyArriveSouth:: @ 8204C31 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return -PetalburgCity_Gym_EventScript_204C43:: @ 8204C43 - applymovement 10, PetalburgCity_Gym_Movement_2050E1 +PetalburgCity_Gym_EventScript_WallyArriveNorth:: @ 8204C43 + applymovement 10, PetalburgCity_Gym_Movement_WallyArriveNorth waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2050EB +PetalburgCity_Gym_EventScript_WallyArriveWestEast:: @ 8204C5F + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return -PetalburgCity_Gym_EventScript_204C78:: @ 8204C78 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111 +PetalburgCity_Gym_EventScript_ExitGymWithWallySouth:: @ 8204C78 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallySouth waitmovement 0 return -PetalburgCity_Gym_EventScript_204C91:: @ 8204C91 - applymovement 10, PetalburgCity_Gym_Movement_2050F2 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109 +PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth:: @ 8204C91 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitNorth + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth waitmovement 0 return -PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3 - applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B +PetalburgCity_Gym_EventScript_ExitGymWithWallyWest:: @ 8204CA3 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyWest waitmovement 0 return -PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5 - applymovement 10, PetalburgCity_Gym_Movement_2050FA - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123 +PetalburgCity_Gym_EventScript_ExitGymWithWallyEast:: @ 8204CB5 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitEast + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyEast waitmovement 0 return -PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7 - applymovement 1, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth:: @ 8204CC7 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth:: @ 8204CD2 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +PetalburgCity_Gym_EventScript_NormanAddressPlayerWest:: @ 8204CE4 + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6 - applymovement 1, Common_Movement_WalkInPlaceLeft - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_NormanAddressPlayerEast:: @ 8204CF6 + applymovement 1, Common_Movement_WalkInPlaceFastestLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204D08:: @ 8204D08 - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallySouth:: @ 8204D08 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D13:: @ 8204D13 - applymovement 1, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_NormanAddressWallyNorth:: @ 8204D13 + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204D1E:: @ 8204D1E - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallyWest:: @ 8204D1E + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D29:: @ 8204D29 - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallyEast:: @ 8204D29 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D34:: @ 8204D34 +PetalburgCity_Gym_EventScript_WallyFacePlayer:: @ 8204D34 applymovement 10, Common_Movement_FacePlayer waitmovement 0 return -PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F - applymovement 10, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_WallyFaceDown:: @ 8204D3F + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A - msgbox PetalburgCity_Gym_Text_205DB4, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanNoBadges:: @ 8204D4A + msgbox PetalburgCity_Gym_Text_NormanGoToRustboro, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D54:: @ 8204D54 - msgbox PetalburgCity_Gym_Text_205EAE, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanOneBadge:: @ 8204D54 + msgbox PetalburgCity_Gym_Text_NormanGoToDewford, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E - msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanTwoBadges:: @ 8204D5E + msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D68:: @ 8204D68 - msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanThreeBadges:: @ 8204D68 + msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D72:: @ 8204D72 +PetalburgCity_Gym_EventScript_NormanFaceDoorSouth:: @ 8204D72 return -PetalburgCity_Gym_EventScript_204D73:: @ 8204D73 - applymovement 1, Common_Movement_WalkInPlaceDown +@ For all other NormanFaceDoorX, Norman is already facing the door from NormanAddressWallyX +PetalburgCity_Gym_EventScript_NormanFaceDoorNorth:: @ 8204D73 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D7E:: @ 8204D7E +PetalburgCity_Gym_EventScript_NormanFaceDoorWest:: @ 8204D7E return -PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F +PetalburgCity_Gym_EventScript_NormanFaceDoorEast:: @ 8204D7F return -PetalburgCity_Gym_EventScript_204D80:: @ 8204D80 - call PetalburgCity_Gym_EventScript_204DCE - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E1D - goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_204DAC - goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D - msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanPostBattle:: @ 8204D80 + call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_GiveEnigmaBerry + goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2 + goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough + msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC - call PetalburgCity_Gym_EventScript_204ED2 +PetalburgCity_Gym_EventScript_GiveFacade2:: @ 8204DAC + call PetalburgCity_Gym_EventScript_GiveFacade release end -PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3 - trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A - msgbox PetalburgCity_Gym_Text_2075F7, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_NormanRematch:: @ 8204DB3 + trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanPreRematch, PetalburgCity_Gym_Text_NormanRematchDefeat, PetalburgCity_Gym_Text_NormanRematchNeedTwoMons + msgbox PetalburgCity_Gym_Text_NormanPostRematch, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE +PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry:: @ 8204DCE specialvar VAR_RESULT, IsEnigmaBerryValid - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, FALSE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry checkitem ITEM_ENIGMA_BERRY, 1 - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry checkpcitem ITEM_ENIGMA_BERRY, 1 - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry compare VAR_ENIGMA_BERRY_AVAILABLE, 0 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 - msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT - setvar VAR_RESULT, 1 + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry + msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT + setvar VAR_RESULT, TRUE return -PetalburgCity_Gym_EventScript_204E17:: @ 8204E17 - setvar VAR_RESULT, 0 +PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry:: @ 8204E17 + setvar VAR_RESULT, FALSE return -PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D +PetalburgCity_Gym_EventScript_GiveEnigmaBerry:: @ 8204E1D giveitem_std ITEM_ENIGMA_BERRY compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull @@ -408,61 +410,61 @@ PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D release end -PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B - msgbox PetalburgCity_Gym_Text_205FE5, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_206107 - message PetalburgCity_Gym_Text_206162 +PetalburgCity_Gym_EventScript_NormanBattle:: @ 8204E3B + msgbox PetalburgCity_Gym_Text_NormanPreBattle, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanDefeat + message PetalburgCity_Gym_Text_ReceivedBalanceBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox PetalburgCity_Gym_Text_20618A, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_PETALBURG_GYM setvar VAR_PETALBURG_GYM_STATE, 7 setflag FLAG_BADGE05_GET special ResetHealLocationFromDewford - call PetalburgCity_Gym_EventScript_2721F8 + call EventScript_HideMrBriney setflag FLAG_HIDE_MAUVILLE_GYM_WATTSON clearflag FLAG_HIDE_MAUVILLE_CITY_WATTSON setvar VAR_0x8008, 5 call Common_EventScript_SetGymTrainers clearflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN - call PetalburgCity_Gym_EventScript_2048FF + call PetalburgCity_Gym_EventScript_UnlockAllDoors special DrawWholeMapView - call PetalburgCity_Gym_EventScript_204ED2 + call PetalburgCity_Gym_EventScript_GiveFacade delay 30 - msgbox PetalburgCity_Gym_Text_2062FB, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadHappyAndSad, MSGBOX_DEFAULT closemessage delay 40 playse SE_DOOR delay 10 - addobject 11 + addobject 11 @ Wallys Uncle switch VAR_FACING - case DIR_NORTH, PetalburgCity_Gym_EventScript_204EF5 - case DIR_WEST, PetalburgCity_Gym_EventScript_204F09 - case DIR_EAST, PetalburgCity_Gym_EventScript_204EFF + case DIR_NORTH, PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth + case DIR_WEST, PetalburgCity_Gym_EventScript_WallysUncleArrivesWest + case DIR_EAST, PetalburgCity_Gym_EventScript_WallysUncleArrivesEast end -PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2 +PetalburgCity_Gym_EventScript_GiveFacade:: @ 8204ED2 giveitem_std ITEM_TM42 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull setflag FLAG_RECEIVED_TM42 - msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT return -PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5 +PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth:: @ 8204EF5 setvar VAR_0x8008, 1 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204EFF:: @ 8204EFF +PetalburgCity_Gym_EventScript_WallysUncleArrivesEast:: @ 8204EFF setvar VAR_0x8008, 2 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204F09:: @ 8204F09 +PetalburgCity_Gym_EventScript_WallysUncleArrivesWest:: @ 8204F09 setvar VAR_0x8008, 3 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 - applymovement 11, PetalburgCity_Gym_Movement_2050BB +PetalburgCity_Gym_EventScript_WallysUncleArrives:: @ 8204F13 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleEnterGym waitmovement 0 playse SE_PIN applymovement 11, Common_Movement_ExclamationMark @@ -471,30 +473,30 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 waitmovement 0 delay 10 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204FED + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_205009 + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_205025 - msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest + msgbox PetalburgCity_Gym_Text_PleaseComeWithMe, MSGBOX_DEFAULT closemessage delay 20 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204FCC + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204FD7 + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204FE2 - msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest + msgbox PetalburgCity_Gym_Text_LetMeBorrowPlayer, MSGBOX_DEFAULT closemessage - setflag FLAG_SPECIAL_FLAG_0x4001 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_205041 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_20505A + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_20506C + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest removeobject 11 setvar VAR_PETALBURG_CITY_STATE, 4 clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE @@ -503,65 +505,65 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 release end -PetalburgCity_Gym_EventScript_204FCC:: @ 8204FCC - applymovement 11, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth:: @ 8204FCC + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204FD7:: @ 8204FD7 - applymovement 11, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast:: @ 8204FD7 + applymovement 11, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2 - applymovement 11, Common_Movement_WalkInPlaceLeft +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest:: @ 8204FE2 + applymovement 11, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_204FED:: @ 8204FED - applymovement 11, PetalburgCity_Gym_Movement_2050C3 +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth:: @ 8204FED + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_205009:: @ 8205009 - applymovement 11, PetalburgCity_Gym_Movement_2050CA +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast:: @ 8205009 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_205025:: @ 8205025 - applymovement 11, PetalburgCity_Gym_Movement_2050D0 +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest:: @ 8205025 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_205041:: @ 8205041 - applymovement 11, PetalburgCity_Gym_Movement_20507E - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth:: @ 8205041 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitNorth + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth waitmovement 0 return -PetalburgCity_Gym_EventScript_20505A:: @ 820505A - applymovement 11, PetalburgCity_Gym_Movement_205089 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast:: @ 820505A + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitEast + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast waitmovement 0 return -PetalburgCity_Gym_EventScript_20506C:: @ 820506C - applymovement 11, PetalburgCity_Gym_Movement_205094 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest:: @ 820506C + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest waitmovement 0 return -PetalburgCity_Gym_Movement_20507E: @ 820507E +PetalburgCity_Gym_Movement_WallysUncleExitNorth: @ 820507E walk_down walk_down walk_left @@ -574,7 +576,7 @@ PetalburgCity_Gym_Movement_20507E: @ 820507E set_invisible step_end -PetalburgCity_Gym_Movement_205089: @ 8205089 +PetalburgCity_Gym_Movement_WallysUncleExitEast: @ 8205089 walk_down walk_down walk_left @@ -587,7 +589,7 @@ PetalburgCity_Gym_Movement_205089: @ 8205089 set_invisible step_end -PetalburgCity_Gym_Movement_205094: @ 8205094 +PetalburgCity_Gym_Movement_WallysUncleExitWest: @ 8205094 walk_down walk_down walk_left @@ -602,7 +604,7 @@ PetalburgCity_Gym_Movement_205094: @ 8205094 set_invisible step_end -PetalburgCity_Gym_Movement_2050A1: @ 82050A1 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth: @ 82050A1 delay_16 walk_down walk_down @@ -612,7 +614,7 @@ PetalburgCity_Gym_Movement_2050A1: @ 82050A1 walk_down step_end -PetalburgCity_Gym_Movement_2050A9: @ 82050A9 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast: @ 82050A9 delay_16 walk_down walk_down @@ -622,7 +624,7 @@ PetalburgCity_Gym_Movement_2050A9: @ 82050A9 walk_down step_end -PetalburgCity_Gym_Movement_2050B1: @ 82050B1 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest: @ 82050B1 delay_16 walk_down walk_down @@ -634,7 +636,7 @@ PetalburgCity_Gym_Movement_2050B1: @ 82050B1 walk_down step_end -PetalburgCity_Gym_Movement_2050BB: @ 82050BB +PetalburgCity_Gym_Movement_WallysUncleEnterGym: @ 82050BB walk_up delay_8 walk_in_place_fastest_right @@ -644,7 +646,7 @@ PetalburgCity_Gym_Movement_2050BB: @ 82050BB walk_in_place_fastest_up step_end -PetalburgCity_Gym_Movement_2050C3: @ 82050C3 +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth: @ 82050C3 walk_right walk_right walk_up @@ -653,7 +655,7 @@ PetalburgCity_Gym_Movement_2050C3: @ 82050C3 walk_in_place_fastest_right step_end -PetalburgCity_Gym_Movement_2050CA: @ 82050CA +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast: @ 82050CA walk_right walk_right walk_up @@ -661,7 +663,7 @@ PetalburgCity_Gym_Movement_2050CA: @ 82050CA walk_up step_end -PetalburgCity_Gym_Movement_2050D0: @ 82050D0 +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest: @ 82050D0 walk_right walk_right walk_up @@ -671,6 +673,7 @@ PetalburgCity_Gym_Movement_2050D0: @ 82050D0 walk_up step_end +@ Unused PetalburgCity_Gym_Movement_2050D8: @ 82050D8 walk_in_place_fastest_up delay_16 @@ -682,7 +685,7 @@ PetalburgCity_Gym_Movement_2050D8: @ 82050D8 walk_in_place_fastest_down step_end -PetalburgCity_Gym_Movement_2050E1: @ 82050E1 +PetalburgCity_Gym_Movement_WallyArriveNorth: @ 82050E1 delay_16 walk_up delay_16 @@ -694,7 +697,7 @@ PetalburgCity_Gym_Movement_2050E1: @ 82050E1 walk_in_place_fastest_left step_end -PetalburgCity_Gym_Movement_2050EB: @ 82050EB +PetalburgCity_Gym_Movement_WallyArrive: @ 82050EB delay_16 walk_up delay_16 @@ -703,7 +706,7 @@ PetalburgCity_Gym_Movement_2050EB: @ 82050EB walk_up step_end -PetalburgCity_Gym_Movement_2050F2: @ 82050F2 +PetalburgCity_Gym_Movement_WallyExitNorth: @ 82050F2 walk_down walk_down walk_down @@ -713,7 +716,7 @@ PetalburgCity_Gym_Movement_2050F2: @ 82050F2 walk_in_place_down step_end -PetalburgCity_Gym_Movement_2050FA: @ 82050FA +PetalburgCity_Gym_Movement_WallyExitEast: @ 82050FA walk_down walk_down walk_right @@ -723,7 +726,7 @@ PetalburgCity_Gym_Movement_2050FA: @ 82050FA walk_in_place_down step_end -PetalburgCity_Gym_Movement_205102: @ 8205102 +PetalburgCity_Gym_Movement_WallyExitSouthWest: @ 8205102 walk_down walk_down walk_down @@ -732,7 +735,7 @@ PetalburgCity_Gym_Movement_205102: @ 8205102 walk_in_place_down step_end -PetalburgCity_Gym_Movement_205109: @ 8205109 +PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth: @ 8205109 delay_16 delay_16 delay_16 @@ -742,7 +745,7 @@ PetalburgCity_Gym_Movement_205109: @ 8205109 delay_8 step_end -PetalburgCity_Gym_Movement_205111: @ 8205111 +PetalburgCity_Gym_Movement_PlayerExitWithWallySouth: @ 8205111 delay_16 delay_16 walk_right @@ -754,7 +757,7 @@ PetalburgCity_Gym_Movement_205111: @ 8205111 delay_8 step_end -PetalburgCity_Gym_Movement_20511B: @ 820511B +PetalburgCity_Gym_Movement_PlayerExitWithWallyWest: @ 820511B delay_16 delay_16 walk_down @@ -764,7 +767,7 @@ PetalburgCity_Gym_Movement_20511B: @ 820511B delay_8 step_end -PetalburgCity_Gym_Movement_205123: @ 8205123 +PetalburgCity_Gym_Movement_PlayerExitWithWallyEast: @ 8205123 walk_in_place_fastest_down delay_16 delay_16 @@ -776,468 +779,471 @@ PetalburgCity_Gym_Movement_205123: @ 8205123 delay_8 step_end -PetalburgCity_Gym_EventScript_20512D:: @ 820512D - msgbox PetalburgCity_Gym_Text_2064C3, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough:: @ 820512D + msgbox PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_205137:: @ 8205137 +PetalburgCity_Gym_EventScript_SpeedRoomDoor:: @ 8205137 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 85 - msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterSpeedRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_20516C:: @ 820516C +PetalburgCity_Gym_EventScript_EnterRoom:: @ 820516C closemessage delay 30 - warpdoor MAP_PETALBURG_CITY_GYM, 255, 32776, 32777 + warpdoor MAP_PETALBURG_CITY_GYM, 255, VAR_0x8008, VAR_0x8009 waitstate releaseall end -PetalburgCity_Gym_EventScript_20517B:: @ 820517B +PetalburgCity_Gym_EventScript_DontEnterRoom:: @ 820517B releaseall end -PetalburgCity_Gym_EventScript_20517D:: @ 820517D - msgbox PetalburgCity_Gym_Text_2071F4, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_DoorLocked:: @ 820517D + msgbox PetalburgCity_Gym_Text_DoorAppearsLocked, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_EventScript_205187:: @ 8205187 +@ VAR_0x8008 and VAR_0x8009 below are the x and y coordinates of the warp +PetalburgCity_Gym_EventScript_AccuracyRoomDoor:: @ 8205187 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 98 - msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterAccuracyRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC +PetalburgCity_Gym_EventScript_ConfusionRoomDoor:: @ 82051BC lockall checktrainerflag TRAINER_RANDALL - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 46 - msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterConfusionRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF +PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor:: @ 82051EF lockall checktrainerflag TRAINER_RANDALL - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 59 - msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205222:: @ 8205222 +PetalburgCity_Gym_EventScript_RightDefenseRoomDoor:: @ 8205222 lockall checktrainerflag TRAINER_MARY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 59 - msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205255:: @ 8205255 +PetalburgCity_Gym_EventScript_RecoveryRoomDoor:: @ 8205255 lockall checktrainerflag TRAINER_MARY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 72 - msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterRecoveryRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205288:: @ 8205288 +PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor:: @ 8205288 lockall checktrainerflag TRAINER_PARKER - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 20 - msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB +PetalburgCity_Gym_EventScript_RightStrengthRoomDoor:: @ 82052BB lockall checktrainerflag TRAINER_ALEXIA - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 20 - msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE +PetalburgCity_Gym_EventScript_LeftOHKORoomDoor:: @ 82052EE lockall checktrainerflag TRAINER_ALEXIA - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 33 - msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205321:: @ 8205321 +PetalburgCity_Gym_EventScript_RightOHKORoomDoor:: @ 8205321 lockall checktrainerflag TRAINER_GEORGE - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 33 - msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205354:: @ 8205354 +PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor:: @ 8205354 lockall checktrainerflag TRAINER_JODY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 7 - msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205387:: @ 8205387 +PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor:: @ 8205387 lockall checktrainerflag TRAINER_BERKE - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 7 - msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO + msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA - trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2053ED - msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Randall:: @ 82053BA + trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_RandallPreBattle, PetalburgCity_Gym_Text_RandallDefeat, PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_RandallPostBadge + msgbox PetalburgCity_Gym_Text_RandallPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE +PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors:: @ 82053DE setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_20557F + call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED - msgbox PetalburgCity_Gym_Text_20685E, MSGBOX_NPC +PetalburgCity_Gym_EventScript_RandallPostBadge:: @ 82053ED + msgbox PetalburgCity_Gym_Text_RandallPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6 - trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205429 - msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Parker:: @ 82053F6 + trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_ParkerPreBattle, PetalburgCity_Gym_Text_ParkerDefeat, PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_ParkerPostBadge + msgbox PetalburgCity_Gym_Text_ParkerPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_20541A:: @ 820541A +PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors:: @ 820541A setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055C1 + call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205429:: @ 8205429 - msgbox PetalburgCity_Gym_Text_2069D9, MSGBOX_NPC +PetalburgCity_Gym_EventScript_ParkerPostBadge:: @ 8205429 + msgbox PetalburgCity_Gym_Text_ParkerPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_205432:: @ 8205432 - trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205465 - msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_George:: @ 8205432 + trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_GeorgePreBattle, PetalburgCity_Gym_Text_GeorgeDefeat, PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GeorgePostBadge + msgbox PetalburgCity_Gym_Text_GeorgePostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205456:: @ 8205456 +PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors:: @ 8205456 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205603 + call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205465:: @ 8205465 - msgbox PetalburgCity_Gym_Text_206BB1, MSGBOX_NPC +PetalburgCity_Gym_EventScript_GeorgePostBadge:: @ 8205465 + msgbox PetalburgCity_Gym_Text_GeorgePostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_20546E:: @ 820546E - trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054A1 - msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Berke:: @ 820546E + trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_BerkePreBattle, PetalburgCity_Gym_Text_BerkeDefeat, PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_BerkePostBadge + msgbox PetalburgCity_Gym_Text_BerkePostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205492:: @ 8205492 +PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors:: @ 8205492 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205645 + call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1 - msgbox PetalburgCity_Gym_Text_206D56, MSGBOX_NPC +PetalburgCity_Gym_EventScript_BerkePostBadge:: @ 82054A1 + msgbox PetalburgCity_Gym_Text_BerkePostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA - trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054DD - msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Mary:: @ 82054AA + trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_MaryPreBattle, PetalburgCity_Gym_Text_MaryDefeat, PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_MaryPostBadge + msgbox PetalburgCity_Gym_Text_MaryPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE +PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors:: @ 82054CE setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055A0 + call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD - msgbox PetalburgCity_Gym_Text_206ED8, MSGBOX_NPC +PetalburgCity_Gym_EventScript_MaryPostBadge:: @ 82054DD + msgbox PetalburgCity_Gym_Text_MaryPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6 - trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205519 - msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Alexia:: @ 82054E6 + trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_AlexiaPreBattle, PetalburgCity_Gym_Text_AlexiaDefeat, PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_AlexiaPostBadge + msgbox PetalburgCity_Gym_Text_AlexiaPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_20550A:: @ 820550A +PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors:: @ 820550A setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055E2 + call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205519:: @ 8205519 - msgbox PetalburgCity_Gym_Text_207069, MSGBOX_NPC +PetalburgCity_Gym_EventScript_AlexiaPostBadge:: @ 8205519 + msgbox PetalburgCity_Gym_Text_AlexiaPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_205522:: @ 8205522 - trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205555 - msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Jody:: @ 8205522 + trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_JodyPreBattle, PetalburgCity_Gym_Text_JodyDefeat, PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_JodyPostBadge + msgbox PetalburgCity_Gym_Text_JodyPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205546:: @ 8205546 +PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors:: @ 8205546 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205624 + call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205555:: @ 8205555 - msgbox PetalburgCity_Gym_Text_207170, MSGBOX_NPC +PetalburgCity_Gym_EventScript_JodyPostBadge:: @ 8205555 + msgbox PetalburgCity_Gym_Text_JodyPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_20555E:: @ 820555E +@ VAR_0x8004 below is the room number +@ VAR_0x8005 below is 0 when the door should be slid open and 1 when it should be unlocked immediately +PetalburgCity_Gym_EventScript_OpenGymEntranceDoors:: @ 820555E setvar VAR_0x8004, 1 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205666 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_20557F:: @ 820557F +PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors:: @ 820557F setvar VAR_0x8004, 2 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_20568B + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0 +PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors:: @ 82055A0 setvar VAR_0x8004, 3 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056B0 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1 +PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors:: @ 82055C1 setvar VAR_0x8004, 4 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056D5 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2 +PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors:: @ 82055E2 setvar VAR_0x8004, 5 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056E8 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205603:: @ 8205603 +PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors:: @ 8205603 setvar VAR_0x8004, 6 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_20570D + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205624:: @ 8205624 +PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors:: @ 8205624 setvar VAR_0x8004, 7 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205720 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205645:: @ 8205645 +PetalburgCity_Gym_EventScript_OpenOHKORoomDoors:: @ 8205645 setvar VAR_0x8004, 8 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205733 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205666:: @ 8205666 +PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles:: @ 8205666 setmetatile 6, 85, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 85, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 98, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 98, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_20568B:: @ 820568B +PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles:: @ 820568B setmetatile 6, 46, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 46, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056B0:: @ 82056B0 +PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles:: @ 82056B0 setmetatile 6, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 72, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 72, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056D5:: @ 82056D5 +PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles:: @ 82056D5 setmetatile 1, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056E8:: @ 82056E8 +PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles:: @ 82056E8 setmetatile 6, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_20570D:: @ 820570D +PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles:: @ 820570D setmetatile 6, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205720:: @ 8205720 +PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles:: @ 8205720 setmetatile 1, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205733:: @ 8205733 +PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles:: @ 8205733 setmetatile 6, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205746:: @ 8205746 - special PetalburgGymSpecial1 +PetalburgCity_Gym_EventScript_SlideOpenRoomDoors:: @ 8205746 + special PetalburgGymSlideOpenRoomDoors waitstate return -PetalburgCity_Gym_EventScript_20574B:: @ 820574B - special PetalburgGymSpecial2 +PetalburgCity_Gym_EventScript_UnlockRoomDoors:: @ 820574B + special PetalburgGymUnlockRoomDoors return -PetalburgCity_Gym_EventScript_20574F:: @ 820574F +PetalburgCity_Gym_EventScript_GymGuide:: @ 820574F lock faceplayer - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205764 - msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GymGuidePostVictory + msgbox PetalburgCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_205764:: @ 8205764 - msgbox PetalburgCity_Gym_Text_2066F3, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymGuidePostVictory:: @ 8205764 + msgbox PetalburgCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_20576E:: @ 820576E +PetalburgCity_Gym_EventScript_LeftGymStatue:: @ 820576E lockall - goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E - goto PetalburgCity_Gym_EventScript_205798 + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified + goto PetalburgCity_Gym_EventScript_GymStatue end -PetalburgCity_Gym_EventScript_20577E:: @ 820577E +PetalburgCity_Gym_EventScript_RightGymStatue:: @ 820577E lockall - goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E - goto PetalburgCity_Gym_EventScript_205798 + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified + goto PetalburgCity_Gym_EventScript_GymStatue end -PetalburgCity_Gym_EventScript_20578E:: @ 820578E - msgbox PetalburgCity_Gym_Text_207467, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymStatueCertified:: @ 820578E + msgbox PetalburgCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_EventScript_205798:: @ 8205798 - msgbox PetalburgCity_Gym_Text_20744C, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymStatue:: @ 8205798 + msgbox PetalburgCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_Text_2057A2: @ 82057A2 +PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon: @ 82057A2 .string "DAD: Hm?\p" .string "Well, if it isn't {PLAYER}!\n" .string "So you're all finished moving in?\p" @@ -1250,15 +1256,15 @@ PetalburgCity_Gym_Text_2057A2: @ 82057A2 .string "That's great news!\n" .string "I'll be looking forward to it!$" -PetalburgCity_Gym_Text_2058B1: @ 82058B1 +PetalburgCity_Gym_Text_WallyIdLikeAPokemon: @ 82058B1 .string "Um… I…\n" .string "I'd like to get a POKéMON, please…$" -PetalburgCity_Gym_Text_2058DB: @ 82058DB +PetalburgCity_Gym_Text_DadOhYoureWallyRight: @ 82058DB .string "DAD: Hm? You're… Uh… Oh, right.\n" .string "You're WALLY, right?$" -PetalburgCity_Gym_Text_205910: @ 8205910 +PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon: @ 8205910 .string "WALLY: I'm going to go stay with my\n" .string "relatives in VERDANTURF TOWN.\p" .string "I thought I would be lonely by myself,\n" @@ -1266,38 +1272,38 @@ PetalburgCity_Gym_Text_205910: @ 8205910 .string "But I've never caught a POKéMON before.\n" .string "I don't know how…$" -PetalburgCity_Gym_Text_2059D8: @ 82059D8 +PetalburgCity_Gym_Text_DadHmISee: @ 82059D8 .string "DAD: Hm. I see.$" -PetalburgCity_Gym_Text_2059E8: @ 82059E8 +PetalburgCity_Gym_Text_DadPlayerGoWithWally: @ 82059E8 .string "DAD: {PLAYER}, you heard that,\n" .string "right?\p" .string "Go with WALLY and make sure that he\n" .string "safely catches a POKéMON.$" -PetalburgCity_Gym_Text_205A46: @ 8205A46 +PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon: @ 8205A46 .string "WALLY, here, I'll loan you my POKéMON.\p" .string "WALLY received a ZIGZAGOON!$" -PetalburgCity_Gym_Text_205A89: @ 8205A89 +PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall: @ 8205A89 .string "WALLY: Oh, wow!\n" .string "A POKéMON!\p" .string "DAD: Hm. I'll give you a POKé BALL, too.\n" .string "Go for it!\p" .string "WALLY received a POKé BALL!$" -PetalburgCity_Gym_Text_205AF4: @ 8205AF4 +PetalburgCity_Gym_Text_WallyOhWowThankYou: @ 8205AF4 .string "WALLY: Oh, wow!\n" .string "Thank you!$" -PetalburgCity_Gym_Text_205B0F: @ 8205B0F +PetalburgCity_Gym_Text_WouldYouReallyComeWithMe: @ 8205B0F .string "{PLAYER}… Would you really come\n" .string "with me?$" -PetalburgCity_Gym_Text_205B32: @ 8205B32 +PetalburgCity_Gym_Text_DadSoDidItWorkOut: @ 8205B32 .string "DAD: So, did it work out?$" -PetalburgCity_Gym_Text_205B4C: @ 8205B4C +PetalburgCity_Gym_Text_WallyThankYouBye: @ 8205B4C .string "WALLY: Thank you, yes, it did.\n" .string "Here's your POKéMON back.\p" .string "{PLAYER}, thank you for coming along\n" @@ -1310,7 +1316,7 @@ PetalburgCity_Gym_Text_205B4C: @ 8205B4C .string "so I have to go!\p" .string "Bye, {PLAYER}!$" -PetalburgCity_Gym_Text_205C40: @ 8205C40 +PetalburgCity_Gym_Text_DadGoCollectBadges: @ 8205C40 .string "DAD: Now…\p" .string "{PLAYER}, if you want to become a\n" .string "strong TRAINER, here's my advice.\p" @@ -1327,7 +1333,7 @@ PetalburgCity_Gym_Text_205C40: @ 8205C40 .string "But that's only after you become\n" .string "stronger.$" -PetalburgCity_Gym_Text_205DB4: @ 8205DB4 +PetalburgCity_Gym_Text_NormanGoToRustboro: @ 8205DB4 .string "DAD: Hm? Aren't you going to the\n" .string "POKéMON GYM in RUSTBORO CITY?\p" .string "There's no challenge for me to\n" @@ -1337,7 +1343,7 @@ PetalburgCity_Gym_Text_205DB4: @ 8205DB4 .string "I'll battle you, {PLAYER}, when you\n" .string "can show me four GYM BADGES, okay?$" -PetalburgCity_Gym_Text_205EAE: @ 8205EAE +PetalburgCity_Gym_Text_NormanGoToDewford: @ 8205EAE .string "DAD: I see… So, you've beaten\n" .string "the GYM LEADER in RUSTBORO CITY.\p" .string "But there are many more TRAINERS\n" @@ -1346,13 +1352,13 @@ PetalburgCity_Gym_Text_205EAE: @ 8205EAE .string "GYM LEADER named BRAWLY.\p" .string "You should go challenge him.$" -PetalburgCity_Gym_Text_205F87: @ 8205F87 +PetalburgCity_Gym_Text_YouHaveGottenStronger: @ 8205F87 .string "DAD: Hm… {PLAYER}, you have gotten\n" .string "stronger.\p" .string "I can tell by the number of BADGES\n" .string "that you've earned.$" -PetalburgCity_Gym_Text_205FE5: @ 8205FE5 +PetalburgCity_Gym_Text_NormanPreBattle: @ 8205FE5 .string "DAD: Hm…\n" .string "So, you did get four GYM BADGES.\p" .string "Fine, as I promised, we will have\n" @@ -1366,7 +1372,7 @@ PetalburgCity_Gym_Text_205FE5: @ 8205FE5 .string "{PLAYER}, you'd better give it your\n" .string "best shot, too!$" -PetalburgCity_Gym_Text_206107: @ 8206107 +PetalburgCity_Gym_Text_NormanDefeat: @ 8206107 .string "…\p" .string "I… I can't…\p" .string "I can't believe it. {PLAYER}…\p" @@ -1374,11 +1380,11 @@ PetalburgCity_Gym_Text_206107: @ 8206107 .string "But, rules are rules!\n" .string "Here, take this.$" -PetalburgCity_Gym_Text_206162: @ 8206162 +PetalburgCity_Gym_Text_ReceivedBalanceBadge: @ 8206162 .string "{PLAYER} received the BALANCE BADGE\n" .string "from DAD!$" -PetalburgCity_Gym_Text_20618A: @ 820618A +PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis: @ 820618A .string "DAD: With that BADGE, the DEFENSE\n" .string "of all your POKéMON will increase.\p" .string "POKéMON that know the HM move SURF\n" @@ -1386,7 +1392,7 @@ PetalburgCity_Gym_Text_20618A: @ 820618A .string "This is my gift to you. {PLAYER}, I'm\n" .string "sure you can use it correctly.$" -PetalburgCity_Gym_Text_206254: @ 8206254 +PetalburgCity_Gym_Text_ExplainFacade: @ 8206254 .string "DAD: TM42 contains FACADE.\p" .string "It doubles the power of moves if\n" .string "the POKéMON is poisoned, paralyzed,\l" @@ -1394,23 +1400,23 @@ PetalburgCity_Gym_Text_206254: @ 8206254 .string "It might be able to turn a bad\n" .string "situation into an advantage.$" -PetalburgCity_Gym_Text_2062FB: @ 82062FB +PetalburgCity_Gym_Text_DadHappyAndSad: @ 82062FB .string "DAD: As the GYM LEADER, I can't\n" .string "express how upset I am…\p" .string "But as a father, it makes me both\n" .string "happy and a little sad. It's odd…$" -PetalburgCity_Gym_Text_206377: @ 8206377 +PetalburgCity_Gym_Text_PleaseComeWithMe: @ 8206377 .string "Ah, there you are, {PLAYER}{KUN}!\p" .string "Please come with me.\n" .string "I have something I want you to have.$" -PetalburgCity_Gym_Text_2063CA: @ 82063CA +PetalburgCity_Gym_Text_LetMeBorrowPlayer: @ 82063CA .string "NORMAN, you don't mind, do you?\p" .string "Let me borrow your {PLAYER}{KUN} for\n" .string "a minute or two.$" -PetalburgCity_Gym_Text_206417: @ 8206417 +PetalburgCity_Gym_Text_DadGoingToKeepTraining: @ 8206417 .string "DAD: {PLAYER}, you should go visit\n" .string "your mother every so often.\p" .string "I'm going to stay here and redouble\n" @@ -1418,13 +1424,13 @@ PetalburgCity_Gym_Text_206417: @ 8206417 .string "It would bother me as a TRAINER to\n" .string "not avenge my loss to you, {PLAYER}!$" -PetalburgCity_Gym_Text_2064C3: @ 82064C3 +PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough: @ 82064C3 .string "DAD: {PLAYER}, how are things going?\p" .string "The world of POKéMON is deep.\p" .string "I honestly think that no amount of\n" .string "training would ever be enough.$" -PetalburgCity_Gym_Text_206542: @ 8206542 +PetalburgCity_Gym_Text_GymGuideAdvice: @ 8206542 .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "The doors in this GYM open when you\n" @@ -1442,53 +1448,53 @@ PetalburgCity_Gym_Text_206542: @ 8206542 .string "Once you've chosen the door…\n" .string "Well, hey, go for it!$" -PetalburgCity_Gym_Text_2066F3: @ 82066F3 +PetalburgCity_Gym_Text_GymGuidePostVictory: @ 82066F3 .string "{PLAYER}! Whoa! You've overcome even\n" .string "your own father!\p" .string "Like, whoa!\n" .string "What a stunning turn of events!$" -PetalburgCity_Gym_Text_20674F: @ 820674F +PetalburgCity_Gym_Text_RandallPreBattle: @ 820674F .string "The ability to attack before the\n" .string "opponent…\p" .string "Just that alone puts me at a great\n" .string "advantage, don't you agree?$" -PetalburgCity_Gym_Text_2067B9: @ 82067B9 +PetalburgCity_Gym_Text_RandallDefeat: @ 82067B9 .string "That was a magnificent battle!$" -PetalburgCity_Gym_Text_2067D8: @ 82067D8 +PetalburgCity_Gym_Text_RandallPostBattle: @ 82067D8 .string "Go on to the next room where a new\n" .string "challenge awaits you.\p" .string "At the left is the CONFUSION ROOM.\p" .string "The right door leads to the DEFENSE\n" .string "ROOM.$" -PetalburgCity_Gym_Text_20685E: @ 820685E +PetalburgCity_Gym_Text_RandallPostBadge: @ 820685E .string "Whomever you beat, and whomever you\n" .string "may lose to, you never shirk from\l" .string "training yourself and your POKéMON.\p" .string "That's what I think being a\n" .string "GYM LEADER is all about.$" -PetalburgCity_Gym_Text_2068FD: @ 82068FD +PetalburgCity_Gym_Text_ParkerPreBattle: @ 82068FD .string "This is the CONFUSION ROOM.\p" .string "Let me see how well bonded you are\n" .string "with your POKéMON!$" -PetalburgCity_Gym_Text_20694F: @ 820694F +PetalburgCity_Gym_Text_ParkerDefeat: @ 820694F .string "I couldn't confuse your team enough…\n" .string "You share a strong bond together.$" -PetalburgCity_Gym_Text_206996: @ 8206996 +PetalburgCity_Gym_Text_ParkerPostBattle: @ 8206996 .string "The next room is the STRENGTH ROOM.\n" .string "Can you withstand brute force?$" -PetalburgCity_Gym_Text_2069D9: @ 82069D9 +PetalburgCity_Gym_Text_ParkerPostBadge: @ 82069D9 .string "After you beat our LEADER, the\n" .string "training has become a lot tougher.$" -PetalburgCity_Gym_Text_206A1B: @ 8206A1B +PetalburgCity_Gym_Text_GeorgePreBattle: @ 8206A1B .string "Just when you think you're going to\n" .string "win, your opponent restores HP…\p" .string "Can you just imagine how awful that\n" @@ -1496,11 +1502,11 @@ PetalburgCity_Gym_Text_206A1B: @ 8206A1B .string "I'll show you exactly how awful it\n" .string "feels!$" -PetalburgCity_Gym_Text_206AB8: @ 8206AB8 +PetalburgCity_Gym_Text_GeorgeDefeat: @ 8206AB8 .string "I couldn't restore HP enough…\n" .string "What ATTACK power…$" -PetalburgCity_Gym_Text_206AE9: @ 8206AE9 +PetalburgCity_Gym_Text_GeorgePostBattle: @ 8206AE9 .string "I should have expected no less from\n" .string "our LEADER's kid.\p" .string "No, wait! A TRAINER's abilities are\n" @@ -1509,21 +1515,21 @@ PetalburgCity_Gym_Text_206AE9: @ 8206AE9 .string "weren't enough.\p" .string "Go on! The ONE-HIT KO ROOM is next.$" -PetalburgCity_Gym_Text_206BB1: @ 8206BB1 +PetalburgCity_Gym_Text_GeorgePostBadge: @ 8206BB1 .string "I'm going to keep training at GYMS.\n" .string "One day, I'll become a LEADER.$" -PetalburgCity_Gym_Text_206BF4: @ 8206BF4 +PetalburgCity_Gym_Text_BerkePreBattle: @ 8206BF4 .string "I'm not going to take it easy just\n" .string "because you're our LEADER's kid.\p" .string "I'll show you how horrid it is for\n" .string "a POKéMON to take a critical hit!$" -PetalburgCity_Gym_Text_206C7D: @ 8206C7D +PetalburgCity_Gym_Text_BerkeDefeat: @ 8206C7D .string "Your power…\n" .string "You're the real deal.$" -PetalburgCity_Gym_Text_206C9F: @ 8206C9F +PetalburgCity_Gym_Text_BerkePostBattle: @ 8206C9F .string "Your father really is strong.\n" .string "He's a TRAINER worth my respect.\p" .string "And, I sense the same glow coming\n" @@ -1531,21 +1537,21 @@ PetalburgCity_Gym_Text_206C9F: @ 8206C9F .string "I hope that you'll stage a terrific\n" .string "battle with your father!$" -PetalburgCity_Gym_Text_206D56: @ 8206D56 +PetalburgCity_Gym_Text_BerkePostBadge: @ 8206D56 .string "Since your dad became the LEADER,\n" .string "the TRAINERS of PETALBURG CITY have\l" .string "become a lot tougher.$" -PetalburgCity_Gym_Text_206DB2: @ 8206DB2 +PetalburgCity_Gym_Text_MaryPreBattle: @ 8206DB2 .string "Giggle…\n" .string "This is the ACCURACY ROOM.\p" .string "It's pretty nasty when every attack\n" .string "lands without fail.$" -PetalburgCity_Gym_Text_206E0D: @ 8206E0D +PetalburgCity_Gym_Text_MaryDefeat: @ 8206E0D .string "You were a cut above me…$" -PetalburgCity_Gym_Text_206E26: @ 8206E26 +PetalburgCity_Gym_Text_MaryPostBattle: @ 8206E26 .string "There are some even stronger\n" .string "TRAINERS waiting for you.\p" .string "The left is the DEFENSE ROOM, and\n" @@ -1553,20 +1559,20 @@ PetalburgCity_Gym_Text_206E26: @ 8206E26 .string "Your POKéMON's ATTACK power will be\n" .string "on trial either way.$" -PetalburgCity_Gym_Text_206ED8: @ 8206ED8 +PetalburgCity_Gym_Text_MaryPostBadge: @ 8206ED8 .string "Do you know what we're trying to\n" .string "achieve as TRAINERS?\p" .string "We're striving to become soul mates\n" .string "with our POKéMON.$" -PetalburgCity_Gym_Text_206F44: @ 8206F44 +PetalburgCity_Gym_Text_AlexiaPreBattle: @ 8206F44 .string "The higher the DEFENSE, the more\n" .string "reckless I can be in attack.$" -PetalburgCity_Gym_Text_206F82: @ 8206F82 +PetalburgCity_Gym_Text_AlexiaDefeat: @ 8206F82 .string "Our defenses weren't enough…$" -PetalburgCity_Gym_Text_206F9F: @ 8206F9F +PetalburgCity_Gym_Text_AlexiaPostBattle: @ 8206F9F .string "I think you've taught me a valuable\n" .string "lesson here.\p" .string "Now, go on! The left door goes to\n" @@ -1576,82 +1582,83 @@ PetalburgCity_Gym_Text_206F9F: @ 8206F9F .string "Both of them have TRAINERS who are\n" .string "skilled at offense.$" -PetalburgCity_Gym_Text_207069: @ 8207069 +PetalburgCity_Gym_Text_AlexiaPostBadge: @ 8207069 .string "Hi! Have you tried using SURF?$" -PetalburgCity_Gym_Text_207088: @ 8207088 +PetalburgCity_Gym_Text_JodyPreBattle: @ 8207088 .string "Our GYM LEADER told us to go all out\n" .string "and beat you.\p" .string "Even if you happen to be the\n" .string "LEADER's kid!$" -PetalburgCity_Gym_Text_2070E6: @ 82070E6 +PetalburgCity_Gym_Text_JodyDefeat: @ 82070E6 .string "But… I went all out!$" -PetalburgCity_Gym_Text_2070FB: @ 82070FB +PetalburgCity_Gym_Text_JodyPostBattle: @ 82070FB .string "The way you use your POKéMON…\n" .string "It's like your father's style.\p" .string "Go on through! The GYM LEADER, your\n" .string "father, is waiting!$" -PetalburgCity_Gym_Text_207170: @ 8207170 +PetalburgCity_Gym_Text_JodyPostBadge: @ 8207170 .string "Sure, it's fine to make your POKéMON\n" .string "stronger.\p" .string "But what decides the winner?\p" .string "Why, it's the feelings TRAINERS have\n" .string "for their POKéMON.$" -PetalburgCity_Gym_Text_2071F4: @ 82071F4 +PetalburgCity_Gym_Text_DoorAppearsLocked: @ 82071F4 .string "This door appears to be locked\n" .string "right now…$" -PetalburgCity_Gym_Text_20721E: @ 820721E +PetalburgCity_Gym_Text_EnterSpeedRoom: @ 820721E .string "“SPEED ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_207256: @ 8207256 +@ Unused +PetalburgCity_Gym_Text_DoorAppearsLocked2: @ 8207256 .string "This door appears to be locked\n" .string "right now…$" -PetalburgCity_Gym_Text_207280: @ 8207280 +PetalburgCity_Gym_Text_EnterAccuracyRoom: @ 8207280 .string "“ACCURACY ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2072BB: @ 82072BB +PetalburgCity_Gym_Text_EnterConfusionRoom: @ 82072BB .string "“CONFUSION ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2072F7: @ 82072F7 +PetalburgCity_Gym_Text_EnterDefenseRoom: @ 82072F7 .string "“DEFENSE ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_207331: @ 8207331 +PetalburgCity_Gym_Text_EnterRecoveryRoom: @ 8207331 .string "“RECOVERY ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_20736C: @ 820736C +PetalburgCity_Gym_Text_EnterStrengthRoom: @ 820736C .string "“STRENGTH ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2073A7: @ 82073A7 +PetalburgCity_Gym_Text_EnterOHKORoom: @ 82073A7 .string "“ONE-HIT KO ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2073E4: @ 82073E4 +PetalburgCity_Gym_Text_EnterGymLeadersRoom: @ 82073E4 .string "“GYM LEADER'S ROOM\p" .string "“See for yourself what POKéMON await\n" .string "you!” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_20744C: @ 820744C +PetalburgCity_Gym_Text_GymStatue: @ 820744C .string "PETALBURG CITY POKéMON GYM$" -PetalburgCity_Gym_Text_207467: @ 8207467 +PetalburgCity_Gym_Text_GymStatueCertified: @ 8207467 .string "PETALBURG CITY POKéMON GYM\p" .string "NORMAN'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -PetalburgCity_Gym_Text_2074A2: @ 82074A2 +PetalburgCity_Gym_Text_NormanPreRematch: @ 82074A2 .string "DAD: {PLAYER}…\n" .string "I had a feeling that you would come.\p" .string "I would never refuse to accept\n" @@ -1663,18 +1670,18 @@ PetalburgCity_Gym_Text_2074A2: @ 82074A2 .string "we owe it to each other to do the best\l" .string "we can. Isn't that right, {PLAYER}?$" -PetalburgCity_Gym_Text_2075CE: @ 82075CE +PetalburgCity_Gym_Text_NormanRematchDefeat: @ 82075CE .string "Uh… Haha…\n" .string "Maybe that was going too hard…$" -PetalburgCity_Gym_Text_2075F7: @ 82075F7 +PetalburgCity_Gym_Text_NormanPostRematch: @ 82075F7 .string "DAD: {PLAYER}…\n" .string "What is your dream?\p" .string "My dream…\n" .string "Hahaha…\l" .string "It has already come true, actually.$" -PetalburgCity_Gym_Text_20764A: @ 820764A +PetalburgCity_Gym_Text_NormanRematchNeedTwoMons: @ 820764A .string "DAD: {PLAYER}…\n" .string "I had a feeling that you would come.\p" .string "I would never refuse to accept\n" diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index 85a16914f7..a5b069d947 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, PetalburgCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 PetalburgCity_PokemonCenter_1F_OnTransition: @ 82079F3 diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json index 279c5e44b5..067d6f2373 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc index d2370c6b1a..8485ae2c69 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41 - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +PetalburgCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8207D56 + call CableClub_EventScript_Colosseum end -PetalburgCity_PokemonCenter_2F_EventScript_207D5C:: @ 8207D5C - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +PetalburgCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8207D5C + call CableClub_EventScript_TradeCenter end -PetalburgCity_PokemonCenter_2F_EventScript_207D62:: @ 8207D62 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +PetalburgCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8207D62 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index da07716dba..5a194c721f 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -15,7 +15,7 @@ PetalburgWoods_EventScript_22DFD7:: @ 822DFD7 closemessage applymovement 3, PetalburgWoods_Movement_22E1F6 waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT closemessage @@ -41,7 +41,7 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 call PetalburgWoods_EventScript_22E124 applymovement 4, PetalburgWoods_Movement_22E1D0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT closemessage @@ -52,14 +52,14 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 closemessage applymovement 3, PetalburgWoods_Movement_22E205 waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT closemessage applymovement 4, PetalburgWoods_Movement_22E1EA waitmovement 0 msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542 @@ -85,7 +85,7 @@ PetalburgWoods_EventScript_22E138:: @ 822E138 applymovement 3, PetalburgWoods_Movement_22E1FD waitmovement 0 removeobject 3 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT giveitem_std ITEM_GREAT_BALL diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json index 44d8b2137d..7e8cfb9590 100644 --- a/data/maps/Route101/map.json +++ b/data/maps/Route101/map.json @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route101_EventScript_272141", + "script": "ProfBirch_EventScript_RatePokedexOrRegister", "flag": "FLAG_HIDE_ROUTE_101_BIRCH" }, { diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index 73bfe570c8..3b5b22b37d 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -4,7 +4,7 @@ Route101_MapScripts:: @ 81EBCBA .byte 0 Route101_OnTransition: @ 81EBCC5 - call Route101_EventScript_2720AD + call ProfBirch_EventScript_UpdateLocation end Route101_MapScript2_1EBCCB: @ 81EBCCB @@ -30,7 +30,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE applymovement 4, Route101_Movement_1EBD96 applymovement 2, Route101_Movement_1EBDC8 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 applymovement 4, Route101_Movement_1EBDBD applymovement 2, Route101_Movement_1EBDEF @@ -223,7 +223,7 @@ Route101_EventScript_1EBE16:: @ 81EBE16 fadescreen 1 removeobject 4 setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 special ChooseStarter waitstate diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index bf207ec2fb..8f5b9f2b34 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -165,7 +165,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_272141", + "script": "ProfBirch_EventScript_RatePokedexOrRegister", "flag": "FLAG_HIDE_ROUTE_103_BIRCH" }, { diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 363da2cb4d..9a185aa141 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -5,7 +5,7 @@ Route103_MapScripts:: @ 81EC38E Route103_OnTransition: @ 81EC399 call Common_EventScript_SetupRivalGfxId - call Route103_EventScript_2720AD + call ProfBirch_EventScript_UpdateLocation end Route103_MapScript1_1EC3A4: @ 81EC3A4 diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 0eaf5d4878..c943066f99 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -51,7 +51,7 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3 setflag FLAG_HIDE_RUSBORO_CITY_RIVAL setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 10 addobject 34 diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc index c955113977..ff4b3dbe10 100644 --- a/data/maps/Route105/scripts.inc +++ b/data/maps/Route105/scripts.inc @@ -19,7 +19,7 @@ Route105_EventScript_1EE20B:: @ 81EE20B Route105_OnTransition: @ 81EE21E compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route105_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH call_if_eq UnusualWeather_StartKyogreWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 140687c2e9..cafd99a9cd 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -307,7 +307,7 @@ Route110_EventScript_1EF64A:: @ 81EF64A Route110_EventScript_1EF661:: @ 81EF661 lockall - applymovement 21, Common_Movement_WalkInPlaceRight + applymovement 21, Common_Movement_WalkInPlaceFastestRight waitmovement 0 call Route110_EventScript_1EF673 releaseall @@ -383,7 +383,7 @@ Route110_EventScript_1EF76E:: @ 81EF76E call_if_eq Route110_EventScript_1EF7E1 compare VAR_RESULT, FEMALE call_if_eq Route110_EventScript_1EF7E6 - applymovement 28, Common_Movement_WalkInPlaceDown + applymovement 28, Common_Movement_WalkInPlaceFastestDown waitmovement 0 applymovement 28, Common_Movement_ExclamationMark waitmovement 0 @@ -631,13 +631,13 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7 msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT closemessage delay 20 - applymovement 36, Common_Movement_WalkInPlaceLeft + applymovement 36, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 10 - applymovement 36, Common_Movement_WalkInPlaceRight + applymovement 36, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - applymovement 36, Common_Movement_WalkInPlaceDown + applymovement 36, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 msgbox Route110_Text_1F0AFF, MSGBOX_DEFAULT diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index a8f4e96e59..46c4c316e1 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -212,22 +212,22 @@ Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002 return Route110_TrickHouseEnd_EventScript_26B015:: @ 826B015 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return Route110_TrickHouseEnd_EventScript_26B020:: @ 826B020 - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return Route110_TrickHouseEnd_EventScript_26B02B:: @ 826B02B - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -241,7 +241,7 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 applymovement 1, Route110_TrickHouseEnd_Movement_26B08B waitmovement 0 playse SE_W153 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT closemessage diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 0e729d333e..173151c37f 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -334,7 +334,7 @@ Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51 applymovement 1, Common_Movement_Delay48 waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_26A9AF, MSGBOX_DEFAULT - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end @@ -432,7 +432,7 @@ Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7 Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3 - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end @@ -506,7 +506,7 @@ Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126 setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, 0 special DrawWholeMapView delay 20 - applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7 waitmovement 0 diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index db651d8ce4..b5303bc245 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -222,60 +222,60 @@ Route110_TrickHousePuzzle7_EventScript_26E31B:: @ 826E31B playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 0 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 0 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end Route110_TrickHousePuzzle7_EventScript_26E331:: @ 826E331 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 1 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 1 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end Route110_TrickHousePuzzle7_EventScript_26E347:: @ 826E347 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 2 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 2 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end Route110_TrickHousePuzzle7_EventScript_26E35D:: @ 826E35D playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 3 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 3 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 4 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 4 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389 diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 88b2f1addc..fceacdfcc5 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -285,7 +285,7 @@ Route111_EventScript_1F0FC5:: @ 81F0FC5 Route111_EventScript_1F0FE7:: @ 81F0FE7 msgbox Route111_Text_1F1523, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_1F1542 - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 call Route111_EventScript_1F113C msgbox Route111_Text_1F156F, MSGBOX_DEFAULT @@ -303,7 +303,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 call Route111_EventScript_1F1143 msgbox Route111_Text_1F159D, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_1F1616 - applymovement 2, Common_Movement_WalkInPlaceUp + applymovement 2, Common_Movement_WalkInPlaceFastestUp waitmovement 0 call Route111_EventScript_1F113C msgbox Route111_Text_1F1645, MSGBOX_DEFAULT @@ -321,7 +321,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 call Route111_EventScript_1F1143 msgbox Route111_Text_1F167E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VIVI, Route111_Text_1F16C6 - applymovement 3, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestUp waitmovement 0 call Route111_EventScript_1F113C msgbox Route111_Text_1F16DC, MSGBOX_DEFAULT @@ -341,7 +341,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 trainerbattle_no_intro TRAINER_VICKY, Route111_Text_1F1756 msgbox Route111_Text_1F1788, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 call Route111_EventScript_1F113C applymovement 4, Route111_Movement_1F114A diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index 58109bd408..0659095f6a 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -10,7 +10,7 @@ Route112_OnTransition: @ 81F1DAE Route112_EventScript_1F1DB7:: @ 81F1DB7 lockall delay 40 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 msgbox Route112_Text_1F1F3F, MSGBOX_DEFAULT @@ -18,7 +18,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7 applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 msgbox Route112_Text_1F1F7A, MSGBOX_DEFAULT @@ -26,7 +26,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7 applymovement 6, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 msgbox Route112_Text_1F1FBA, MSGBOX_DEFAULT @@ -34,7 +34,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7 applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 msgbox Route112_Text_1F2003, MSGBOX_DEFAULT diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc index e8fb08ee4d..3e1b1754fd 100644 --- a/data/maps/Route113/scripts.inc +++ b/data/maps/Route113/scripts.inc @@ -4,7 +4,7 @@ Route113_MapScripts:: @ 81F2153 .byte 0 Route113_MapScript1_1F215E: @ 81F215E - setstepcallback 1 + setstepcallback STEP_CB_ASH end Route113_OnTransition: @ 81F2161 diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index faa79b8611..3434d67532 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -6,7 +6,7 @@ Route114_MapScripts:: @ 81F252F Route114_OnTransition: @ 81F253F compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route114_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH call_if_eq UnusualWeather_StartGroudonWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 3de7350ac5..8c5ec779da 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -23,8 +23,8 @@ Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 lockall - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT setvar VAR_FOSSIL_MANIAC_STATE, 2 diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc index 7c5b63bcd4..79d2caedca 100644 --- a/data/maps/Route115/scripts.inc +++ b/data/maps/Route115/scripts.inc @@ -13,7 +13,7 @@ Route115_MapScript1_1F2930: @ 81F2930 Route115_OnTransition: @ 81F2947 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route115_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST call_if_eq UnusualWeather_StartGroudonWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 4c565cb088..cef5051e07 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -7,7 +7,7 @@ Route116_MapScripts:: @ 81F2C0C Route116_OnTransition: @ 81F2C1C call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route116_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH call_if_eq UnusualWeather_StartGroudonWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH @@ -151,8 +151,8 @@ Route116_EventScript_1F2D84:: @ 81F2D84 Route116_EventScript_1F2D95:: @ 81F2D95 lockall - applymovement 11, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 11, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox Route116_Text_1F309D, MSGBOX_DEFAULT setvar VAR_ROUTE116_STATE, 2 diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 858f0d5981..661bd938c6 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -7,7 +7,7 @@ Route118_MapScripts:: @ 81F3DBC Route118_OnTransition: @ 81F3DCC call Route118_EventScript_28CCC7 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route118_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST call_if_eq UnusualWeather_StartGroudonWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index c84ff9db19..badd5d14e7 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -477,7 +477,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_27231C", + "script": "Route119_EventScript_Kecleon1", "flag": "FLAG_HIDE_ROUTE_119_KECLEON_1" }, { @@ -490,7 +490,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_272329", + "script": "Route119_EventScript_Kecleon2", "flag": "FLAG_HIDE_ROUTE_119_KECLEON_2" }, { diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 07d397f6b9..ec1063c6df 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -51,7 +51,7 @@ Route119_EventScript_1F4488:: @ 81F4488 call_if_eq Route119_EventScript_1F46C6 compare VAR_TEMP_1, 2 call_if_eq Route119_EventScript_1F46D1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 compare VAR_TEMP_1, 1 diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index fccf5c88ed..47f472a3d7 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -412,8 +412,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_1F57BC", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1" + "script": "Route120_EventScript_InvisibleBridgeKecleon", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE" }, { "graphics_id": "EVENT_OBJ_GFX_STEVEN", @@ -425,7 +425,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_1F5641", + "script": "Route120_EventScript_Steven", "flag": "FLAG_HIDE_ROUTE_120_STEVEN" }, { @@ -491,7 +491,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE" + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -503,8 +503,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722DB", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2" + "script": "Route120_EventScript_Kecleon1", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -516,8 +516,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722E8", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3" + "script": "Route120_EventScript_Kecleon2", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -529,8 +529,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722F5", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4" + "script": "Route120_EventScript_Kecleon3", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -542,8 +542,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_27230F", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_6" + "script": "Route120_EventScript_Kecleon5", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -555,8 +555,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_272302", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5" + "script": "Route120_EventScript_Kecleon4", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4" }, { "graphics_id": "EVENT_OBJ_GFX_GIRL_3", diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 9a17e54a2c..0629d8f0d5 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -1,44 +1,44 @@ Route120_MapScripts:: @ 81F53EC - map_script MAP_SCRIPT_ON_RESUME, Route120_MapScript1_1F53FC + map_script MAP_SCRIPT_ON_RESUME, Route120_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route120_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route120_MapScript1_1F5474 + map_script MAP_SCRIPT_ON_LOAD, Route120_OnLoad .byte 0 -Route120_MapScript1_1F53FC: @ 81F53FC - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_1F5406 +Route120_OnResume: @ 81F53FC + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_RemoveKecleonObject end -Route120_EventScript_1F5406:: @ 81F5406 +Route120_EventScript_RemoveKecleonObject:: @ 81F5406 compare VAR_0x8009, 0 - call_if_eq Route120_EventScript_1F5449 + call_if_eq Route120_EventScript_RemoveBridgeKecleon compare VAR_0x8009, 1 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 2 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 3 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 4 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 5 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon return -Route120_EventScript_1F5449:: @ 81F5449 +Route120_EventScript_RemoveBridgeKecleon:: @ 81F5449 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn - removeobject 30 - removeobject 36 + removeobject 30 @ Invisible Bridge Kecleon + removeobject 36 @ Visible Bridge Kecleon return -Route120_EventScript_1F5460:: @ 81F5460 +Route120_EventScript_RemoveKecleon:: @ 81F5460 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return -Route120_MapScript1_1F5474: @ 81F5474 +Route120_OnLoad: @ 81F5474 call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1F5490 call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54A3 call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54C8 @@ -166,44 +166,44 @@ Route120_EventScript_1F5638:: @ 81F5638 msgbox Route120_Text_2A7183, MSGBOX_DEFAULT return -Route120_EventScript_1F5641:: @ 81F5641 +Route120_EventScript_Steven:: @ 81F5641 lock faceplayer goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_1F5672 - msgbox Route120_Text_1F5998, MSGBOX_YESNO + msgbox Route120_Text_StevenGreeting, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route120_EventScript_1F5665 - goto Route120_EventScript_1F568B + goto_if_eq Route120_EventScript_StevenNotReady + goto Route120_EventScript_StevenBattleKecleon end -Route120_EventScript_1F5665:: @ 81F5665 +Route120_EventScript_StevenNotReady:: @ 81F5665 msgbox Route120_Text_1F5AAC, MSGBOX_DEFAULT setflag FLAG_NOT_READY_FOR_BATTLE_ROUTE_120 release end Route120_EventScript_1F5672:: @ 81F5672 - msgbox Route120_Text_1F5ADE, MSGBOX_YESNO + msgbox Route120_Text_StevenReadyForBattle, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route120_EventScript_1F5665 - goto Route120_EventScript_1F568B + goto_if_eq Route120_EventScript_StevenNotReady + goto Route120_EventScript_StevenBattleKecleon end -Route120_EventScript_1F568B:: @ 81F568B - msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT +Route120_EventScript_StevenBattleKecleon:: @ 81F568B + msgbox Route120_Text_StevenShowMeYourPower, MSGBOX_DEFAULT closemessage compare VAR_FACING, DIR_NORTH - call_if_eq Route120_EventScript_1F57A3 + call_if_eq Route120_EventScript_PlayerApproachKecleonNorth compare VAR_FACING, DIR_WEST - call_if_eq Route120_EventScript_1F57AE - applymovement 31, Common_Movement_WalkInPlaceLeft + call_if_eq Route120_EventScript_PlayerApproachKecleonWest + applymovement 31, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 - msgbox Route120_Text_1F5B43, MSGBOX_DEFAULT + msgbox Route120_Text_StevenUsedDevonScope, MSGBOX_DEFAULT closemessage - applymovement 30, Common_Movement_WalkInPlaceRight + applymovement 30, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 30, Route120_Movement_2723C7 + applymovement 30, Movement_KecleonAppears waitmovement 0 waitse playmoncry SPECIES_KECLEON, 2 @@ -216,32 +216,32 @@ Route120_EventScript_1F568B:: @ 81F568B clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq Route120_EventScript_1F571C + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq Route120_EventScript_1F571C + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq Route120_EventScript_1F571C - goto Route120_EventScript_1F572C + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle + goto Route120_EventScript_StevenGiveDeconScope end -Route120_EventScript_1F571C:: @ 81F571C +Route120_EventScript_RemoveBridgeKecleonPostBattle:: @ 81F571C fadescreenswapbuffers 1 - removeobject 30 - removeobject 36 + removeobject 30 @ Invisible Bridge Kecleon + removeobject 36 @ Visible Bridge Kecleon fadescreenswapbuffers 0 - goto Route120_EventScript_1F572C + goto Route120_EventScript_StevenGiveDeconScope end -Route120_EventScript_1F572C:: @ 81F572C - applymovement 31, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +Route120_EventScript_StevenGiveDeconScope:: @ 81F572C + applymovement 31, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT + msgbox Route120_Text_StevenGiveDevonScope, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_SCOPE setflag FLAG_RECEIVED_DEVON_SCOPE - msgbox Route120_Text_1F5C7B, MSGBOX_DEFAULT + msgbox Route120_Text_StevenGoodbye, MSGBOX_DEFAULT closemessage - applymovement 31, Common_Movement_WalkInPlaceDown + applymovement 31, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 @@ -257,23 +257,23 @@ Route120_EventScript_1F572C:: @ 81F572C release end -Route120_EventScript_1F57A3:: @ 81F57A3 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +Route120_EventScript_PlayerApproachKecleonNorth:: @ 81F57A3 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -Route120_EventScript_1F57AE:: @ 81F57AE - applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9 +Route120_EventScript_PlayerApproachKecleonWest:: @ 81F57AE + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_ApproachKecleonWest waitmovement 0 return -Route120_Movement_1F57B9: @ 81F57B9 +Route120_Movement_ApproachKecleonWest: @ 81F57B9 walk_down walk_left step_end -Route120_EventScript_1F57BC:: @ 81F57BC - msgbox Route120_Text_1F5D00, MSGBOX_NPC +Route120_EventScript_InvisibleBridgeKecleon:: @ 81F57BC + msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_NPC end Route120_EventScript_1F57C5:: @ 81F57C5 @@ -383,7 +383,7 @@ Route120_EventScript_1F5981:: @ 81F5981 msgbox Route120_Text_29F002, MSGBOX_AUTOCLOSE end -Route120_Text_1F5998: @ 81F5998 +Route120_Text_StevenGreeting: @ 81F5998 .string "STEVEN: Hm? {PLAYER}{KUN}, hi.\n" .string "It's been a while.\p" .string "There's something here that you can't\n" @@ -400,21 +400,21 @@ Route120_Text_1F5AAC: @ 81F5AAC .string "STEVEN: No?\p" .string "I'll wait here, so you can get ready.$" -Route120_Text_1F5ADE: @ 81F5ADE +Route120_Text_StevenReadyForBattle: @ 81F5ADE .string "STEVEN: {PLAYER}{KUN}, are your POKéMON\n" .string "ready for battle?$" -Route120_Text_1F5B0F: @ 81F5B0F +Route120_Text_StevenShowMeYourPower: @ 81F5B0F .string "STEVEN: {PLAYER}{KUN}, show me your true\n" .string "power as a TRAINER!$" -Route120_Text_1F5B43: @ 81F5B43 +Route120_Text_StevenUsedDevonScope: @ 81F5B43 .string "STEVEN used the DEVON SCOPE.\p" .string "An invisible POKéMON became completely\n" .string "visible!\p" .string "The startled POKéMON attacked!$" -Route120_Text_1F5BAF: @ 81F5BAF +Route120_Text_StevenGiveDevonScope: @ 81F5BAF .string "STEVEN: I see…\n" .string "Your battle style is intriguing.\p" .string "Your POKéMON have obviously grown\n" @@ -424,22 +424,21 @@ Route120_Text_1F5BAF: @ 81F5BAF .string "Who knows, there may be other\n" .string "concealed POKéMON.$" -Route120_Text_1F5C7B: @ 81F5C7B +Route120_Text_StevenGoodbye: @ 81F5C7B .string "STEVEN: {PLAYER}{KUN}.\p" .string "I enjoy seeing POKéMON and TRAINERS\n" .string "who strive together.\p" .string "I think you're doing great.\p" .string "Well, let's meet again somewhere.$" -Route119_Text_1F5D00: @ 81F5D00 -Route120_Text_1F5D00: @ 81F5D00 +Kecleon_Text_SomethingUnseeable: @ 81F5D00 .string "Something unseeable is in the way.$" -Route119_Text_1F5D23: @ 81F5D23 +Kecleon_Text_WantToUseDevonScope: @ 81F5D23 .string "Something unseeable is in the way.\p" .string "Want to use the DEVON SCOPE?$" -Route119_Text_1F5D63: @ 81F5D63 +Kecleon_Text_UseDevonScopeMonAttacked: @ 81F5D63 .string "{PLAYER} used the DEVON SCOPE.\p" .string "An invisible POKéMON became completely\n" .string "visible!\p" diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc index edca585c92..6aa82857fb 100644 --- a/data/maps/Route121/scripts.inc +++ b/data/maps/Route121/scripts.inc @@ -16,7 +16,7 @@ Route121_EventScript_1F5E0F:: @ 81F5E0F Route121_EventScript_1F5E18:: @ 81F5E18 lockall playbgm MUS_AQA_0, 0 - applymovement 13, Route121_Movement_2725B8 + applymovement 13, Common_Movement_WalkInPlaceRight waitmovement 0 msgbox Route121_Text_1F605A, MSGBOX_DEFAULT closemessage diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index d0c950cf5a..88c4ac03d0 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -46,7 +46,7 @@ Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 showmoneybox 0, 0, 0 msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc index 2c15eee3df..62b66e3a6a 100644 --- a/data/maps/Route125/scripts.inc +++ b/data/maps/Route125/scripts.inc @@ -7,7 +7,7 @@ Route125_MapScripts:: @ 81F6748 Route125_OnTransition: @ 81F6758 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route125_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST call_if_eq UnusualWeather_StartKyogreWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc index 1829dbcfdd..fcc666ec60 100644 --- a/data/maps/Route127/scripts.inc +++ b/data/maps/Route127/scripts.inc @@ -7,7 +7,7 @@ Route127_MapScripts:: @ 81F69D9 Route127_OnTransition: @ 81F69E9 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route127_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH call_if_eq UnusualWeather_StartKyogreWeather compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index bad74f4513..a19c0edf92 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -24,18 +24,18 @@ Route128_EventScript_1F6B57:: @ 81F6B57 closemessage applymovement 5, Route128_Movement_1F6CAD waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox Route128_Text_1F6E5A, MSGBOX_DEFAULT closemessage applymovement 5, Route128_Movement_1F6CBB waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT closemessage applymovement 4, Route128_Movement_1F6C96 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft applymovement 5, Route128_Movement_1F6CA8 waitmovement 0 msgbox Route128_Text_1F704F, MSGBOX_DEFAULT @@ -53,19 +53,19 @@ Route128_EventScript_1F6B57:: @ 81F6B57 addobject 3 applymovement 3, Route128_Movement_1F6C87 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT closemessage applymovement 3, Route128_Movement_1F6C85 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT - applymovement 3, Common_Movement_WalkInPlaceDown + applymovement 3, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox Route128_Text_1F721B, MSGBOX_DEFAULT closemessage - applymovement 3, Common_Movement_WalkInPlaceDown + applymovement 3, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc index d57a27cf94..43d828bcdb 100644 --- a/data/maps/Route129/scripts.inc +++ b/data/maps/Route129/scripts.inc @@ -13,7 +13,7 @@ Route129_MapScript1_1F7294: @ 81F7294 Route129_OnTransition: @ 81F72AB compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route129_EventScript_273D13 + call_if_eq UnusualWeather_EventScript_HideMapNamePopup compare VAR_SOOTOPOLIS_CITY_STATE, 4 call_if_ge Route129_EventScript_1F72D8 compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 666691135c..28a5f8278f 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -46,14 +46,14 @@ RustboroCity_EventScript_1E0715:: @ 81E0715 waitmovement 0 applymovement 15, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 applymovement 15, RustboroCity_Movement_1E084E waitmovement 0 msgbox RustboroCity_Text_1E22A5, MSGBOX_DEFAULT closemessage setflag FLAG_HAS_MATCH_CALL - applymovement 15, Common_Movement_WalkInPlaceLeft + applymovement 15, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_TK_KASYA delay 10 @@ -63,7 +63,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715 delay 10 playse SE_TK_KASYA delay 20 - applymovement 15, Common_Movement_WalkInPlaceDown + applymovement 15, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox RustboroCity_Text_1E2331, MSGBOX_DEFAULT closemessage @@ -344,7 +344,7 @@ RustboroCity_EventScript_1E0A6E:: @ 81E0A6E RustboroCity_EventScript_1E0A79:: @ 81E0A79 applymovement 9, RustboroCity_Movement_1E0AD5 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return @@ -500,43 +500,43 @@ RustboroCity_EventScript_1E0B2E:: @ 81E0B2E end RustboroCity_EventScript_1E0B6F:: @ 81E0B6F - applymovement 9, Common_Movement_WalkInPlaceUp + applymovement 9, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return RustboroCity_EventScript_1E0B9B:: @ 81E0B9B - applymovement 9, Common_Movement_WalkInPlaceLeft + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceRight waitmovement 0 return RustboroCity_EventScript_1E0BC7:: @ 81E0BC7 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark @@ -545,7 +545,7 @@ RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return @@ -608,43 +608,43 @@ RustboroCity_EventScript_1E0CD3:: @ 81E0CD3 return RustboroCity_EventScript_1E0CDC:: @ 81E0CDC - applymovement 9, Common_Movement_WalkInPlaceUp + applymovement 9, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return RustboroCity_EventScript_1E0D08:: @ 81E0D08 - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceLeft waitmovement 0 return RustboroCity_EventScript_1E0D34:: @ 81E0D34 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return RustboroCity_EventScript_1E0D60:: @ 81E0D60 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark @@ -653,12 +653,12 @@ RustboroCity_EventScript_1E0D60:: @ 81E0D60 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return RustboroCity_EventScript_1E0D96:: @ 81E0D96 - applymovement 9, Common_Movement_WalkInPlaceLeft + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark @@ -694,7 +694,7 @@ RustboroCity_EventScript_1E0DEE:: @ 81E0DEE RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -703,14 +703,14 @@ RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E120E waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0E33:: @ 81E0E33 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -719,14 +719,14 @@ RustboroCity_EventScript_1E0E33:: @ 81E0E33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1215 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0E73:: @ 81E0E73 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -735,14 +735,14 @@ RustboroCity_EventScript_1E0E73:: @ 81E0E73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E121B waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -751,14 +751,14 @@ RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1220 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -767,14 +767,14 @@ RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1224 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0F33:: @ 81E0F33 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -783,14 +783,14 @@ RustboroCity_EventScript_1E0F33:: @ 81E0F33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1227 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0F73:: @ 81E0F73 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -799,14 +799,14 @@ RustboroCity_EventScript_1E0F73:: @ 81E0F73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E122B waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 lockall call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark @@ -815,7 +815,7 @@ RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1230 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 goto RustboroCity_EventScript_1E0FF3 diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json index 3da39df9d3..99ae9ebd85 100644 --- a/data/maps/RustboroCity_Gym/map.json +++ b/data/maps/RustboroCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Gym_EventScript_212F31", + "script": "RustboroCity_Gym_EventScript_Roxanne", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "RustboroCity_Gym_EventScript_212FE3", + "script": "RustboroCity_Gym_EventScript_Josh", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "RustboroCity_Gym_EventScript_212FFA", + "script": "RustboroCity_Gym_EventScript_Tommy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Gym_EventScript_213028", + "script": "RustboroCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "RustboroCity_Gym_EventScript_213011", + "script": "RustboroCity_Gym_EventScript_Marc", "flag": "0" } ], @@ -104,7 +104,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "RustboroCity_Gym_EventScript_213047" + "script": "RustboroCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -112,7 +112,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "RustboroCity_Gym_EventScript_213057" + "script": "RustboroCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc index dc11d3a104..0a95a86e51 100644 --- a/data/maps/RustboroCity_Gym/scripts.inc +++ b/data/maps/RustboroCity_Gym/scripts.inc @@ -1,21 +1,21 @@ RustboroCity_Gym_MapScripts:: @ 8212F30 .byte 0 -RustboroCity_Gym_EventScript_212F31:: @ 8212F31 - trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66, NO_MUSIC +RustboroCity_Gym_EventScript_Roxanne:: @ 8212F31 + trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxannePreBattle, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_Gym_EventScript_212FC8 - goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_212FA4 - msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_Gym_EventScript_RoxanneRematch + goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb + msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_212F66:: @ 8212F66 - message RustboroCity_Gym_Text_2137EC +RustboroCity_Gym_EventScript_RoxanneDefeated:: @ 8212F66 + message RustboroCity_Gym_Text_ReceivedStoneBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_StoneBadgeInfoTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_RUSTBORO_GYM setflag FLAG_BADGE01_GET setvar VAR_RUSTBORO_CITY_STATE, 1 @@ -23,81 +23,81 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66 setvar VAR_0x8008, 1 call Common_EventScript_SetGymTrainers compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq RustboroCity_Gym_EventScript_271E84 - goto RustboroCity_Gym_EventScript_212FA4 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle + goto RustboroCity_Gym_EventScript_GiveRockTomb end -RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4 +RustboroCity_Gym_EventScript_GiveRockTomb:: @ 8212FA4 giveitem_std ITEM_TM39 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM39 - msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8 - trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93 - msgbox RustboroCity_Gym_Text_213D12, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_RoxanneRematch:: @ 8212FC8 + trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxannePreRematch, RustboroCity_Gym_Text_RoxanneRematchDefeat, RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons + msgbox RustboroCity_Gym_Text_RoxannePostRematch, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3 - trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D - msgbox RustboroCity_Gym_Text_213447, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Josh:: @ 8212FE3 + trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_JoshPreBattle, RustboroCity_Gym_Text_JoshDefeat + msgbox RustboroCity_Gym_Text_JoshPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA - trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6 - msgbox RustboroCity_Gym_Text_2134E6, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Tommy:: @ 8212FFA + trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_TommyPreBattle, RustboroCity_Gym_Text_TommyDefeat + msgbox RustboroCity_Gym_Text_TommyPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_213011:: @ 8213011 - trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589 - msgbox RustboroCity_Gym_Text_2135C0, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Marc:: @ 8213011 + trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_MarcPreBattle, RustboroCity_Gym_Text_MarcDefeat + msgbox RustboroCity_Gym_Text_MarcPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_213028:: @ 8213028 +RustboroCity_Gym_EventScript_GymGuide:: @ 8213028 lock faceplayer - goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_21303D - msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_GymGuidePostVictory + msgbox RustboroCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_21303D:: @ 821303D - msgbox RustboroCity_Gym_Text_2132E2, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymGuidePostVictory:: @ 821303D + msgbox RustboroCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_213047:: @ 8213047 +RustboroCity_Gym_EventScript_LeftGymStatue:: @ 8213047 lockall - goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 - goto RustboroCity_Gym_EventScript_213071 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified + goto RustboroCity_Gym_EventScript_GymStatue end -RustboroCity_Gym_EventScript_213057:: @ 8213057 +RustboroCity_Gym_EventScript_RightGymStatue:: @ 8213057 lockall - goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 - goto RustboroCity_Gym_EventScript_213071 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified + goto RustboroCity_Gym_EventScript_GymStatue end -RustboroCity_Gym_EventScript_213067:: @ 8213067 - msgbox RustboroCity_Gym_Text_213A3B, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymStatueCertified:: @ 8213067 + msgbox RustboroCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -RustboroCity_Gym_EventScript_213071:: @ 8213071 - msgbox RustboroCity_Gym_Text_213A21, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymStatue:: @ 8213071 + msgbox RustboroCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -RustboroCity_Gym_EventScript_21307B:: @ 821307B +RustboroCity_Gym_EventScript_RegisterRoxanne:: @ 821307B lockall - pokenavcall RustboroCity_Gym_Text_213A76 + pokenavcall RustboroCity_Gym_Text_RoxanneRegisterCall waitmessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox RustboroCity_Gym_Text_213C01, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_RegisteredRoxanne, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -106,7 +106,7 @@ RustboroCity_Gym_EventScript_21307B:: @ 821307B releaseall end -RustboroCity_Gym_Text_21309D: @ 821309D +RustboroCity_Gym_Text_GymGuideAdvice: @ 821309D .string "Yo, how's it going?\p" .string "Listen, my friend!\n" .string "Would you like to become the CHAMPION?\p" @@ -128,7 +128,7 @@ RustboroCity_Gym_Text_21309D: @ 821309D .string "the GYM LEADER.\p" .string "Well, go for it!$" -RustboroCity_Gym_Text_2132E2: @ 82132E2 +RustboroCity_Gym_Text_GymGuidePostVictory: @ 82132E2 .string "Whoa! What a breathtaking victory!\n" .string "My cheering must've worked!\p" .string "Great!\n" @@ -140,45 +140,45 @@ RustboroCity_Gym_Text_2132E2: @ 82132E2 .string "the stairs to the CHAMPIONSHIP!\p" .string "That's got to feel awesome!$" -RustboroCity_Gym_Text_2133E9: @ 82133E9 +RustboroCity_Gym_Text_JoshPreBattle: @ 82133E9 .string "Don't take us GYM TRAINERS lightly!\n" .string "I'll show you why we're better!$" -RustboroCity_Gym_Text_21342D: @ 821342D +RustboroCity_Gym_Text_JoshDefeat: @ 821342D .string "You were too good for me…$" -RustboroCity_Gym_Text_213447: @ 8213447 +RustboroCity_Gym_Text_JoshPostBattle: @ 8213447 .string "You haven't seen anything of the ROCK\n" .string "type's terrifying power!$" -RustboroCity_Gym_Text_213486: @ 8213486 +RustboroCity_Gym_Text_TommyPreBattle: @ 8213486 .string "If you can't beat me, you won't stand\n" .string "a chance against ROXANNE!$" -RustboroCity_Gym_Text_2134C6: @ 82134C6 +RustboroCity_Gym_Text_TommyDefeat: @ 82134C6 .string "Wow! You've got some potential!$" -RustboroCity_Gym_Text_2134E6: @ 82134E6 +RustboroCity_Gym_Text_TommyPostBattle: @ 82134E6 .string "ROXANNE is stronger than me by\n" .string "several times.\p" .string "You'd better be on your guard!$" -RustboroCity_Gym_Text_213533: @ 8213533 +RustboroCity_Gym_Text_MarcPreBattle: @ 8213533 .string "We might be in the middle of town,\n" .string "but so what?\p" .string "My ROCK POKéMON need room to\n" .string "rampage!$" -RustboroCity_Gym_Text_213589: @ 8213589 +RustboroCity_Gym_Text_MarcDefeat: @ 8213589 .string "Oh, man oh man!\n" .string "Our challenger is one feisty customer!$" -RustboroCity_Gym_Text_2135C0: @ 82135C0 +RustboroCity_Gym_Text_MarcPostBattle: @ 82135C0 .string "I have to hand it to our LEADER.\p" .string "It took smarts and sense for her to\n" .string "pick the ROCK type at her young age.$" -RustboroCity_Gym_Text_21362A: @ 821362A +RustboroCity_Gym_Text_RoxannePreBattle: @ 821362A .string "Hello, I am ROXANNE, the RUSTBORO\n" .string "POKéMON GYM LEADER.\p" .string "I became a GYM LEADER so that I might\n" @@ -187,7 +187,7 @@ RustboroCity_Gym_Text_21362A: @ 821362A .string "Would you kindly demonstrate how you\n" .string "battle, and with which POKéMON?$" -RustboroCity_Gym_Text_21370B: @ 821370B +RustboroCity_Gym_Text_RoxanneDefeat: @ 821370B .string "So…\n" .string "I lost…\p" .string "It seems that I still have much more\n" @@ -199,18 +199,18 @@ RustboroCity_Gym_Text_21370B: @ 821370B .string "Please accept the official POKéMON\n" .string "LEAGUE STONE BADGE.$" -RustboroCity_Gym_Text_2137EC: @ 82137EC +RustboroCity_Gym_Text_ReceivedStoneBadge: @ 82137EC .string "{PLAYER} received the STONE BADGE\n" .string "from ROXANNE.$" -RustboroCity_Gym_Text_213816: @ 8213816 +RustboroCity_Gym_Text_StoneBadgeInfoTakeThis: @ 8213816 .string "The STONE BADGE heightens the ATTACK\n" .string "power of your POKéMON.\p" .string "It also enables them to use the HM move\n" .string "CUT outside of battle.\p" .string "Please take this with you, too.$" -RustboroCity_Gym_Text_2138B1: @ 82138B1 +RustboroCity_Gym_Text_ExplainRockTomb: @ 82138B1 .string "That TECHNICAL MACHINE, TM39,\n" .string "contains ROCK TOMB.\p" .string "It not only inflicts damage by dropping\n" @@ -220,22 +220,21 @@ RustboroCity_Gym_Text_2138B1: @ 82138B1 .string "Remember, a TM can be used only once,\n" .string "so think before you use it.$" -RustboroCity_Gym_Text_2139A7: @ 82139A7 +RustboroCity_Gym_Text_RoxannePostBattle: @ 82139A7 .string "Since you are so strong, you should\n" .string "challenge other GYM LEADERS.\p" .string "By battling many TRAINERS, you should\n" .string "learn many things.$" -RustboroCity_Gym_Text_213A21: @ 8213A21 +RustboroCity_Gym_Text_GymStatue: @ 8213A21 .string "RUSTBORO CITY POKéMON GYM$" -RustboroCity_Gym_Text_213A3B: @ 8213A3B +RustboroCity_Gym_Text_GymStatueCertified: @ 8213A3B .string "RUSTBORO CITY POKéMON GYM\p" .string "ROXANNE'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" - -RustboroCity_Gym_Text_213A76: @ 8213A76 +RustboroCity_Gym_Text_RoxanneRegisterCall: @ 8213A76 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "ROXANNE: Oh, hello, {PLAYER}?\n" @@ -252,11 +251,11 @@ RustboroCity_Gym_Text_213A76: @ 8213A76 .string "… … … … … …\n" .string "… … … … … Click!$" -RustboroCity_Gym_Text_213C01: @ 8213C01 +RustboroCity_Gym_Text_RegisteredRoxanne: @ 8213C01 .string "Registered GYM LEADER ROXANNE\n" .string "in the POKéNAV.$" -RustboroCity_Gym_Text_213C2F: @ 8213C2F +RustboroCity_Gym_Text_RoxannePreRematch: @ 8213C2F .string "ROXANNE: I'm so glad to see you again.\n" .string "I'm ROXANNE, the GYM LEADER here.\p" .string "I'm sure we've both experienced many\n" @@ -264,17 +263,17 @@ RustboroCity_Gym_Text_213C2F: @ 8213C2F .string "I would like to see how much better\n" .string "we've become. Let us battle!$" -RustboroCity_Gym_Text_213CF9: @ 8213CF9 +RustboroCity_Gym_Text_RoxanneRematchDefeat: @ 8213CF9 .string "Grr…\n" .string "Again, I have lost…$" -RustboroCity_Gym_Text_213D12: @ 8213D12 +RustboroCity_Gym_Text_RoxannePostRematch: @ 8213D12 .string "ROXANNE: I still have much to learn\n" .string "when it comes to battling POKéMON.\p" .string "That awareness makes me love battling\n" .string "all that much more!$" -RustboroCity_Gym_Text_213D93: @ 8213D93 +RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons: @ 8213D93 .string "ROXANNE: I'm so glad to see you again.\n" .string "I'm ROXANNE, the GYM LEADER here.\p" .string "I'm sure we've both experienced many\n" diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc index eb5655b1a3..f0a0f48274 100644 --- a/data/maps/RustboroCity_House1/scripts.inc +++ b/data/maps/RustboroCity_House1/scripts.inc @@ -5,7 +5,7 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F lock faceplayer goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_2159D5 - setvar VAR_0x8008, 0 + setvar VAR_0x8008, INGAME_TRADE_SEEDOT copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index 116d0fb50d..46555ba284 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, RustboroCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 RustboroCity_PokemonCenter_1F_OnTransition: @ 8214D6D diff --git a/data/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json index db6388bba9..812cb7c024 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc index 3c62abc4ad..ba7b5b285c 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE - map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, RustboroCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +RustboroCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8214EF3 + call CableClub_EventScript_Colosseum end -RustboroCity_PokemonCenter_2F_EventScript_214EF9:: @ 8214EF9 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +RustboroCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8214EF9 + call CableClub_EventScript_TradeCenter end -RustboroCity_PokemonCenter_2F_EventScript_214EFF:: @ 8214EFF - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +RustboroCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8214EFF + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc index 17ffe05846..db4bf21f0e 100644 --- a/data/maps/RustboroCity_PokemonSchool/scripts.inc +++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc @@ -87,7 +87,7 @@ RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 setflag FLAG_RECEIVED_QUICK_CLAW release @@ -106,7 +106,7 @@ RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0 RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB msgbox RustboroCity_PokemonSchool_Text_2144C8, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 release end diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 8cb20e3729..9bdec7e8e0 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -94,7 +94,7 @@ RusturfTunnel_EventScript_22CF6F:: @ 822CF6F applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 - applymovement 10, Common_Movement_WalkInPlaceDown + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return @@ -102,14 +102,14 @@ RusturfTunnel_EventScript_22CF8B:: @ 822CF8B applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 - applymovement 10, Common_Movement_WalkInPlaceDown + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return RusturfTunnel_EventScript_22CFA7:: @ 822CFA7 - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index ec231ccdd3..f91cc6a3b1 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -201,7 +201,7 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219 lockall applymovement 5, SSTidalCorridor_Movement_23C26D waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT closemessage diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc index 16ae074b14..e10b52d007 100644 --- a/data/maps/SeafloorCavern_Entrance/scripts.inc +++ b/data/maps/SeafloorCavern_Entrance/scripts.inc @@ -29,7 +29,7 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 copyobjectxytoperm 1 msgbox SeafloorCavern_Entrance_Text_234544, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end @@ -43,23 +43,23 @@ SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED call_if_eq SeafloorCavern_Entrance_EventScript_234539 msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end SeafloorCavern_Entrance_EventScript_234523:: @ 8234523 - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return SeafloorCavern_Entrance_EventScript_23452E:: @ 823452E - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return SeafloorCavern_Entrance_EventScript_234539:: @ 8234539 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 49981d3354..026c29700a 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -7,7 +7,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 5 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C waitmovement 0 @@ -15,12 +15,12 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT closemessage addobject VAR_0x8004 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A waitmovement 0 msgbox SeafloorCavern_Room9_Text_23507C, MSGBOX_DEFAULT - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox SeafloorCavern_Room9_Text_2350A6, MSGBOX_DEFAULT applymovement VAR_0x8004, Common_Movement_FacePlayer @@ -30,7 +30,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 msgbox SeafloorCavern_Room9_Text_2351E5, MSGBOX_DEFAULT setweather WEATHER_NONE doweather - special sub_80B05B4 + special Script_FadeOutMapMusic waitstate msgbox SeafloorCavern_Room9_Text_235279, MSGBOX_DEFAULT special WaitWeather @@ -47,8 +47,8 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 playfanfare MUS_ME_TAMA playse SE_TAMA special sub_80B0534 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 150 removeobject 7 @@ -82,7 +82,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8007, 5 msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT playse SE_PC_LOGIN - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT closemessage @@ -92,7 +92,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 closemessage playse SE_PC_OFF delay 20 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceDown + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox SeafloorCavern_Room9_Text_23546F, MSGBOX_DEFAULT closemessage @@ -103,7 +103,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_235057 applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_23504E waitmovement 0 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox SeafloorCavern_Room9_Text_2354F0, MSGBOX_DEFAULT playse SE_PIN diff --git a/data/maps/SingleBattleColosseum/map.json b/data/maps/SingleBattleColosseum/map.json index a7ad50f1b6..f63464424b 100644 --- a/data/maps/SingleBattleColosseum/map.json +++ b/data/maps/SingleBattleColosseum/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SingleBattleColosseum_EventScript_2774A6", + "script": "SingleBattleColosseum_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc index dcbff3642f..8a02974ea0 100644 --- a/data/maps/SkyPillar_2F/scripts.inc +++ b/data/maps/SkyPillar_2F/scripts.inc @@ -1,21 +1,21 @@ SkyPillar_2F_MapScripts:: @ 823962B - map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_2F_MapScript2_2A8327 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_2F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_MapScript1_239650 + map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_SetHoleWarp .byte 0 SkyPillar_2F_OnTransition: @ 823963B compare VAR_SKY_PILLAR_STATE, 2 call_if_lt SkyPillar_2F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 0x1 + copyvar VAR_ICE_STEP_COUNT, 1 end SkyPillar_2F_EventScript_CleanFloor:: @ 823964C setmaplayoutindex LAYOUT_SKY_PILLAR_2F_CLEAN return -SkyPillar_2F_MapScript1_239650: @ 8239650 - setstepcallback 7 +SkyPillar_2F_SetHoleWarp: @ 8239650 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_SKY_PILLAR_1F, 255, 0, 0 end diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc index 413f56521a..af54deaff5 100644 --- a/data/maps/SkyPillar_4F/scripts.inc +++ b/data/maps/SkyPillar_4F/scripts.inc @@ -1,21 +1,21 @@ SkyPillar_4F_MapScripts:: @ 8239671 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_4F_MapScript2_2A8327 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_4F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_MapScript1_239696 + map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_SetHoleWarp .byte 0 SkyPillar_4F_OnTransition: @ 8239681 compare VAR_SKY_PILLAR_STATE, 2 call_if_lt SkyPillar_4F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 0x1 + copyvar VAR_ICE_STEP_COUNT, 1 end SkyPillar_4F_EventScript_CleanFloor:: @ 8239692 setmaplayoutindex LAYOUT_SKY_PILLAR_4F_CLEAN return -SkyPillar_4F_MapScript1_239696: @ 8239696 - setstepcallback 7 +SkyPillar_4F_SetHoleWarp: @ 8239696 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_SKY_PILLAR_3F, 255, 0, 0 end diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 9262ca4c4d..72748842b9 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -36,7 +36,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 lockall applymovement 1, SkyPillar_Outside_Movement_2393D3 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT closemessage @@ -60,13 +60,13 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 special ShakeCamera waitstate delay 20 - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 10 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index e4753b5013..d7fab01717 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -61,11 +61,11 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C waitmovement 0 msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT closemessage - applymovement 35, Common_Movement_WalkInPlaceLeft + applymovement 35, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 60 msgbox SlateportCity_Text_1DF0FE, MSGBOX_DEFAULT - applymovement 35, Common_Movement_WalkInPlaceRight + applymovement 35, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox SlateportCity_Text_1DF12B, MSGBOX_DEFAULT closemessage @@ -563,10 +563,10 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 msgbox SlateportCity_Text_1DE502, MSGBOX_DEFAULT msgbox SlateportCity_Text_1DE54A, MSGBOX_DEFAULT closemessage - applymovement 10, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 10 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 25 applymovement 11, SlateportCity_Movement_1DD33C @@ -577,18 +577,18 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 removeobject 10 removeobject 9 msgbox SlateportCity_Text_1DE5F7, MSGBOX_DEFAULT - applymovement 11, Common_Movement_WalkInPlaceUp + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox SlateportCity_Text_1DE64F, MSGBOX_DEFAULT playbgm MUS_AQA_0, 0 msgbox SlateportCity_Text_1DE724, MSGBOX_DEFAULT - applymovement 6, Common_Movement_WalkInPlaceLeft - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft applymovement 7, SlateportCity_Movement_1DD309 - applymovement 3, SlateportCity_Movement_272596 + applymovement 3, Common_Movement_QuestionMark applymovement 2, SlateportCity_Movement_1DD311 waitmovement 0 - applymovement 11, Common_Movement_WalkInPlaceDown + applymovement 11, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox SlateportCity_Text_1DE7F7, MSGBOX_DEFAULT playse SE_PIN @@ -596,7 +596,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 waitmovement 0 applymovement 11, Common_Movement_Delay48 waitmovement 0 - applymovement 11, Common_Movement_WalkInPlaceUp + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox SlateportCity_Text_1DE860, MSGBOX_DEFAULT msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index 5ab5b78e99..fcbfa025ce 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -44,7 +44,7 @@ SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 msgbox SlateportCity_BattleTentCorridor_Text_25AB96, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor 2, 1 waitdooranim diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index 0994eceae4..aa0eaab774 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -48,10 +48,10 @@ SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF end SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 - applymovement 7, Common_Movement_WalkInPlaceDown + applymovement 7, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 6, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT closemessage @@ -85,21 +85,21 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89 applymovement 4, SlateportCity_Harbor_Movement_20CAE0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E applymovement 4, SlateportCity_Harbor_Movement_20CAE6 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3 applymovement 4, SlateportCity_Harbor_Movement_20CAEB waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -226,7 +226,7 @@ SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9 msgbox SlateportCity_Harbor_Text_20CFCB, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index e596664dbf..f0a4305c1b 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -7,14 +7,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96 SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index d2d4613dbb..ab47c1dea1 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -43,8 +43,8 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 trainerbattle_no_intro TRAINER_GRUNT_15, SlateportCity_OceanicMuseum_2F_Text_20BF66 applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF waitmovement 0 - applymovement 3, Common_Movement_WalkInPlaceDown - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestDown + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, MSGBOX_DEFAULT closemessage @@ -68,7 +68,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 fadescreen 0 delay 30 setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT setvar VAR_0x8004, ITEM_DEVON_GOODS @@ -96,12 +96,12 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C return SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index a6c344a217..f148e5d3fd 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SlateportCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 SlateportCity_PokemonCenter_1F_OnTransition: @ 820DACA diff --git a/data/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json index e6ad0518b8..74cccebf0e 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc index a9d48f43d8..6406df27da 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, SlateportCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +SlateportCity_PokemonCenter_2F_EventScript_Colosseum:: @ 820DC36 + call CableClub_EventScript_Colosseum end -SlateportCity_PokemonCenter_2F_EventScript_20DC3C:: @ 820DC3C - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +SlateportCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 820DC3C + call CableClub_EventScript_TradeCenter end -SlateportCity_PokemonCenter_2F_EventScript_20DC42:: @ 820DC42 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +SlateportCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 820DC42 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json index 045a0c315f..faf7e7db23 100644 --- a/data/maps/SlateportCity_PokemonFanClub/map.json +++ b/data/maps/SlateportCity_PokemonFanClub/map.json @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_2C7F16", + "script": "SlateportCity_PokemonFanClub_EventScript_SwaggerTutor", "flag": "0" } ], diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index b30345111d..817ae4402f 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -219,8 +219,8 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946 setvar VAR_0x8004, 0 special Script_DoRayquazaScene waitstate - applymovement 10, Common_Movement_WalkInPlaceLeft - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestLeft + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 60 waitse @@ -319,8 +319,8 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82 setvar VAR_0x8004, 0 special Script_DoRayquazaScene waitstate - applymovement 10, Common_Movement_WalkInPlaceLeft - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestLeft + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 60 waitse diff --git a/data/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json index 6b8cab1498..9726e98aa7 100644 --- a/data/maps/SootopolisCity_Gym_1F/map.json +++ b/data/maps/SootopolisCity_Gym_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Gym_1F_EventScript_224F44", + "script": "SootopolisCity_Gym_1F_EventScript_Juan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Gym_1F_EventScript_225040", + "script": "SootopolisCity_Gym_1F_EventScript_GymGuide", "flag": "0" } ], @@ -72,7 +72,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_Gym_1F_EventScript_22505F" + "script": "SootopolisCity_Gym_1F_EventScript_LeftGymStatue" }, { "type": "sign", @@ -80,7 +80,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SootopolisCity_Gym_1F_EventScript_22506F" + "script": "SootopolisCity_Gym_1F_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index fa69aadc2a..c455092255 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -1,7 +1,7 @@ SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_MapScript2_224ECB - map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_MapScript1_224E67 - map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_MapScript1_224E6A + map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_OnFrame + map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_OnResume + map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_OnTransition .byte 0 @@ -9,71 +9,68 @@ SootopolisCity_Gym_1F_OnTransition: @ 8224E61 setvar VAR_ICE_STEP_COUNT, 1 end -SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67 - setstepcallback 4 +SootopolisCity_Gym_1F_OnResume: @ 8224E67 + setstepcallback STEP_CB_SOOTOPOLIS_ICE end -SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A - call SootopolisCity_Gym_1F_EventScript_224E73 +SootopolisCity_Gym_1F_OnLoad: @ 8224E6A + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special SetSootopolisGymCrackedIceMetatiles end -SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73 +SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles:: @ 8224E73 compare VAR_ICE_STEP_COUNT, 8 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224ECA + goto_if_lt SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice compare VAR_ICE_STEP_COUNT, 28 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224EB8 + goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstStairs compare VAR_ICE_STEP_COUNT, 67 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224EA6 + goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs setmetatile 8, 4, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 5, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224EA6:: @ 8224EA6 +SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs:: @ 8224EA6 setmetatile 8, 10, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 11, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224EB8:: @ 8224EB8 +SootopolisCity_Gym_1F_EventScript_OpenFirstStairs:: @ 8224EB8 setmetatile 8, 15, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 16, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224ECA:: @ 8224ECA +SootopolisCity_Gym_1F_EventScript_StopCheckingStairs:: @ 8224ECA return -SootopolisCity_Gym_1F_MapScript2_224ECB: @ 8224ECB - map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_224EED - map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_224F01 - map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_224F15 - map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_224F29 +SootopolisCity_Gym_1F_OnFrame: @ 8224ECB + map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs + map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs + map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs + map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_FallThroughIce .2byte 0 -SootopolisCity_Gym_1F_EventScript_224EED:: @ 8224EED +SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs:: @ 8224EED addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F01:: @ 8224F01 +SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs:: @ 8224F01 addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15 +SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs:: @ 8224F15 addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 +SootopolisCity_Gym_1F_EventScript_FallThroughIce:: @ 8224F29 lockall delay 20 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce waitmovement 0 playse SE_RU_HYUU delay 60 @@ -81,26 +78,26 @@ SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 waitstate end -SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42 +SootopolisCity_Gym_1F_Movement_FallThroughIce: @ 8224F42 set_invisible step_end -SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44 - trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82, NO_MUSIC +SootopolisCity_Gym_1F_EventScript_Juan:: @ 8224F44 + trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanPreBattle, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_Gym_1F_EventScript_225025 - goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_224FF7 - goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B - msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq SootopolisCity_Gym_1F_EventScript_JuanRematch + goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2 + goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge + msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 - message SootopolisCity_Gym_1F_Text_225598 +SootopolisCity_Gym_1F_EventScript_JuanDefeated:: @ 8224F82 + message SootopolisCity_Gym_1F_Text_ReceivedRainBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox SootopolisCity_Gym_1F_Text_2255BE, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_SOOTOPOLIS_GYM setflag FLAG_BADGE08_GET setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS @@ -110,11 +107,11 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 setvar VAR_0x8008, 8 call Common_EventScript_SetGymTrainers - call SootopolisCity_Gym_1F_EventScript_224FD4 + call SootopolisCity_Gym_1F_EventScript_GiveWaterPulse closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox SootopolisCity_Gym_1F_Text_22574D, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_RegisteredJuan, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -122,69 +119,69 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 release end -SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 +SootopolisCity_Gym_1F_EventScript_GiveWaterPulse:: @ 8224FD4 giveitem_std ITEM_TM03 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM03 return -SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 +SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2:: @ 8224FF7 giveitem_std ITEM_TM03 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM03 release end -SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B - msgbox SootopolisCity_Gym_1F_Text_225865, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge:: @ 822501B + msgbox SootopolisCity_Gym_1F_Text_GoGetFortreeBadge, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025 - trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48 - msgbox SootopolisCity_Gym_1F_Text_225A67, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_1F_EventScript_JuanRematch:: @ 8225025 + trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanPreRematch, SootopolisCity_Gym_1F_Text_JuanRematchDefeat, SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons + msgbox SootopolisCity_Gym_1F_Text_JuanPostRematch, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040 +SootopolisCity_Gym_1F_EventScript_GymGuide:: @ 8225040 lock faceplayer - goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_225055 - msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory + msgbox SootopolisCity_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055 - msgbox SootopolisCity_Gym_1F_Text_2251AF, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory:: @ 8225055 + msgbox SootopolisCity_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F +SootopolisCity_Gym_1F_EventScript_LeftGymStatue:: @ 822505F lockall - goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F - goto SootopolisCity_Gym_1F_EventScript_225089 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified + goto SootopolisCity_Gym_1F_EventScript_GymStatue end -SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F +SootopolisCity_Gym_1F_EventScript_RightGymStatue:: @ 822506F lockall - goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F - goto SootopolisCity_Gym_1F_EventScript_225089 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified + goto SootopolisCity_Gym_1F_EventScript_GymStatue end -SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F - msgbox SootopolisCity_Gym_1F_Text_225916, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymStatueCertified:: @ 822507F + msgbox SootopolisCity_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089 - msgbox SootopolisCity_Gym_1F_Text_2258FA, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymStatue:: @ 8225089 + msgbox SootopolisCity_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT releaseall end -SootopolisCity_Gym_1F_Text_225093: @ 8225093 +SootopolisCity_Gym_1F_Text_GymGuideAdvice: @ 8225093 .string "Yo! How's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "SOOTOPOLIS's GYM LEADER JUAN is\n" @@ -196,14 +193,14 @@ SootopolisCity_Gym_1F_Text_225093: @ 8225093 .string "The rest of the way, you have to\n" .string "go for it yourself!$" -SootopolisCity_Gym_1F_Text_2251AF: @ 82251AF +SootopolisCity_Gym_1F_Text_GymGuidePostVictory: @ 82251AF .string "Yow! You've beaten even JUAN, who\n" .string "was supposedly the best in all HOENN!\p" .string "Okay! Check out your TRAINER CARD.\p" .string "If you've gotten all the BADGES, you're\n" .string "set for the POKéMON LEAGUE challenge!$" -SootopolisCity_Gym_1F_Text_225268: @ 8225268 +SootopolisCity_Gym_1F_Text_JuanPreBattle: @ 8225268 .string "Let me ask you.\n" .string "Did you know?\l" .string "Ah, I should not be so coy.\p" @@ -226,7 +223,7 @@ SootopolisCity_Gym_1F_Text_225268: @ 8225268 @ the gDisplayedStringBattle buffer that it's put into, and it stomps all over the gBattleTextBuffs @ after, as well as the otherwise unused array after that. One wonders if that's the reason for @ the existence of that unused array of ints. -SootopolisCity_Gym_1F_Text_225432: @ 8225432 +SootopolisCity_Gym_1F_Text_JuanDefeat: @ 8225432 .string "Ahahaha, excellent!\n" .string "Very well, you are the winner.\p" .string "From you, I sense the brilliant shine\n" @@ -241,11 +238,11 @@ SootopolisCity_Gym_1F_Text_225432: @ 8225432 .string "Rather than my clothes, I shall reward\n" .string "you with this, the RAIN BADGE!$" -SootopolisCity_Gym_1F_Text_225598: @ 8225598 +SootopolisCity_Gym_1F_Text_ReceivedRainBadge: @ 8225598 .string "{PLAYER} received the RAIN BADGE\n" .string "from JUAN.$" -SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE +SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis: @ 82255BE .string "Having the RAIN BADGE shall assure you\n" .string "the full obedience of all your POKéMON\l" .string "to your every command.\p" @@ -255,18 +252,18 @@ SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE .string "And, so that you never forget the\n" .string "battle we shared, take this…$" -SootopolisCity_Gym_1F_Text_2256C1: @ 82256C1 +SootopolisCity_Gym_1F_Text_ExplainWaterPulse: @ 82256C1 .string "The TECHNICAL MACHINE I handed you\n" .string "contains WATER PULSE.\p" .string "In use, it will occasionally confuse\n" .string "the target with ultrasonic waves.\p" .string "… … … … … …$" -SootopolisCity_Gym_1F_Text_22574D: @ 822574D +SootopolisCity_Gym_1F_Text_RegisteredJuan: @ 822574D .string "Registered GYM LEADER JUAN\n" .string "in the POKéNAV.$" -SootopolisCity_Gym_1F_Text_225778: @ 8225778 +SootopolisCity_Gym_1F_Text_JuanPostBattle: @ 8225778 .string "The TRAINERS who have gathered all\n" .string "the GYM BADGES of HOENN should make\l" .string "way to the ultimate destination.\p" @@ -276,22 +273,22 @@ SootopolisCity_Gym_1F_Text_225778: @ 8225778 .string "There, you shall find the POKéMON\n" .string "LEAGUE.$" -SootopolisCity_Gym_1F_Text_225865: @ 8225865 +SootopolisCity_Gym_1F_Text_GoGetFortreeBadge: @ 8225865 .string "There remains but one BADGE to\n" .string "obtain in HOENN.\p" .string "If you wish to challenge the POKéMON\n" .string "LEAGUE, you must obtain the last\l" .string "BADGE from the GYM in FORTREE.$" -SootopolisCity_Gym_1F_Text_2258FA: @ 82258FA +SootopolisCity_Gym_1F_Text_GymStatue: @ 82258FA .string "SOOTOPOLIS CITY POKéMON GYM$" -SootopolisCity_Gym_1F_Text_225916: @ 8225916 +SootopolisCity_Gym_1F_Text_GymStatueCertified: @ 8225916 .string "SOOTOPOLIS CITY POKéMON GYM\p" .string "JUAN'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -SootopolisCity_Gym_1F_Text_225950: @ 8225950 +SootopolisCity_Gym_1F_Text_JuanPreRematch: @ 8225950 .string "JUAN: Ah, this GYM had returned to its\n" .string "usual state of serenity…\p" .string "But our young typhoon has returned\n" @@ -300,11 +297,11 @@ SootopolisCity_Gym_1F_Text_225950: @ 8225950 .string "I shall be delighted to dance with you\n" .string "as often as you wish!$" -SootopolisCity_Gym_1F_Text_225A2E: @ 8225A2E +SootopolisCity_Gym_1F_Text_JuanRematchDefeat: @ 8225A2E .string "Ahahaha, you are the winner!\n" .string "You have defeated me again!$" -SootopolisCity_Gym_1F_Text_225A67: @ 8225A67 +SootopolisCity_Gym_1F_Text_JuanPostRematch: @ 8225A67 .string "JUAN: If I told you to become my\n" .string "apprentice, you will refuse, I am sure.\p" .string "I would like to make a gift of my coat\n" @@ -314,7 +311,7 @@ SootopolisCity_Gym_1F_Text_225A67: @ 8225A67 .string "And that, my friend, is a certain sign\n" .string "of nobility!$" -SootopolisCity_Gym_1F_Text_225B48: @ 8225B48 +SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons: @ 8225B48 .string "JUAN: Ah, this GYM had returned to its\n" .string "usual state of serenity…\p" .string "But our young typhoon has returned\n" diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json index d378f84e29..0af53d062a 100644 --- a/data/maps/SootopolisCity_Gym_B1F/map.json +++ b/data/maps/SootopolisCity_Gym_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225C8B", + "script": "SootopolisCity_Gym_B1F_EventScript_Andrea", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225CD0", + "script": "SootopolisCity_Gym_B1F_EventScript_Connie", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225CB9", + "script": "SootopolisCity_Gym_B1F_EventScript_Brianna", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "SootopolisCity_Gym_B1F_EventScript_225CE7", + "script": "SootopolisCity_Gym_B1F_EventScript_Bridget", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "SootopolisCity_Gym_B1F_EventScript_225D15", + "script": "SootopolisCity_Gym_B1F_EventScript_Tiffany", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "SootopolisCity_Gym_B1F_EventScript_225D2C", + "script": "SootopolisCity_Gym_B1F_EventScript_Bethany", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "SootopolisCity_Gym_B1F_EventScript_225CA2", + "script": "SootopolisCity_Gym_B1F_EventScript_Crissy", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225CFE", + "script": "SootopolisCity_Gym_B1F_EventScript_Olivia", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225D5A", + "script": "SootopolisCity_Gym_B1F_EventScript_Daphne", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225D43", + "script": "SootopolisCity_Gym_B1F_EventScript_Annika", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_Gym_B1F/scripts.inc b/data/maps/SootopolisCity_Gym_B1F/scripts.inc index 0f402b9303..fad5878fbb 100644 --- a/data/maps/SootopolisCity_Gym_B1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_B1F/scripts.inc @@ -1,183 +1,183 @@ SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A .byte 0 -SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B - trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6 - msgbox SootopolisCity_Gym_B1F_Text_225DCF, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Andrea:: @ 8225C8B + trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_AndreaPreBattle, SootopolisCity_Gym_B1F_Text_AndreaDefeat + msgbox SootopolisCity_Gym_B1F_Text_AndreaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2 - trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60 - msgbox SootopolisCity_Gym_B1F_Text_225E90, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Crissy:: @ 8225CA2 + trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_CrissyPreBattle, SootopolisCity_Gym_B1F_Text_CrissyDefeat + msgbox SootopolisCity_Gym_B1F_Text_CrissyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9 - trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495 - msgbox SootopolisCity_Gym_B1F_Text_2264BC, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Brianna:: @ 8225CB9 + trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_BriannaPreBattle, SootopolisCity_Gym_B1F_Text_BriannaDefeat + msgbox SootopolisCity_Gym_B1F_Text_BriannaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0 - trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB - msgbox SootopolisCity_Gym_B1F_Text_225FFE, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Connie:: @ 8225CD0 + trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_ConniePreBattle, SootopolisCity_Gym_B1F_Text_ConnieDefeat + msgbox SootopolisCity_Gym_B1F_Text_ConniePostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7 - trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6 - msgbox SootopolisCity_Gym_B1F_Text_2260D1, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Bridget:: @ 8225CE7 + trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_BridgetPreBattle, SootopolisCity_Gym_B1F_Text_BridgetDefeat + msgbox SootopolisCity_Gym_B1F_Text_BridgetPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE - trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7 - msgbox SootopolisCity_Gym_B1F_Text_2261B5, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Olivia:: @ 8225CFE + trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_OliviaPreBattle, SootopolisCity_Gym_B1F_Text_OliviaDefeat + msgbox SootopolisCity_Gym_B1F_Text_OliviaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15 - trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274 - msgbox SootopolisCity_Gym_B1F_Text_226286, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Tiffany:: @ 8225D15 + trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_TiffanyPreBattle, SootopolisCity_Gym_B1F_Text_TiffanyDefeat + msgbox SootopolisCity_Gym_B1F_Text_TiffanyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C - trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B - msgbox SootopolisCity_Gym_B1F_Text_226341, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Bethany:: @ 8225D2C + trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_BethanyPreBattle, SootopolisCity_Gym_B1F_Text_BethanyDefeat + msgbox SootopolisCity_Gym_B1F_Text_BethanyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43 - trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD - msgbox SootopolisCity_Gym_B1F_Text_2263F4, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Annika:: @ 8225D43 + trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_AnnikaPreBattle, SootopolisCity_Gym_B1F_Text_AnnikaDefeat + msgbox SootopolisCity_Gym_B1F_Text_AnnikaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A - trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35 - msgbox SootopolisCity_Gym_B1F_Text_225F67, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Daphne:: @ 8225D5A + trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_DaphnePreBattle, SootopolisCity_Gym_B1F_Text_DaphneDefeat + msgbox SootopolisCity_Gym_B1F_Text_DaphnePostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71 +SootopolisCity_Gym_B1F_Text_AndreaPreBattle: @ 8225D71 .string "I'll show you the sublime techniques\n" .string "I learned from our LEADER JUAN!$" -SootopolisCity_Gym_B1F_Text_225DB6: @ 8225DB6 +SootopolisCity_Gym_B1F_Text_AndreaDefeat: @ 8225DB6 .string "Please forgive me, JUAN…$" -SootopolisCity_Gym_B1F_Text_225DCF: @ 8225DCF +SootopolisCity_Gym_B1F_Text_AndreaPostBattle: @ 8225DCF .string "Watch what happens if you crack all\n" .string "the floor tiles.$" -SootopolisCity_Gym_B1F_Text_225E04: @ 8225E04 +SootopolisCity_Gym_B1F_Text_CrissyPreBattle: @ 8225E04 .string "You came all the way here, but you won't\n" .string "get to see JUAN.\p" .string "Not if you lose to me, you won't!$" -SootopolisCity_Gym_B1F_Text_225E60: @ 8225E60 +SootopolisCity_Gym_B1F_Text_CrissyDefeat: @ 8225E60 .string "You're strong!\n" .string "I was fooled by your cute looks!$" -SootopolisCity_Gym_B1F_Text_225E90: @ 8225E90 +SootopolisCity_Gym_B1F_Text_CrissyPostBattle: @ 8225E90 .string "You might be good enough to avoid\n" .string "being wiped out in one hit by JUAN.$" -SootopolisCity_Gym_B1F_Text_225ED6: @ 8225ED6 +SootopolisCity_Gym_B1F_Text_DaphnePreBattle: @ 8225ED6 .string "The sight of JUAN conducting\n" .string "a battle…\p" .string "The very beauty of it compelled me to\n" .string "become a TRAINER.$" -SootopolisCity_Gym_B1F_Text_225F35: @ 8225F35 +SootopolisCity_Gym_B1F_Text_DaphneDefeat: @ 8225F35 .string "You battled with more beauty than\n" .string "I could muster…$" -SootopolisCity_Gym_B1F_Text_225F67: @ 8225F67 +SootopolisCity_Gym_B1F_Text_DaphnePostBattle: @ 8225F67 .string "The grace you bring to battle is\n" .string "fabulous.\p" .string "Oh… I'm so fortunate to have found\n" .string "POKéMON.$" -SootopolisCity_Gym_B1F_Text_225FBE: @ 8225FBE +SootopolisCity_Gym_B1F_Text_ConniePreBattle: @ 8225FBE .string "I should teach you how harsh battles\n" .string "can be.$" -SootopolisCity_Gym_B1F_Text_225FEB: @ 8225FEB +SootopolisCity_Gym_B1F_Text_ConnieDefeat: @ 8225FEB .string "Oh.\n" .string "You're strong.$" -SootopolisCity_Gym_B1F_Text_225FFE: @ 8225FFE +SootopolisCity_Gym_B1F_Text_ConniePostBattle: @ 8225FFE .string "I'll tell you something good.\p" .string "If you want to reach JUAN, you\n" .string "need to walk on each floor tile once.$" -SootopolisCity_Gym_B1F_Text_226061: @ 8226061 +SootopolisCity_Gym_B1F_Text_BridgetPreBattle: @ 8226061 .string "The POKéMON GYM of the highest level\n" .string "in the HOENN region…\p" .string "That's the SOOTOPOLIS GYM.$" -SootopolisCity_Gym_B1F_Text_2260B6: @ 82260B6 +SootopolisCity_Gym_B1F_Text_BridgetDefeat: @ 82260B6 .string "What a high level you are!$" -SootopolisCity_Gym_B1F_Text_2260D1: @ 82260D1 +SootopolisCity_Gym_B1F_Text_BridgetPostBattle: @ 82260D1 .string "Rather than being satisfied by being\n" .string "in a strong GYM, I imagine training in\l" .string "other places will make you stronger.\l" .string "But above all, it looks more fun.$" -SootopolisCity_Gym_B1F_Text_226164: @ 8226164 +SootopolisCity_Gym_B1F_Text_OliviaPreBattle: @ 8226164 .string "I train my POKéMON together with\n" .string "JUAN.\p" .string "Don't think I'm a pushover.$" -SootopolisCity_Gym_B1F_Text_2261A7: @ 82261A7 +SootopolisCity_Gym_B1F_Text_OliviaDefeat: @ 82261A7 .string "I was beaten…$" -SootopolisCity_Gym_B1F_Text_2261B5: @ 82261B5 +SootopolisCity_Gym_B1F_Text_OliviaPostBattle: @ 82261B5 .string "I think you have potential.\n" .string "Why don't you stay and train with us?$" -SootopolisCity_Gym_B1F_Text_2261F7: @ 82261F7 +SootopolisCity_Gym_B1F_Text_TiffanyPreBattle: @ 82261F7 .string "A graceful glide across the ice while\n" .string "crossing no lines…\p" .string "A TRAINER putting on that performance\n" .string "would be elegantly beautiful!$" -SootopolisCity_Gym_B1F_Text_226274: @ 8226274 +SootopolisCity_Gym_B1F_Text_TiffanyDefeat: @ 8226274 .string "Well, excuse me?!$" -SootopolisCity_Gym_B1F_Text_226286: @ 8226286 +SootopolisCity_Gym_B1F_Text_TiffanyPostBattle: @ 8226286 .string "This is really obvious, but how strong\n" .string "you are as a TRAINER has nothing to do\l" .string "with how young or old you are.$" -SootopolisCity_Gym_B1F_Text_2262F3: @ 82262F3 +SootopolisCity_Gym_B1F_Text_BethanyPreBattle: @ 82262F3 .string "When I'm with my POKéMON, the time\n" .string "flies by before you can say, “Oops!”$" -SootopolisCity_Gym_B1F_Text_22633B: @ 822633B +SootopolisCity_Gym_B1F_Text_BethanyDefeat: @ 822633B .string "Oops!$" -SootopolisCity_Gym_B1F_Text_226341: @ 8226341 +SootopolisCity_Gym_B1F_Text_BethanyPostBattle: @ 8226341 .string "I wish I could forget about lost causes\n" .string "before I can manage an “Oops!”$" -SootopolisCity_Gym_B1F_Text_226388: @ 8226388 +SootopolisCity_Gym_B1F_Text_AnnikaPreBattle: @ 8226388 .string "I can battle with really rare POKéMON\n" .string "if you'd like.$" -SootopolisCity_Gym_B1F_Text_2263BD: @ 82263BD +SootopolisCity_Gym_B1F_Text_AnnikaDefeat: @ 82263BD .string "Oh, there now! Did you have a good look\n" .string "at my POKéMON?$" -SootopolisCity_Gym_B1F_Text_2263F4: @ 82263F4 +SootopolisCity_Gym_B1F_Text_AnnikaPostBattle: @ 82263F4 .string "I came to this GYM because JUAN\n" .string "praised me for my darling POKéMON.\p" .string "Oh, if only I'd met JUAN years ago\n" .string "when I was younger…$" -SootopolisCity_Gym_B1F_Text_22646E: @ 822646E +SootopolisCity_Gym_B1F_Text_BriannaPreBattle: @ 822646E .string "Giggle…\n" .string "Your grim look is so charming.$" -SootopolisCity_Gym_B1F_Text_226495: @ 8226495 +SootopolisCity_Gym_B1F_Text_BriannaDefeat: @ 8226495 .string "Oh, dear.\n" .string "I went much too easy on you.$" -SootopolisCity_Gym_B1F_Text_2264BC: @ 82264BC +SootopolisCity_Gym_B1F_Text_BriannaPostBattle: @ 82264BC .string "You couldn't lay a finger on JUAN,\n" .string "I'm sure. Giggle…$" diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index cba0e189d5..e6e5229087 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -37,7 +37,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7 applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21 waitmovement 0 copyobjectxytoperm 1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1 call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json index 90a8dcdade..a2307dc100 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_1F_EventScript_2C8256", + "script": "SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index 41a180c4f0..d2b5468318 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 SootopolisCity_PokemonCenter_1F_OnTransition: @ 82264FC diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json index 33308de7be..6c00e8e215 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc index 4c9fce9123..57d21cbb58 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +SootopolisCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8226782 + call CableClub_EventScript_Colosseum end -SootopolisCity_PokemonCenter_2F_EventScript_226788:: @ 8226788 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +SootopolisCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8226788 + call CableClub_EventScript_TradeCenter end -SootopolisCity_PokemonCenter_2F_EventScript_22678E:: @ 822678E - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +SootopolisCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 822678E + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index 2ee0ae6029..f5879e1e89 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -14,7 +14,7 @@ SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2 goto_if_eq SouthernIsland_Exterior_EventScript_242A17 msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_SOUTHERN_ISLAND_EXTERIOR diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json index 1c409132dd..98e7d46c12 100644 --- a/data/maps/TradeCenter/map.json +++ b/data/maps/TradeCenter/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TradeCenter_EventScript_2774B6", + "script": "TradeCenter_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index 840822780a..3b9fb77a4f 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -114,7 +114,7 @@ TrainerHill_Entrance_EventScript_2681EF:: @ 82681EF TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD lock faceplayer - setvar VAR_0x8004, TRAINER_HILL_FUNC_10 + setvar VAR_0x8004, TRAINER_HILL_FUNC_IS_IN special CallTrainerHillFunction compare VAR_RESULT, 0 goto_if_eq TrainerHill_Entrance_EventScript_26821F diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index fd8c055467..9a764cd58a 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -77,8 +77,8 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8 applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581 waitmovement 0 removeobject 2 - applymovement 3, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, MSGBOX_DEFAULT special LoadPlayerParty @@ -121,8 +121,8 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8:: @ 82024B8 case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 closemessage goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json index f9df06d335..c437aeecef 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6", + "script": "VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor", "flag": "0" } ], diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index f785e87718..32cecf1524 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,6 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 VerdanturfTown_PokemonCenter_1F_OnTransition: @ 8202731 diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json index bfa6db09e2..26f0d3aaa9 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc index 0964fa96f1..7802f5b032 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897 - map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +VerdanturfTown_PokemonCenter_2F_EventScript_Colosseum:: @ 82028AC + call CableClub_EventScript_Colosseum end -VerdanturfTown_PokemonCenter_2F_EventScript_2028B2:: @ 82028B2 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +VerdanturfTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 82028B2 + call CableClub_EventScript_TradeCenter end -VerdanturfTown_PokemonCenter_2F_EventScript_2028B8:: @ 82028B8 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +VerdanturfTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 82028B8 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index b6983eac0f..9b7c00c62e 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -38,7 +38,7 @@ VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8 end VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC diff --git a/data/mossdeep_gym.s b/data/rotating_tile_puzzle.s similarity index 52% rename from data/mossdeep_gym.s rename to data/rotating_tile_puzzle.s index 01eb792b7b..f9cf208db5 100644 --- a/data/mossdeep_gym.s +++ b/data/rotating_tile_puzzle.s @@ -2,42 +2,42 @@ .section .rodata -gUnknown_08612698:: @ 8612698 +RotatingTilePuzzle_Movement_ShiftRight:: @ 8612698 store_lock_anim walk_right free_unlock_anim step_end -gUnknown_0861269C:: @ 861269C +RotatingTilePuzzle_Movement_ShiftDown:: @ 861269C store_lock_anim walk_down free_unlock_anim step_end -gUnknown_086126A0:: @ 86126A0 +RotatingTilePuzzle_Movement_ShiftLeft:: @ 86126A0 store_lock_anim walk_left free_unlock_anim step_end -gUnknown_086126A4:: @ 86126A4 +RotatingTilePuzzle_Movement_ShiftUp:: @ 86126A4 store_lock_anim walk_up free_unlock_anim step_end -gUnknown_086126A8:: @ 86126A8 +RotatingTilePuzzle_Movement_FaceRight:: @ 86126A8 face_right step_end -gUnknown_086126AA:: @ 86126AA +RotatingTilePuzzle_Movement_FaceDown:: @ 86126AA face_down step_end -gUnknown_086126AC:: @ 86126AC +RotatingTilePuzzle_Movement_FaceLeft:: @ 86126AC face_left step_end -gUnknown_086126AE:: @ 86126AE +RotatingTilePuzzle_Movement_FaceUp:: @ 86126AE face_up step_end diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index 910227a921..5a6a1e613a 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -211,11 +211,11 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_nop1 .4byte ScrCmd_warpD1 .4byte ScrCmd_setmonmetlocation - .4byte ScrCmd_mossdeepgym1 - .4byte ScrCmd_mossdeepgym2 - .4byte ScrCmd_mossdeepgym3 - .4byte ScrCmd_mossdeepgym4 - .4byte ScrCmd_warpD7 + .4byte ScrCmd_moverotatingtileobjects + .4byte ScrCmd_turnrotatingtileobjects + .4byte ScrCmd_initrotatingtilepuzzle + .4byte ScrCmd_freerotatingtilepuzzle + .4byte ScrCmd_warpmossdeepgym .4byte ScrCmd_cmdD8 .4byte ScrCmd_cmdD9 .4byte ScrCmd_cmdDA diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc index 581a789e46..9892ffb7b6 100644 --- a/data/scripts/battle_pike.inc +++ b/data/scripts/battle_pike.inc @@ -3,9 +3,9 @@ BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25 - setvar VAR_0x8004, 4 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_UP_ROOM_OBJECTS special CallBattlePikeFunction - setvar VAR_0x8004, 5 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 @@ -50,7 +50,7 @@ BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST - setvar VAR_0x8004, 5 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE special CallBattlePikeFunction compare VAR_RESULT, 3 goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 @@ -92,11 +92,11 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64 end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA setvar VAR_0x8005, 1 special CallBattlePikeFunction addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT special CallBattlePikeFunction @@ -108,9 +108,9 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F setvar VAR_0x8005, 2 copyvar VAR_0x8006, VAR_RESULT special CallFrontierUtilFunc - setvar VAR_0x8004, 0 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE special CallBattlePikeFunction - setvar VAR_0x8004, 5 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE special CallBattlePikeFunction switch VAR_RESULT case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 @@ -167,17 +167,17 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 - setvar VAR_0x8004, 25 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_CAN_PARTY_BE_HEALED special CallBattlePikeFunction compare VAR_RESULT, 1 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 compare VAR_RESULT, 1 call_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA setvar VAR_0x8005, 1 special CallBattlePikeFunction addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT special CallBattlePikeFunction @@ -189,7 +189,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 setvar VAR_0x8005, 2 copyvar VAR_0x8006, VAR_RESULT special CallFrontierUtilFunc - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IN_FINAL_ROOM special CallBattlePikeFunction compare VAR_RESULT, 1 call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 @@ -200,14 +200,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128 - setvar VAR_0x8004, 24 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED setvar VAR_0x8005, 1 special CallBattlePikeFunction return BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 - setvar VAR_0x8004, 24 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED setvar VAR_0x8005, 0 special CallBattlePikeFunction return @@ -229,19 +229,19 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C return BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 - setvar VAR_0x8004, 7 + setvar VAR_0x8004,BATTLE_PIKE_FUNC_7 special CallBattlePikeFunction - setvar VAR_0x8004, 25 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_CAN_PARTY_BE_HEALED special CallBattlePikeFunction compare VAR_RESULT, 1 call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 compare VAR_RESULT, 1 call_if_ne BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 - setvar VAR_0x8004, 1 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA setvar VAR_0x8005, 1 special CallBattlePikeFunction addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT special CallBattlePikeFunction @@ -253,7 +253,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 setvar VAR_0x8005, 2 copyvar VAR_0x8006, VAR_RESULT special CallFrontierUtilFunc - setvar VAR_0x8004, 3 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IN_FINAL_ROOM special CallBattlePikeFunction compare VAR_RESULT, 1 call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 @@ -275,7 +275,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D closemessage end -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222 +BattleFrontier_BattlePike_EventScript_Retire:: @ 82C4222 setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 setvar VAR_0x8006, 4 diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index 3fcb258076..6962d17f84 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -1,558 +1,492 @@ -PokemonCenter_2F_OnTransition: @ 8276ACF - call OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift +CableClub_OnTransition: @ 8276ACF + call CableClub_EventScript_HideOrShowMysteryGiftMan end -OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift:: @ 8276AD5 - specialvar VAR_RESULT, sub_813B514 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB +CableClub_EventScript_HideOrShowMysteryGiftMan:: @ 8276AD5 + specialvar VAR_RESULT, ShouldDistributeEonTicket + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_ShowMysteryGiftMan specialvar VAR_RESULT, ValidateReceivedWonderCard - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF - goto OldaleTown_PokemonCenter_2F_EventScript_276AFB + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_HideMysteryGiftMan + goto CableClub_EventScript_ShowMysteryGiftMan end -OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB +CableClub_EventScript_ShowMysteryGiftMan:: @ 8276AFB clearflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN return -OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF +CableClub_EventScript_HideMysteryGiftMan:: @ 8276AFF setflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN return -BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -DewfordTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -EverGrandeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -EverGrandeCity_PokemonLeague_2F_EventScript_276B03:: @ 8276B03 -FallarborTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -FortreeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -LavaridgeTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -LilycoveCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -MauvilleCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -MossdeepCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -OldaleTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -PacifidlogTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -PetalburgCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -RustboroCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -SlateportCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 - specialvar VAR_RESULT, sub_813B514 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B23 - goto OldaleTown_PokemonCenter_2F_EventScript_276B19 +CableClub_EventScript_MysteryGiftMan:: @ 8276B03 + specialvar VAR_RESULT, ShouldDistributeEonTicket + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_DistributeEonTicket + goto CableClub_EventScript_AlreadyGotEonTicket end -OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19 +CableClub_EventScript_AlreadyGotEonTicket:: @ 8276B19 gotoram -OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A +@ Unused? +CableClub_EventScript_MysteryGiftThankYou:: @ 8276B1A msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_NPC end -OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23 +CableClub_EventScript_DistributeEonTicket:: @ 8276B23 checkitem ITEM_EON_TICKET, 1 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 - goto_if_set FLAG_SYS_HAS_EON_TICKET, OldaleTown_PokemonCenter_2F_EventScript_276B19 - msgbox gUnknown_08273594, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AlreadyGotEonTicket + goto_if_set FLAG_SYS_HAS_EON_TICKET, CableClub_EventScript_AlreadyGotEonTicket + msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT giveitem_std ITEM_EON_TICKET setflag FLAG_SYS_HAS_EON_TICKET - setvar VAR_ALWAYS_ZERO_0x403F, 0 - msgbox gUnknown_082735F2, MSGBOX_DEFAULT + setvar VAR_DISTRIBUTE_EON_TICKET, 0 + msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT release end +@ Unused? OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62 msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_DEFAULT release end -BattleFrontier_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -DewfordTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C: @ 8276B6C -FallarborTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -FortreeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -LilycoveCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -MauvilleCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -MossdeepCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -OldaleTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -PetalburgCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -RustboroCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -SlateportCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -SootopolisCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C - map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276BAE +CableClub_OnWarp: @ 8276B6C + map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant .2byte 0 -MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE -OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE +CableClub_EventScript_CheckTurnAttendant:: @ 8276BAE compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD + goto_if_eq CableClub_EventScript_DontTurnAttendant turnobject VAR_0x8007, DIR_WEST - -OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD +CableClub_EventScript_DontTurnAttendant:: @ 8276BBD end -BattleFrontier_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -DewfordTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE: @ 8276BBE -FallarborTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -FortreeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -LilycoveCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -MauvilleCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -MossdeepCity_GameCorner_1F_MapScript1_276BBE: @ 8276BBE -MossdeepCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -OldaleTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -PetalburgCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -RustboroCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE - compare VAR_CABLE_CLUB_STATE, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D - compare VAR_CABLE_CLUB_STATE, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C23 - compare VAR_CABLE_CLUB_STATE, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C29 - compare VAR_CABLE_CLUB_STATE, 7 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F - compare VAR_CABLE_CLUB_STATE, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C35 +CableClub_OnLoad: @ 8276BBE + compare VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER + goto_if_eq CableClub_EventScript_OnLoadFromTradeCenter + compare VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER + goto_if_eq CableClub_EventScript_OnLoadFromRecordCorner + compare VAR_CABLE_CLUB_STATE, USING_UNION_ROOM + goto_if_eq CableClub_EventScript_OnLoadFromUnionRoom + compare VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH + goto_if_eq CableClub_EventScript_OnLoadFromBerryCrush + compare VAR_CABLE_CLUB_STATE, USING_MINIGAME + goto_if_eq CableClub_EventScript_OnLoadFromGameCorner end -OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17 - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromColosseum:: @ 8276C17 + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C1D:: @ 8276C1D - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromTradeCenter:: @ 8276C1D + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C23:: @ 8276C23 - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromRecordCorner:: @ 8276C23 + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C29:: @ 8276C29 - call OldaleTown_PokemonCenter_2F_EventScript_277BBE +CableClub_EventScript_OnLoadFromUnionRoom:: @ 8276C29 + call CableClub_EventScript_OpenUnionRoomBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C2F:: @ 8276C2F - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromBerryCrush:: @ 8276C2F + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C35:: @ 8276C35 - call OldaleTown_PokemonCenter_2F_EventScript_277C0A +CableClub_EventScript_OnLoadFromGameCorner:: @ 8276C35 + call EventScript_OpenMossdeepGameCornerBarrier end -BattleFrontier_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -DewfordTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B: @ 8276C3B -FallarborTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -FortreeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -LilycoveCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -MauvilleCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -MossdeepCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -OldaleTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -PetalburgCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -RustboroCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -SlateportCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -SootopolisCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B - map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276DE0 - map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276CE7 - map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276D2C - map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276D6C - map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276C9D +CableClub_OnFrame: @ 8276C3B + map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, CableClub_EventScript_Tutorial + map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_ExitTradeCenter + map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_ExitRecordCorner + map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_ExitUnionRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom .2byte 0 -OldaleTown_PokemonCenter_2F_EventScript_276C85:: @ 8276C85 +CableClub_EventScript_ExitLinkRoom:: @ 8276C85 lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CB5 - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_CloseLinkAndExitLinkRoom + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -MossdeepCity_GameCorner_1F_EventScript_276C9D:: @ 8276C9D -OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D +CableClub_EventScript_ExitMinigameRoom:: @ 8276C9D lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CB5 - call OldaleTown_PokemonCenter_2F_EventScript_277C1D + call CableClub_EventScript_CloseLinkAndExitLinkRoom + call EventScript_CloseMossdeepGameCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5 +CableClub_EventScript_CloseLinkAndExitLinkRoom:: @ 8276CB5 special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7 +CableClub_EventScript_ExitTradeCenter:: @ 8276CE7 lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CFF - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_PlayerExitTradeCenter + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF +CableClub_EventScript_PlayerExitTradeCenter:: @ 8276CFF special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - call OldaleTown_PokemonCenter_2F_EventScript_276DAE + call CableClub_EventScript_TrainerCardDataOverwritten return -OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C +CableClub_EventScript_ExitRecordCorner:: @ 8276D2C lockall - call OldaleTown_PokemonCenter_2F_EventScript_276D44 - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_PlayerExitRecordCorner + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44 +CableClub_EventScript_PlayerExitRecordCorner:: @ 8276D44 special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + goto_if_eq CableClub_EventScript_ExitRecordCornerRet + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 - -OldaleTown_PokemonCenter_2F_EventScript_276D6B:: @ 8276D6B +CableClub_EventScript_ExitRecordCornerRet:: @ 8276D6B return -OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C +CableClub_EventScript_ExitUnionRoom:: @ 8276D6C lockall - call OldaleTown_PokemonCenter_2F_EventScript_276D84 - call OldaleTown_PokemonCenter_2F_EventScript_277BD1 + call CableClub_EventScript_PlayerExitUnionRoom + call CableClub_EventScript_CloseUnionRoomBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84 +CableClub_EventScript_PlayerExitUnionRoom:: @ 8276D84 setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - call OldaleTown_PokemonCenter_2F_EventScript_276DAE + call CableClub_EventScript_TrainerCardDataOverwritten return -OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE - message OldaleTown_PokemonCenter_2F_Text_278521 +CableClub_EventScript_TrainerCardDataOverwritten:: @ 8276DAE + message CableClub_Text_TrainerCardDataOverwritten waitmessage playse SE_PIN delay 60 - message OldaleTown_PokemonCenter_2F_Text_27854C + message CableClub_Text_HopeToSeeYouAgain waitmessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F +CableClub_EventScript_PlayerExitLinkRoom:: @ 8276DD5 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0 +CableClub_EventScript_Tutorial:: @ 8276DE0 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT + msgbox CableClub_Text_FirstTimeRightThisWay, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10 + applymovement EVENT_OBJ_ID_PLAYER, CableClub_Movement_PlayerApproachCounter waitmovement 0 delay 30 - msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT + msgbox CableClub_Text_ExplainWirelessClubFirstTime, MSGBOX_DEFAULT setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 2 releaseall end -OldaleTown_PokemonCenter_2F_Movement_276E10: @ 8276E10 +CableClub_Movement_PlayerApproachCounter: @ 8276E10 walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13 - message OldaleTown_PokemonCenter_2F_Text_277EA4 +CableClub_EventScript_WelcomeToCableClub:: @ 8276E13 + message CableClub_Text_WelcomeWhichCableClubService waitmessage delay 28 - goto OldaleTown_PokemonCenter_2F_EventScript_276E30 + goto CableClub_EventScript_SelectCableClubRoom end -OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22 - msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276E30 +CableClub_EventScript_UnusedWelcomeToCableClub:: @ 8276E22 + msgbox CableClub_Text_WhichService, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectCableClubRoom end -OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30 +CableClub_EventScript_SelectCableClubRoom:: @ 8276E30 setvar VAR_0x8004, 0 - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_276E75 + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_CableClubUnlockedRecordCorner multichoice 0, 0, MULTI_CABLE_CLUB_NO_RECORD_MIX, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TradeCenter + case 1, CableClub_EventScript_Colosseum + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276E75:: @ 8276E75 +CableClub_EventScript_CableClubUnlockedRecordCorner:: @ 8276E75 multichoice 0, 0, MULTI_CABLE_CLUB_WITH_RECORD_MIX, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2771DB - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TradeCenter + case 1, CableClub_EventScript_Colosseum + case 2, CableClub_EventScript_RecordCorner + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276EB7:: @ 8276EB7 +CableClub_EventScript_Colosseum:: @ 8276EB7 copyvar VAR_0x8007, VAR_LAST_TALKED - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2 - message OldaleTown_PokemonCenter_2F_Text_2790BE +CableClub_EventScript_SelectBattleMode:: @ 8276EC2 + message CableClub_Text_WhichBattleMode waitmessage multichoice 0, 0, MULTI_BATTLE_MODE, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_276F23 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276F2E - case 2, OldaleTown_PokemonCenter_2F_EventScript_276F55 - case 3, OldaleTown_PokemonCenter_2F_EventScript_276F15 - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_SingleBattleMode + case 1, CableClub_EventScript_DoubleBattleMode + case 2, CableClub_EventScript_MultiBattleMode + case 3, CableClub_EventScript_BattleModeInfo + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15 - msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 +CableClub_EventScript_BattleModeInfo:: @ 8276F15 + msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23 - setvar VAR_0x8004, 1 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 +CableClub_EventScript_SingleBattleMode:: @ 8276F23 + setvar VAR_0x8004, USING_SINGLE_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E +CableClub_EventScript_DoubleBattleMode:: @ 8276F2E special HasEnoughMonsForDoubleBattle compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS - goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_276F47 - setvar VAR_0x8004, 2 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 + goto_if_ne CableClub_EventScript_NeedTwoMonsForDoubleBattle + setvar VAR_0x8004, USING_DOUBLE_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47 - msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 +CableClub_EventScript_NeedTwoMonsForDoubleBattle:: @ 8276F47 + msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55 - setvar VAR_0x8004, 5 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 +CableClub_EventScript_MultiBattleMode:: @ 8276F55 + setvar VAR_0x8004, USING_MULTI_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60 +CableClub_EventScript_TryEnterColosseum:: @ 8276F60 call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage - special sub_80B2DA4 + special TryBattleLinkup waitstate compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD + goto_if_eq CableClub_EventScript_EnterColosseum compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277046 + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError end -OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD +CableClub_EventScript_EnterColosseum:: @ 8276FBD special HealPlayerParty special SavePlayerParty special LoadPlayerBag copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 waitdooranim release - compare VAR_0x8004, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277036 + compare VAR_0x8004, USING_MULTI_BATTLE + goto_if_eq CableClub_EventScript_WarpToDoubleColosseum special SetCableClubWarp warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8 special sub_80AF948 waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B - applymovement EVENT_OBJ_ID_PLAYER, Movement_277352 +@ Unused +CableClub_EventScript_PlayerApproachLinkRoomRight:: @ 827702B + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomRight waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036 +CableClub_EventScript_WarpToDoubleColosseum:: @ 8277036 special SetCableClubWarp warp MAP_DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8 special sub_80AF948 waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046 +CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers:: @ 8277046 switch VAR_0x8004 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277094 - case 2, OldaleTown_PokemonCenter_2F_EventScript_277083 - case 5, OldaleTown_PokemonCenter_2F_EventScript_277072 - goto OldaleTown_PokemonCenter_2F_EventScript_27730E + case USING_SINGLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForSingleBattle + case USING_DOUBLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle + case USING_MULTI_BATTLE, CableClub_EventScript_AbortLinkNeedFourPlayers + goto CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants end -OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072 +CableClub_EventScript_AbortLinkNeedFourPlayers:: @ 8277072 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_27833D, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_NeedFourPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083 +CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle:: @ 8277083 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278307, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_CantDoubleBattleWithXPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094 +CableClub_EventScript_AbortLinkWrongNumberForSingleBattle:: @ 8277094 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_CantSingleBattleWithXPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5 - special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278372, MSGBOX_DEFAULT +CableClub_EventScript_ConfirmNumberAndRestart:: @ 82770A5 + special CloseLink @ Redundant + msgbox CableClub_Text_PleaseConfirmNumberAndRestart, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2 +CableClub_EventScript_TradeCenter:: @ 82770B2 copyvar VAR_0x8007, VAR_LAST_TALKED - call OldaleTown_PokemonCenter_2F_EventScript_277199 + call CableClub_EventScript_CheckPartyTradeRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage - special sub_80B2E4C + special TryTradeLinkup waitstate compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27713A + goto_if_eq CableClub_EventScript_EnterTradeCenter compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError compare VAR_RESULT, 7 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB + goto_if_eq CableClub_EventScript_AbortLinkPlayerNotReady compare VAR_RESULT, 9 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8 + goto_if_eq CableClub_EventScript_AbortLinkOtherTrainerNotReady end -OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A - setvar VAR_0x8004, 3 +CableClub_EventScript_EnterTradeCenter:: @ 827713A + setvar VAR_0x8004, USING_TRADE_CENTER copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 @@ -564,31 +498,31 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199 +CableClub_EventScript_CheckPartyTradeRequirements:: @ 8277199 specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 2 - goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_2771BF - specialvar VAR_RESULT, sub_80F9370 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD + goto_if_lt CableClub_EventScript_NeedTwoMonsToTrade + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_CantTradeEnigmaBerry setvar VAR_RESULT, 1 return -OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF - msgbox OldaleTown_PokemonCenter_2F_Text_278027, MSGBOX_DEFAULT +CableClub_EventScript_NeedTwoMonsToTrade:: @ 82771BF + msgbox CableClub_Text_NeedTwoMonsToTrade, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return -OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD - msgbox OldaleTown_PokemonCenter_2F_Text_278061, MSGBOX_DEFAULT +CableClub_EventScript_CantTradeEnigmaBerry:: @ 82771CD + msgbox CableClub_Text_CantTradeEnigmaBerry, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return -OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB +CableClub_EventScript_RecordCorner:: @ 82771DB copyvar VAR_0x8007, VAR_LAST_TALKED call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage special sub_80B2E74 @@ -596,38 +530,38 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB special sub_80B2EA8 waitstate compare VAR_RESULT, 12 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277328 + goto_if_eq CableClub_EventScript_AbortLinkForeignGame compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27724C + goto_if_eq CableClub_EventScript_EnterRecordCorner compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError end -OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C - setvar VAR_0x8004, 4 +CableClub_EventScript_EnterRecordCorner:: @ 827724C + setvar VAR_0x8004, USING_RECORD_CORNER copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 @@ -639,71 +573,70 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C waitstate end -OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB +CableClub_EventScript_AbortLinkPlayerNotReady:: @ 82772AB special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278565, MSGBOX_DEFAULT + msgbox CableClub_Text_NotSetUpForFarAwayRegion, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8 +CableClub_EventScript_AbortLinkOtherTrainerNotReady:: @ 82772B8 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, MSGBOX_DEFAULT + msgbox CableClub_Text_OtherTrainerNotReady, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5 -OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5 +CableClub_EventScript_AbortLinkConnectionError:: @ 82772C5 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_27821C, MSGBOX_DEFAULT + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2 -OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2 +CableClub_EventScript_AbortLinkSomeoneNotReady:: @ 82772D2 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, MSGBOX_DEFAULT + msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF +CableClub_EventScript_AbortLinkDifferentSelections:: @ 82772DF special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278255, MSGBOX_DEFAULT + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC +CableClub_EventScript_AbortLink:: @ 82772EC special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278291, MSGBOX_DEFAULT + msgbox CableClub_Text_PleaseVisitAgain, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9 +MossdeepCity_GameCorner_1F_EventScript_AbortMinigame:: @ 82772F9 special CloseLink - msgbox MossdeepCity_GameCorner_1F_Text_278D51, MSGBOX_DEFAULT + msgbox MossdeepCity_GameCorner_1F_Text_ComeAgain, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306 +@ Unused +CableClub_EventScript_CableClubWarp:: @ 8277306 special SetCableClubWarp special sub_80AF948 waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E +CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants:: @ 827730E special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, MSGBOX_DEFAULT + msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B +CableClub_EventScript_AbortLinkPlayerHasBadEgg:: @ 827731B special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, MSGBOX_DEFAULT + msgbox CableClub_Text_YouHaveAMonThatCantBeTaken, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328 +CableClub_EventScript_AbortLinkForeignGame:: @ 8277328 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278651, MSGBOX_DEFAULT + msgbox CableClub_Text_CantMixWithJapaneseGame, MSGBOX_DEFAULT release end @@ -712,54 +645,56 @@ CableClub_EventScript_WirelessClubAdjustements:: @ 8277335 release end -OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F +CableClub_EventScript_NotReadyYet:: @ 827733F msgbox gText_UndergoingAdjustments, MSGBOX_DEFAULT releaseall end -OldaleTown_PokemonCenter_2F_Movement_277349: @ 8277349 +Movement_AttendantFaceDown: @ 8277349 face_down step_end -OldaleTown_PokemonCenter_2F_Movement_27734B: @ 827734B +@ Unused +Movement_AttendantFaceRight: @ 827734B face_right step_end -MossdeepCity_GameCorner_1F_Movement_27734D: @ 827734D -OldaleTown_PokemonCenter_2F_Movement_27734D: @ 827734D +Movement_AttendantFaceLeft: @ 827734D face_left step_end -OldaleTown_PokemonCenter_2F_Movement_27734F: @ 827734F +Movement_PlayerExitLinkRoom: @ 827734F walk_down walk_down step_end -Movement_277352: @ 8277352 +@ Functionally unused +Movement_PlayerApproachLinkRoomRight: @ 8277352 walk_right walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_277356: @ 8277356 +Movement_PlayerApproachLinkRoomLeft: @ 8277356 walk_left walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_27735A: @ 827735A +Movement_PlayerEnterLinkRoom: @ 827735A walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_27735C: @ 827735C +@ Unused +Movement_PlayerFaceAttendantLeft: @ 827735C face_left step_end -OldaleTown_PokemonCenter_2F_Movement_27735E: @ 827735E +Movement_PlayerFaceAttendantRight: @ 827735E face_right step_end -MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360 +Movement_PlayerEnterMinigameRoom: @ 8277360 walk_left walk_up walk_up @@ -894,62 +829,62 @@ EventScript_RecordCenter_Spot3:: @ 827745C RecordCorner_EventScript_277471:: @ 8277471 bufferitemname 1, VAR_TEMP_1 - message RecordCorner_Text_27863C + message RecordCorner_Text_PlayerSentOverOneX waitmessage waitbuttonpress releaseall end -gEventScript_TradeRoom_ReadTrainerCard_NoColor:: @ 827747E - msgbox Text_278452, MSGBOX_DEFAULT +CableClub_EventScript_ReadTrainerCard:: @ 827747E + msgbox CableClub_Text_GotToLookAtTrainerCard, MSGBOX_DEFAULT fadescreen 1 - special sp02A_crash_sound + special Script_ShowLinkTrainerCard waitstate end -gEventScript_TradeRoom_ReadTrainerCard_Normal:: @ 827748D - msgbox Text_27847B, MSGBOX_DEFAULT +CableClub_EventScript_ReadTrainerCardColored:: @ 827748D + msgbox CableClub_Text_GotToLookAtColoredTrainerCard, MSGBOX_DEFAULT fadescreen 1 - special sp02A_crash_sound + special Script_ShowLinkTrainerCard waitstate end -gEventScript_TradeRoom_TooBusyToNotice:: @ 827749C - msgbox Text_27842E, MSGBOX_DEFAULT +CableClub_EventScript_TooBusyToNotice:: @ 827749C + msgbox CableClub_Text_TooBusyToNotice, MSGBOX_DEFAULT closemessage end -SingleBattleColosseum_EventScript_2774A6:: @ 82774A6 - special sub_8098574 - msgbox SingleBattleColosseum_Text_2784B4, MSGBOX_DEFAULT - special sub_809859C +SingleBattleColosseum_EventScript_Attendant:: @ 82774A6 + special Script_FacePlayer + msgbox SingleBattleColosseum_Text_TakePlaceStartBattle, MSGBOX_DEFAULT + special Script_ClearHeldMovement closemessage end -TradeCenter_EventScript_2774B6:: @ 82774B6 - special sub_8098574 - msgbox TradeCenter_Text_2784E2, MSGBOX_DEFAULT - special sub_809859C +TradeCenter_EventScript_Attendant:: @ 82774B6 + special Script_FacePlayer + msgbox TradeCenter_Text_TakeSeatStartTrade, MSGBOX_DEFAULT + special Script_ClearHeldMovement closemessage end RecordCorner_EventScript_2774C6:: @ 82774C6 compare VAR_TEMP_0, 0 - goto_if_ne RecordCorner_EventScript_2774E0 - special sub_8098574 - message RecordCorner_Text_27861C + goto_if_ne RecordCorner_EventScript_AlreadyMixed + special Script_FacePlayer + message RecordCorner_Text_TakeSeatAndWait waitmessage waitbuttonpress - special sub_809859C + special Script_ClearHeldMovement closemessage end -RecordCorner_EventScript_2774E0:: @ 82774E0 - special sub_8098574 - message RecordCorner_Text_27850E +RecordCorner_EventScript_AlreadyMixed:: @ 82774E0 + special Script_FacePlayer + message RecordCorner_Text_ThanksForComing waitmessage waitbuttonpress - special sub_809859C + special Script_ClearHeldMovement closemessage end @@ -969,70 +904,70 @@ EventScript_TerminateLink:: @ 8277509 EventScript_DoLinkRoomExit:: @ 8277513 special CleanupLinkRoomState - special sub_80AF9F8 + special ReturnFromLinkRoom waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B +CableClub_EventScript_UnionRoomAttendant:: @ 827751B lock faceplayer setvar VAR_FRONTIER_FACILITY, 8 goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements specialvar VAR_RESULT, IsBadEggInParty - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg copyvar VAR_0x8007, VAR_LAST_TALKED specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277668 - message OldaleTown_PokemonCenter_2F_Text_27940D + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_UnionRoomAdapterNotConnected + message CableClub_Text_WelcomeUnionRoomEnter waitmessage - goto OldaleTown_PokemonCenter_2F_EventScript_27755C + goto CableClub_EventScript_UnionRoomSelect end -OldaleTown_PokemonCenter_2F_EventScript_27755C:: @ 827755C +CableClub_EventScript_UnionRoomSelect:: @ 827755C multichoice 17, 6, MULTI_YESNOINFO, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27759F - case 1, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 2, OldaleTown_PokemonCenter_2F_EventScript_277593 - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_EnterUnionRoom + case 1, CableClub_EventScript_AbortLink + case 2, CableClub_EventScript_UnionRoomInfo + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593 - message OldaleTown_PokemonCenter_2F_Text_2794B8 +CableClub_EventScript_UnionRoomInfo:: @ 8277593 + message CableClub_Text_UnionRoomInfo waitmessage - goto OldaleTown_PokemonCenter_2F_EventScript_27755C + goto CableClub_EventScript_UnionRoomSelect end -OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F - call OldaleTown_PokemonCenter_2F_EventScript_277626 +CableClub_EventScript_EnterUnionRoom:: @ 827759F + call CableClub_EventScript_CheckPartyUnionRoomRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT + goto_if_eq CableClub_EventScript_AbortLink + msgbox CableClub_Text_EnjoyUnionRoom, MSGBOX_DEFAULT closemessage special HealPlayerParty - setvar VAR_0x8004, 6 + setvar VAR_0x8004, USING_UNION_ROOM copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - call OldaleTown_PokemonCenter_2F_EventScript_277BBE + call CableClub_EventScript_OpenUnionRoomBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 5, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 5, 1 waitdooranim - special sub_8018090 + special Script_ResetUnionRoomTrade special SetCableClubWarp warpteleport2 MAP_UNION_ROOM, 255, 7, 11 waitstate @@ -1040,329 +975,325 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626 +CableClub_EventScript_CheckPartyUnionRoomRequirements:: @ 8277626 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 2 - goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_27764C - specialvar VAR_RESULT, sub_80F9370 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27765A + goto_if_lt CableClub_EventScript_NeedTwoMonsForUnionRoom + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_NoEnigmaBerryInUnionRoom setvar VAR_RESULT, 1 return -OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C - msgbox OldaleTown_PokemonCenter_2F_Text_27893E, MSGBOX_DEFAULT +CableClub_EventScript_NeedTwoMonsForUnionRoom:: @ 827764C + msgbox CableClub_Text_NeedTwoMonsForUnionRoom, MSGBOX_DEFAULT goto EventScript_CableClub_SetVarResult0 end -OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A - msgbox OldaleTown_PokemonCenter_2F_Text_27897B, MSGBOX_DEFAULT +CableClub_EventScript_NoEnigmaBerryInUnionRoom:: @ 827765A + msgbox CableClub_Text_NoEnigmaBerryInUnionRoom, MSGBOX_DEFAULT goto EventScript_CableClub_SetVarResult0 end -OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668 - msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, MSGBOX_DEFAULT +CableClub_EventScript_UnionRoomAdapterNotConnected:: @ 8277668 + msgbox CableClub_Text_UnionRoomAdapterNotConnected, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672 +CableClub_EventScript_WirelessClubAttendant:: @ 8277672 lock faceplayer goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements - msgbox OldaleTown_PokemonCenter_2F_Text_279937, MSGBOX_YESNO + msgbox CableClub_Text_AskAboutLinking, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27769A - msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT + goto_if_eq CableClub_EventScript_DontAskAboutLinking + msgbox CableClub_Text_ExplainWirelessClub, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A - msgbox OldaleTown_PokemonCenter_2F_Text_279C91, MSGBOX_DEFAULT +CableClub_EventScript_DontAskAboutLinking:: @ 827769A + msgbox CableClub_Text_HopeYouEnjoyWirelessSystem, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4 +CableClub_EventScript_DirectCornerAttendant:: @ 82776A4 lock faceplayer setvar VAR_FRONTIER_FACILITY, 9 goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements specialvar VAR_RESULT, IsBadEggInParty - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276E13 - message OldaleTown_PokemonCenter_2F_Text_279013 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_WelcomeToCableClub + message CableClub_Text_WelcomeWhichDirectCornerRoom waitmessage delay 28 - goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 + goto CableClub_EventScript_DirectCornerSelectService end -OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3 +CableClub_EventScript_DirectCornerSelectService:: @ 82776E3 checkitem ITEM_POWDER_JAR, 1 - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27778B - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_27773E + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_DirectCornerNoBerry + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerSelectAllServices multichoice 0, 0, MULTI_WIRELESS_NO_RECORD, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778F7 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessBerryCrush + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E +CableClub_EventScript_DirectCornerSelectAllServices:: @ 827773E multichoice 0, 0, MULTI_WIRELESS_ALL_SERVICES, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2778F7 - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessRecordMix + case 3, CableClub_EventScript_WirelessBerryCrush + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_2777CB +CableClub_EventScript_DirectCornerNoBerry:: @ 827778B + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerHasRecordMix multichoice 0, 0, MULTI_WIRELESS_NO_RECORD_BERRY, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB +CableClub_EventScript_DirectCornerHasRecordMix:: @ 82777CB multichoice 0, 0, MULTI_WIRELESS_NO_BERRY, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessRecordMix + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D - msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO +CableClub_EventScript_WirelessTrade:: @ 827780D + msgbox CableClub_Text_TradePokemon, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - call OldaleTown_PokemonCenter_2F_EventScript_277199 + goto_if_eq CableClub_EventScript_AbortLink + call CableClub_EventScript_CheckPartyTradeRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink setvar VAR_0x8004, 3 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_27783B:: @ 827783B - message OldaleTown_PokemonCenter_2F_Text_2790BE +CableClub_EventScript_WirelessBattleSelect:: @ 827783B + message CableClub_Text_WhichBattleMode waitmessage multichoice 0, 0, MULTI_BATTLE_MODE, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27788E - case 1, OldaleTown_PokemonCenter_2F_EventScript_277899 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778C0 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2778CB - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessSingleBattle + case 1, CableClub_EventScript_WirelessDoubleBattle + case 2, CableClub_EventScript_WirelessMultiBattle + case 3, CableClub_EventScript_WirelessBattleInfo + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E +CableClub_EventScript_WirelessSingleBattle:: @ 827788E setvar VAR_0x8004, 0 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899 +CableClub_EventScript_WirelessDoubleBattle:: @ 8277899 special HasEnoughMonsForDoubleBattle compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS - goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_2778B2 + goto_if_ne CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle setvar VAR_0x8004, 1 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2 - msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_27783B +CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle:: @ 82778B2 + msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT + goto CableClub_EventScript_WirelessBattleSelect end -OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0 +CableClub_EventScript_WirelessMultiBattle:: @ 82778C0 setvar VAR_0x8004, 2 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB - msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_27783B +CableClub_EventScript_WirelessBattleInfo:: @ 82778CB + msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT + goto CableClub_EventScript_WirelessBattleSelect end -OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9 - msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO +CableClub_EventScript_WirelessRecordMix:: @ 82778D9 + msgbox CableClub_Text_AccessRecordCorner, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink setvar VAR_0x8004, 12 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7 - msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO +CableClub_EventScript_WirelessBerryCrush:: @ 82778F7 + msgbox CableClub_Text_UseBerryCrush, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink special HasAtLeastOneBerry - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277923 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_NeedBerryForBerryCrush setvar VAR_0x8004, 5 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923 - msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 +CableClub_EventScript_NeedBerryForBerryCrush:: @ 8277923 + msgbox CableClub_Text_NeedBerryForBerryCrush, MSGBOX_DEFAULT + goto CableClub_EventScript_DirectCornerSelectService end -OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931 +CableClub_EventScript_SaveAndChooseLinkLeader:: @ 8277931 call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink switch VAR_0x8004 - case 3, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 0, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 2, OldaleTown_PokemonCenter_2F_EventScript_277A16 - case 5, OldaleTown_PokemonCenter_2F_EventScript_277AA3 - case 12, OldaleTown_PokemonCenter_2F_EventScript_277AA3 + case 3, CableClub_EventScript_ChooseLinkLeaderFrom2 + case 0, CableClub_EventScript_ChooseLinkLeaderFrom2 + case 1, CableClub_EventScript_ChooseLinkLeaderFrom2 + case 2, CableClub_EventScript_ChooseLinkLeaderFrom4 + case 5, CableClub_EventScript_ChooseLinkLeader + case 12, CableClub_EventScript_ChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989 - message OldaleTown_PokemonCenter_2F_Text_2792CD +CableClub_EventScript_ChooseLinkLeaderFrom2:: @ 8277989 + message CableClub_Text_ChooseGroupLeaderOfTwo waitmessage multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2779EE - case 1, OldaleTown_PokemonCenter_2F_EventScript_2779C6 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroup2Players + case 1, CableClub_EventScript_TryLeadGroup2Players + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroup2Players:: @ 82779C6 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6 + goto_if_eq CableClub_EventScript_TryLeadGroup2Players release return -OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroup2Players:: @ 82779EE + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE + goto_if_eq CableClub_EventScript_TryJoinGroup2Players release return -OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16 - message OldaleTown_PokemonCenter_2F_Text_279334 +CableClub_EventScript_ChooseLinkLeaderFrom4:: @ 8277A16 + message CableClub_Text_ChooseGroupLeaderOfFour waitmessage multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_277A7B - case 1, OldaleTown_PokemonCenter_2F_EventScript_277A53 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroup4Players + case 1, CableClub_EventScript_TryLeadGroup4Players + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroup4Players:: @ 8277A53 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A53 + goto_if_eq CableClub_EventScript_TryLeadGroup4Players release return -OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroup4Players:: @ 8277A7B + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B + goto_if_eq CableClub_EventScript_TryJoinGroup4Players release return -OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3 - message OldaleTown_PokemonCenter_2F_Text_2793A3 +CableClub_EventScript_ChooseLinkLeader:: @ 8277AA3 + message CableClub_Text_ChooseGroupLeader waitmessage multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_277B08 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277AE0 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case MULTI_B_PRESSED, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroupXPlayers + case 1, CableClub_EventScript_TryLeadGroupXPlayers + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroupXPlayers:: @ 8277AE0 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq CableClub_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0 + goto_if_eq CableClub_EventScript_TryLeadGroupXPlayers release return -OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08 - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroupXPlayers:: @ 8277B08 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq CableClub_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B08 + goto_if_eq CableClub_EventScript_TryJoinGroupXPlayers release return -BattleFrontier_BattleTowerLobby_EventScript_277B30:: @ 8277B30 -MossdeepCity_GameCorner_1F_EventScript_277B30:: @ 8277B30 -OldaleTown_PokemonCenter_2F_EventScript_277B30:: @ 8277B30 - special BerryBlenderLinkBecomeLeader +CableClub_EventScript_TryBecomeLinkLeader:: @ 8277B30 + special TryBecomeLinkLeader waitstate return -BattleFrontier_BattleTowerLobby_EventScript_277B35:: @ 8277B35 -MossdeepCity_GameCorner_1F_EventScript_277B35:: @ 8277B35 -OldaleTown_PokemonCenter_2F_EventScript_277B35:: @ 8277B35 - special BerryBlenderLinkJoinGroup +CableClub_EventScript_TryJoinLinkGroup:: @ 8277B35 + special TryJoinLinkGroup waitstate return -OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A - messageautoscroll OldaleTown_PokemonCenter_2F_Text_2781A5 +CableClub_EventScript_EnterWirelessLinkRoom:: @ 8277B3A + messageautoscroll CableClub_Text_DirectYouToYourRoom waitmessage delay 60 closemessage copyvar VAR_0x8007, VAR_LAST_TALKED - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 @@ -1373,730 +1304,229 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A EventScript_WirelessBoxResults:: @ 8277B8A lockall - goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_27733F + goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_NotReadyYet specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq EventScript_277BB4 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_AdapterNotConnected fadescreen 1 special sub_801A42C waitstate - msgbox OldaleTown_PokemonCenter_2F_Text_27874F, MSGBOX_DEFAULT + msgbox CableClub_Text_ParticipantsStepUpToCounter, MSGBOX_DEFAULT releaseall end -EventScript_277BB4:: @ 8277BB4 - msgbox OldaleTown_PokemonCenter_2F_Text_27871F, MSGBOX_DEFAULT +CableClub_EventScript_AdapterNotConnected:: @ 8277BB4 + msgbox CableClub_Text_AdapterNotConnected, MSGBOX_DEFAULT releaseall end -OldaleTown_PokemonCenter_2F_EventScript_277BBE:: @ 8277BBE +CableClub_EventScript_OpenUnionRoomBarrier:: @ 8277BBE setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0 setmetatile 5, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277BD1:: @ 8277BD1 +CableClub_EventScript_CloseUnionRoomBarrier:: @ 8277BD1 setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1 setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, 1 return -OldaleTown_PokemonCenter_2F_EventScript_277BE4:: @ 8277BE4 +CableClub_EventScript_OpenDirectCornerBarrier:: @ 8277BE4 setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0 setmetatile 9, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277BF7:: @ 8277BF7 +CableClub_EventScript_CloseDirectCornerBarrier:: @ 8277BF7 setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1 setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, 1 return -MossdeepCity_GameCorner_1F_EventScript_277C0A:: @ 8277C0A -OldaleTown_PokemonCenter_2F_EventScript_277C0A:: @ 8277C0A +EventScript_OpenMossdeepGameCornerBarrier:: @ 8277C0A setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterOpen_Top, 0 setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterOpen_Bottom, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277C1D:: @ 8277C1D +EventScript_CloseMossdeepGameCornerBarrier:: @ 8277C1D setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterClosed_Top, 1 setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterClosed_Bottom, 1 return -BattleFrontier_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -DewfordTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -EverGrandeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -EverGrandeCity_PokemonLeague_1F_MapScript1_277C30: @ 8277C30 -FallarborTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -FortreeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -LavaridgeTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -LilycoveCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -MauvilleCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -MossdeepCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -OldaleTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -PacifidlogTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -PetalburgCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -RustboroCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -SlateportCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -SootopolisCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -VerdanturfTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 - special sub_8016934 +CableClub_OnResume: @ 8277C30 + special InitUnionRoom end -MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34 +MossdeepCity_GameCorner_1F_EventScript_InfoMan2:: @ 8277C34 lock faceplayer - message MossdeepCity_GameCorner_1F_Text_278A7D + message MossdeepCity_GameCorner_1F_Text_DescribeWhichGame waitmessage multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277C73 - case 1, MossdeepCity_GameCorner_1F_EventScript_277C7D - case 2, MossdeepCity_GameCorner_1F_EventScript_277C87 - case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_277C87 + case 0, MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo + case 1, MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo + case 2, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit end -MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73 - msgbox MossdeepCity_GameCorner_1F_Text_278ACB, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo:: @ 8277C73 + msgbox MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D - msgbox MossdeepCity_GameCorner_1F_Text_278BF1, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo:: @ 8277C7D + msgbox MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87 - msgbox MossdeepCity_GameCorner_1F_Text_278CAC, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit:: @ 8277C87 + msgbox MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91 +MossdeepCity_GameCorner_1F_EventScript_OldMan2:: @ 8277C91 lock faceplayer - message MossdeepCity_GameCorner_1F_Text_278CEB + message MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait waitmessage specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E48 + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected delay 60 - message MossdeepCity_GameCorner_1F_Text_278DAD + message MossdeepCity_GameCorner_1F_Text_PlayWhichGame waitmessage multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277CE9 - case 1, MossdeepCity_GameCorner_1F_EventScript_277D35 - case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 - case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 0, MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump + case 1, MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking + case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9 +MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump:: @ 8277CE9 setvar VAR_0x8005, 0 - special sub_802C920 - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT + special IsPokemonJumpSpeciesInParty + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon + msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT fadescreen 1 setvar VAR_0x8005, 0 - special sub_81B8958 + special ChooseMonForWirelessMinigame waitstate - compare VAR_0x8004, 6 - goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame setvar VAR_0x8004, 4 - goto MossdeepCity_GameCorner_1F_EventScript_277D81 + goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader end -MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35 +MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking:: @ 8277D35 setvar VAR_0x8005, 1 - special sub_8027A5C - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT + special IsDodrioInParty + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon + msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT fadescreen 1 setvar VAR_0x8005, 1 - special sub_81B8958 + special ChooseMonForWirelessMinigame waitstate - compare VAR_0x8004, 6 - goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame setvar VAR_0x8004, 6 - goto MossdeepCity_GameCorner_1F_EventScript_277D81 + goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader end -MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81 - message MossdeepCity_GameCorner_1F_Text_2793A3 +MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader:: @ 8277D81 + message CableClub_Text_ChooseGroupLeader waitmessage multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277DE6 - case 1, MossdeepCity_GameCorner_1F_EventScript_277DBE - case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 - case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 0, MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup + case 1, MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader + case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE - call MossdeepCity_GameCorner_1F_EventScript_277B30 +MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader:: @ 8277DBE + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom compare VAR_RESULT, 5 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DBE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader release return -MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6 - call MossdeepCity_GameCorner_1F_EventScript_277B35 +MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup:: @ 8277DE6 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom compare VAR_RESULT, 5 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DE6 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup release return -MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E - messageautoscroll MossdeepCity_GameCorner_1F_Text_278E00 +MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom:: @ 8277E0E + messageautoscroll MossdeepCity_GameCorner_1F_Text_AllGoodToGo waitmessage delay 60 closemessage copyvar VAR_0x8007, VAR_LAST_TALKED - call MossdeepCity_GameCorner_1F_EventScript_277C0A + call EventScript_OpenMossdeepGameCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterMinigameRoom waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY release waitstate end -MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48 +MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected:: @ 8277E48 delay 60 - msgbox MossdeepCity_GameCorner_1F_Text_278D68, MSGBOX_DEFAULT + msgbox MossdeepCity_GameCorner_1F_Text_AdapterNotConnected, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO +MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon:: @ 8277E55 + msgbox MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame compare VAR_0x8005, 0 - call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E84 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements compare VAR_0x8005, 1 - call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E8D - goto MossdeepCity_GameCorner_1F_EventScript_2772F9 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements + goto MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84 - msgbox MossdeepCity_GameCorner_1F_Text_278EDC, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements:: @ 8277E84 + msgbox MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed, MSGBOX_DEFAULT return -MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D - msgbox MossdeepCity_GameCorner_1F_Text_278FA4, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements:: @ 8277E8D + msgbox MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed, MSGBOX_DEFAULT return -MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96 +MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords:: @ 8277E96 lockall - special sub_802E3C4 + special ShowPokemonJumpRecords waitstate releaseall end -MossdeepCity_GameCorner_1F_EventScript_277E9D:: @ 8277E9D +MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords:: @ 8277E9D lockall - special sub_8027AAC + special ShowDodrioBerryPickingRecords waitstate releaseall end -OldaleTown_PokemonCenter_2F_Text_277EA4: @ 8277EA4 - .string "Welcome to the POKéMON CABLE\n" - .string "CLUB.\p" - .string "Which of our services do you wish\n" - .string "to use?$" - -OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1 - .string "Which of our services do you wish\n" - .string "to use?$" - -CableClub_Text_TradeUsingLinkCable:: @ 8277F1B - .string "Trade POKéMON with another player\n" - .string "using a GBA Game Link cable.$" - -CableClub_Text_BattleUsingLinkCable:: @ 8277F5A - .string "You may battle another TRAINER\n" - .string "using a GBA Game Link cable.$" - -CableClub_Text_RecordCornerUsingLinkCable:: @ 8277F96 - .string "You can use the RECORD CORNER with\n" - .string "others using a GBA Game Link cable.$" - -OldaleTown_PokemonCenter_2F_Text_277FDD: @ 8277FDD - .string "Close this menu.$" - -OldaleTown_PokemonCenter_2F_Text_277FEE: @ 8277FEE - .string "For a DOUBLE BATTLE, you must\n" - .string "have at least two POKéMON.$" - -OldaleTown_PokemonCenter_2F_Text_278027: @ 8278027 - .string "For trading, you must have at\n" - .string "least two POKéMON with you.$" - -OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061 - .string "A POKéMON holding the {STR_VAR_1}\n" - .string "BERRY can't be traded.$" - -gText_PleaseWaitForLink:: @ 8278091 - .string "Please wait.\n" - .string "… … B Button: Cancel$" - -gText_ConfirmLinkWhenPlayersReady:: @ 82780B3 - .string "When all players are ready…\n" - .string "A Button: Confirm\l" - .string "B Button: Cancel$" - -gText_ConfirmStartLinkWithXPlayers:: @ 82780F2 - .string "Start link with {STR_VAR_1} players.\n" - .string "A Button: Confirm\l" - .string "B Button: Cancel$" - -gText_AwaitingLinkup:: @ 8278131 - .string "Awaiting linkup…\n" - .string "… … B Button: Cancel$" - -OldaleTown_PokemonCenter_2F_Text_278157:: @ 8278157 - .string "Your progress must be saved before\n" - .string "linking. Is it okay to save?$" - -OldaleTown_PokemonCenter_2F_Text_278197: @ 8278197 - .string "Please enter.$" - -OldaleTown_PokemonCenter_2F_Text_2781A5: @ 82781A5 - .string "I'll direct you to your room now.$" - -LilycoveCity_ContestLobby_Text_2781C7: @ 82781C7 -OldaleTown_PokemonCenter_2F_Text_2781C7: @ 82781C7 - .string "Someone is not ready to link.\p" - .string "Please come back after everyone\n" - .string "has made preparations.$" - -LilycoveCity_ContestLobby_Text_27821C: @ 827821C -OldaleTown_PokemonCenter_2F_Text_27821C: @ 827821C - .string "Sorry, we have a link error…\n" - .string "Please reset and try again.$" - -BattleFrontier_BattleTowerLobby_Text_278255: @ 8278255 -LilycoveCity_ContestLobby_Text_278255: @ 8278255 -OldaleTown_PokemonCenter_2F_Text_278255: @ 8278255 - .string "The link partners appear to have\n" - .string "made different selections.$" - -OldaleTown_PokemonCenter_2F_Text_278291: @ 8278291 - .string "Please do visit again.$" - -BattleFrontier_BattleTowerLobby_Text_2782A8: @ 82782A8 -OldaleTown_PokemonCenter_2F_Text_2782A8: @ 82782A8 - .string "The number of participants is\n" - .string "incorrect.$" - -OldaleTown_PokemonCenter_2F_Text_2782D1: @ 82782D1 - .string "The SINGLE BATTLE Mode can't be\n" - .string "played by {STR_VAR_1} players.$" - -OldaleTown_PokemonCenter_2F_Text_278307: @ 8278307 - .string "The DOUBLE BATTLE Mode can't be\n" - .string "played by {STR_VAR_1} players.$" - -OldaleTown_PokemonCenter_2F_Text_27833D: @ 827833D - .string "There must be four players to play\n" - .string "this Battle Mode.$" - -OldaleTown_PokemonCenter_2F_Text_278372: @ 8278372 - .string "Please confirm the number of\n" - .string "players and start again.$" - -Text_TerminateLinkConfirmation: @ 82783A8 - .string "The link will be terminated if you\n" - .string "leave the room. Is that okay?$" - -Text_TerminateLinkPleaseWait: @ 82783E9 - .string "Terminating link…\n" - .string "You will be escorted out of\l" - .string "the room. Please wait.$" - -Text_27842E: @ 827842E - .string "This TRAINER is too busy to\n" - .string "notice…$" - -Text_278452: @ 8278452 - .string "Score! Got to look at {STR_VAR_1}'s\n" - .string "TRAINER CARD!$" - -Text_27847B: @ 827847B - .string "Score! Got to look at {STR_VAR_1}'s\n" - .string "TRAINER CARD!\p" - .string "It's a {STR_VAR_2} card!$" - -SingleBattleColosseum_Text_2784B4: @ 82784B4 - .string "Please take your place and start\n" - .string "your battle.$" - -TradeCenter_Text_2784E2: @ 82784E2 - .string "Please take your seat and start\n" - .string "your trade.$" - -RecordCorner_Text_27850E: @ 827850E - .string "Thanks for coming.$" - -OldaleTown_PokemonCenter_2F_Text_278521: @ 8278521 - .string "The TRAINER CARD data will\n" - .string "be overwritten.$" - -OldaleTown_PokemonCenter_2F_Text_27854C: @ 827854C - .string "I hope to see you again!$" - -OldaleTown_PokemonCenter_2F_Text_278565: @ 8278565 - .string "I'm awfully sorry.\p" - .string "We're not set up to conduct trades\n" - .string "with TRAINERS far away in another\l" - .string "region yet…$" - -OldaleTown_PokemonCenter_2F_Text_2785C9: @ 82785C9 - .string "The other TRAINER is not ready.$" - -OldaleTown_PokemonCenter_2F_Text_2785E9: @ 82785E9 - .string "You have at least one POKéMON\n" - .string "that can't be taken.$" - -RecordCorner_Text_27861C: @ 827861C - .string "Please take your seat and wait.$" - -RecordCorner_Text_27863C: @ 827863C - .string "{STR_VAR_1} sent over one\n" - .string "{STR_VAR_2}.$" - -OldaleTown_PokemonCenter_2F_Text_278651: @ 8278651 - .string "Sorry, there is a transmission error.\p" - .string "You may not mix records with \n" - .string "Japanese Ruby or Sapphire games.\p" - .string "Also, you can't mix records with\n" - .string "Japanese Emerald and overseas Ruby\l" - .string "or Sapphire games at the same time.$" - -OldaleTown_PokemonCenter_2F_Text_27871F: @ 827871F - .string "The Wireless Adapter is not\n" - .string "connected properly.$" - -OldaleTown_PokemonCenter_2F_Text_27874F: @ 827874F - .string "Participants are asked to step up\n" - .string "to the reception counter.$" - -OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B - .string "Hello!$" - -OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792 - .string "Please wait.$" - -CableClub_Text_YouMayTradeHere:: @ 827879F - .string "You may trade your POKéMON here\n" - .string "with another TRAINER.$" - -CableClub_Text_YouMayBattleHere:: @ 82787D5 - .string "You may battle with your friends\n" - .string "here.$" - -CableClub_Text_CanMakeBerryPowder:: @ 82787FC - .string "Two to five TRAINERS can make\n" - .string "BERRY POWDER together.$" - -CableClub_Text_CanMixRecords:: @ 8278831 - .string "The records of two to four players\n" - .string "can be mixed together.$" - -OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B - .string "A guide to the WIRELESS CLUB's\n" - .string "various services.$" - -CableClub_Text_CancelSelectedItem:: @ 827889C - .string "Cancels the selected MENU item.$" - -OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC - .string "Which battle mode would you like?$" - -OldaleTown_PokemonCenter_2F_Text_2788DE: @ 82788DE - .string "Returns to the previous step.$" - -OldaleTown_PokemonCenter_2F_Text_2788FC: @ 82788FC - .string "To use the BERRY CRUSH service,\n" - .string "you must have at least one BERRY.$" - -OldaleTown_PokemonCenter_2F_Text_27893E: @ 827893E - .string "To enter the UNION ROOM, you must\n" - .string "have at least two POKéMON.$" - -OldaleTown_PokemonCenter_2F_Text_27897B: @ 827897B - .string "No POKéMON holding the {STR_VAR_1}\n" - .string "BERRY may enter the UNION ROOM.$" - -OldaleTown_PokemonCenter_2F_Text_2789B5: @ 82789B5 - .string "This is the POKéMON WIRELESS CLUB\n" - .string "UNION ROOM.\p" - .string "Unfortunately, your Wireless\n" - .string "Adapter is not connected properly.\p" - .string "Please do come again.$" - -OldaleTown_PokemonCenter_2F_Text_278A39: @ 8278A39 - .string "Oh…\n" - .string "Excuse me!$" - -CableClub_Text_PlayerIsWaiting: @ 8278A48 - .string "It appears as if {STR_VAR_1} is playing\n" - .string "right now.\l" - .string "Go for it!$" - -MossdeepCity_GameCorner_1F_Text_278A7D: @ 8278A7D - .string "I can explain game rules to you,\n" - .string "if you'd like.\p" - .string "Which game should I describe?$" - -MossdeepCity_GameCorner_1F_Text_278ACB: @ 8278ACB - .string "“POKéMON JUMP”\p" - .string "Make your POKéMON skip the VINE WHIP\n" - .string "rope with the A Button.\p" - .string "Only mini POKéMON around 28 inches\n" - .string "or less may participate.\p" - .string "POKéMON that only swim, burrow,\n" - .string "or fly are not good at jumping.\p" - .string "As a result, those POKéMON may not\n" - .string "participate.\p" - .string "Good things happen if everyone\n" - .string "jumps in time.$" - -MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1 - .string "“DODRIO BERRY-PICKING”\p" - .string "Command DODRIO's three heads to\n" - .string "catch falling BERRIES.\p" - .string "Press right, up, or left on the\n" - .string "{PLUS} Control Pad to move the heads.\p" - .string "To play this game, you must have\n" - .string "a DODRIO.$" - -MossdeepCity_GameCorner_1F_Text_278CAC: @ 8278CAC - .string "If you want to play a game,\n" - .string "please tell the old man beside me.$" - -MossdeepCity_GameCorner_1F_Text_278CEB: @ 8278CEB - .string "Hi, welcome!\n" - .string "Are you here to play games using\l" - .string "Wireless Communication?\p" - .string "Can you wait just a little bit?$" - -MossdeepCity_GameCorner_1F_Text_278D51: @ 8278D51 - .string "All right, come again!$" - -MossdeepCity_GameCorner_1F_Text_278D68: @ 8278D68 - .string "The Wireless Adapter isn't connected.\n" - .string "Come back when it's hooked up!$" - -MossdeepCity_GameCorner_1F_Text_278DAD: @ 8278DAD - .string "All right, which game did you want\n" - .string "to play?$" - -MossdeepCity_GameCorner_1F_Text_278DD9: @ 8278DD9 - .string "Which POKéMON would you like to\n" - .string "enter?$" - -MossdeepCity_GameCorner_1F_Text_278E00: @ 8278E00 - .string "Okay, you're all good to go.\n" - .string "Don't let the others beat you!$" - -MossdeepCity_GameCorner_1F_Text_278E3C: @ 8278E3C - .string "Are you leaving now?\n" - .string "Do come again!$" - -MossdeepCity_GameCorner_1F_Text_278E60: @ 8278E60 - .string "It doesn't look like you have any\n" - .string "POKéMON that you can enter…\p" - .string "Would you like me to explain what\n" - .string "kinds of POKéMON can enter?$" - -MossdeepCity_GameCorner_1F_Text_278EDC: @ 8278EDC - .string "“POKéMON JUMP” is open to POKéMON\n" - .string "around 28 inches or less.\p" - .string "What you can't enter are those\n" - .string "POKéMON that can't jump.\p" - .string "You know, like POKéMON that only\n" - .string "swim, burrow, or fly.\p" - .string "That's all you need to know.$" - -MossdeepCity_GameCorner_1F_Text_278FA4: @ 8278FA4 - .string "DODRIO BERRY-PICKING is a game that \n" - .string "only DODRIO may enter.$" - -MossdeepCity_GameCorner_1F_Text_278FE0: @ 8278FE0 - .string "Could you retry this from the start\n" - .string "again, please?$" - -OldaleTown_PokemonCenter_2F_Text_279013: @ 8279013 - .string "Welcome to the POKéMON WIRELESS\n" - .string "CLUB DIRECT CORNER.\p" - .string "You may interact directly with\n" - .string "your friends here.\p" - .string "Which room would you like to\n" - .string "enter?$" - -OldaleTown_PokemonCenter_2F_Text_27909D: @ 827909D - .string "Would you like to trade POKéMON?$" - -OldaleTown_PokemonCenter_2F_Text_2790BE: @ 82790BE - .string "Which Battle Mode would you like\n" - .string "to play?$" - -OldaleTown_PokemonCenter_2F_Text_2790E8: @ 82790E8 - .string "Would you like to access\n" - .string "the RECORD CORNER?$" - -OldaleTown_PokemonCenter_2F_Text_279114: @ 8279114 - .string "Would you like to use the\n" - .string "BERRY CRUSH System?$" - -OldaleTown_PokemonCenter_2F_Text_279142: @ 8279142 - .string "There are three Battle Modes.\p" - .string "SINGLE BATTLE is for two TRAINERS\n" - .string "with one or more POKéMON each.\p" - .string "Each TRAINER can have one POKéMON\n" - .string "in battle at a time.\p" - .string "DOUBLE BATTLE is for two TRAINERS\n" - .string "with two or more POKéMON each.\p" - .string "Each TRAINER will send out two\n" - .string "POKéMON in battle at a time.\p" - .string "MULTI BATTLE is for four TRAINERS\n" - .string "with one or more POKéMON each.\p" - .string "Each TRAINER can have one POKéMON\n" - .string "in battle at a time.$" - -BattleFrontier_BattleTowerLobby_Text_2792CD: @ 82792CD -OldaleTown_PokemonCenter_2F_Text_2792CD: @ 82792CD - .string "Please decide which of you two\n" - .string "will become the LEADER.\p" - .string "The other player must then choose\n" - .string "“JOIN GROUP.”$" - -OldaleTown_PokemonCenter_2F_Text_279334: @ 8279334 - .string "Please decide which of you four\n" - .string "will become the GROUP LEADER.\p" - .string "The other players must then choose\n" - .string "“JOIN GROUP.”$" - -MossdeepCity_GameCorner_1F_Text_2793A3: @ 82793A3 -OldaleTown_PokemonCenter_2F_Text_2793A3: @ 82793A3 - .string "Please decide which of you will\n" - .string "become the GROUP LEADER.\p" - .string "The other players must then choose\n" - .string "“JOIN GROUP.”$" - -OldaleTown_PokemonCenter_2F_Text_27940D: @ 827940D - .string "Welcome to the POKéMON WIRELESS\n" - .string "CLUB UNION ROOM.\p" - .string "You may interact directly with\n" - .string "other TRAINERS here, some of\l" - .string "whom you may not even know.\p" - .string "Would you like to enter the ROOM?$" - -OldaleTown_PokemonCenter_2F_Text_2794B8: @ 82794B8 - .string "The TRAINERS in the UNION ROOM\n" - .string "will be those players around you\l" - .string "who have also entered the ROOM.\p" - .string "You may do all sorts of things\n" - .string "here, such as exchanging greetings.\p" - .string "You may enter two POKéMON up to\n" - .string "Lv. 30 for a one-on-one battle.\p" - .string "You may take part in a chat with\n" - .string "two to five people.\p" - .string "Or, you may register a POKéMON for\n" - .string "trade.\p" - .string "Would you like to enter the ROOM?$" - -OldaleTown_PokemonCenter_2F_Text_27961C: @ 827961C - .string "I hope you enjoy your time in\n" - .string "the UNION ROOM.$" - -OldaleTown_PokemonCenter_2F_Text_27964A: @ 827964A - .string "Hello!\n" - .string "My name is TEALA.\p" - .string "This must be your first time\n" - .string "up here.\p" - .string "I'll show you how the Wireless\n" - .string "Communication System works.\p" - .string "First, I need to show you this\n" - .string "floor of our POKéMON CENTER.\p" - .string "Right this way, please.$" - -OldaleTown_PokemonCenter_2F_Text_279718: @ 8279718 - .string "On the top floor, there are two\n" - .string "rooms.\p" - .string "First, the room on the left.\n" - .string "It's the UNION ROOM.\p" - .string "You may link up with TRAINERS\n" - .string "around you who have also entered\l" - .string "the UNION ROOM.\p" - .string "With them, you may do things like\n" - .string "chat, battle, and trade.\p" - .string "Second, the room on the right is\n" - .string "the DIRECT CORNER.\p" - .string "You may trade or battle POKéMON\n" - .string "with your friends in this room.\p" - .string "If the Wireless Adapter isn't\n" - .string "connected, you may still link up\l" - .string "using a GBA Game Link cable.\p" - .string "If that is the case, you must go\n" - .string "to the DIRECT CORNER.\p" - .string "I hope you enjoy the Wireless \n" - .string "Communication System.$" - -OldaleTown_PokemonCenter_2F_Text_279937: @ 8279937 - .string "Hello, {PLAYER}!\p" - .string "It's me, TEALA, the POKéMON\n" - .string "CENTER 2F attendant.\p" - .string "Is there something you needed to\n" - .string "ask me about linking?$" - -OldaleTown_PokemonCenter_2F_Text_2799AA: @ 82799AA - .string "Let me explain how the POKéMON\n" - .string "WIRELESS CLUB works.\p" - .string "On this, the top floor, there are\n" - .string "two rooms.\p" - .string "First, the room on the left.\n" - .string "It's the UNION ROOM.\p" - .string "You may link up with TRAINERS\n" - .string "around you who have also entered\l" - .string "the UNION ROOM.\p" - .string "With them, you may do things like\n" - .string "chat, battle, and trade.\p" - .string "Second, the room on the right is\n" - .string "the DIRECT CORNER.\p" - .string "You may trade or battle POKéMON\n" - .string "with your friends in this room.\p" - .string "Sometimes, you may not be able to\n" - .string "find your friends in the UNION ROOM\l" - .string "or the DIRECT CORNER.\p" - .string "In that case, please move closer\n" - .string "to your friends.\p" - .string "If the Wireless Adapter isn't\n" - .string "connected, you may still link up\l" - .string "using a GBA Game Link cable.\p" - .string "If that is the case, you must go\n" - .string "to the DIRECT CORNER.\p" - .string "I hope you enjoy the Wireless \n" - .string "Communication System.$" - -OldaleTown_PokemonCenter_2F_Text_279C91: @ 8279C91 - .string "I hope you enjoy the Wireless\n" - .string "Communication System.$" diff --git a/data/scripts/cave_hole.inc b/data/scripts/cave_hole.inc index 86689fdb0a..7f0dd5534e 100644 --- a/data/scripts/cave_hole.inc +++ b/data/scripts/cave_hole.inc @@ -1,23 +1,15 @@ -GraniteCave_B1F_MapScript2_2A8327: @ 82A8327 -MirageTower_2F_MapScript2_2A8327: @ 82A8327 -MirageTower_3F_MapScript2_2A8327: @ 82A8327 -MtPyre_2F_MapScript2_2A8327: @ 82A8327 -SkyPillar_2F_MapScript2_2A8327: @ 82A8327 -SkyPillar_4F_MapScript2_2A8327: @ 82A8327 +CaveHole_CheckFallDownHole: @ 82A8327 map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole .2byte 0 -GraniteCave_B1F_MapScript1_2A8331: @ 82A8331 -MirageTower_2F_MapScript1_2A8331: @ 82A8331 -MirageTower_3F_MapScript1_2A8331: @ 82A8331 -MtPyre_2F_MapScript1_2A8331: @ 82A8331 - copyvar VAR_ICE_STEP_COUNT, 0x1 +CaveHole_FixCrackedGround: @ 82A8331 + copyvar VAR_ICE_STEP_COUNT, 1 end EventScript_FallDownHole:: @ 82A8337 lockall delay 20 - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible waitmovement 0 playse SE_RU_HYUU delay 60 @@ -25,10 +17,10 @@ EventScript_FallDownHole:: @ 82A8337 waitstate end -gUnknown_082A8350:: @ 82A8350 +EventScript_FallDownHoleMtPyre:: @ 82A8350 lockall delay 20 - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible waitmovement 0 playse SE_RU_HYUU delay 60 @@ -36,6 +28,6 @@ gUnknown_082A8350:: @ 82A8350 waitstate end -GraniteCave_B1F_Movement_2A8369: @ 82A8369 +Movement_SetInvisible: @ 82A8369 set_invisible step_end diff --git a/data/scripts/elite_four.inc b/data/scripts/elite_four.inc index c6b8d55781..e7aada6988 100644 --- a/data/scripts/elite_four.inc +++ b/data/scripts/elite_four.inc @@ -1,9 +1,5 @@ -EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8 PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay32 waitmovement 0 playse SE_DOOR setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 @@ -21,11 +17,8 @@ PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8 special DrawWholeMapView return -EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA +PokemonLeague_EliteFour_EventScript_WalkInCloseDoor:: @ 8272475 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp6 waitmovement 0 playse SE_TRACK_DOOR setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 @@ -37,10 +30,8 @@ EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 special DrawWholeMapView return -EverGrandeCity_DrakesRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_GlaciasRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_PhoebesRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC +@ Essentially unused, only necessary when re-entering an Elite Four room after defeating the member, which isnt normally possible +PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom:: @ 82724BC setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0 setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 @@ -61,10 +52,7 @@ EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1 return -EverGrandeCity_DrakesRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_GlaciasRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_PhoebesRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_SidneysRoom_EventScript_27255F:: @ 827255F +PokemonLeague_EliteFour_EventScript_CloseDoor:: @ 827255F setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 71d4b725cc..bd98a36762 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -3,7 +3,7 @@ EventScript_CutTree:: @ 82906BB lockall goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut checkpartymove MOVE_CUT - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CheckTreeCantCut setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT @@ -62,7 +62,7 @@ EventScript_RockSmash:: @ 82907A6 lockall goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock checkpartymove MOVE_ROCK_SMASH - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantSmashRock setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT @@ -129,7 +129,7 @@ EventScript_StrengthBoulder:: @ 82908BA goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder checkpartymove MOVE_STRENGTH - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantStrength setfieldeffectargument 0, VAR_RESULT msgbox Text_WantToStrength, MSGBOX_YESNO @@ -190,7 +190,7 @@ Text_StrengthActivated: @ 8290A16 EventScript_UseWaterfall:: @ 8290A49 lockall checkpartymove MOVE_WATERFALL - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantWaterfall bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT @@ -225,7 +225,7 @@ Text_MonUsedWaterfall: @ 8290AFC EventScript_UseDive:: @ 8290B0F lockall checkpartymove MOVE_DIVE - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantDive bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT @@ -250,7 +250,7 @@ EventScript_EndDive:: @ 8290B58 EventScript_UseDiveUnderwater:: @ 8290B5A lockall checkpartymove MOVE_DIVE - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantSurface bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc index 9f8058e4ee..2ca9c7b060 100644 --- a/data/scripts/field_poison.inc +++ b/data/scripts/field_poison.inc @@ -1,51 +1,51 @@ -EventScript_Poison:: @ 82736BC +EventScript_FieldPoison:: @ 82736BC lockall - special ExecuteWhiteOut + special TryFieldPoisonWhiteOut waitstate - compare VAR_RESULT, 1 - goto_if_eq EventScript_2736D9 - compare VAR_RESULT, 2 - goto_if_eq EventScript_2736F8 + compare VAR_RESULT, FLDPSN_WHITEOUT + goto_if_eq EventScript_FieldWhiteOut + compare VAR_RESULT, FLDPSN_FRONTIER_WHITEOUT + goto_if_eq EventScript_FrontierFieldWhiteOut releaseall end -EventScript_2736D9:: @ 82736D9 +EventScript_FieldWhiteOut:: @ 82736D9 message gText_PlayerWhitedOut waitmessage waitbuttonpress - special sub_80B05B4 + special Script_FadeOutMapMusic waitstate fadescreen 1 - call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, EventScript_2736F4 - special sp0C8_whiteout_maybe + call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, EventScript_SetRespawnLavaridgePkmnCenter + special SetCB2WhiteOut waitstate end -EventScript_2736F4:: @ 82736F4 +EventScript_SetRespawnLavaridgePkmnCenter:: @ 82736F4 setrespawn HEAL_LOCATION_LAVARIDGE_TOWN return -EventScript_2736F8:: @ 82736F8 +EventScript_FrontierFieldWhiteOut:: @ 82736F8 message gText_PlayerWhitedOut waitmessage waitbuttonpress - setvar VAR_0x8004, 16 + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN special CallBattlePikeFunction compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 - setvar VAR_0x8004, 12 + goto_if_eq BattleFrontier_BattlePike_EventScript_Retire + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN special CallBattlePyramidFunction compare VAR_RESULT, 1 goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 compare VAR_RESULT, 2 goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 - setvar VAR_0x8004, TRAINER_HILL_FUNC_10 + setvar VAR_0x8004, TRAINER_HILL_FUNC_IS_IN special CallTrainerHillFunction compare VAR_RESULT, 1 - goto_if_eq TrainerHill_1F_EventScript_2C83C9 - special sub_80B05B4 + goto_if_eq TrainerHill_1F_EventScript_Lost + special Script_FadeOutMapMusic waitstate fadescreen 1 - special sp0C8_whiteout_maybe + special SetCB2WhiteOut waitstate end diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index be8277baa0..0f8d71f6b0 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -232,13 +232,13 @@ Route111_EventScript_28CF94:: @ 828CF94 Route111_EventScript_28CF9F:: @ 828CF9F applymovement VAR_0x8004, Route111_Movement_28D04F - applymovement VAR_0x8005, Common_Movement_WalkInPlaceUp + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return Route111_EventScript_28CFB1:: @ 828CFB1 applymovement VAR_0x8004, Route111_Movement_28D051 - applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/scripts/kecleon.inc b/data/scripts/kecleon.inc index c9aa665e37..ac0931fd81 100644 --- a/data/scripts/kecleon.inc +++ b/data/scripts/kecleon.inc @@ -1,74 +1,73 @@ -Route120_EventScript_2722DB:: @ 82722DB +Route120_EventScript_Kecleon1:: @ 82722DB lock faceplayer setvar VAR_0x8009, 1 - goto Route120_EventScript_272336 + goto EventScript_Kecleon end -Route120_EventScript_2722E8:: @ 82722E8 +Route120_EventScript_Kecleon2:: @ 82722E8 lock faceplayer setvar VAR_0x8009, 2 - goto Route120_EventScript_272336 + goto EventScript_Kecleon end -Route120_EventScript_2722F5:: @ 82722F5 +Route120_EventScript_Kecleon3:: @ 82722F5 lock faceplayer setvar VAR_0x8009, 3 - goto Route120_EventScript_272336 + goto EventScript_Kecleon end -Route120_EventScript_272302:: @ 8272302 +Route120_EventScript_Kecleon4:: @ 8272302 lock faceplayer setvar VAR_0x8009, 4 - goto Route120_EventScript_272336 + goto EventScript_Kecleon end -Route120_EventScript_27230F:: @ 827230F +Route120_EventScript_Kecleon5:: @ 827230F lock faceplayer setvar VAR_0x8009, 5 - goto Route120_EventScript_272336 + goto EventScript_Kecleon end -Route119_EventScript_27231C:: @ 827231C +Route119_EventScript_Kecleon1:: @ 827231C lock faceplayer setvar VAR_0x8009, 6 - goto Route119_EventScript_272336 + goto EventScript_Kecleon end -Route119_EventScript_272329:: @ 8272329 +Route119_EventScript_Kecleon2:: @ 8272329 lock faceplayer setvar VAR_0x8009, 7 - goto Route119_EventScript_272336 + goto EventScript_Kecleon end -Route119_EventScript_272336:: @ 8272336 -Route120_EventScript_272336:: @ 8272336 +EventScript_Kecleon:: @ 8272336 checkitem ITEM_DEVON_SCOPE, 1 compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_272350 - msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT + goto_if_eq EventScript_AskUseDevonScope + msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_DEFAULT release end -Route119_EventScript_272350:: @ 8272350 - msgbox Route119_Text_1F5D23, MSGBOX_YESNO +EventScript_AskUseDevonScope:: @ 8272350 + msgbox Kecleon_Text_WantToUseDevonScope, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_272365 + goto_if_eq EventScript_BattleKecleon release end -Route119_EventScript_272365:: @ 8272365 - msgbox Route119_Text_1F5D63, MSGBOX_DEFAULT +EventScript_BattleKecleon:: @ 8272365 + msgbox Kecleon_Text_UseDevonScopeMonAttacked, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - applymovement VAR_LAST_TALKED, Route119_Movement_2723C7 + applymovement VAR_LAST_TALKED, Movement_KecleonAppears waitmovement 0 waitse playmoncry SPECIES_KECLEON, 2 @@ -92,9 +91,7 @@ EventScript_RemoveKecleon:: @ 82723C1 goto Common_EventScript_RemoveStaticPokemon end -FortreeCity_Movement_2723C7: @ 82723C7 -Route119_Movement_2723C7: @ 82723C7 -Route120_Movement_2723C7: @ 82723C7 +Movement_KecleonAppears: @ 82723C7 set_visible delay_4 set_invisible diff --git a/data/scripts/mevent.inc b/data/scripts/mevent.inc index 29f9c47d58..88f44e0025 100644 --- a/data/scripts/mevent.inc +++ b/data/scripts/mevent.inc @@ -1,27 +1,26 @@ - EventScript_Questionnaire:: @ 827381B lockall - msgbox gText_FillOutQuestionnaire, MSGBOX_YESNO + msgbox Mevent_Text_FillOutQuestionnaire, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_2738FD + goto_if_eq Mevent_EventScript_Release setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE call Common_ShowEasyChatScreen lock faceplayer specialvar VAR_0x8008, GetMartEmployeeObjectEventId compare VAR_0x8004, 1 - goto_if_eq EventScript_27386D + goto_if_eq Mevent_EventScript_PlayerInputMysteryEventPhrase compare VAR_0x8004, 2 - goto_if_eq EventScript_2738B5 + goto_if_eq Mevent_EventScript_PlayerInputMysteryGiftPhrase compare VAR_RESULT, 0 - goto_if_eq EventScript_2738FD + goto_if_eq Mevent_EventScript_Release compare VAR_RESULT, 1 - goto_if_eq EventScript_2738FF + goto_if_eq Mevent_EventScript_QuestionnaireThankYou end -EventScript_27386D:: @ 827386D - goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF - goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, EventScript_2738FF +Mevent_EventScript_PlayerInputMysteryEventPhrase:: @ 827386D + goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou + goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, Mevent_EventScript_QuestionnaireThankYou applymovement VAR_0x8008, Common_Movement_FaceDown waitmovement 0 playse SE_PIN @@ -29,15 +28,15 @@ EventScript_27386D:: @ 827386D waitmovement 0 applymovement VAR_0x8008, Common_Movement_Delay48 waitmovement 0 - msgbox gUnknown_08273506, MSGBOX_DEFAULT + msgbox Mevent_Text_YouKnowThoseWordsEvent, MSGBOX_DEFAULT setflag FLAG_SYS_MYSTERY_EVENT_ENABLE - msgbox gUnknown_08273559, MSGBOX_DEFAULT + msgbox Mevent_Text_YouCanAccessMysteryEvent, MSGBOX_DEFAULT releaseall end -EventScript_2738B5:: @ 82738B5 - goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF - goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, EventScript_2738FF +Mevent_EventScript_PlayerInputMysteryGiftPhrase:: @ 82738B5 + goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou + goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, Mevent_EventScript_QuestionnaireThankYou applymovement VAR_0x8008, Common_Movement_FaceDown waitmovement 0 playse SE_PIN @@ -45,19 +44,19 @@ EventScript_2738B5:: @ 82738B5 waitmovement 0 applymovement VAR_0x8008, Common_Movement_Delay48 waitmovement 0 - msgbox gUnknown_08273446, MSGBOX_DEFAULT + msgbox Mevent_Text_YouKnowThoseWordsGift, MSGBOX_DEFAULT setflag FLAG_SYS_MYSTERY_GIFT_ENABLE - msgbox gUnknown_082734CC, MSGBOX_DEFAULT + msgbox Mevent_Text_YouCanAccessMysteryGift, MSGBOX_DEFAULT releaseall end -EventScript_2738FD:: @ 82738FD +Mevent_EventScript_Release:: @ 82738FD releaseall end -EventScript_2738FF:: @ 82738FF +Mevent_EventScript_QuestionnaireThankYou:: @ 82738FF applymovement VAR_0x8008, Common_Movement_FaceDown waitmovement 0 - msgbox gText_ThankYouForTakingQuestionnaire, MSGBOX_DEFAULT + msgbox Mevent_Text_QuestionnaireThankYou, MSGBOX_DEFAULT releaseall end diff --git a/data/scripts/move_tutors.inc b/data/scripts/move_tutors.inc index 8780b9994b..b6ba75e0da 100644 --- a/data/scripts/move_tutors.inc +++ b/data/scripts/move_tutors.inc @@ -1,309 +1,300 @@ -SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 +SlateportCity_PokemonFanClub_EventScript_SwaggerTutor:: @ 82C7F16 lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, SlateportCity_PokemonFanClub_EventScript_2C7F74 - msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, MoveTutor_EventScript_SwaggerTaught + msgbox MoveTutor_Text_SwaggerTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - call SlateportCity_PokemonFanClub_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_SwaggerDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT - setvar VAR_0x8005, 23 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_SwaggerDeclined + msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SWAGGER + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + goto_if_eq MoveTutor_EventScript_SwaggerDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER - goto SlateportCity_PokemonFanClub_EventScript_2C7F74 + goto MoveTutor_EventScript_SwaggerTaught end -SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A - msgbox SlateportCity_PokemonFanClub_Text_2C6F33, MSGBOX_DEFAULT +MoveTutor_EventScript_SwaggerDeclined:: @ 82C7F6A + msgbox MoveTutor_Text_SwaggerDeclined, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74 - msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, MSGBOX_DEFAULT +MoveTutor_EventScript_SwaggerTaught:: @ 82C7F74 + msgbox MoveTutor_Text_SwaggerTaught, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E +MauvilleCity_EventScript_RolloutTutor:: @ 82C7F7E lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MauvilleCity_EventScript_2C7FDC - msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MoveTutor_EventScript_RolloutTaught + msgbox MoveTutor_Text_RolloutTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 - call MauvilleCity_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_RolloutDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 - msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT - setvar VAR_0x8005, 16 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_RolloutDeclined + msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 + goto_if_eq MoveTutor_EventScript_RolloutDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT - goto MauvilleCity_EventScript_2C7FDC + goto MoveTutor_EventScript_RolloutTaught end -MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2 - msgbox MauvilleCity_Text_2C70C4, MSGBOX_DEFAULT +MoveTutor_EventScript_RolloutDeclined:: @ 82C7FD2 + msgbox MoveTutor_Text_RolloutDeclined, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC - msgbox MauvilleCity_Text_2C7133, MSGBOX_DEFAULT +MoveTutor_EventScript_RolloutTaught:: @ 82C7FDC + msgbox MoveTutor_Text_RolloutTaught, MSGBOX_DEFAULT release end -VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 +VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor:: @ 82C7FE6 lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, MoveTutor_EventScript_FuryCutterTaught + msgbox MoveTutor_Text_FuryCutterTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT - setvar VAR_0x8005, 29 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined + msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER - goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 + goto MoveTutor_EventScript_FuryCutterTaught end -VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, MSGBOX_DEFAULT +MoveTutor_EventScript_FuryCutterDeclined:: @ 82C803A + msgbox MoveTutor_Text_FuryCutterDeclined, MSGBOX_DEFAULT release end -VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044 - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, MSGBOX_DEFAULT +MoveTutor_EventScript_FuryCutterTaught:: @ 82C8044 + msgbox MoveTutor_Text_FuryCutterTaught, MSGBOX_DEFAULT release end -LavaridgeTown_House_EventScript_2C804E:: @ 82C804E +LavaridgeTown_House_EventScript_MimicTutor:: @ 82C804E lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, LavaridgeTown_House_EventScript_2C80AC - msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, MoveTutor_EventScript_MimicTaught + msgbox MoveTutor_MimicTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - call LavaridgeTown_House_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_MimicDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT - setvar VAR_0x8005, 7 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_MimicDeclined + msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_MIMIC + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 + goto_if_eq MoveTutor_EventScript_MimicDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC - goto LavaridgeTown_House_EventScript_2C80AC + goto MoveTutor_EventScript_MimicTaught end -LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2 - msgbox LavaridgeTown_House_Text_2C737F, MSGBOX_DEFAULT +MoveTutor_EventScript_MimicDeclined:: @ 82C80A2 + msgbox MoveTutor_MimicDeclined, MSGBOX_DEFAULT release end -LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC - msgbox LavaridgeTown_House_Text_2C73F6, MSGBOX_DEFAULT +MoveTutor_EventScript_MimicTaught:: @ 82C80AC + msgbox MoveTutor_Text_MimicTaught, MSGBOX_DEFAULT release end -FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 +FallarborTown_Mart_EventScript_MetronomeTutor:: @ 82C80B6 lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, FallarborTown_Mart_EventScript_2C8114 - msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, MoveTutor_EventScript_MetronomeTaught + msgbox MoveTutor_Text_MetronomeTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A - call FallarborTown_Mart_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_MetronomeDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A - msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT - setvar VAR_0x8005, 8 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_MetronomeDeclined + msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_METRONOME + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A + goto_if_eq MoveTutor_EventScript_MetronomeDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME - goto FallarborTown_Mart_EventScript_2C8114 + goto MoveTutor_EventScript_MetronomeTaught end -FallarborTown_Mart_EventScript_2C810A:: @ 82C810A - msgbox FallarborTown_Mart_Text_2C7556, MSGBOX_DEFAULT +MoveTutor_EventScript_MetronomeDeclined:: @ 82C810A + msgbox MoveTutor_Text_MetronomeDeclined, MSGBOX_DEFAULT release end -FallarborTown_Mart_EventScript_2C8114:: @ 82C8114 - msgbox FallarborTown_Mart_Text_2C75B5, MSGBOX_DEFAULT +MoveTutor_EventScript_MetronomeTaught:: @ 82C8114 + msgbox MoveTutor_Text_MetronomeTaught, MSGBOX_DEFAULT release end -FortreeCity_House2_EventScript_2C811E:: @ 82C811E +FortreeCity_House2_EventScript_SleepTalkTutor:: @ 82C811E lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, FortreeCity_House2_EventScript_2C817C - msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, MoveTutor_EventScript_SleepTalkTaught + msgbox MoveTutor_Text_SleepTalkTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 - call FortreeCity_House2_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 - msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT - setvar VAR_0x8005, 24 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined + msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK - goto FortreeCity_House2_EventScript_2C817C + goto MoveTutor_EventScript_SleepTalkTaught end -FortreeCity_House2_EventScript_2C8172:: @ 82C8172 - msgbox FortreeCity_House2_Text_2C76E2, MSGBOX_DEFAULT +MoveTutor_EventScript_SleepTalkDeclined:: @ 82C8172 + msgbox MoveTutor_Text_SleepTalkDeclined, MSGBOX_DEFAULT release end -FortreeCity_House2_EventScript_2C817C:: @ 82C817C - msgbox FortreeCity_House2_Text_2C775A, MSGBOX_DEFAULT +MoveTutor_EventScript_SleepTalkTaught:: @ 82C817C + msgbox MoveTutor_Text_SleepTalkTaught, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 +LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor:: @ 82C8186 lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, MoveTutor_EventScript_SubstituteTaught + msgbox MoveTutor_Text_SubstituteTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_SubstituteDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT - setvar VAR_0x8005, 14 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_SubstituteDeclined + msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + goto_if_eq MoveTutor_EventScript_SubstituteDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE - goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 + goto MoveTutor_EventScript_SubstituteTaught end -LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, MSGBOX_DEFAULT +MoveTutor_EventScript_SubstituteDeclined:: @ 82C81DA + msgbox MoveTutor_Text_SubstituteDeclined, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, MSGBOX_DEFAULT +MoveTutor_EventScript_SubstituteTaught:: @ 82C81E4 + msgbox MoveTutor_Text_SubstituteTaught, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_2C81EE:: @ 82C81EE +MossdeepCity_EventScript_DynamicPunchTutor:: @ 82C81EE lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MossdeepCity_EventScript_2C824C - msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MoveTutor_EventScript_DynamicPunchTaught + msgbox MoveTutor_Text_DynamicPunchTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 - call MossdeepCity_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 - msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT - setvar VAR_0x8005, 15 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined + msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH - goto MossdeepCity_EventScript_2C824C + goto MoveTutor_EventScript_DynamicPunchTaught end -MossdeepCity_EventScript_2C8242:: @ 82C8242 - msgbox MossdeepCity_Text_2C7AD4, MSGBOX_DEFAULT +MoveTutor_EventScript_DynamicPunchDeclined:: @ 82C8242 + msgbox MoveTutor_Text_DynamicPunchDeclined, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_2C824C:: @ 82C824C - msgbox MossdeepCity_Text_2C7B4F, MSGBOX_DEFAULT +MoveTutor_EventScript_DynamicPunchTaught:: @ 82C824C + msgbox MoveTutor_Text_DynamicPunchTaught, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 +SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor:: @ 82C8256 lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, MoveTutor_EventScript_DoubleEdgeTaught + msgbox MoveTutor_Text_DoubleEdgeTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - call SootopolisCity_PokemonCenter_1F_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT - setvar VAR_0x8005, 4 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined + msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE - goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 + goto MoveTutor_EventScript_DoubleEdgeTaught end -SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, MSGBOX_DEFAULT +MoveTutor_EventScript_DoubleEdgeDeclined:: @ 82C82AA + msgbox MoveTutor_Text_DoubleEdgeDeclined, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4 - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, MSGBOX_DEFAULT +MoveTutor_EventScript_DoubleEdgeTaught:: @ 82C82B4 + msgbox MoveTutor_Text_DoubleEdgeTaught, MSGBOX_DEFAULT release end -PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE +PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor:: @ 82C82BE lock faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, MoveTutor_EventScript_ExplosionTaught + msgbox MoveTutor_Text_ExplosionTeach, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D + goto_if_eq MoveTutor_EventScript_ExplosionDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT - setvar VAR_0x8005, 12 - call EventScript_ShowPartyMenu + goto_if_eq MoveTutor_EventScript_ExplosionDeclined + msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION + call MoveTutor_EventScript_OpenPartyMenu compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + goto_if_eq MoveTutor_EventScript_ExplosionDeclined setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION - goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C + goto MoveTutor_EventScript_ExplosionTaught end -PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312 - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, MSGBOX_DEFAULT +MoveTutor_EventScript_ExplosionDeclined:: @ 82C8312 + msgbox MoveTutor_Text_ExplosionDeclined, MSGBOX_DEFAULT release end -PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, MSGBOX_DEFAULT +MoveTutor_EventScript_ExplosionTaught:: @ 82C831C + msgbox MoveTutor_Text_ExplosionTaught, MSGBOX_DEFAULT release end -EventScript_ShowPartyMenu:: @ 82C8326 - special sub_81B892C +MoveTutor_EventScript_OpenPartyMenu:: @ 82C8326 + special OpenPartyMenuForMoveTutor waitstate lock faceplayer return -FallarborTown_Mart_EventScript_2C832D:: @ 82C832D -FortreeCity_House2_EventScript_2C832D:: @ 82C832D -LavaridgeTown_House_EventScript_2C832D:: @ 82C832D -LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D:: @ 82C832D -MauvilleCity_EventScript_2C832D:: @ 82C832D -MossdeepCity_EventScript_2C832D:: @ 82C832D -PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D -SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D -SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D -VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D - msgbox MauvilleCity_Text_2C6E05, MSGBOX_YESNO +MoveTutor_EventScript_CanOnlyBeLearnedOnce:: @ 82C832D + msgbox MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce, MSGBOX_YESNO return diff --git a/data/scripts/movement.inc b/data/scripts/movement.inc index b7abceae4f..3dd1a81442 100644 --- a/data/scripts/movement.inc +++ b/data/scripts/movement.inc @@ -1,4 +1,4 @@ -SlateportCity_Movement_272596: @ 8272596 +Common_Movement_QuestionMark: @ 8272596 emote_question_mark step_end @@ -24,27 +24,27 @@ Common_Movement_FaceOriginalDirection: @ 82725A2 face_original_direction step_end -Common_Movement_WalkInPlaceLeft: @ 82725A4 +Common_Movement_WalkInPlaceFastestLeft: @ 82725A4 walk_in_place_fastest_left step_end -Common_Movement_WalkInPlaceUp: @ 82725A6 +Common_Movement_WalkInPlaceFastestUp: @ 82725A6 walk_in_place_fastest_up step_end -Common_Movement_WalkInPlaceRight: @ 82725A8 +Common_Movement_WalkInPlaceFastestRight: @ 82725A8 walk_in_place_fastest_right step_end -Common_Movement_WalkInPlaceDown: @ 82725AA +Common_Movement_WalkInPlaceFastestDown: @ 82725AA walk_in_place_fastest_down step_end -RustboroCity_Movement_2725AC: @ 82725AC +Common_Movement_FaceRight: @ 82725AC face_right step_end -RustboroCity_Movement_2725AE: @ 82725AE +Common_Movement_FaceLeft: @ 82725AE face_left step_end @@ -56,21 +56,19 @@ Common_Movement_FaceUp: @ 82725B2 face_up step_end -BattleFrontier_BattleDomeBattleRoom_Movement_2725B4: @ 82725B4 -MeteorFalls_1F_1R_Movement_2725B4: @ 82725B4 +Common_Movement_WalkInPlaceDown: @ 82725B4 walk_in_place_down step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6: @ 82725B6 -BattleFrontier_BattleTowerBattleRoom_Movement_2725B6: @ 82725B6 +Common_Movement_WalkInPlaceLeft: @ 82725B6 walk_in_place_left step_end -Route121_Movement_2725B8: @ 82725B8 +Common_Movement_WalkInPlaceRight: @ 82725B8 walk_in_place_right step_end -EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA +Common_Movement_WalkUp6: @ 82725BA walk_up walk_up walk_up @@ -79,23 +77,24 @@ EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA walk_up step_end -EverGrandeCity_ChampionsRoom_Movement_2725C1: @ 82725C1 +Common_Movement_WalkUp4: @ 82725C1 walk_up walk_up walk_up walk_up step_end -EverGrandeCity_SidneysRoom_Movement_2725C6: @ 82725C6 +Common_Movement_Delay32: @ 82725C6 delay_16 delay_16 step_end -Route110_TrickHouseEntrance_Movement_2725C9: @ 82725C9 +Common_Movement_WalkUp: @ 82725C9 walk_up step_end -Movement_2725CB:: @ 82725CB +@ Unused +Common_Movement_WalkUp2:: @ 82725CB walk_up walk_up step_end diff --git a/data/scripts/pc.inc b/data/scripts/pc.inc index d5e51e4129..b3602ee6f5 100644 --- a/data/scripts/pc.inc +++ b/data/scripts/pc.inc @@ -4,63 +4,63 @@ EventScript_PC:: @ 8271D92 special DoPCTurnOnEffect playse SE_PC_ON msgbox Text_BootUpPC, MSGBOX_DEFAULT - goto EventScript_271DAC + goto EventScript_PCMainMenu end -EventScript_271DAC:: @ 8271DAC +EventScript_PCMainMenu:: @ 8271DAC message gText_WhichPCShouldBeAccessed waitmessage special ScriptMenu_CreatePCMultichoice waitstate - goto EventScript_271DBC + goto EventScript_AccessPC end -EventScript_271DBC:: @ 8271DBC +EventScript_AccessPC:: @ 8271DBC switch VAR_RESULT - case 0, EventScript_271E0E - case 1, EventScript_271DF9 - case 2, EventScript_271E54 - case 3, EventScript_271E47 - case MULTI_B_PRESSED, EventScript_271E47 + case 0, EventScript_AccessPokemonStorage + case 1, EventScript_AccessPlayersPC + case 2, EventScript_AccessHallOfFame + case 3, EventScript_TurnOffPC + case MULTI_B_PRESSED, EventScript_TurnOffPC end -EventScript_271DF9:: @ 8271DF9 +EventScript_AccessPlayersPC:: @ 8271DF9 playse SE_PC_LOGIN msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT special PlayerPC waitstate - goto EventScript_271DAC + goto EventScript_PCMainMenu end -EventScript_271E0E:: @ 8271E0E +EventScript_AccessPokemonStorage:: @ 8271E0E playse SE_PC_LOGIN - call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35 - call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_AccessSomeonesPC + call_if_set FLAG_SYS_PC_LANETTE, EventScript_AccessLanettesPC msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT special ShowPokemonStorageSystemPC waitstate - goto EventScript_271DAC + goto EventScript_PCMainMenu end -EventScript_271E35:: @ 8271E35 +EventScript_AccessSomeonesPC:: @ 8271E35 msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT return -EventScript_271E3E:: @ 8271E3E +EventScript_AccessLanettesPC:: @ 8271E3E msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT return -EventScript_271E47:: @ 8271E47 +EventScript_TurnOffPC:: @ 8271E47 setvar VAR_0x8004, 0 playse SE_PC_OFF special DoPCTurnOffEffect releaseall end -EventScript_271E54:: @ 8271E54 - goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_271E47 +EventScript_AccessHallOfFame:: @ 8271E54 + goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_TurnOffPC playse SE_PC_LOGIN special AccessHallOfFamePC waitstate - goto EventScript_271DBC + goto EventScript_AccessPC end diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc index bfeba79e3b..0d4be2c0db 100644 --- a/data/scripts/pkmn_center_nurse.inc +++ b/data/scripts/pkmn_center_nurse.inc @@ -38,11 +38,11 @@ EventScript_PkmnCenterNurse_IllTakeYourPkmn2:: @ 827198D return EventScript_PkmnCenterNurse_TakeAndHealPkmn:: @ 8271993 - applymovement VAR_0x800B, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 dofieldeffect FLDEFF_POKECENTER_HEAL waitfieldeffect FLDEFF_POKECENTER_HEAL - applymovement VAR_0x800B, Common_Movement_WalkInPlaceDown + applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestDown waitmovement 0 special HealPlayerParty return diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 741b7f41e2..f88d3af6c0 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -16,18 +16,18 @@ LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704 closemessage setvar VAR_LITTLEROOT_INTRO_STATE, 4 applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return @@ -39,7 +39,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765 LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0 waitmovement 0 releaseall @@ -82,7 +82,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -95,7 +95,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -154,7 +154,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292866:: @ 8292866 end LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D - applymovement VAR_0x8005, Common_Movement_WalkInPlaceRight + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestRight waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29294B applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0 @@ -167,7 +167,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6 waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -179,7 +179,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D end LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC - applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29294B applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8 @@ -192,7 +192,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -216,7 +216,7 @@ LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT fadedefaultbgm @@ -586,28 +586,28 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13 LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7 waitmovement 0 - applymovement VAR_0x800A, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE waitmovement 0 - applymovement VAR_0x800A, Common_Movement_WalkInPlaceRight + applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return @@ -624,14 +624,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 10ced77c4c..9590f31401 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -667,13 +667,13 @@ EventScript_PblocLink_NoPokeblock: @ 829416C EventScript_PblocLink_SomeoneNotReady: @ 8294176 special CloseLink - msgbox LilycoveCity_ContestLobby_Text_2781C7, MSGBOX_DEFAULT + msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT releaseall end EventScript_PblocLink_DifferentSelections: @ 8294183 special CloseLink - msgbox LilycoveCity_ContestLobby_Text_278255, MSGBOX_DEFAULT + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT releaseall end @@ -685,7 +685,7 @@ EventScript_PblocLink_CloseLink: @ 8294190 EventScript_PblocLink_LinkError: @ 829419D special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT releaseall end @@ -745,12 +745,12 @@ EventScript_PblocLink_TryJoinGroup: @ 829425D end EventScript_PblocLink_BecomeLeader: @ 8294285 - special BerryBlenderLinkBecomeLeader + special TryBecomeLinkLeader waitstate return EventScript_PblocLink_JoinGroup: @ 829428A - special BerryBlenderLinkJoinGroup + special TryJoinLinkGroup waitstate return diff --git a/data/scripts/prof_birch.inc b/data/scripts/prof_birch.inc index 249f45376d..50284d5900 100644 --- a/data/scripts/prof_birch.inc +++ b/data/scripts/prof_birch.inc @@ -1,94 +1,89 @@ -LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD -Route101_EventScript_2720AD:: @ 82720AD -Route103_EventScript_2720AD:: @ 82720AD +ProfBirch_EventScript_UpdateLocation:: @ 82720AD compare VAR_PETALBURG_GYM_STATE, 0 goto_if_eq Common_EventScript_NopReturn - goto_if_set FLAG_SYS_GAME_CLEAR, Route101_EventScript_27211A + goto_if_set FLAG_SYS_GAME_CLEAR, ProfBirch_EventScript_MoveToLab compare VAR_BIRCH_STATE, 0 - call_if_eq Route101_EventScript_27211A + call_if_eq ProfBirch_EventScript_MoveToLab compare VAR_BIRCH_STATE, 1 - call_if_eq Route101_EventScript_27211A + call_if_eq ProfBirch_EventScript_MoveToLab compare VAR_BIRCH_STATE, 2 - call_if_eq Route101_EventScript_272127 + call_if_eq ProfBirch_EventScript_MoveToRoute101 compare VAR_BIRCH_STATE, 3 - call_if_eq Route101_EventScript_272127 + call_if_eq ProfBirch_EventScript_MoveToRoute101 compare VAR_BIRCH_STATE, 4 - call_if_eq Route101_EventScript_272134 + call_if_eq ProfBirch_EventScript_MoveToRoute103 compare VAR_BIRCH_STATE, 5 - call_if_eq Route101_EventScript_272134 + call_if_eq ProfBirch_EventScript_MoveToRoute103 compare VAR_BIRCH_STATE, 6 - call_if_eq Route101_EventScript_27211A + call_if_eq ProfBirch_EventScript_MoveToLab compare VAR_BIRCH_STATE, 7 - call_if_eq Route101_EventScript_27211A + call_if_eq ProfBirch_EventScript_MoveToLab return -Route101_EventScript_27211A:: @ 827211A +ProfBirch_EventScript_MoveToLab:: @ 827211A clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 setflag FLAG_HIDE_ROUTE_101_BIRCH setflag FLAG_HIDE_ROUTE_103_BIRCH return -Route101_EventScript_272127:: @ 8272127 +ProfBirch_EventScript_MoveToRoute101:: @ 8272127 clearflag FLAG_HIDE_ROUTE_101_BIRCH setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 setflag FLAG_HIDE_ROUTE_103_BIRCH return -Route101_EventScript_272134:: @ 8272134 +ProfBirch_EventScript_MoveToRoute103:: @ 8272134 clearflag FLAG_HIDE_ROUTE_103_BIRCH setflag FLAG_HIDE_ROUTE_101_BIRCH setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 return -LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141 -Route101_EventScript_272141:: @ 8272141 -Route103_EventScript_272141:: @ 8272141 +ProfBirch_EventScript_RatePokedexOrRegister:: @ 8272141 lock faceplayer - goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155 - goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, Route101_EventScript_1FA2D2 + goto_if_unset FLAG_HAS_MATCH_CALL, ProfBirch_EventScript_AskRatePokedex + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch -Route101_EventScript_272155:: @ 8272155 +ProfBirch_EventScript_AskRatePokedex:: @ 8272155 msgbox gBirchDexRatingText_AreYouCurious, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route101_EventScript_27216F - call Route101_EventScript_272184 + goto_if_eq ProfBirch_EventScript_DeclineRating + call ProfBirch_EventScript_RatePokedex release end -Route101_EventScript_27216F:: @ 827216F +ProfBirch_EventScript_DeclineRating:: @ 827216F msgbox gBirchDexRatingText_Cancel, MSGBOX_DEFAULT release end -Route101_EventScript_272179:: @ 8272179 +ProfBirch_EventScript_ShowRatingMessage:: @ 8272179 copyvar VAR_0x8004, VAR_0x8009 special ShowPokedexRatingMessage waitmessage waitbuttonpress return -EverGrandeCity_ChampionsRoom_EventScript_272184:: @ 8272184 -Route101_EventScript_272184:: @ 8272184 +ProfBirch_EventScript_RatePokedex:: @ 8272184 setvar VAR_0x8004, 0 specialvar VAR_RESULT, ScriptGetPokedexInfo copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 copyvar VAR_0x800A, VAR_RESULT - buffernumberstring 0, VAR_0x8008 - buffernumberstring 1, VAR_0x8009 + buffernumberstring 0, VAR_0x8008 @ Num Hoenn seen + buffernumberstring 1, VAR_0x8009 @ Num Hoenn caught msgbox gBirchDexRatingText_SoYouveSeenAndCaught, MSGBOX_DEFAULT - call Route101_EventScript_272179 + call ProfBirch_EventScript_ShowRatingMessage compare VAR_0x800A, 0 - goto_if_eq Common_EventScript_NopReturn + goto_if_eq Common_EventScript_NopReturn @ National dex not enabled setvar VAR_0x8004, 1 specialvar VAR_RESULT, ScriptGetPokedexInfo copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 - buffernumberstring 0, VAR_0x8008 - buffernumberstring 1, VAR_0x8009 + buffernumberstring 0, VAR_0x8008 @ Num National seen + buffernumberstring 1, VAR_0x8009 @ Num National caught msgbox gBirchDexRatingText_OnANationwideBasis, MSGBOX_DEFAULT return diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc index 1dda5e17b5..7910690888 100644 --- a/data/scripts/roulette.inc +++ b/data/scripts/roulette.inc @@ -1,70 +1,71 @@ -MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1 +Roulette_EventScript_Table1:: @ 82A5AB1 checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 0 - getpricereduction 2 + getpricereduction POKENEWS_GAME_CORNER compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D + goto_if_eq Roulette_EventScript_Play addvar VAR_0x8004, 128 - goto MauvilleCity_GameCorner_EventScript_2A5B0D + goto Roulette_EventScript_Play end -MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF +Roulette_EventScript_Table2:: @ 82A5ADF checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 1 - getpricereduction 2 + getpricereduction POKENEWS_GAME_CORNER compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D + goto_if_eq Roulette_EventScript_Play addvar VAR_0x8004, 128 - goto MauvilleCity_GameCorner_EventScript_2A5B0D + goto Roulette_EventScript_Play end -MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D +Roulette_EventScript_Play:: @ 82A5B0D special PlayRoulette waitstate end -gUnknown_082A5B12:: @ 82A5B12 +Roulette_Text_PlayMinimumWagerIsX:: @ 82A5B12 .string "The minimum wager at this table\n" .string "is {STR_VAR_1}. Do you want to play?$" -gUnknown_082A5B4E:: @ 82A5B4E +Roulette_Text_NotEnoughCoins:: @ 82A5B4E .string "You don't have enough COINS.$" -gUnknown_082A5B6B:: @ 82A5B6B +Roulette_Text_SpecialRateTable:: @ 82A5B6B .string "Special rate table right now!$" -gUnknown_082A5B89:: @ 82A5B89 +Roulette_Text_ControlsInstruction:: @ 82A5B89 .string "Place your wager with the + Control\n" .string "Pad, then press the A Button.$" -gUnknown_082A5BCB:: @ 82A5BCB +Roulette_Text_ItsAHit:: @ 82A5BCB .string "It's a hit!$" -gUnknown_082A5BD7:: @ 82A5BD7 +Roulette_Text_Jackpot:: @ 82A5BD7 .string "Jackpot!$" -gUnknown_082A5BE0:: @ 82A5BE0 +Roulette_Text_NothingDoing:: @ 82A5BE0 .string "Nothing doing!$" -gUnknown_082A5BEF:: @ 82A5BEF +Roulette_Text_YouveWonXCoins:: @ 82A5BEF .string "You've won {STR_VAR_1} COINS!$" -gUnknown_082A5C04:: @ 82A5C04 +Roulette_Text_NoCoinsLeft:: @ 82A5C04 .string "No COINS left…$" -gUnknown_082A5C13:: @ 82A5C13 +Roulette_Text_KeepPlaying:: @ 82A5C13 .string "Keep playing?$" -gUnknown_082A5C21:: @ 82A5C21 +Roulette_Text_BoardWillBeCleared:: @ 82A5C21 .string "The ROULETTE board will be cleared.$" -gUnknown_082A5C45:: @ 82A5C45 +@ Unused +Roulette_Text_YouDontHaveACoinCase:: @ 82A5C45 .string "You don't have a COIN CASE.$" -gUnknown_082A5C61:: @ 82A5C61 +Roulette_Text_CoinCaseIsFull:: @ 82A5C61 .string "Your COIN CASE is full!\n" .string "Coins can be exchanged for prizes.$" diff --git a/data/scripts/shared_secret_base.inc b/data/scripts/shared_secret_base.inc index 933835a735..3f83e38b05 100644 --- a/data/scripts/shared_secret_base.inc +++ b/data/scripts/shared_secret_base.inc @@ -20,7 +20,7 @@ SecretBase_MapScript2_OnFrame: @ 823B4AE .2byte 0 SecretBase_MapScript1_OnResume: @ 823B4B8 - setstepcallback 6 + setstepcallback STEP_CB_SECRET_BASE end SecretBase_EventScript_PC:: @ 823B4BB diff --git a/data/scripts/trainer_hill.inc b/data/scripts/trainer_hill.inc index 5b43118d19..7d898a93dd 100644 --- a/data/scripts/trainer_hill.inc +++ b/data/scripts/trainer_hill.inc @@ -10,11 +10,11 @@ TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 setvar VAR_0x8005, 5 special CallFrontierUtilFunc compare VAR_RESULT, B_OUTCOME_LOST - goto_if_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_Lost compare VAR_RESULT, B_OUTCOME_DREW - goto_if_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_Lost compare VAR_RESULT, B_OUTCOME_FORFEITED - goto_if_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_Lost end TrainerHill_1F_MapScript2_2C8372: @ 82C8372 @@ -56,7 +56,7 @@ TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF waitstate end -TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9 +TrainerHill_1F_EventScript_Lost:: @ 82C83C9 setvar VAR_0x8004, TRAINER_HILL_FUNC_12 special CallTrainerHillFunction setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST diff --git a/data/scripts/unusual_weather.inc b/data/scripts/unusual_weather.inc index e9eae89c27..ad6985ac8a 100644 --- a/data/scripts/unusual_weather.inc +++ b/data/scripts/unusual_weather.inc @@ -158,14 +158,7 @@ UnusualWeather_EventScript_PlaceTilesRoute129East:: @ 8273CA6 setmetatile 43, 22, METATILE_General_RoughWater, 0 return -Route105_EventScript_273D13:: @ 8273D13 -Route114_EventScript_273D13:: @ 8273D13 -Route115_EventScript_273D13:: @ 8273D13 -Route116_EventScript_273D13:: @ 8273D13 -Route118_EventScript_273D13:: @ 8273D13 -Route125_EventScript_273D13:: @ 8273D13 -Route127_EventScript_273D13:: @ 8273D13 -Route129_EventScript_273D13:: @ 8273D13 +UnusualWeather_EventScript_HideMapNamePopup:: @ 8273D13 setflag FLAG_HIDE_MAP_NAME_POPUP return diff --git a/data/specials.inc b/data/specials.inc index 6a328ca9ea..fe5d4bf0bc 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -11,7 +11,7 @@ gSpecials:: @ 81DBA64 def_special HealPlayerParty def_special SetCableClubWarp def_special sub_80AF948 - def_special sub_80AF9F8 + def_special ReturnFromLinkRoom def_special CleanupLinkRoomState def_special ExitLinkRoom def_special SetPlayerSecretBase @@ -36,8 +36,8 @@ gSpecials:: @ 81DBA64 def_special SetBattledOwnerFromResult def_special DoSecretBasePCTurnOffEffect def_special RecordMixingPlayerSpotTriggered - def_special sub_80B2DA4 - def_special sub_80B2E4C + def_special TryBattleLinkup + def_special TryTradeLinkup def_special sub_80B2E74 def_special sub_80B2EA8 def_special CloseLink @@ -51,7 +51,7 @@ gSpecials:: @ 81DBA64 def_special SavePlayerParty def_special LoadPlayerParty def_special ChooseHalfPartyForBattle - def_special sp02A_crash_sound + def_special Script_ShowLinkTrainerCard def_special EventObjectInteractionGetBerryTreeData def_special EventObjectInteractionGetBerryName def_special EventObjectInteractionGetBerryCountString @@ -150,14 +150,14 @@ gSpecials:: @ 81DBA64 def_special sub_80F8864 def_special CountPlayerContestPaintings def_special ShowContestWinner - def_special MauvilleGymSpecial2 - def_special MauvilleGymSpecial1 + def_special MauvilleGymSetDefaultBarriers + def_special MauvilleGymPressSwitch def_special ShowFieldMessageStringVar4 def_special DrawWholeMapView def_special StorePlayerCoordsInVars - def_special MauvilleGymSpecial3 - def_special PetalburgGymSpecial1 - def_special PetalburgGymSpecial2 + def_special MauvilleGymDeactivatePuzzle + def_special PetalburgGymSlideOpenRoomDoors + def_special PetalburgGymUnlockRoomDoors def_special GetPlayerTrainerIdOnesDigit def_special GetPlayerBigGuyGirlString def_special GetRivalSonDaughterString @@ -210,8 +210,8 @@ gSpecials:: @ 81DBA64 def_special ShowLinkBattleRecords def_special IsEnoughForCostInVar0x8005 def_special SubtractMoneyFromVar0x8005 - def_special ExecuteWhiteOut - def_special sp0C8_whiteout_maybe + def_special TryFieldPoisonWhiteOut + def_special SetCB2WhiteOut def_special RotatingGate_InitPuzzle def_special RotatingGate_InitPuzzleAndGraphics def_special SetSSTidalFlag @@ -305,8 +305,8 @@ gSpecials:: @ 81DBA64 def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon def_special Special_AreLeadMonEVsMaxedOut - def_special sub_8098574 - def_special sub_809859C + def_special Script_FacePlayer + def_special Script_ClearHeldMovement def_special InitRoamer def_special TryUpdateRusturfTunnelState def_special IsGrassTypeInParty @@ -342,14 +342,14 @@ gSpecials:: @ 81DBA64 def_special TryInitBattleTowerAwardManEventObject def_special MoveOutOfSecretBaseFromOutside def_special LoadPlayerBag - def_special sub_80B05B4 + def_special Script_FadeOutMapMusic def_special SetPacifidlogTMReceivedDay def_special GetDaysUntilPacifidlogTMAvailable def_special HasAllHoennMons def_special MonOTNameMatchesPlayer def_special BufferLottoTicketNumber def_special sub_81653CC - def_special sub_80F9370 + def_special DoesPartyHaveEnigmaBerry def_special ScriptRandom def_special sub_81AFDD0 def_special sub_80EDCE8 @@ -424,22 +424,22 @@ gSpecials:: @ 81DBA64 def_special StartPlayerDescendMirageTower def_special BufferTMHMMoveName def_special IsWirelessAdapterConnected - def_special BerryBlenderLinkBecomeLeader - def_special BerryBlenderLinkJoinGroup + def_special TryBecomeLinkLeader + def_special TryJoinLinkGroup def_special UnionRoomSpecial def_special sub_801A42C - def_special sub_8016934 + def_special InitUnionRoom def_special BufferUnionRoomPlayerName def_special sub_801DC20 - def_special sub_81B8958 - def_special sub_8018090 + def_special ChooseMonForWirelessMinigame + def_special Script_ResetUnionRoomTrade def_special IsBadEggInParty def_special ValidateReceivedWonderCard def_special HasAtLeastOneBerry - def_special sub_802C920 - def_special sub_802E3C4 - def_special sub_8027A5C - def_special sub_8027AAC + def_special IsPokemonJumpSpeciesInParty + def_special ShowPokemonJumpRecords + def_special IsDodrioInParty + def_special ShowDodrioBerryPickingRecords def_special OffsetCameraForBattle def_special GetDeptStoreDefaultFloorChoice def_special BufferVarsForIVRater @@ -485,7 +485,7 @@ gSpecials:: @ 81DBA64 def_special BufferBattleFrontierTutorMoveName def_special CloseBattleFrontierTutorWindow def_special sub_813ADD4 - def_special sub_81B892C + def_special OpenPartyMenuForMoveTutor def_special GetBattleFrontierTutorMoveIndex def_special sub_813AF48 def_special DoDeoxysRockInteraction @@ -512,7 +512,7 @@ gSpecials:: @ 81DBA64 def_special GetLilycoveSSTidalSelection def_special TurnOnTVScreen def_special sub_81D4A90 - def_special sub_813B514 + def_special ShouldDistributeEonTicket def_special sub_813B568 def_special sub_813B534 def_special CallTrainerHillFunction diff --git a/data/text/berries.inc b/data/text/berries.inc index 489acd4b6c..ca9481f527 100644 --- a/data/text/berries.inc +++ b/data/text/berries.inc @@ -1,4 +1,4 @@ -PetalburgCity_Gym_Text_2A6D3D: @ 82A6D3D +PetalburgCity_Gym_Text_GiveEnigmaBerry: @ 82A6D3D .string "DAD: Hi, {PLAYER}!\p" .string "I just received a very rare BERRY.\n" .string "I'd like you to have it.$" diff --git a/data/text/cable_club.inc b/data/text/cable_club.inc index e69de29bb2..85e0e4edbb 100644 --- a/data/text/cable_club.inc +++ b/data/text/cable_club.inc @@ -0,0 +1,485 @@ +CableClub_Text_WelcomeWhichCableClubService: @ 8277EA4 + .string "Welcome to the POKéMON CABLE\n" + .string "CLUB.\p" + .string "Which of our services do you wish\n" + .string "to use?$" + +CableClub_Text_WhichService: @ 8277EF1 + .string "Which of our services do you wish\n" + .string "to use?$" + +CableClub_Text_TradeUsingLinkCable:: @ 8277F1B + .string "Trade POKéMON with another player\n" + .string "using a GBA Game Link cable.$" + +CableClub_Text_BattleUsingLinkCable:: @ 8277F5A + .string "You may battle another TRAINER\n" + .string "using a GBA Game Link cable.$" + +CableClub_Text_RecordCornerUsingLinkCable:: @ 8277F96 + .string "You can use the RECORD CORNER with\n" + .string "others using a GBA Game Link cable.$" + +@ Unused +CableClub_Text_CloseThisMenu: @ 8277FDD + .string "Close this menu.$" + +CableClub_Text_NeedTwoMonsForDoubleBattle: @ 8277FEE + .string "For a DOUBLE BATTLE, you must\n" + .string "have at least two POKéMON.$" + +CableClub_Text_NeedTwoMonsToTrade: @ 8278027 + .string "For trading, you must have at\n" + .string "least two POKéMON with you.$" + +CableClub_Text_CantTradeEnigmaBerry: @ 8278061 + .string "A POKéMON holding the {STR_VAR_1}\n" + .string "BERRY can't be traded.$" + +gText_PleaseWaitForLink:: @ 8278091 + .string "Please wait.\n" + .string "… … B Button: Cancel$" + +gText_ConfirmLinkWhenPlayersReady:: @ 82780B3 + .string "When all players are ready…\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +gText_ConfirmStartLinkWithXPlayers:: @ 82780F2 + .string "Start link with {STR_VAR_1} players.\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +gText_AwaitingLinkup:: @ 8278131 + .string "Awaiting linkup…\n" + .string "… … B Button: Cancel$" + +@ Unused +CableClub_Text_OkayToSaveProgress:: @ 8278157 + .string "Your progress must be saved before\n" + .string "linking. Is it okay to save?$" + +CableClub_Text_PleaseEnter: @ 8278197 + .string "Please enter.$" + +CableClub_Text_DirectYouToYourRoom: @ 82781A5 + .string "I'll direct you to your room now.$" + +Text_SomeoneIsNotReadyToLink: @ 82781C7 + .string "Someone is not ready to link.\p" + .string "Please come back after everyone\n" + .string "has made preparations.$" + +Text_LinkErrorPleaseReset: @ 827821C + .string "Sorry, we have a link error…\n" + .string "Please reset and try again.$" + +Text_PlayersMadeDifferentSelections: @ 8278255 + .string "The link partners appear to have\n" + .string "made different selections.$" + +CableClub_Text_PleaseVisitAgain: @ 8278291 + .string "Please do visit again.$" + +CableClub_Text_IncorrectNumberOfParticipants: @ 82782A8 + .string "The number of participants is\n" + .string "incorrect.$" + +CableClub_Text_CantSingleBattleWithXPlayers: @ 82782D1 + .string "The SINGLE BATTLE Mode can't be\n" + .string "played by {STR_VAR_1} players.$" + +CableClub_Text_CantDoubleBattleWithXPlayers: @ 8278307 + .string "The DOUBLE BATTLE Mode can't be\n" + .string "played by {STR_VAR_1} players.$" + +CableClub_Text_NeedFourPlayers: @ 827833D + .string "There must be four players to play\n" + .string "this Battle Mode.$" + +CableClub_Text_PleaseConfirmNumberAndRestart: @ 8278372 + .string "Please confirm the number of\n" + .string "players and start again.$" + +Text_TerminateLinkConfirmation: @ 82783A8 + .string "The link will be terminated if you\n" + .string "leave the room. Is that okay?$" + +Text_TerminateLinkPleaseWait: @ 82783E9 + .string "Terminating link…\n" + .string "You will be escorted out of\l" + .string "the room. Please wait.$" + +CableClub_Text_TooBusyToNotice: @ 827842E + .string "This TRAINER is too busy to\n" + .string "notice…$" + +CableClub_Text_GotToLookAtTrainerCard: @ 8278452 + .string "Score! Got to look at {STR_VAR_1}'s\n" + .string "TRAINER CARD!$" + +CableClub_Text_GotToLookAtColoredTrainerCard: @ 827847B + .string "Score! Got to look at {STR_VAR_1}'s\n" + .string "TRAINER CARD!\p" + .string "It's a {STR_VAR_2} card!$" + +SingleBattleColosseum_Text_TakePlaceStartBattle: @ 82784B4 + .string "Please take your place and start\n" + .string "your battle.$" + +TradeCenter_Text_TakeSeatStartTrade: @ 82784E2 + .string "Please take your seat and start\n" + .string "your trade.$" + +RecordCorner_Text_ThanksForComing: @ 827850E + .string "Thanks for coming.$" + +CableClub_Text_TrainerCardDataOverwritten: @ 8278521 + .string "The TRAINER CARD data will\n" + .string "be overwritten.$" + +CableClub_Text_HopeToSeeYouAgain: @ 827854C + .string "I hope to see you again!$" + +CableClub_Text_NotSetUpForFarAwayRegion: @ 8278565 + .string "I'm awfully sorry.\p" + .string "We're not set up to conduct trades\n" + .string "with TRAINERS far away in another\l" + .string "region yet…$" + +CableClub_Text_OtherTrainerNotReady: @ 82785C9 + .string "The other TRAINER is not ready.$" + +CableClub_Text_YouHaveAMonThatCantBeTaken: @ 82785E9 + .string "You have at least one POKéMON\n" + .string "that can't be taken.$" + +RecordCorner_Text_TakeSeatAndWait: @ 827861C + .string "Please take your seat and wait.$" + +RecordCorner_Text_PlayerSentOverOneX: @ 827863C + .string "{STR_VAR_1} sent over one\n" + .string "{STR_VAR_2}.$" + +CableClub_Text_CantMixWithJapaneseGame: @ 8278651 + .string "Sorry, there is a transmission error.\p" + .string "You may not mix records with \n" + .string "Japanese Ruby or Sapphire games.\p" + .string "Also, you can't mix records with\n" + .string "Japanese Emerald and overseas Ruby\l" + .string "or Sapphire games at the same time.$" + +CableClub_Text_AdapterNotConnected: @ 827871F + .string "The Wireless Adapter is not\n" + .string "connected properly.$" + +CableClub_Text_ParticipantsStepUpToCounter: @ 827874F + .string "Participants are asked to step up\n" + .string "to the reception counter.$" + +@ Unused +CableClub_Text_Hello: @ 827878B + .string "Hello!$" + +@ Unused +CableClub_Text_PleaseWait: @ 8278792 + .string "Please wait.$" + +CableClub_Text_YouMayTradeHere:: @ 827879F + .string "You may trade your POKéMON here\n" + .string "with another TRAINER.$" + +CableClub_Text_YouMayBattleHere:: @ 82787D5 + .string "You may battle with your friends\n" + .string "here.$" + +CableClub_Text_CanMakeBerryPowder:: @ 82787FC + .string "Two to five TRAINERS can make\n" + .string "BERRY POWDER together.$" + +CableClub_Text_CanMixRecords:: @ 8278831 + .string "The records of two to four players\n" + .string "can be mixed together.$" + +OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B + .string "A guide to the WIRELESS CLUB's\n" + .string "various services.$" + +CableClub_Text_CancelSelectedItem:: @ 827889C + .string "Cancels the selected MENU item.$" + +OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC + .string "Which battle mode would you like?$" + +@ Unused +CableClub_Text_ReturnsToPreviousStep: @ 82788DE + .string "Returns to the previous step.$" + +CableClub_Text_NeedBerryForBerryCrush: @ 82788FC + .string "To use the BERRY CRUSH service,\n" + .string "you must have at least one BERRY.$" + +CableClub_Text_NeedTwoMonsForUnionRoom: @ 827893E + .string "To enter the UNION ROOM, you must\n" + .string "have at least two POKéMON.$" + +CableClub_Text_NoEnigmaBerryInUnionRoom: @ 827897B + .string "No POKéMON holding the {STR_VAR_1}\n" + .string "BERRY may enter the UNION ROOM.$" + +CableClub_Text_UnionRoomAdapterNotConnected: @ 82789B5 + .string "This is the POKéMON WIRELESS CLUB\n" + .string "UNION ROOM.\p" + .string "Unfortunately, your Wireless\n" + .string "Adapter is not connected properly.\p" + .string "Please do come again.$" + +@ Unused +CableClub_Text_OhExcuseMe: @ 8278A39 + .string "Oh…\n" + .string "Excuse me!$" + +CableClub_Text_PlayerIsWaiting: @ 8278A48 + .string "It appears as if {STR_VAR_1} is playing\n" + .string "right now.\l" + .string "Go for it!$" + +MossdeepCity_GameCorner_1F_Text_DescribeWhichGame: @ 8278A7D + .string "I can explain game rules to you,\n" + .string "if you'd like.\p" + .string "Which game should I describe?$" + +MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo: @ 8278ACB + .string "“POKéMON JUMP”\p" + .string "Make your POKéMON skip the VINE WHIP\n" + .string "rope with the A Button.\p" + .string "Only mini POKéMON around 28 inches\n" + .string "or less may participate.\p" + .string "POKéMON that only swim, burrow,\n" + .string "or fly are not good at jumping.\p" + .string "As a result, those POKéMON may not\n" + .string "participate.\p" + .string "Good things happen if everyone\n" + .string "jumps in time.$" + +MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo: @ 8278BF1 + .string "“DODRIO BERRY-PICKING”\p" + .string "Command DODRIO's three heads to\n" + .string "catch falling BERRIES.\p" + .string "Press right, up, or left on the\n" + .string "{PLUS} Control Pad to move the heads.\p" + .string "To play this game, you must have\n" + .string "a DODRIO.$" + +MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay: @ 8278CAC + .string "If you want to play a game,\n" + .string "please tell the old man beside me.$" + +MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait: @ 8278CEB + .string "Hi, welcome!\n" + .string "Are you here to play games using\l" + .string "Wireless Communication?\p" + .string "Can you wait just a little bit?$" + +MossdeepCity_GameCorner_1F_Text_ComeAgain: @ 8278D51 + .string "All right, come again!$" + +MossdeepCity_GameCorner_1F_Text_AdapterNotConnected: @ 8278D68 + .string "The Wireless Adapter isn't connected.\n" + .string "Come back when it's hooked up!$" + +MossdeepCity_GameCorner_1F_Text_PlayWhichGame: @ 8278DAD + .string "All right, which game did you want\n" + .string "to play?$" + +MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon: @ 8278DD9 + .string "Which POKéMON would you like to\n" + .string "enter?$" + +MossdeepCity_GameCorner_1F_Text_AllGoodToGo: @ 8278E00 + .string "Okay, you're all good to go.\n" + .string "Don't let the others beat you!$" + +@ Unused +MossdeepCity_GameCorner_1F_Text_LeavingDoComeAgain: @ 8278E3C + .string "Are you leaving now?\n" + .string "Do come again!$" + +MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon: @ 8278E60 + .string "It doesn't look like you have any\n" + .string "POKéMON that you can enter…\p" + .string "Would you like me to explain what\n" + .string "kinds of POKéMON can enter?$" + +MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed: @ 8278EDC + .string "“POKéMON JUMP” is open to POKéMON\n" + .string "around 28 inches or less.\p" + .string "What you can't enter are those\n" + .string "POKéMON that can't jump.\p" + .string "You know, like POKéMON that only\n" + .string "swim, burrow, or fly.\p" + .string "That's all you need to know.$" + +MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed: @ 8278FA4 + .string "DODRIO BERRY-PICKING is a game that \n" + .string "only DODRIO may enter.$" + +@ Unused +MossdeepCity_GameCorner_1F_Text_RetryPlease: @ 8278FE0 + .string "Could you retry this from the start\n" + .string "again, please?$" + +CableClub_Text_WelcomeWhichDirectCornerRoom: @ 8279013 + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB DIRECT CORNER.\p" + .string "You may interact directly with\n" + .string "your friends here.\p" + .string "Which room would you like to\n" + .string "enter?$" + +CableClub_Text_TradePokemon: @ 827909D + .string "Would you like to trade POKéMON?$" + +CableClub_Text_WhichBattleMode: @ 82790BE + .string "Which Battle Mode would you like\n" + .string "to play?$" + +CableClub_Text_AccessRecordCorner: @ 82790E8 + .string "Would you like to access\n" + .string "the RECORD CORNER?$" + +CableClub_Text_UseBerryCrush: @ 8279114 + .string "Would you like to use the\n" + .string "BERRY CRUSH System?$" + +CableClub_Text_ExplainBattleModes: @ 8279142 + .string "There are three Battle Modes.\p" + .string "SINGLE BATTLE is for two TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.\p" + .string "DOUBLE BATTLE is for two TRAINERS\n" + .string "with two or more POKéMON each.\p" + .string "Each TRAINER will send out two\n" + .string "POKéMON in battle at a time.\p" + .string "MULTI BATTLE is for four TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.$" + +CableClub_Text_ChooseGroupLeaderOfTwo: @ 82792CD + .string "Please decide which of you two\n" + .string "will become the LEADER.\p" + .string "The other player must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_ChooseGroupLeaderOfFour: @ 8279334 + .string "Please decide which of you four\n" + .string "will become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_ChooseGroupLeader: @ 82793A3 + .string "Please decide which of you will\n" + .string "become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_WelcomeUnionRoomEnter: @ 827940D + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB UNION ROOM.\p" + .string "You may interact directly with\n" + .string "other TRAINERS here, some of\l" + .string "whom you may not even know.\p" + .string "Would you like to enter the ROOM?$" + +CableClub_Text_UnionRoomInfo: @ 82794B8 + .string "The TRAINERS in the UNION ROOM\n" + .string "will be those players around you\l" + .string "who have also entered the ROOM.\p" + .string "You may do all sorts of things\n" + .string "here, such as exchanging greetings.\p" + .string "You may enter two POKéMON up to\n" + .string "Lv. 30 for a one-on-one battle.\p" + .string "You may take part in a chat with\n" + .string "two to five people.\p" + .string "Or, you may register a POKéMON for\n" + .string "trade.\p" + .string "Would you like to enter the ROOM?$" + +CableClub_Text_EnjoyUnionRoom: @ 827961C + .string "I hope you enjoy your time in\n" + .string "the UNION ROOM.$" + +CableClub_Text_FirstTimeRightThisWay: @ 827964A + .string "Hello!\n" + .string "My name is TEALA.\p" + .string "This must be your first time\n" + .string "up here.\p" + .string "I'll show you how the Wireless\n" + .string "Communication System works.\p" + .string "First, I need to show you this\n" + .string "floor of our POKéMON CENTER.\p" + .string "Right this way, please.$" + +CableClub_Text_ExplainWirelessClubFirstTime: @ 8279718 + .string "On the top floor, there are two\n" + .string "rooms.\p" + .string "First, the room on the left.\n" + .string "It's the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "If the Wireless Adapter isn't\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +CableClub_Text_AskAboutLinking: @ 8279937 + .string "Hello, {PLAYER}!\p" + .string "It's me, TEALA, the POKéMON\n" + .string "CENTER 2F attendant.\p" + .string "Is there something you needed to\n" + .string "ask me about linking?$" + +CableClub_Text_ExplainWirelessClub: @ 82799AA + .string "Let me explain how the POKéMON\n" + .string "WIRELESS CLUB works.\p" + .string "On this, the top floor, there are\n" + .string "two rooms.\p" + .string "First, the room on the left.\n" + .string "It's the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "Sometimes, you may not be able to\n" + .string "find your friends in the UNION ROOM\l" + .string "or the DIRECT CORNER.\p" + .string "In that case, please move closer\n" + .string "to your friends.\p" + .string "If the Wireless Adapter isn't\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +CableClub_Text_HopeYouEnjoyWirelessSystem: @ 8279C91 + .string "I hope you enjoy the Wireless\n" + .string "Communication System.$" diff --git a/data/text/mevent.inc b/data/text/mevent.inc index 44c456f1c6..ae4032eb46 100644 --- a/data/text/mevent.inc +++ b/data/text/mevent.inc @@ -1,14 +1,14 @@ -gText_FillOutQuestionnaire:: @ 827339F +Mevent_Text_FillOutQuestionnaire:: @ 827339F .string "There is a questionnaire.\n" .string "Would you like to fill it out?$" -gText_ThankYouForTakingQuestionnaire:: @ 82733D8 +Mevent_Text_QuestionnaireThankYou:: @ 82733D8 .string "Thank you for taking the time to\n" .string "fill out our questionnaire.\p" .string "Your feedback will be used for\n" .string "future reference.$" -gUnknown_08273446:: @ 8273446 +Mevent_Text_YouKnowThoseWordsGift:: @ 8273446 .string "Oh, hello!\n" .string "You know those words?\p" .string "That means you must know about\n" @@ -16,27 +16,27 @@ gUnknown_08273446:: @ 8273446 .string "From now on, you should be\n" .string "receiving MYSTERY GIFTS!$" -gUnknown_082734CC:: @ 82734CC +Mevent_Text_YouCanAccessMysteryGift:: @ 82734CC .string "Once you save your game, you can\n" .string "access the MYSTERY GIFT.$" -gUnknown_08273506:: @ 8273506 +Mevent_Text_YouKnowThoseWordsEvent:: @ 8273506 .string "Oh, hello!\n" .string "You know those words?\p" .string "That means you must know about\n" .string "the MYSTERY EVENT.$" -gUnknown_08273559:: @ 8273559 +Mevent_Text_YouCanAccessMysteryEvent:: @ 8273559 .string "Once you save your game, you can\n" .string "access the MYSTERY EVENT.$" -gUnknown_08273594:: @ 8273594 +Mevent_Text_TheresATicketForYou:: @ 8273594 .string "Thank you for using the MYSTERY\n" .string "EVENT System.\p" .string "You must be {PLAYER}.\n" .string "There is a ticket here for you.$" -gUnknown_082735F2:: @ 82735F2 +Mevent_Text_TryUsingItAtLilycovePort:: @ 82735F2 .string "It appears to be for use at\n" .string "the LILYCOVE CITY port.\p" .string "Why not give it a try and see what\n" diff --git a/data/text/move_tutors.inc b/data/text/move_tutors.inc index 6f3910b801..baadad73d2 100644 --- a/data/text/move_tutors.inc +++ b/data/text/move_tutors.inc @@ -1,8 +1,8 @@ -MauvilleCity_Text_2C6E05: @ 82C6E05 +MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce: @ 82C6E05 .string "This move can be learned only\n" .string "once. Is that okay?$" -SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37 +MoveTutor_Text_SwaggerTeach: @ 82C6E37 .string "Heh! My POKéMON totally rules!\n" .string "It's cooler than any POKéMON!\p" .string "I was lipping off with a swagger in\n" @@ -12,19 +12,19 @@ SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37 .string "If you'd like, I'll teach the move\n" .string "SWAGGER to a POKéMON of yours.$" -SlateportCity_PokemonFanClub_Text_2C6F33: @ 82C6F33 +MoveTutor_Text_SwaggerDeclined: @ 82C6F33 .string "What, no? Can't you get into\n" .string "the spirit of things?$" -SlateportCity_PokemonFanClub_Text_2C6F66: @ 82C6F66 +MoveTutor_Text_SwaggerWhichMon: @ 82C6F66 .string "All right, which POKéMON wants to\n" .string "learn how to SWAGGER?$" -SlateportCity_PokemonFanClub_Text_2C6F9E: @ 82C6F9E +MoveTutor_Text_SwaggerTaught: @ 82C6F9E .string "I'll just praise my POKéMON from now\n" .string "on without the swagger.$" -MauvilleCity_Text_2C6FDB: @ 82C6FDB +MoveTutor_Text_RolloutTeach: @ 82C6FDB .string "Did you know that you can go from\n" .string "here a long way in that direction\l" .string "without changing direction?\p" @@ -35,19 +35,19 @@ MauvilleCity_Text_2C6FDB: @ 82C6FDB .string "I can teach one the move ROLLOUT\n" .string "if you'd like.$" -MauvilleCity_Text_2C70C4: @ 82C70C4 +MoveTutor_Text_RolloutDeclined: @ 82C70C4 .string "You don't need to be shy about it.\n" .string "Let's roll!$" -MauvilleCity_Text_2C70F3: @ 82C70F3 +MoveTutor_Text_RolloutWhichMon: @ 82C70F3 .string "Ehehe, sure thing! It'd be great if\n" .string "the POKéMON looked like me.$" -MauvilleCity_Text_2C7133: @ 82C7133 +MoveTutor_Text_RolloutTaught: @ 82C7133 .string "Rolling around in the grass makes me\n" .string "happy. Come on, let's roll!$" -VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174 +MoveTutor_Text_FuryCutterTeach: @ 82C7174 .string "There's a move that gets stronger\n" .string "when you keep using it in a row.\p" .string "It's a BUG-type move, and it is\n" @@ -55,18 +55,18 @@ VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174 .string "It's called FURY CUTTER.\n" .string "Want me to teach it to a POKéMON?$" -VerdanturfTown_PokemonCenter_1F_Text_2C7221: @ 82C7221 +MoveTutor_Text_FuryCutterDeclined: @ 82C7221 .string "We're not on the same wavelength.$" -VerdanturfTown_PokemonCenter_1F_Text_2C7243: @ 82C7243 +MoveTutor_Text_FuryCutterWhichMon: @ 82C7243 .string "Yay!\n" .string "Show me which POKéMON I should teach.$" -VerdanturfTown_PokemonCenter_1F_Text_2C726E: @ 82C726E +MoveTutor_Text_FuryCutterTaught: @ 82C726E .string "I get a thrill watching to see if\n" .string "the move keeps hitting in succession!$" -LavaridgeTown_House_Text_2C72B6: @ 82C72B6 +MoveTutor_MimicTeach: @ 82C72B6 .string "Ah, young one!\p" .string "I am also a young one, but I mimic\n" .string "the styles and speech of the elderly\l" @@ -75,21 +75,21 @@ LavaridgeTown_House_Text_2C72B6: @ 82C72B6 .string "Would you agree to it if I were to\l" .string "offer to teach the move MIMIC?$" -LavaridgeTown_House_Text_2C737F: @ 82C737F +MoveTutor_MimicDeclined: @ 82C737F .string "Oh, boo! I wanted to teach MIMIC\n" .string "to your POKéMON!$" -LavaridgeTown_House_Text_2C73B1: @ 82C73B1 +MoveTutor_Text_MimicWhichMon: @ 82C73B1 .string "Fwofwo! And so I shall!\n" .string "Let me see the POKéMON\l" .string "you wish me to teach.$" -LavaridgeTown_House_Text_2C73F6: @ 82C73F6 +MoveTutor_Text_MimicTaught: @ 82C73F6 .string "MIMIC is a move of great depth.\p" .string "Could you execute it to perfection\n" .string "as well as me…?$" -FallarborTown_Mart_Text_2C7449: @ 82C7449 +MoveTutor_Text_MetronomeTeach: @ 82C7449 .string "I want all sorts of things!\n" .string "But I used up my allowance…\p" .string "Wouldn't it be nice if there were\n" @@ -100,22 +100,22 @@ FallarborTown_Mart_Text_2C7449: @ 82C7449 .string "Money won't appear, but your POKéMON\n" .string "will waggle a finger. Yes?$" -FallarborTown_Mart_Text_2C7556: @ 82C7556 +MoveTutor_Text_MetronomeDeclined: @ 82C7556 .string "Okay. I'll be here if you change\n" .string "your mind.$" -FallarborTown_Mart_Text_2C7582: @ 82C7582 +MoveTutor_Text_MetronomeWhichMon: @ 82C7582 .string "Okay! I'll teach it!\n" .string "Which POKéMON should I teach?$" -FallarborTown_Mart_Text_2C75B5: @ 82C75B5 +MoveTutor_Text_MetronomeTaught: @ 82C75B5 .string "When a POKéMON waggles its finger\n" .string "like a METRONOME, all sorts of nice\l" .string "things happen.\p" .string "Wouldn't it be nice if we could\n" .string "use it, too?$" -FortreeCity_House2_Text_2C7637: @ 82C7637 +MoveTutor_Text_SleepTalkTeach: @ 82C7637 .string "Humph! My wife relies on HIDDEN\n" .string "POWER to stay awake.\p" .string "She should just take a nap like I do,\n" @@ -123,21 +123,21 @@ FortreeCity_House2_Text_2C7637: @ 82C7637 .string "I can teach your POKéMON how to\n" .string "SLEEP TALK instead. Interested?$" -FortreeCity_House2_Text_2C76E2: @ 82C76E2 +MoveTutor_Text_SleepTalkDeclined: @ 82C76E2 .string "Oh, fine, fine. You want to stay awake\n" .string "with HIDDEN POWER, too…$" -FortreeCity_House2_Text_2C7721: @ 82C7721 +MoveTutor_Text_SleepTalkWhichMon: @ 82C7721 .string "Ah, an appreciative child!\n" .string "Which POKéMON should I teach?$" -FortreeCity_House2_Text_2C775A: @ 82C775A +MoveTutor_Text_SleepTalkTaught: @ 82C775A .string "I've never once gotten my wife's\n" .string "coin trick right.\p" .string "I would be happy if I got it right\n" .string "even as I SLEEP TALK…$" -LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6 +MoveTutor_Text_SubstituteTeach: @ 82C77C6 .string "When I see the wide world from up\n" .string "here on the roof…\p" .string "I think about how nice it would be\n" @@ -148,22 +148,22 @@ LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6 .string "I know! Would you be interested in\n" .string "having a POKéMON learn SUBSTITUTE?$" -LilycoveCity_DepartmentStoreRooftop_Text_2C78D1: @ 82C78D1 +MoveTutor_Text_SubstituteDeclined: @ 82C78D1 .string "Oh, no?\p" .string "A POKéMON can make a copy of\n" .string "itself using it, you know.$" -LilycoveCity_DepartmentStoreRooftop_Text_2C7911: @ 82C7911 +MoveTutor_Text_SubstituteWhichMon: @ 82C7911 .string "Giggle…\n" .string "Which POKéMON do you want me to\l" .string "teach SUBSTITUTE?$" -LilycoveCity_DepartmentStoreRooftop_Text_2C794B: @ 82C794B +MoveTutor_Text_SubstituteTaught: @ 82C794B .string "We human beings should enjoy our\n" .string "own lives to the utmost!\p" .string "I hope you'll get that way, too!$" -MossdeepCity_Text_2C79A6: @ 82C79A6 +MoveTutor_Text_DynamicPunchTeach: @ 82C79A6 .string "I can't do this anymore!\p" .string "It's utterly hopeless!\p" .string "I'm a FIGHTING-type TRAINER,\n" @@ -176,19 +176,19 @@ MossdeepCity_Text_2C79A6: @ 82C79A6 .string "Or do you want me to teach your\n" .string "POKéMON DYNAMICPUNCH?$" -MossdeepCity_Text_2C7AD4: @ 82C7AD4 +MoveTutor_Text_DynamicPunchDeclined: @ 82C7AD4 .string "Darn! You're even making fun of me?\n" .string "Punch! Punch! Punch!$" -MossdeepCity_Text_2C7B0D: @ 82C7B0D +MoveTutor_Text_DynamicPunchWhichMon: @ 82C7B0D .string "What? You do? You're a good person!\n" .string "Which POKéMON should I teach?$" -MossdeepCity_Text_2C7B4F: @ 82C7B4F +MoveTutor_Text_DynamicPunchTaught: @ 82C7B4F .string "I want you to win at the MOSSDEEP GYM\n" .string "using that DYNAMICPUNCH!$" -SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E +MoveTutor_Text_DoubleEdgeTeach: @ 82C7B8E .string "Sigh…\p" .string "SOOTOPOLIS's GYM LEADER is really\n" .string "lovably admirable.\p" @@ -199,19 +199,19 @@ SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E .string "Please, let me teach your POKéMON\n" .string "the move DOUBLE-EDGE!$" -SootopolisCity_PokemonCenter_1F_Text_2C7C7E: @ 82C7C7E +MoveTutor_Text_DoubleEdgeDeclined: @ 82C7C7E .string "Oh…\n" .string "Even you rejected me…$" -SootopolisCity_PokemonCenter_1F_Text_2C7C98: @ 82C7C98 +MoveTutor_Text_DoubleEdgeWhichMon: @ 82C7C98 .string "Okay, which POKéMON should I teach\n" .string "DOUBLE-EDGE?$" -SootopolisCity_PokemonCenter_1F_Text_2C7CC8: @ 82C7CC8 +MoveTutor_Text_DoubleEdgeTaught: @ 82C7CC8 .string "I won't live for love anymore!\n" .string "I'll become tough!$" -PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA +MoveTutor_Text_ExplosionTeach: @ 82C7CFA .string "I don't intend to be going nowhere\n" .string "fast in the sticks like this forever.\p" .string "You watch me, I'll get out to the city\n" @@ -221,15 +221,15 @@ PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA .string "If you overheard that, I'll happily\n" .string "teach EXPLOSION to your POKéMON!$" -PacifidlogTown_PokemonCenter_1F_Text_2C7E04: @ 82C7E04 +MoveTutor_Text_ExplosionDeclined: @ 82C7E04 .string "Gaah! You're turning me down because\n" .string "I live in the country?$" -PacifidlogTown_PokemonCenter_1F_Text_2C7E40: @ 82C7E40 +MoveTutor_Text_ExplosionWhichMon: @ 82C7E40 .string "Fine! An EXPLOSION it is!\n" .string "Which POKéMON wants to blow up?$" -PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A +MoveTutor_Text_ExplosionTaught: @ 82C7E7A .string "For a long time, I've taught POKéMON\n" .string "how to use EXPLOSION, but I've yet\l" .string "to ignite my own EXPLOSION…\p" diff --git a/gflib/text.h b/gflib/text.h index e37773475b..3c34441dcd 100644 --- a/gflib/text.h +++ b/gflib/text.h @@ -107,12 +107,19 @@ #define TEXT_COLOR_TRANSPARENT 0x0 #define TEXT_COLOR_WHITE 0x1 #define TEXT_COLOR_DARK_GREY 0x2 -// 0x3 +#define TEXT_COLOR_LIGHT_GREY 0x3 #define TEXT_COLOR_RED 0x4 -// 0x5 +#define TEXT_COLOR_LIGHT_RED 0x5 #define TEXT_COLOR_GREEN 0x6 -// 0x7 +#define TEXT_COLOR_LIGHT_GREEN 0x7 #define TEXT_COLOR_BLUE 0x8 +#define TEXT_COLOR_LIGHT_BLUE 0x9 +#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white +#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green +#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white +#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine +#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green +#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean #define PLACEHOLDER_ID_UNKNOWN 0x0 #define PLACEHOLDER_ID_PLAYER 0x1 diff --git a/graphics/unknown/unknown_DDD704.bin b/graphics/trade/menu_mon_box.bin similarity index 100% rename from graphics/unknown/unknown_DDD704.bin rename to graphics/trade/menu_mon_box.bin diff --git a/graphics/trade/ball.png b/graphics/trade/pokeball.png similarity index 100% rename from graphics/trade/ball.png rename to graphics/trade/pokeball.png diff --git a/graphics/unknown/unknown_DDB444.pal b/graphics/trade/unknown_DDB444.pal similarity index 100% rename from graphics/unknown/unknown_DDB444.pal rename to graphics/trade/unknown_DDB444.pal diff --git a/graphics/unknown/unknown_DDCF04.bin b/graphics/trade/unknown_DDCF04.bin similarity index 100% rename from graphics/unknown/unknown_DDCF04.bin rename to graphics/trade/unknown_DDCF04.bin diff --git a/include/battle_anim.h b/include/battle_anim.h index 75eb7b3a9f..78ff032f3d 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -142,7 +142,7 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite); void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); void TranslateMonSpriteLinear(struct Sprite *sprite); void TranslateSpriteLinear(struct Sprite *sprite); -void sub_80A77C8(struct Sprite *sprite); +void AnimSparklingParticle(struct Sprite *sprite); void sub_80A7000(struct Sprite *sprite); void TranslateSpriteInCircleOverDuration(struct Sprite *sprite); void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2); @@ -152,7 +152,7 @@ void sub_80A78AC(struct Sprite *sprite); void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); -void sub_80A6DEC(struct Sprite *sprite); +void TradeMenuBouncePartySprites(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); @@ -222,13 +222,13 @@ void sub_8116EB4(u8); void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); // battle_anim_effects_1.c -void sub_810310C(u8 battler, struct Sprite* sprite); +void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite); void AnimMoveTwisterParticle(struct Sprite* sprite); void AnimPowerAbsorptionOrb(struct Sprite* sprite); -extern const union AnimCmd *const gUnknown_08592388[]; -extern const union AnimCmd *const gUnknown_085921C8[]; -extern const union AffineAnimCmd *const gUnknown_085921DC[]; -void sub_8100898(struct Sprite *); +void AnimNeedleArmSpike(struct Sprite *); +extern const union AnimCmd *const gRazorLeafParticleAnimTable[]; +extern const union AnimCmd *const gPowerAbsorptionOrbAnimTable[]; +extern const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[]; // water.c void sub_8108C94(struct Sprite *sprite); @@ -254,78 +254,51 @@ u32 UnpackSelectedBattleAnimPalettes(s16); u8 GetBattlerSpriteFinal_Y(u8, u16, u8); -extern const struct OamData gUnknown_08524904; -extern const struct OamData gUnknown_0852490C; -extern const struct OamData gUnknown_08524914; -extern const struct OamData gUnknown_0852491C; -extern const struct OamData gUnknown_08524924; -extern const struct OamData gUnknown_0852492C; -extern const struct OamData gUnknown_08524934; -extern const struct OamData gUnknown_0852493C; -extern const struct OamData gUnknown_08524944; -extern const struct OamData gUnknown_0852494C; -extern const struct OamData gUnknown_08524954; -extern const struct OamData gUnknown_0852495C; -extern const struct OamData gUnknown_08524964; -extern const struct OamData gUnknown_0852496C; -extern const struct OamData gUnknown_08524974; -extern const struct OamData gUnknown_0852497C; -extern const struct OamData gUnknown_08524984; -extern const struct OamData gUnknown_0852498C; -extern const struct OamData gUnknown_08524994; -extern const struct OamData gUnknown_0852499C; -extern const struct OamData gUnknown_085249A4; -extern const struct OamData gUnknown_085249AC; -extern const struct OamData gUnknown_085249B4; -extern const struct OamData gUnknown_085249BC; -extern const struct OamData gUnknown_085249C4; -extern const struct OamData gUnknown_085249CC; -extern const struct OamData gUnknown_085249D4; -extern const struct OamData gUnknown_085249DC; -extern const struct OamData gUnknown_085249E4; -extern const struct OamData gUnknown_085249EC; -extern const struct OamData gUnknown_085249F4; -extern const struct OamData gUnknown_085249FC; -extern const struct OamData gUnknown_08524A04; -extern const struct OamData gUnknown_08524A0C; -extern const struct OamData gUnknown_08524A14; -extern const struct OamData gUnknown_08524A1C; -extern const struct OamData gUnknown_08524A24; -extern const struct OamData gUnknown_08524A2C; -extern const struct OamData gUnknown_08524A34; -extern const struct OamData gUnknown_08524A3C; -extern const struct OamData gUnknown_08524A44; -extern const struct OamData gUnknown_08524A4C; -extern const struct OamData gUnknown_08524A54; -extern const struct OamData gUnknown_08524A5C; -extern const struct OamData gUnknown_08524A64; -extern const struct OamData gUnknown_08524A6C; -extern const struct OamData gUnknown_08524A74; -extern const struct OamData gUnknown_08524A7C; -extern const struct OamData gUnknown_08524A84; -extern const struct OamData gUnknown_08524A8C; -extern const struct OamData gUnknown_08524A94; -extern const struct OamData gUnknown_08524A9C; -extern const struct OamData gUnknown_08524AA4; -extern const struct OamData gUnknown_08524AAC; -extern const struct OamData gUnknown_08524AB4; -extern const struct OamData gUnknown_08524ABC; -extern const struct OamData gUnknown_08524AC4; -extern const struct OamData gUnknown_08524ACC; -extern const struct OamData gUnknown_08524AD4; -extern const struct OamData gUnknown_08524ADC; -extern const struct OamData gUnknown_08524AE4; -extern const struct OamData gUnknown_08524AEC; -extern const struct OamData gUnknown_08524AF4; -extern const struct OamData gUnknown_08524AFC; -extern const struct OamData gUnknown_08524B04; -extern const struct OamData gUnknown_08524B0C; -extern const struct OamData gUnknown_08524B14; -extern const struct OamData gUnknown_08524B1C; -extern const struct OamData gUnknown_08524B24; -extern const struct OamData gUnknown_08524B2C; -extern const struct OamData gUnknown_08524B34; -extern const struct OamData gUnknown_08524B3C; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x16; +extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; +extern const struct OamData gOamData_AffineDouble_ObjNormal_8x8; +extern const struct OamData gOamData_AffineOff_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x16; +extern const struct OamData gOamData_AffineNormal_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_32x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; +extern const struct OamData gOamData_AffineNormal_ObjBlend_32x32; +extern const struct OamData gOamData_AffineOff_ObjNormal_16x32; +extern const struct OamData gOamData_AffineDouble_ObjBlend_8x8; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjBlend_64x64; +extern const struct OamData gOamData_AffineNormal_ObjBlend_32x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_32x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_32x16; +extern const struct OamData gOamData_AffineDouble_ObjNormal_16x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x64; +extern const struct OamData gOamData_AffineNormal_ObjNormal_32x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_32x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_64x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_64x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_64x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_8x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_16x16; +extern const struct OamData gOamData_AffineDouble_ObjBlend_16x16; +extern const struct OamData gOamData_AffineNormal_ObjNormal_8x8; +extern const struct OamData gOamData_AffineDouble_ObjBlend_8x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_8x8; +extern const struct OamData gOamData_AffineNormal_ObjBlend_8x16; +extern const struct OamData gOamData_AffineNormal_ObjBlend_8x8; +extern const struct OamData gOamData_AffineOff_ObjBlend_8x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_64x64; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x64; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_64x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_16x32; +extern const struct OamData gOamData_AffineDouble_ObjBlend_32x8; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h new file mode 100644 index 0000000000..e92c4a0064 --- /dev/null +++ b/include/constants/battle_pike.h @@ -0,0 +1,49 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H +#define GUARD_CONSTANTS_BATTLE_PIKE_H + +#define PIKE_ROOM_SINGLE_BATTLE 0 +#define PIKE_ROOM_HEAL_FULL 1 +#define PIKE_ROOM_NPC 2 +#define PIKE_ROOM_STATUS 3 +#define PIKE_ROOM_HEAL_PART 4 +#define PIKE_ROOM_WILD_MONS 5 +#define PIKE_ROOM_HARD_BATTLE 6 +#define PIKE_ROOM_DOUBLE_BATTLE 7 +#define PIKE_ROOM_BRAIN 8 + +// For the room with a status effect. +#define PIKE_STATUS_KIRLIA 0 +#define PIKE_STATUS_DUSCLOPS 1 + +// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction +#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0 +#define BATTLE_PIKE_FUNC_GET_DATA 1 +#define BATTLE_PIKE_FUNC_SET_DATA 2 +#define BATTLE_PIKE_FUNC_IN_FINAL_ROOM 3 +#define BATTLE_PIKE_FUNC_SET_UP_ROOM_OBJECTS 4 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5 +#define BATTLE_PIKE_FUNC_6 6 +#define BATTLE_PIKE_FUNC_7 7 +#define BATTLE_PIKE_FUNC_8 8 +#define BATTLE_PIKE_FUNC_NULL_9 9 +#define BATTLE_PIKE_FUNC_NULL_10 10 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12 +#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13 +#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14 +#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE 15 +#define BATTLE_PIKE_FUNC_IS_IN 16 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM_ID 18 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19 +#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20 +#define BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG 21 +#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22 +#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23 +#define BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED 24 +#define BATTLE_PIKE_FUNC_CAN_PARTY_BE_HEALED 25 +#define BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS 26 +#define BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS 27 +#define BATTLE_PIKE_FUNC_INIT_CHALLENGE 28 + +#endif // GUARD_CONSTANTS_BATTLE_PIKE_H diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h new file mode 100644 index 0000000000..0d59ae94d9 --- /dev/null +++ b/include/constants/battle_pyramid.h @@ -0,0 +1,49 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H +#define GUARD_CONSTANTS_BATTLE_PYRAMID_H + +#define TOTAL_ROUNDS 20 +#define PICKUP_ITEMS_PER_ROUND 10 + +#define FLOOR_WALKABLE_METATILE 0x28D +#define FLOOR_EXIT_METATILE 0x28E + +#define HINT_EXIT_DIRECTION 0 +#define HINT_REMAINING_ITEMS 1 +#define HINT_REMAINING_TRAINERS 2 +#define HINT_EXIT_SHORT_REMAINING_TRAINERS 3 +#define HINT_EXIT_SHORT_REMAINING_ITEMS 4 +#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS 5 +#define HINT_EXIT_MEDIUM_REMAINING_ITEMS 6 +#define HINT_EXIT_FAR_REMAINING_TRAINERS 7 +#define HINT_EXIT_FAR_REMAINING_ITEMS 8 + +#define OBJ_TRAINERS 0 +#define OBJ_ITEMS 1 + +#define OBJ_POSITIONS_UNIFORM 0 +#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE 1 +#define OBJ_POSITIONS_IN_AND_NEAR_EXIT 2 +#define OBJ_POSITIONS_NEAR_ENTRANCE 3 +#define OBJ_POSITIONS_NEAR_EXIT 4 + +// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction +#define BATTLE_PYRAMID_FUNC_INIT_CHALLENGE 0 +#define BATTLE_PYRAMID_FUNC_GET_DATA 1 +#define BATTLE_PYRAMID_FUNC_SET_DATA 2 +#define BATTLE_PYRAMID_FUNC_3 3 +#define BATTLE_PYRAMID_FUNC_SET_REWARD 4 +#define BATTLE_PYRAMID_FUNC_GIVE_REWARD 5 +#define BATTLE_PYRAMID_FUNC_SEED_FLOOR 6 +#define BATTLE_PYRAMID_FUNC_SET_ITEM 7 +#define BATTLE_PYRAMID_FUNC_HIDE_ITEM 8 +#define BATTLE_PYRAMID_FUNC_INIT_TRAINERS 9 +#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10 +#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 +#define BATTLE_PYRAMID_FUNC_IS_IN 12 +#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13 +#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14 +#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15 +#define BATTLE_PYRAMID_FUNC_16 16 +#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY 17 + +#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h new file mode 100644 index 0000000000..f2aa4120cf --- /dev/null +++ b/include/constants/cable_club.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_CABLE_CLUB_H +#define GUARD_CONSTANTS_CABLE_CLUB_H + +// States for VAR_CABLE_CLUB_STATE +#define USING_SINGLE_BATTLE 1 +#define USING_DOUBLE_BATTLE 2 +#define USING_TRADE_CENTER 3 +#define USING_RECORD_CORNER 4 +#define USING_MULTI_BATTLE 5 +#define USING_UNION_ROOM 6 +#define USING_BERRY_CRUSH 7 +#define USING_MINIGAME 8 +#define USING_BATTLE_TOWER 9 + +#endif //GUARD_CONSTANTS_CABLE_CLUB_H diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h new file mode 100644 index 0000000000..19b91e7c2c --- /dev/null +++ b/include/constants/field_poison.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_FIELD_POISON_H +#define GUARD_CONSTANTS_FIELD_POISON_H + +#define FLDPSN_NONE 0 +#define FLDPSN_PSN 1 +#define FLDPSN_FNT 2 + +#define FLDPSN_NO_WHITEOUT 0 +#define FLDPSN_WHITEOUT 1 +#define FLDPSN_FRONTIER_WHITEOUT 2 + +#endif //GUARD_CONSTANTS_FIELD_POISON_H diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h new file mode 100644 index 0000000000..7f773855d9 --- /dev/null +++ b/include/constants/field_tasks.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_FIELD_TASKS_H +#define GUARD_CONSTANTS_FIELD_TASKS_H + +#define STEP_CB_DUMMY 0 +#define STEP_CB_ASH 1 +#define STEP_CB_FORTREE_BRIDGE 2 +#define STEP_CB_PACIFIDLOG_BRIDGE 3 +#define STEP_CB_SOOTOPOLIS_ICE 4 +#define STEP_CB_TRUCK 5 +#define STEP_CB_SECRET_BASE 6 +#define STEP_CB_CRACKED_FLOOR 7 + +#endif // GUARD_CONSTANTS_FIELD_TASKS_H diff --git a/include/constants/flags.h b/include/constants/flags.h index d90451ad7f..e9f9aa7705 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -109,10 +109,10 @@ #define FLAG_MET_TEAM_AQUA_HARBOR 0x61 #define FLAG_TV_EXPLAINED 0x62 #define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63 -#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 -#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 -#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 -#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 +#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused +#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 // +#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 // +#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 // #define FLAG_UNUSED_0x068 0x68 // Unused Flag @@ -925,7 +925,7 @@ #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7 #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8 #define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9 -#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE 0x3CA #define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB #define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC #define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD @@ -936,14 +936,14 @@ #define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2 #define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3 #define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4 -#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5 -#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6 +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE 0x3D5 +#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3D6 #define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7 #define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8 -#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9 -#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA -#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB -#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC +#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D9 +#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3DA +#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DB +#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DC #define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD #define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE #define FLAG_HIDE_ROUTE_101_BOY 0x3DF @@ -1549,7 +1549,7 @@ // Special Flags (Unknown) #define SPECIAL_FLAGS_START 0x4000 #define FLAG_HIDE_MAP_NAME_POPUP 0x4000 -#define FLAG_SPECIAL_FLAG_0x4001 0x4001 +#define FLAG_DONT_TRANSITION_MUSIC 0x4001 #define FLAG_SPECIAL_FLAG_0x4002 0x4002 #define FLAG_SPECIAL_FLAG_0x4003 0x4003 #define FLAG_SPECIAL_FLAG_0x4004 0x4004 diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 8fe95b464e..2f3ce5f711 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -68,13 +68,16 @@ #define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B #define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C -// gTileset_MossdeepGym -#define METATILE_MossdeepGym_Obelisk_Top 0x204 -#define METATILE_MossdeepGym_Obelisk_Base 0x20C -#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D -#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205 -#define METATILE_MossdeepGym_Empty0 0x238 -#define METATILE_MossdeepGym_Empty1 0x239 +// gTileset_MossdeepGym from R/S +#define METATILE_RS_MossdeepGym_RedArrow_Right 0x204 +#define METATILE_RS_MossdeepGym_RedArrow_Left 0x20C +#define METATILE_RS_MossdeepGym_RedArrow_Up 0x20D +#define METATILE_RS_MossdeepGym_RedArrow_Down 0x205 +#define METATILE_RS_MossdeepGym_Switch_Up 0x238 +#define METATILE_RS_MossdeepGym_Switch_Down 0x239 + +// gTileset_MossdeepGym from Emerald +#define METATILE_MossdeepGym_YellowArrow_Right 0x250 // gTileset_BrendansMaysHouse #define METATILE_BrendansMaysHouse_BrendanPC_Off 0x25A @@ -376,6 +379,7 @@ #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down 0x263 #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt 0x27B #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C +#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right 0x298 // gTileset_BikeShop #define METATILE_BikeShop_Barrier_Hidden_Top 0x269 diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h new file mode 100644 index 0000000000..213263b47c --- /dev/null +++ b/include/constants/party_menu.h @@ -0,0 +1,52 @@ +#ifndef GUARD_CONSTANTS_PARTY_MENU_H +#define GUARD_CONSTANTS_PARTY_MENU_H + +#define AILMENT_NONE 0 +#define AILMENT_PSN 1 +#define AILMENT_PRZ 2 +#define AILMENT_SLP 3 +#define AILMENT_FRZ 4 +#define AILMENT_BRN 5 +#define AILMENT_PKRS 6 +#define AILMENT_FNT 7 + +#define PARTY_CHOOSE_MON 0 +#define PARTY_MUST_CHOOSE_MON 1 +#define PARTY_CANT_SWITCH 2 +#define PARTY_USE_ITEM_ON 3 +#define PARTY_ABILITY_PREVENTS 4 +#define PARTY_GIVE_ITEM 5 + +#define TUTOR_MOVE_MEGA_PUNCH 0 +#define TUTOR_MOVE_SWORDS_DANCE 1 +#define TUTOR_MOVE_MEGA_KICK 2 +#define TUTOR_MOVE_BODY_SLAM 3 +#define TUTOR_MOVE_DOUBLE_EDGE 4 +#define TUTOR_MOVE_COUNTER 5 +#define TUTOR_MOVE_SEISMIC_TOSS 6 +#define TUTOR_MOVE_MIMIC 7 +#define TUTOR_MOVE_METRONOME 8 +#define TUTOR_MOVE_SOFT_BOILED 9 +#define TUTOR_MOVE_DREAM_EATER 10 +#define TUTOR_MOVE_THUNDER_WAVE 11 +#define TUTOR_MOVE_EXPLOSION 12 +#define TUTOR_MOVE_ROCK_SLIDE 13 +#define TUTOR_MOVE_SUBSTITUTE 14 +#define TUTOR_MOVE_DYNAMIC_PUNCH 15 +#define TUTOR_MOVE_ROLLOUT 16 +#define TUTOR_MOVE_PSYCH_UP 17 +#define TUTOR_MOVE_SNORE 18 +#define TUTOR_MOVE_ICY_WIND 19 +#define TUTOR_MOVE_ENDURE 20 +#define TUTOR_MOVE_MUD_SLAP 21 +#define TUTOR_MOVE_ICE_PUNCH 22 +#define TUTOR_MOVE_SWAGGER 23 +#define TUTOR_MOVE_SLEEP_TALK 24 +#define TUTOR_MOVE_SWIFT 25 +#define TUTOR_MOVE_DEFENSE_CURL 26 +#define TUTOR_MOVE_THUNDER_PUNCH 27 +#define TUTOR_MOVE_FIRE_PUNCH 28 +#define TUTOR_MOVE_FURY_CUTTER 29 +#define TUTOR_MOVE_COUNT 30 + +#endif // GUARD_CONSTANTS_PARTY_MENU_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index cecea07bee..b0a975c346 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -207,6 +207,7 @@ #define MON_DATA_SPATK2 87 #define MON_DATA_SPDEF2 88 +#define MIN_LEVEL 1 #define MAX_LEVEL 100 #define OT_ID_PLAYER_ID 0 diff --git a/include/constants/trade.h b/include/constants/trade.h new file mode 100644 index 0000000000..4fb8966d0c --- /dev/null +++ b/include/constants/trade.h @@ -0,0 +1,116 @@ +#ifndef GUARD_CONSTANTS_TRADE_H +#define GUARD_CONSTANTS_TRADE_H + +#define TRADE_PLAYER 0 +#define TRADE_PARTNER 1 + +#define LINK_TRADE_TIMEOUT 300 + +// In-game Trade IDs +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 + +// Flag IDs for sending link data +#define INITIATE_TRADE 1 +#define CANCEL_TRADE 2 +#define WANTS_TO_TRADE 1 +#define WANTS_TO_CANCEL 2 +#define READY_FINISH_TRADE 1 +#define FINISH_TRADE 2 + +// Return values for CanTradeSelectedMon and CanTradeSelectedPartyMenuMon +#define CAN_TRADE_MON 0 +#define CANT_TRADE_LAST_MON 1 +#define CANT_TRADE_NATIONAL 2 +#define CANT_TRADE_EGG 3 +#define CANT_TRADE_INVALID_MON 4 +#define CANT_TRADE_EGG2 5 + +// Return values for CheckValidityOfTradeMons +#define PLAYER_MON_INVALID 0 +#define BOTH_MONS_VALID 1 +#define PARTNER_MON_INVALID 2 + +// Return values for GetGameProgressForLinkTrade +#define TRADE_BOTH_PLAYERS_READY 0 +#define TRADE_PLAYER_NOT_READY 1 +#define TRADE_PARTNER_NOT_READY 2 + +// Indexes for sTradeActionTexts +#define TRADE_TEXT_CANCEL 0 +#define TRADE_TEXT_CHOOSE_MON 1 +#define TRADE_TEXT_SUMMARY 2 +#define TRADE_TEXT_TRADE 3 +#define TRADE_TEXT_CANCEL_TRADE 4 +#define TRADE_TEXT_JP_QUIT 5 + +// Checked to confirm DrawTradeMenuParty has reached final state +#define DRAW_PARTY_FINISH 5 + +// Message indexes for sTradeMessages +#define TRADE_MSG_STANDBY 0 +#define TRADE_MSG_CANCELED 1 +#define TRADE_MSG_ONLY_MON1 2 +#define TRADE_MSG_ONLY_MON2 3 +#define TRADE_MSG_WAITING_FOR_FRIEND 4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 +#define TRADE_MSG_MON_CANT_BE_TRADED 6 +#define TRADE_MSG_EGG_CANT_BE_TRADED 7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 + +// IDs for QueueAction +#define QUEUE_SEND_DATA 0 +#define QUEUE_STANDBY 1 +#define QUEUE_ONLY_MON1 2 +#define QUEUE_ONLY_MON2 3 +#define QUEUE_UNUSED1 4 +#define QUEUE_UNUSED2 5 +#define QUEUE_MON_CANT_BE_TRADED 6 +#define QUEUE_EGG_CANT_BE_TRADED 7 +#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8 + +#define QUEUE_DELAY_MSG 3 +#define QUEUE_DELAY_DATA 5 + +// IDs for CallTradeMenuFunc +#define TRADEMENUFUNC_MAIN_MENU 0 +#define TRADEMENUFUNC_SELECTED_MON 1 +#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2 +#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3 +#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4 +#define TRADEMENUFUNC_UNUSED_5 5 +#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6 +#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7 +#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8 +#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10 +#define TRADEMENUFUNC_CANCEL_TRADE_1 11 +#define TRADEMENUFUNC_CANCEL_TRADE_2 12 +#define TRADEMENUFUNC_START_LINK_TRADE 13 +#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14 +#define TRADEMENUFUNC_UNUSED_15 15 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16 +#define TRADEMENUFUNC_PARTNER_MON_INVALID 17 +#define TRADEMENUFUNC_STANDBY 100 + +// Message indexes for sUnionRoomTradeMessages +#define UR_TRADE_MSG_NONE 0 +#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 +#define UR_TRADE_MSG_NOT_EGG 2 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 +#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 +#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 + +// Return values for CanRegisterMonForTradingBoard +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON 1 +#define CANT_REGISTER_EGG 2 + + +#endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index 4aae1dbbc8..cab56a5ace 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -11,7 +11,7 @@ #define TRAINER_HILL_FUNC_7 7 #define TRAINER_HILL_FUNC_8 8 #define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_10 10 +#define TRAINER_HILL_FUNC_IS_IN 10 #define TRAINER_HILL_FUNC_11 11 #define TRAINER_HILL_FUNC_12 12 #define TRAINER_HILL_FUNC_13 13 diff --git a/include/constants/tv.h b/include/constants/tv.h new file mode 100644 index 0000000000..c22bec9a3b --- /dev/null +++ b/include/constants/tv.h @@ -0,0 +1,46 @@ +#ifndef GUARD_CONSTANTS_TV_H +#define GUARD_CONSTANTS_TV_H + +#define POKENEWS_NONE 0 +#define POKENEWS_SLATEPORT 1 +#define POKENEWS_GAME_CORNER 2 +#define POKENEWS_LILYCOVE 3 +#define POKENEWS_BLENDMASTER 4 + +#define TVSHOW_OFF_AIR 0 +#define TVSHOW_FAN_CLUB_LETTER 1 +#define TVSHOW_RECENT_HAPPENINGS 2 +#define TVSHOW_PKMN_FAN_CLUB_OPINIONS 3 +#define TVSHOW_UNKN_SHOWTYPE_04 4 +#define TVSHOW_NAME_RATER_SHOW 5 +#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE 6 +#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE 7 +#define TVSHOW_CONTEST_LIVE_UPDATES 8 +#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9 +#define TVSHOW_BATTLE_UPDATE 10 +#define TVSHOW_FAN_CLUB_SPECIAL 11 +#define TVSHOW_CONTEST_LIVE_UPDATES_2 12 +// // +#define TVSHOW_POKEMON_TODAY_CAUGHT 21 +#define TVSHOW_SMART_SHOPPER 22 +#define TVSHOW_POKEMON_TODAY_FAILED 23 +#define TVSHOW_FISHING_ADVICE 24 +#define TVSHOW_WORLD_OF_MASTERS 25 +#define TVSHOW_TODAYS_RIVAL_TRAINER 26 +#define TVSHOW_TREND_WATCHER 27 +#define TVSHOW_TREASURE_INVESTIGATORS 28 +#define TVSHOW_FIND_THAT_GAMER 29 +#define TVSHOW_BREAKING_NEWS 30 +#define TVSHOW_SECRET_BASE_VISIT 31 +#define TVSHOW_LOTTO_WINNER 32 +#define TVSHOW_BATTLE_SEMINAR 33 +#define TVSHOW_TRAINER_FAN_CLUB 34 +#define TVSHOW_CUTIES 35 +#define TVSHOW_FRONTIER 36 +#define TVSHOW_NUMBER_ONE 37 +#define TVSHOW_SECRET_BASE_SECRETS 38 +#define TVSHOW_SAFARI_FAN_CLUB 39 +// // +#define TVSHOW_MASS_OUTBREAK 41 + +#endif //GUARD_CONSTANTS_TV_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 72b15654ea..f9bfb2ad58 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -77,7 +77,7 @@ #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero. +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing #define VAR_DAYS 0x4040 #define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_UNKNOWN_2 0x4042 @@ -147,7 +147,7 @@ #define VAR_LITTLEROOT_HOUSES_STATE 0x4082 #define VAR_UNUSED_0x4083 0x4083 // Unused Var #define VAR_BIRCH_LAB_STATE 0x4084 -#define VAR_PETALBURG_GYM_STATE 0x4085 +#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman #define VAR_LINK_CONTEST_ROOM_STATE 0x4086 #define VAR_CABLE_CLUB_STATE 0x4087 #define VAR_CONTEST_LOCATION 0x4088 diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index 55e8fa8808..9995decc24 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -2,7 +2,7 @@ #define GUARD_DODRIO_BERRY_PICKING_H void sub_802493C(u16 a0, void (*callback)(void)); -void sub_8027A5C(void); -void sub_8027AAC(void); +void IsDodrioInParty(void); +void ShowDodrioBerryPickingRecords(void); #endif // GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/event_scripts.h b/include/event_scripts.h index 02265413ef..a0190ea9e1 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -548,17 +548,17 @@ extern const u8 EventScript_UseDive[]; extern const u8 EventScript_UseDiveUnderwater[]; extern const u8 EventScript_FallDownHole[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[]; -extern const u8 EventScript_Poison[]; +extern const u8 EventScript_FieldPoison[]; extern const u8 EventScript_EggHatch[]; extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[]; extern const u8 IslandCave_EventScript_238EAF[]; extern const u8 MauvilleCity_EventScript_1DF7BA[]; extern const u8 Route119_EventScript_1F49EC[]; extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[]; -extern const u8 RustboroCity_Gym_EventScript_21307B[]; +extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[]; extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[]; extern const u8 SSTidalCorridor_EventScript_23C050[]; -extern const u8 gUnknown_082A8350[]; +extern const u8 EventScript_FallDownHoleMtPyre[]; // Secret Base extern const u8 SecretBase_EventScript_PC[]; diff --git a/include/field_poison.h b/include/field_poison.h index a23a93ca5a..e9de7878e2 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -7,13 +7,7 @@ // Exported ROM declarations -enum { - FLDPSN_NONE, - FLDPSN_PSN, - FLDPSN_FNT -}; - -void ExecuteWhiteOut(void); +void TryFieldPoisonWhiteOut(void); s32 DoPoisonFieldEffect(void); #endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index a62a76b2ad..af594611eb 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -28,12 +28,12 @@ void sub_80AF80C(u8 metatileBehavior); void sub_80AF828(void); void sub_80AF838(void); void sub_80AF848(void); -void sub_80AF87C(void); +void DoMossdeepGymWarp(void); void sub_80AF8B8(void); void sub_80AF948(void); void sub_80AF9F8(void); void sub_80AFC60(void); -void sub_80B009C(u8 flashLevel); +void AnimateFlash(u8 flashLevel); void WriteBattlePyramidViewScanlineEffectBuffer(void); void sub_80B0244(void); void sub_80B0268(void); diff --git a/include/global.tv.h b/include/global.tv.h index 1cef057ae3..34791d43c9 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -1,45 +1,6 @@ #ifndef GUARD_GLOBAL_TV_H #define GUARD_GLOBAL_TV_H -enum -{ - TVSHOW_OFF_AIR, - TVSHOW_FAN_CLUB_LETTER, - TVSHOW_RECENT_HAPPENINGS, - TVSHOW_PKMN_FAN_CLUB_OPINIONS, - TVSHOW_UNKN_SHOWTYPE_04, - TVSHOW_NAME_RATER_SHOW, - TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE, - TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE, - TVSHOW_CONTEST_LIVE_UPDATES, - TVSHOW_3_CHEERS_FOR_POKEBLOCKS, - TVSHOW_BATTLE_UPDATE, - TVSHOW_FAN_CLUB_SPECIAL, - TVSHOW_CONTEST_LIVE_UPDATES_2, - - TVSHOW_POKEMON_TODAY_CAUGHT = 21, - TVSHOW_SMART_SHOPPER, - TVSHOW_POKEMON_TODAY_FAILED, - TVSHOW_FISHING_ADVICE, - TVSHOW_WORLD_OF_MASTERS, - TVSHOW_TODAYS_RIVAL_TRAINER, - TVSHOW_TREND_WATCHER, - TVSHOW_TREASURE_INVESTIGATORS, - TVSHOW_FIND_THAT_GAMER, - TVSHOW_BREAKING_NEWS, - TVSHOW_SECRET_BASE_VISIT, - TVSHOW_LOTTO_WINNER, - TVSHOW_BATTLE_SEMINAR, - TVSHOW_TRAINER_FAN_CLUB, - TVSHOW_CUTIES, - TVSHOW_FRONTIER, - TVSHOW_NUMBER_ONE, - TVSHOW_SECRET_BASE_SECRETS, - TVSHOW_SAFARI_FAN_CLUB, - - TVSHOW_MASS_OUTBREAK = 41, -}; - typedef union // size = 0x24 { // Common @@ -495,14 +456,6 @@ typedef union // size = 0x24 } massOutbreak; } TVShow; -enum { - POKENEWS_NONE, - POKENEWS_SLATEPORT, - POKENEWS_GAME_CORNER, - POKENEWS_LILYCOVE, - POKENEWS_BLENDMASTER -}; - typedef struct // 2b50 { u8 kind; diff --git a/include/graphics.h b/include/graphics.h index 3ae9c5b6d9..c3e715ea4e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4905,13 +4905,13 @@ extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; // Trade -extern const u16 gUnknown_08DDB3E4[]; -extern const u8 gUnknown_08DDB464[]; +extern const u16 gTradeMenu_Pal[]; +extern const u8 gTradeMenu_Gfx[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; -extern const u16 gUnknown_08DDD704[]; -extern const u8 gUnknown_08DDC6E4[]; +extern const u16 gTradeMenuMonBox_Tilemap[]; +extern const u8 gTradeButtons_Gfx[]; extern const u16 gUnknown_08DDB444[]; // Party menu diff --git a/include/librfu.h b/include/librfu.h index 38c8198355..55b5d264cc 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -76,10 +76,10 @@ struct UnkLinkRfuStruct_02022B14Substruct u16 unk_00_4:1; u16 unk_00_5:1; u16 unk_00_6:1; - u16 unk_00_7:1; - u16 unk_01_0:1; - u16 unk_01_1:1; - u16 unk_01_2:4; + u16 isChampion:1; + u16 hasNationalDex:1; + u16 gameClear:1; // never read, redundant with isChampion + u16 unk_01_2:4; // always 3? u16 unk_01_6:2; u8 playerTrainerId[2]; }; @@ -93,7 +93,7 @@ struct __attribute__((packed, aligned(2))) UnkLinkRfuStruct_02022B14 u8 unk_0a_0:7; u8 unk_0a_7:1; u8 playerGender:1; - u8 unk_0b_1:7; + u8 level:7; u8 unk_0c; }; diff --git a/include/link.h b/include/link.h index c140840666..499405fc1a 100644 --- a/include/link.h +++ b/include/link.h @@ -48,20 +48,52 @@ #define EXTRACT_LINK_ERRORS(status) \ (((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) -#define LINKCMD_SEND_LINK_TYPE 0x2222 -#define LINKCMD_0x2FFE 0x2FFE -#define LINKCMD_SEND_HELD_KEYS 0x4444 -#define LINKCMD_0x5555 0x5555 -#define LINKCMD_0x5566 0x5566 -#define LINKCMD_0x5FFF 0x5FFF -#define LINKCMD_0x6666 0x6666 -#define LINKCMD_0x7777 0x7777 -#define LINKCMD_CONT_BLOCK 0x8888 -#define LINKCMD_0xAAAA 0xAAAA -#define LINKCMD_0xAAAB 0xAAAB -#define LINKCMD_INIT_BLOCK 0xBBBB -#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE -#define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_SEND_LINK_TYPE 0x2222 +#define LINKCMD_0x2FFE 0x2FFE +#define LINKCMD_SEND_HELD_KEYS 0x4444 +#define LINKCMD_0x5555 0x5555 +#define LINKCMD_0x5566 0x5566 +#define LINKCMD_0x5FFF 0x5FFF +#define LINKCMD_0x6666 0x6666 +#define LINKCMD_0x7777 0x7777 +#define LINKCMD_CONT_BLOCK 0x8888 +#define LINKCMD_0xAAAA 0xAAAA +#define LINKCMD_0xAAAB 0xAAAB +#define LINKCMD_READY_TO_TRADE 0xAABB +#define LINKCMD_READY_FINISH_TRADE 0xABCD +#define LINKCMD_INIT_BLOCK 0xBBBB +#define LINKCMD_READY_CANCEL_TRADE 0xBBCC +#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE +#define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_START_TRADE 0xCCDD +#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA +#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD +#define LINKCMD_0xDDEE 0xDDEE +#define LINKCMD_REQUEST_CANCEL 0xEEAA +#define LINKCMD_CANCEL_TRADE 0xEEBB +#define LINKCMD_0xEECC 0xEECC + +#define LINKTYPE_0x1111 0x1111 // trade +#define LINKTYPE_0x1122 0x1122 // trade +#define LINKTYPE_0x1133 0x1133 // trade +#define LINKTYPE_0x1144 0x1144 // trade +#define LINKTYPE_BATTLE 0x2211 +#define LINKTYPE_0x2222 0x2222 // unused battle? +#define LINKTYPE_SINGLE_BATTLE 0x2233 +#define LINKTYPE_DOUBLE_BATTLE 0x2244 +#define LINKTYPE_MULTI_BATTLE 0x2255 +#define LINKTYPE_BATTLE_TOWER_50 0x2266 +#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277 +#define LINKTYPE_0x2288 0x2288 // battle? +#define LINKTYPE_0x3311 0x3311 +#define LINKTYPE_0x3322 0x3322 +#define LINKTYPE_0x4411 0x4411 +#define LINKTYPE_BERRY_BLENDER 0x4422 +#define LINKTYPE_0x5501 0x5501 // mystery event +#define LINKTYPE_0x5502 0x5502 // unused? +#define LINKTYPE_0x5503 0x5503 // eReader +#define LINKTYPE_0x6601 0x6601 +#define LINKTYPE_0x6602 0x6602 struct LinkStatus { @@ -95,8 +127,8 @@ enum EXCHANGE_COMPLETE, EXCHANGE_TIMED_OUT, EXCHANGE_IN_PROGRESS, - EXCHANGE_STAT_4, - EXCHANGE_STAT_5, + EXCHANGE_PLAYER_NOT_READY, + EXCHANGE_PARTNER_NOT_READY, EXCHANGE_STAT_6, EXCHANGE_STAT_7 }; @@ -120,7 +152,10 @@ struct LinkPlayer /* 0x00 */ u16 version; /* 0x02 */ u16 lp_field_2; /* 0x04 */ u32 trainerId; - /* 0x08 */ u8 name[11]; + /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1]; + /* 0x10 */ u8 progressFlags; // (& 0x0F) is hasNationalDex, (& 0xF0) is hasClearedGame + /* 0x11 */ u8 neverRead; + /* 0x12 */ u8 progressFlagsCopy; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; /* 0x18 */ u16 id; // battler id in battles diff --git a/include/link_rfu.h b/include/link_rfu.h index d6e1009e1a..533e515c5f 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -128,7 +128,7 @@ struct UnkRfuStruct_Sub_Unused struct UnkRfuStruct_2 { - /* 0x000 */ void (*unk_00)(void); + /* 0x000 */ void (*linkRfuCallback)(void); /* 0x004 */ u16 unk_04; /* 0x006 */ u8 filler_06[4]; /* 0x00a */ u16 unk_0a; @@ -224,11 +224,11 @@ void sub_800F804(void); void sub_800F850(void); u8 sub_800FCD8(void); bool32 sub_800FE84(const u8 *src, size_t size); -void Rfu_set_zero(void); +void ClearLinkRfuCallback(void); u8 sub_80104F4(void); u8 rfu_get_multiplayer_id(void); bool8 sub_8010100(u8 a0); -bool8 sub_8010500(void); +bool8 IsLinkRfuTaskFinished(void); bool8 Rfu_IsMaster(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void); void sub_8010434(void); diff --git a/include/mossdeep_gym.h b/include/mossdeep_gym.h deleted file mode 100644 index c167300947..0000000000 --- a/include/mossdeep_gym.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef GUARD_MOSSDEEP_GYM_H -#define GUARD_MOSSDEEP_GYM_H - -void InitMossdeepGymTiles(bool8 arg0); -void FinishMossdeepGymTiles(void); -u16 MossdeepGym_MoveEvents(u8 arg0); -void MossdeepGym_TurnEvents(void); - -#endif // GUARD_MOSSDEEP_GYM_H diff --git a/include/party_menu.h b/include/party_menu.h index d76e507885..a26cdb4cd3 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -4,62 +4,7 @@ #include "main.h" #include "task.h" -enum -{ - AILMENT_NONE, - AILMENT_PSN, - AILMENT_PRZ, - AILMENT_SLP, - AILMENT_FRZ, - AILMENT_BRN, - AILMENT_PKRS, - AILMENT_FNT -}; - -enum -{ - PARTY_CHOOSE_MON, - PARTY_MUST_CHOOSE_MON, - PARTY_CANT_SWITCH, - PARTY_USE_ITEM_ON, - PARTY_ABILITY_PREVENTS, - PARTY_GIVE_ITEM, -}; - -enum -{ - TUTOR_MOVE_MEGA_PUNCH, - TUTOR_MOVE_SWORDS_DANCE, - TUTOR_MOVE_MEGA_KICK, - TUTOR_MOVE_BODY_SLAM, - TUTOR_MOVE_DOUBLE_EDGE, - TUTOR_MOVE_COUNTER, - TUTOR_MOVE_SEISMIC_TOSS, - TUTOR_MOVE_MIMIC, - TUTOR_MOVE_METRONOME, - TUTOR_MOVE_SOFT_BOILED, - TUTOR_MOVE_DREAM_EATER, - TUTOR_MOVE_THUNDER_WAVE, - TUTOR_MOVE_EXPLOSION, - TUTOR_MOVE_ROCK_SLIDE, - TUTOR_MOVE_SUBSTITUTE, - TUTOR_MOVE_DYNAMIC_PUNCH, - TUTOR_MOVE_ROLLOUT, - TUTOR_MOVE_PSYCH_UP, - TUTOR_MOVE_SNORE, - TUTOR_MOVE_ICY_WIND, - TUTOR_MOVE_ENDURE, - TUTOR_MOVE_MUD_SLAP, - TUTOR_MOVE_ICE_PUNCH, - TUTOR_MOVE_SWAGGER, - TUTOR_MOVE_SLEEP_TALK, - TUTOR_MOVE_SWIFT, - TUTOR_MOVE_DEFENSE_CURL, - TUTOR_MOVE_THUNDER_PUNCH, - TUTOR_MOVE_FIRE_PUNCH, - TUTOR_MOVE_FURY_CUTTER, - TUTOR_MOVE_COUNT -}; +#include "constants/party_menu.h" struct Struct203CEC8 { @@ -93,17 +38,17 @@ u8 GetCursorSelectionMonId(void); u8 sub_81B1360(void); void sub_81B1370(u8 taskId); u8* GetMonNickname(struct Pokemon *mon, u8 *dest); -u8 sub_81B1B5C(const u8* str, u8 b); +u8 DisplayPartyMenuMessage(const u8* str, u8 b); bool8 sub_81B1BD4(void); void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); u8 pokemon_ailments_get_primary(u32 status); u8 GetMonAilment(struct Pokemon *mon); -void display_pokemon_menu_message(u32 stringID); +void DisplayPartyMenuStdMessage(u32 stringID); void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); void sub_81B58A8(void); void LoadHeldItemIcons(void); -void sub_81B5D4C(u8 *a, u8 *b, u8 c); +void DrawHeldItemIconsForTrade(u8 *a, u8 *b, u8 c); void sub_81B617C(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc task); void sub_81B67C8(u8 taskId, TaskFunc task); @@ -123,8 +68,9 @@ void sub_81B8448(void); void InitChooseHalfPartyForBattle(u8 unused); void sub_81B8558(void); void sub_81B8904(u8 initArg, MainCallback callback); -void sub_81B892C(void); -void sub_81B8958(void); +void OpenPartyMenuForMoveTutor(void); +void ChooseMonForWirelessMinigame(void); +void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInBattle(u8 arg); void sub_81B89F0(void); void sub_81B8C68(void); diff --git a/include/pokeball.h b/include/pokeball.h index 8e1d8b8ecb..12b9b1eff8 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -25,7 +25,7 @@ extern const struct SpriteTemplate gBallSpriteTemplates[]; u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); -u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); +u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); void sub_8076918(u8 battler); void DoHitAnimHealthboxEffect(u8 battler); void LoadBallGfx(u8 ballId); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 8af43c7535..5018de37c9 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -21,8 +21,8 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); -void sub_80D3014(struct Sprite *sprite); -void sub_80D32C8(struct Sprite *sprite, u8 animNum); +void UpdateTradeMonIconFrame(struct Sprite *sprite); +void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 28b19f9b14..dde59aac5a 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -4,10 +4,10 @@ #include "main.h" void sub_802A9A8(u16 monId, MainCallback callback); -bool32 sub_802C908(u16 species); -void sub_802C920(void); +bool32 IsSpeciesAllowedInPokemonJump(u16 species); +void IsPokemonJumpSpeciesInParty(void); void ResetPokeJumpResults(void); -void sub_802E3C4(void); +void ShowPokemonJumpRecords(void); void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority); bool32 sub_802EB84(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4c319e59d0..7b6a386780 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -25,7 +25,7 @@ struct PokemonStorage extern struct PokemonStorage *gPokemonStoragePtr; -void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4); +void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 bytesToBuffer); u8 CountMonsInBox(u8 boxId); s16 GetFirstFreeBoxSpot(u8 boxId); u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); diff --git a/include/rotating_tile_puzzle.h b/include/rotating_tile_puzzle.h new file mode 100644 index 0000000000..8c6ab79441 --- /dev/null +++ b/include/rotating_tile_puzzle.h @@ -0,0 +1,9 @@ +#ifndef GUARD_ROTATING_TILE_PUZZLE_H +#define GUARD_ROTATING_TILE_PUZZLE_H + +void InitRotatingTilePuzzle(bool8 isTrickHouse); +void FreeRotatingTilePuzzle(void); +u16 MoveRotatingTileObjects(u8 puzzleNumber); +void TurnRotatingTileObjects(void); + +#endif // GUARD_ROTATING_TILE_PUZZLE_H diff --git a/include/trade.h b/include/trade.h index 0c95e1e81f..42bfc14827 100644 --- a/include/trade.h +++ b/include/trade.h @@ -2,25 +2,26 @@ #define GUARD_TRADE_H #include "link_rfu.h" +#include "constants/trade.h" // Exported type declarations // Exported RAM declarations -extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; -extern u8 gUnknown_02032298[2]; +extern struct MailStruct gTradeMail[PARTY_SIZE]; +extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations -extern const struct WindowTemplate gUnknown_0833900C; +extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; -s32 sub_807A728(void); -void sub_80773AC(void); -void sub_807AE50(void); -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); -int sub_807A918(struct Pokemon*, u16); -void sub_807B140(void); -void sub_807B154(void); -void sub_807F19C(void); -void sub_807F1A8(u8, const u8 *, u8); +s32 GetGameProgressForLinkTrade(void); +void CB2_StartCreateTradeMenu(void); +void CB2_LinkTrade(void); +int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); +int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); +int CanTradeSelectedPartyMenuMon(struct Pokemon*, u16); +void InitTradeSequenceBgGpuRegs(void); +void LinkTradeDrawWindow(void); +void InitTradeBg(void); +void DrawTextOnTradeWindow(u8, const u8 *, u8); #endif //GUARD_TRADE_H diff --git a/include/trainer_hill.h b/include/trainer_hill.h index 31480287a5..a592ef5802 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -57,7 +57,7 @@ u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); void InitTrainerHillBattleStruct(void); void FreeTrainerHillBattleStruct(void); void CopyTrainerHillTrainerText(u8 which, u16 trainerId); -bool8 sub_81D5C18(void); +bool8 InTrainerHillChallenge(void); void nullsub_129(void); void PrintOnTrainerHillRecordsWindow(void); void sub_81D5DF8(void); diff --git a/include/union_room.h b/include/union_room.h index facc63986d..54f09cbeb0 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -135,7 +135,7 @@ union UnkUnion_Main struct UnkStruct_URoom *uRoom; }; -struct TradeUnkStruct +struct UnionRoomTrade { u16 field_0; u16 type; @@ -156,8 +156,8 @@ extern u8 gUnknown_02022C2C; extern union UnkUnion_Main gUnknown_02022C30; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; -extern u16 gUnknown_02022C3C; -extern u8 gUnknown_02022C3E; +extern u16 gUnionRoomOfferedSpecies; +extern u8 gUnionRoomRequestedMonType; // Exported ROM declarations diff --git a/ld_script.txt b/ld_script.txt index 57de2e2c50..50bb61b2ad 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -288,7 +288,7 @@ SECTIONS { src/battle_arena.o(.text); src/battle_factory.o(.text); src/battle_pike.o(.text); - src/mossdeep_gym.o(.text); + src/rotating_tile_puzzle.o(.text); src/battle_pyramid.o(.text); src/item_menu.o(.text); src/list_menu.o(.text); @@ -646,8 +646,8 @@ SECTIONS { src/battle_arena.o(.rodata); src/battle_factory.o(.rodata); src/battle_pike.o(.rodata); - src/mossdeep_gym.o(.rodata); - data/mossdeep_gym.o(.rodata); + src/rotating_tile_puzzle.o(.rodata); + data/rotating_tile_puzzle.o(.rodata); src/battle_pyramid.o(.rodata); src/item_menu.o(.rodata); src/list_menu.o(.rodata); diff --git a/sound/songs/midi/mus_battle20.mid b/sound/songs/midi/mus_battle20.mid index a7140d9844..531b5fba12 100644 Binary files a/sound/songs/midi/mus_battle20.mid and b/sound/songs/midi/mus_battle20.mid differ diff --git a/sound/songs/midi/mus_battle32.mid b/sound/songs/midi/mus_battle32.mid index a52fc6b37a..0b7c49bd76 100644 Binary files a/sound/songs/midi/mus_battle32.mid and b/sound/songs/midi/mus_battle32.mid differ diff --git a/sound/songs/midi/mus_fanfa5.mid b/sound/songs/midi/mus_fanfa5.mid index 7232c57ab2..8c94f1178b 100644 Binary files a/sound/songs/midi/mus_fanfa5.mid and b/sound/songs/midi/mus_fanfa5.mid differ diff --git a/sound/songs/midi/mus_me_b_big.mid b/sound/songs/midi/mus_me_b_big.mid index eda461fd35..150a669b46 100644 Binary files a/sound/songs/midi/mus_me_b_big.mid and b/sound/songs/midi/mus_me_b_big.mid differ diff --git a/sound/songs/midi/mus_me_b_small.mid b/sound/songs/midi/mus_me_b_small.mid index a51f48ed41..bf7aa33bee 100644 Binary files a/sound/songs/midi/mus_me_b_small.mid and b/sound/songs/midi/mus_me_b_small.mid differ diff --git a/sound/songs/midi/mus_me_bachi.mid b/sound/songs/midi/mus_me_bachi.mid index 27b97f09c9..05fe1516a2 100644 Binary files a/sound/songs/midi/mus_me_bachi.mid and b/sound/songs/midi/mus_me_bachi.mid differ diff --git a/sound/songs/midi/mus_me_kinomi.mid b/sound/songs/midi/mus_me_kinomi.mid index 30fbd36074..e7eb4afd11 100644 Binary files a/sound/songs/midi/mus_me_kinomi.mid and b/sound/songs/midi/mus_me_kinomi.mid differ diff --git a/sound/songs/midi/mus_me_shinka.mid b/sound/songs/midi/mus_me_shinka.mid index 81cd5d041b..231f255331 100644 Binary files a/sound/songs/midi/mus_me_shinka.mid and b/sound/songs/midi/mus_me_shinka.mid differ diff --git a/sound/songs/midi/mus_me_waza.mid b/sound/songs/midi/mus_me_waza.mid index ac132f5ffd..40f9c2ed8d 100644 Binary files a/sound/songs/midi/mus_me_waza.mid and b/sound/songs/midi/mus_me_waza.mid differ diff --git a/sound/songs/midi/mus_p_school.mid b/sound/songs/midi/mus_p_school.mid index 55651dea57..4e6fd33407 100644 Binary files a/sound/songs/midi/mus_p_school.mid and b/sound/songs/midi/mus_p_school.mid differ diff --git a/sound/songs/midi/mus_shinka.mid b/sound/songs/midi/mus_shinka.mid index de8b2ab912..375e6d5dbf 100644 Binary files a/sound/songs/midi/mus_shinka.mid and b/sound/songs/midi/mus_shinka.mid differ diff --git a/src/battle_anim.c b/src/battle_anim.c index d550e5f220..ec38f39854 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -114,7 +114,7 @@ EWRAM_DATA u8 gBattleAnimTarget = 0; EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gUnknown_02038440 = 0; -const struct OamData gUnknown_08524904 = +const struct OamData gOamData_AffineOff_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -129,7 +129,7 @@ const struct OamData gUnknown_08524904 = }; -const struct OamData gUnknown_0852490C = +const struct OamData gOamData_AffineOff_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -143,7 +143,7 @@ const struct OamData gUnknown_0852490C = .paletteNum = 0, }; -const struct OamData gUnknown_08524914 = +const struct OamData gOamData_AffineOff_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -157,7 +157,7 @@ const struct OamData gUnknown_08524914 = .paletteNum = 0, }; -const struct OamData gUnknown_0852491C = +const struct OamData gOamData_AffineOff_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -171,7 +171,7 @@ const struct OamData gUnknown_0852491C = .paletteNum = 0, }; -const struct OamData gUnknown_08524924 = +const struct OamData gOamData_AffineOff_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -185,7 +185,7 @@ const struct OamData gUnknown_08524924 = .paletteNum = 0, }; -const struct OamData gUnknown_0852492C = +const struct OamData gOamData_AffineOff_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -199,7 +199,7 @@ const struct OamData gUnknown_0852492C = .paletteNum = 0, }; -const struct OamData gUnknown_08524934 = +const struct OamData gOamData_AffineOff_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -213,7 +213,7 @@ const struct OamData gUnknown_08524934 = .paletteNum = 0, }; -const struct OamData gUnknown_0852493C = +const struct OamData gOamData_AffineOff_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -227,7 +227,7 @@ const struct OamData gUnknown_0852493C = .paletteNum = 0, }; -const struct OamData gUnknown_08524944 = +const struct OamData gOamData_AffineOff_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -241,7 +241,7 @@ const struct OamData gUnknown_08524944 = .paletteNum = 0, }; -const struct OamData gUnknown_0852494C = +const struct OamData gOamData_AffineOff_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -255,7 +255,7 @@ const struct OamData gUnknown_0852494C = .paletteNum = 0, }; -const struct OamData gUnknown_08524954 = +const struct OamData gOamData_AffineOff_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -269,7 +269,7 @@ const struct OamData gUnknown_08524954 = .paletteNum = 0, }; -const struct OamData gUnknown_0852495C = +const struct OamData gOamData_AffineOff_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -283,7 +283,7 @@ const struct OamData gUnknown_0852495C = .paletteNum = 0, }; -const struct OamData gUnknown_08524964 = +const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -297,7 +297,7 @@ const struct OamData gUnknown_08524964 = .paletteNum = 0, }; -const struct OamData gUnknown_0852496C = +const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -311,7 +311,7 @@ const struct OamData gUnknown_0852496C = .paletteNum = 0, }; -const struct OamData gUnknown_08524974 = +const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -325,7 +325,7 @@ const struct OamData gUnknown_08524974 = .paletteNum = 0, }; -const struct OamData gUnknown_0852497C = +const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -339,7 +339,7 @@ const struct OamData gUnknown_0852497C = .paletteNum = 0, }; -const struct OamData gUnknown_08524984 = +const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -353,7 +353,7 @@ const struct OamData gUnknown_08524984 = .paletteNum = 0, }; -const struct OamData gUnknown_0852498C = +const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -367,7 +367,7 @@ const struct OamData gUnknown_0852498C = .paletteNum = 0, }; -const struct OamData gUnknown_08524994 = +const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -381,7 +381,7 @@ const struct OamData gUnknown_08524994 = .paletteNum = 0, }; -const struct OamData gUnknown_0852499C = +const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -395,7 +395,7 @@ const struct OamData gUnknown_0852499C = .paletteNum = 0, }; -const struct OamData gUnknown_085249A4 = +const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -409,7 +409,7 @@ const struct OamData gUnknown_085249A4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249AC = +const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -423,7 +423,7 @@ const struct OamData gUnknown_085249AC = .paletteNum = 0, }; -const struct OamData gUnknown_085249B4 = +const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -437,7 +437,7 @@ const struct OamData gUnknown_085249B4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249BC = +const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -451,7 +451,7 @@ const struct OamData gUnknown_085249BC = .paletteNum = 0, }; -const struct OamData gUnknown_085249C4 = +const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -465,7 +465,7 @@ const struct OamData gUnknown_085249C4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249CC = +const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -479,7 +479,7 @@ const struct OamData gUnknown_085249CC = .paletteNum = 0, }; -const struct OamData gUnknown_085249D4 = +const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -493,7 +493,7 @@ const struct OamData gUnknown_085249D4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249DC = +const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -507,7 +507,7 @@ const struct OamData gUnknown_085249DC = .paletteNum = 0, }; -const struct OamData gUnknown_085249E4 = +const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -521,7 +521,7 @@ const struct OamData gUnknown_085249E4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249EC = +const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -535,7 +535,7 @@ const struct OamData gUnknown_085249EC = .paletteNum = 0, }; -const struct OamData gUnknown_085249F4 = +const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -549,7 +549,7 @@ const struct OamData gUnknown_085249F4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249FC = +const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -563,7 +563,7 @@ const struct OamData gUnknown_085249FC = .paletteNum = 0, }; -const struct OamData gUnknown_08524A04 = +const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -577,7 +577,7 @@ const struct OamData gUnknown_08524A04 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A0C = +const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -591,7 +591,7 @@ const struct OamData gUnknown_08524A0C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A14 = +const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -605,7 +605,7 @@ const struct OamData gUnknown_08524A14 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A1C = +const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -619,7 +619,7 @@ const struct OamData gUnknown_08524A1C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A24 = +const struct OamData gOamData_AffineOff_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -633,7 +633,7 @@ const struct OamData gUnknown_08524A24 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A2C = +const struct OamData gOamData_AffineOff_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -647,7 +647,7 @@ const struct OamData gUnknown_08524A2C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A34 = +const struct OamData gOamData_AffineOff_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -661,7 +661,7 @@ const struct OamData gUnknown_08524A34 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A3C = +const struct OamData gOamData_AffineOff_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -675,7 +675,7 @@ const struct OamData gUnknown_08524A3C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A44 = +const struct OamData gOamData_AffineOff_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -689,7 +689,7 @@ const struct OamData gUnknown_08524A44 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A4C = +const struct OamData gOamData_AffineOff_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -703,7 +703,7 @@ const struct OamData gUnknown_08524A4C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A54 = +const struct OamData gOamData_AffineOff_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -717,7 +717,7 @@ const struct OamData gUnknown_08524A54 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A5C = +const struct OamData gOamData_AffineOff_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -731,7 +731,7 @@ const struct OamData gUnknown_08524A5C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A64 = +const struct OamData gOamData_AffineOff_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -745,7 +745,7 @@ const struct OamData gUnknown_08524A64 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A6C = +const struct OamData gOamData_AffineOff_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -759,7 +759,7 @@ const struct OamData gUnknown_08524A6C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A74 = +const struct OamData gOamData_AffineOff_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -773,7 +773,7 @@ const struct OamData gUnknown_08524A74 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A7C = +const struct OamData gOamData_AffineOff_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -787,7 +787,7 @@ const struct OamData gUnknown_08524A7C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A84 = +const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -801,7 +801,7 @@ const struct OamData gUnknown_08524A84 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A8C = +const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -815,7 +815,7 @@ const struct OamData gUnknown_08524A8C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A94 = +const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -829,7 +829,7 @@ const struct OamData gUnknown_08524A94 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A9C = +const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -843,7 +843,7 @@ const struct OamData gUnknown_08524A9C = .paletteNum = 0, }; -const struct OamData gUnknown_08524AA4 = +const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -857,7 +857,7 @@ const struct OamData gUnknown_08524AA4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AAC = +const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -871,7 +871,7 @@ const struct OamData gUnknown_08524AAC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AB4 = +const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -885,7 +885,7 @@ const struct OamData gUnknown_08524AB4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ABC = +const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -899,7 +899,7 @@ const struct OamData gUnknown_08524ABC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AC4 = +const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -913,7 +913,7 @@ const struct OamData gUnknown_08524AC4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ACC = +const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -927,7 +927,7 @@ const struct OamData gUnknown_08524ACC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AD4 = +const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -941,7 +941,7 @@ const struct OamData gUnknown_08524AD4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ADC = +const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -955,7 +955,7 @@ const struct OamData gUnknown_08524ADC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AE4 = +const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -969,7 +969,7 @@ const struct OamData gUnknown_08524AE4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AEC = +const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -983,7 +983,7 @@ const struct OamData gUnknown_08524AEC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AF4 = +const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -997,7 +997,7 @@ const struct OamData gUnknown_08524AF4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AFC = +const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1011,7 +1011,7 @@ const struct OamData gUnknown_08524AFC = .paletteNum = 0, }; -const struct OamData gUnknown_08524B04 = +const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1025,7 +1025,7 @@ const struct OamData gUnknown_08524B04 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B0C = +const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1039,7 +1039,7 @@ const struct OamData gUnknown_08524B0C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B14 = +const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1053,7 +1053,7 @@ const struct OamData gUnknown_08524B14 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B1C = +const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1067,7 +1067,7 @@ const struct OamData gUnknown_08524B1C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B24 = +const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1081,7 +1081,7 @@ const struct OamData gUnknown_08524B24 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B2C = +const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1095,7 +1095,7 @@ const struct OamData gUnknown_08524B2C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B34 = +const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1109,7 +1109,7 @@ const struct OamData gUnknown_08524B34 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B3C = +const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 4120a87a4e..aded507422 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -42,25 +42,24 @@ void AnimKnockOffItem(struct Sprite *); void AnimPresentHealParticle(struct Sprite *); void AnimItemSteal(struct Sprite *); void AnimTrickBag(struct Sprite *); -void sub_8100640(struct Sprite *); -void sub_8100898(struct Sprite *); +void AnimFlyingParticle(struct Sprite *); +void AnimNeedleArmSpike(struct Sprite *); void sub_81009F8(struct Sprite *); -void sub_8100A50(struct Sprite *); +void AnimWhipHit(struct Sprite *); void sub_8100A94(struct Sprite *); void AnimCuttingSlice(struct Sprite *); -void sub_8100B88(struct Sprite *); +void AnimAirCutterSlice(struct Sprite *); void sub_8100E1C(struct Sprite *); -void sub_8100EF0(struct Sprite *); -void sub_81010CC(struct Sprite *); -void sub_810130C(struct Sprite *); -void sub_810135C(struct Sprite *); +void AnimProtect(struct Sprite *); +void AnimMilkBottle(struct Sprite *); +void AnimGrantingStars(struct Sprite *); +void AnimSparkingStars(struct Sprite *); void sub_8101440(struct Sprite *); -void sub_81014F4(struct Sprite *); -void sub_81015AC(struct Sprite *); -void sub_8101898(struct Sprite *); -void sub_8101940(struct Sprite *); +void AnimSleepLetterZ(struct Sprite *); +void AnimLockOnTarget(struct Sprite *); +void AnimLockOnMoveTarget(struct Sprite *); +void AnimBowMon(struct Sprite *); void sub_8101B90(struct Sprite *); -void sub_8101F40(struct Sprite *); void sub_8101FA8(struct Sprite *); void sub_8101FF0(struct Sprite *); void sub_81020D8(struct Sprite *); @@ -83,6 +82,25 @@ void AnimRockPolishStreak(struct Sprite *); void AnimRockPolishSparkle(struct Sprite *); void AnimPoisonJabProjectile(struct Sprite *); void AnimNightSlash(struct Sprite *); +void AnimSlashSlice(struct Sprite *); +void AnimFalseSwipeSlice(struct Sprite *); +void AnimFalseSwipePositionedSlice(struct Sprite *); +void AnimEndureEnergy(struct Sprite *); +void AnimSharpenSphere(struct Sprite *); +void AnimConversion(struct Sprite *); +void AnimConversion2(struct Sprite *); +void AnimMoon(struct Sprite *); +void AnimMoonlightSparkle(struct Sprite *); +void AnimHornHit(struct Sprite *); +void AnimSuperFang(struct Sprite *); +void AnimWavyMusicNotes(struct Sprite *); +void AnimFlyingMusicNotes(struct Sprite *); +void AnimBellyDrumHand(struct Sprite *); +void AnimSlowFlyingMusicNotes(struct Sprite *); +void AnimThoughtBubble(struct Sprite *); +void AnimMetronomeFinger(struct Sprite *); +void AnimFollowMeFinger(struct Sprite *); +void AnimTauntFinger(struct Sprite *); static void AnimMovePowderParticleStep(struct Sprite *); static void AnimSolarbeamSmallOrbStep(struct Sprite *); static void AnimAbsorptionOrbStep(struct Sprite *); @@ -98,62 +116,62 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *); static void AnimMoveTwisterParticleStep(struct Sprite *); static void AnimConstrictBindingStep1(struct Sprite *); static void AnimConstrictBindingStep2(struct Sprite *); -static void sub_80FF53C(u8); -static void sub_80FF5CC(u8); -static void AnimItemStealStep(struct Sprite *); +static void AnimTask_DuplicateAndShrinkToPosStep1(u8); +static void AnimTask_DuplicateAndShrinkToPosStep2(u8); +static void AnimItemStealStep3(struct Sprite *); static void AnimRootFlickerOut(struct Sprite *); static void AnimTrickBagStep1(struct Sprite *); static void AnimTrickBagStep2(struct Sprite *); static void AnimTrickBagStep3(struct Sprite *); -static void sub_8100128(u8); -static s16 sub_8100504(struct Sprite *); -static void sub_8100524(struct Task *, u8); -static void sub_80CC408(struct Sprite *); -static void sub_810074C(struct Sprite *); -static void sub_81009A0(struct Sprite *); +static void AnimTask_LeafBladeStep(u8); +static s16 LeafBladeGetPosFactor(struct Sprite *); +static void AnimTask_LeafBladeStep2(struct Task *, u8); +static void AnimTask_LeafBladeStep2_Callback(struct Sprite *); +static void AnimFlyingParticleStep(struct Sprite *); +static void AnimNeedleArmSpikeStep(struct Sprite *); static void AnimSliceStep(struct Sprite *); static void sub_8100E80(struct Sprite *); -static void sub_8100FD4(struct Sprite *); -static void sub_8101138(struct Sprite *); -static void sub_8101298(struct Sprite *, int, int); +static void AnimProtectStep(struct Sprite *); +static void AnimMilkBottleStep1(struct Sprite *); +static void AnimMilkBottleStep2(struct Sprite *, int, int); static void sub_81014A0(struct Sprite *); -static void sub_8101560(struct Sprite *); -static void sub_81015D4(struct Sprite *); -static void sub_8101684(struct Sprite *); -static void sub_81016B8(struct Sprite *); -static void sub_8101774(struct Sprite *); -static void sub_8101820(struct Sprite *); -static void sub_8101848(struct Sprite *); -static void sub_8101998(struct Sprite *); -static void sub_81019E8(struct Sprite *); -static void sub_8101A74(struct Sprite *); -static void sub_8101AC4(struct Sprite *); -static void sub_8101B84(struct Sprite *); -static void sub_8101AE8(struct Sprite *); +static void AnimSleepLetterZStep(struct Sprite *); +static void AnimLockOnTargetStep1(struct Sprite *); +static void AnimLockOnTargetStep2(struct Sprite *); +static void AnimLockOnTargetStep3(struct Sprite *); +static void AnimLockOnTargetStep4(struct Sprite *); +static void AnimLockOnTargetStep5(struct Sprite *); +static void AnimLockOnTargetStep6(struct Sprite *); +static void AnimBowMonStep1(struct Sprite *); +static void AnimBowMonStep1_Callback(struct Sprite *); +static void AnimBowMonStep2(struct Sprite *); +static void AnimBowMonStep3(struct Sprite *); +static void AnimBowMonStep4(struct Sprite *); +static void AnimBowMonStep3_Callback(struct Sprite *); static void sub_8101BA0(struct Sprite *); -static void sub_8101D2C(u8); -static void sub_8101EEC(u8); -static void sub_8102044(struct Sprite *); -static void sub_810207C(struct Sprite *); -static void sub_810208C(struct Sprite *); -static void sub_810213C(struct Sprite *); -static void sub_81021CC(struct Sprite *); -static void sub_810237C(struct Sprite *); -static void sub_8102528(struct Sprite *); -static void sub_8102584(struct Sprite *); -static void sub_810296C(struct Sprite *); -static void sub_8102AE0(u8); -static void sub_8102B3C(struct Sprite *); -static void sub_8102D8C(s16, s16, s16 *, s16 *, s8); -static void sub_8102DE4(struct Sprite *); -static void sub_8102F40(struct Sprite *); -static void sub_81030B0(struct Sprite *); -static void sub_81031D0(struct Sprite *); -static void sub_8103250(struct Sprite *); -static void sub_8103300(struct Sprite *); -static void sub_8103320(struct Sprite *); -static void sub_81033F0(struct Sprite *); -static void sub_810342C(struct Sprite *); +static void AnimTask_SkullBashPositionSet(u8); +static void AnimTask_SkullBashPositionReset(u8); +static void AnimFalseSwipeSliceStep1(struct Sprite *); +static void AnimFalseSwipeSliceStep2(struct Sprite *); +static void AnimFalseSwipeSliceStep3(struct Sprite *); +static void AnimEndureEnergyStep(struct Sprite *); +static void AnimSharpenSphereStep(struct Sprite *); +static void AnimConversion2Step(struct Sprite *); +static void AnimMoonStep(struct Sprite *); +static void AnimMoonlightSparkleStep(struct Sprite *); +static void AnimHornHitStep(struct Sprite *); +static void AnimTask_DoubleTeamStep(u8); +static void AnimTask_DoubleTeamCallback(struct Sprite *); +static void AnimWavyMusicNotesGetNextPos(s16, s16, s16 *, s16 *, s8); +static void AnimWavyMusicNotesStep(struct Sprite *); +static void AnimFlyingMusicNotesStep(struct Sprite *); +static void AnimSlowFlyingMusicNotesStep(struct Sprite *); +static void AnimThoughtBubbleStep(struct Sprite *); +static void AnimMetronomeFingerStep(struct Sprite *); +static void AnimFollowMeFingerStep1(struct Sprite *); +static void AnimFollowMeFingerStep2(struct Sprite *); +static void AnimTauntFingerStep1(struct Sprite *); +static void AnimTauntFingerStep2(struct Sprite *); static void AnimMoveFeintSwipe(struct Sprite *); static void AnimMoveFeintZoom(struct Sprite *); static void AnimMoveTrumpCard(struct Sprite *); @@ -167,7 +185,7 @@ void AnimGrassKnot(struct Sprite *sprite); void AnimWoodHammerSmall(struct Sprite *sprite); void AnimWoodHammerBig(struct Sprite *sprite); -const union AnimCmd gUnknown_085920F0[] = +const union AnimCmd gPowderParticlesAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -180,14 +198,14 @@ const union AnimCmd gUnknown_085920F0[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592114[] = +const union AnimCmd *const gPowderParticlesAnimTable[] = { - gUnknown_085920F0, + gPowderParticlesAnimCmds, }; static const union AffineAnimCmd sFeintAffineSwipe[] = { AFFINEANIMCMD_END }; -static const union AffineAnimCmd sFeintAffineZoom[] = -{ +static const union AffineAnimCmd sFeintAffineZoom[] = +{ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(-30, -30, 0, 10), AFFINEANIMCMD_END, @@ -232,8 +250,8 @@ static const union AffineAnimCmd * const sTrumpCardAffineAnims[] = sTrumpCardAffine4 }; -static const union AffineAnimCmd * const sFeintAffineAnims[] = -{ +static const union AffineAnimCmd * const sFeintAffineAnims[] = +{ sFeintAffineZoom, }; @@ -273,34 +291,34 @@ static const union AnimCmd sTrumpCardParticleFrame2[] = ANIMCMD_END }; -static const union AnimCmd * const sTrumpCardAnims[] = +static const union AnimCmd * const sTrumpCardAnims[] = { sTrumpCardFrame0, sTrumpCardFrame1, sTrumpCardFrame2 }; -static const union AnimCmd * const sTrumpCardParticleAnims[] = +static const union AnimCmd * const sTrumpCardParticleAnims[] = { sTrumpCardParticleFrame0, sTrumpCardParticleFrame1, sTrumpCardParticleFrame2, }; -static const union AffineAnimCmd sAccupressureTurn[] = +static const union AffineAnimCmd sAccupressureTurn[] = { AFFINEANIMCMD_FRAME(0, 0, 1, 20), AFFINEANIMCMD_FRAME(0, 0, -1, 40), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd sAccupressureStill[] = +static const union AffineAnimCmd sAccupressureStill[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd * const sAccupressureAffineAnims[] = +static const union AffineAnimCmd * const sAccupressureAffineAnims[] = { sAccupressureStill, sAccupressureTurn @@ -312,14 +330,14 @@ static const union AffineAnimCmd sSmallCloundsInit[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd sSmallCloudsVariant0[] = +static const union AffineAnimCmd sSmallCloudsVariant0[] = { AFFINEANIMCMD_FRAME(0x100,0x100, 0, 0), AFFINEANIMCMD_FRAME(-10, -10, 0, 15), AFFINEANIMCMD_END }; -static const union AffineAnimCmd sSmallCloudsVariant1[] = +static const union AffineAnimCmd sSmallCloudsVariant1[] = { AFFINEANIMCMD_FRAME(0x180,0x180, 0, 0), AFFINEANIMCMD_FRAME(-18, -18, 0, 21), @@ -327,14 +345,14 @@ static const union AffineAnimCmd sSmallCloudsVariant1[] = }; -static const union AffineAnimCmd sSmallCloudsVariant2[] = +static const union AffineAnimCmd sSmallCloudsVariant2[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(-6, -6, 0, 15), AFFINEANIMCMD_END }; -static const union AffineAnimCmd * const sSmallCloudSpriteAffineAnimTable[] = +static const union AffineAnimCmd * const sSmallCloudSpriteAffineAnimTable[] = { sSmallCloundsInit, sSmallCloudsVariant0, @@ -342,55 +360,55 @@ static const union AffineAnimCmd * const sSmallCloudSpriteAffineAnimTable[] = sSmallCloudsVariant2, }; -const struct SpriteTemplate gWorrySeedSpriteTemplate = +const struct SpriteTemplate gWorrySeedSpriteTemplate = { .tileTag = ANIM_TAG_WORRY_SEED, .paletteTag = ANIM_TAG_WORRY_SEED, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveWorrySeed }; -const struct SpriteTemplate gSmallCloudTemplate = +const struct SpriteTemplate gSmallCloudTemplate = { .tileTag = ANIM_TAG_SMALL_CLOUD, .paletteTag = ANIM_TAG_SMALL_CLOUD, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = sSmallCloudSpriteAffineAnimTable, .callback = AnimMoveSmallCloud }; -const struct SpriteTemplate gAccupressureSpriteTemplate = +const struct SpriteTemplate gAccupressureSpriteTemplate = { .tileTag = ANIM_TAG_ACCUPRESSURE, .paletteTag = ANIM_TAG_ACCUPRESSURE, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = sAccupressureAffineAnims, .callback = AnimMoveAccupressure, }; -const struct SpriteTemplate gWringOutHandSpriteTemplate = +const struct SpriteTemplate gWringOutHandSpriteTemplate = { .tileTag = ANIM_TAG_WRING_OUT, .paletteTag = ANIM_TAG_WRING_OUT, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveWringOut, }; -const struct SpriteTemplate gTrumpCardParticleSpriteTempalte = +const struct SpriteTemplate gTrumpCardParticleSpriteTempalte = { .tileTag = ANIM_TAG_TRUMP_CARD_PARTICLES, .paletteTag = ANIM_TAG_TRUMP_CARD_PARTICLES, - .oam = &gUnknown_085249C4, + .oam = &gOamData_AffineDouble_ObjNormal_8x8, .anims = sTrumpCardParticleAnims, .images = NULL, .affineAnims = sTrumpCardAffineAnims, @@ -401,18 +419,18 @@ const struct SpriteTemplate gTrumpCardSpriteTemplate = { .tileTag = ANIM_TAG_TRUMP_CARD, .paletteTag = ANIM_TAG_TRUMP_CARD, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = sTrumpCardAnims, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveTrumpCard }; -const struct SpriteTemplate gFeintSwipeSpriteTemplate = +const struct SpriteTemplate gFeintSwipeSpriteTemplate = { .tileTag = ANIM_TAG_FEINT, .paletteTag = ANIM_TAG_FEINT, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -423,7 +441,7 @@ const struct SpriteTemplate gFeintZoomSpriteTemplate = { .tileTag = ANIM_TAG_FEINT, .paletteTag = ANIM_TAG_FEINT, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = sFeintAffineAnims, @@ -434,8 +452,8 @@ const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = { .tileTag = ANIM_TAG_SLEEP_POWDER, .paletteTag = ANIM_TAG_SLEEP_POWDER, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, @@ -445,8 +463,8 @@ const struct SpriteTemplate gStunSporeParticleSpriteTemplate = { .tileTag = ANIM_TAG_STUN_SPORE, .paletteTag = ANIM_TAG_STUN_SPORE, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, @@ -456,105 +474,105 @@ const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_POWDER, .paletteTag = ANIM_TAG_POISON_POWDER, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, }; -const union AnimCmd gUnknown_08592160[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592168[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592170[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds3[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592178[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds4[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592180[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds5[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592188[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds6[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592190[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds7[] = { ANIMCMD_FRAME(6, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592198[] = +const union AnimCmd gSolarbeamSmallOrbAnimCms[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085921A0[] = +const union AnimCmd gPowerAbsorptionOrbAnimCmds[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085921A8[] = +const union AnimCmd *const gSolarbeamBigOrbAnimTable[] = { - gUnknown_08592160, - gUnknown_08592168, - gUnknown_08592170, - gUnknown_08592178, - gUnknown_08592180, - gUnknown_08592188, - gUnknown_08592190, + gSolarbeamBigOrbAnimCmds1, + gSolarbeamBigOrbAnimCmds2, + gSolarbeamBigOrbAnimCmds3, + gSolarbeamBigOrbAnimCmds4, + gSolarbeamBigOrbAnimCmds5, + gSolarbeamBigOrbAnimCmds6, + gSolarbeamBigOrbAnimCmds7, }; -const union AnimCmd *const gUnknown_085921C4[] = +const union AnimCmd *const gSolarbeamSmallOrbAnimTable[] = { - gUnknown_08592198, + gSolarbeamSmallOrbAnimCms, }; -const union AnimCmd *const gUnknown_085921C8[] = +const union AnimCmd *const gPowerAbsorptionOrbAnimTable[] = { - gUnknown_085921A0, + gPowerAbsorptionOrbAnimCmds, }; -const union AffineAnimCmd gUnknown_085921CC[] = { +const union AffineAnimCmd gPowerAbsorptionOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-5, -5, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085921DC[] = { - gUnknown_085921CC, +const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[] = { + gPowerAbsorptionOrbAffineAnimCmds, }; const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524A8C, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_085921DC, + .affineAnims = gPowerAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb, }; @@ -562,8 +580,8 @@ const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921A8, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamBigOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSolarbeamBigOrb, @@ -573,51 +591,51 @@ const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921C4, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamSmallOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSolarbeamSmallOrb, }; -const union AffineAnimCmd gUnknown_08592228[] = { +const union AffineAnimCmd gStockpileAbsorptionOrbAffineCmds[] = { AFFINEANIMCMD_FRAME(320, 320, 0, 0), AFFINEANIMCMD_FRAME(-14, -14, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08592240[] = { - gUnknown_08592228, +const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[] = { + gStockpileAbsorptionOrbAffineCmds, }; const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_ORB, .paletteTag = ANIM_TAG_GRAY_ORB, - .oam = &gUnknown_085249C4, + .oam = &gOamData_AffineDouble_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592240, + .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb, }; -const union AffineAnimCmd gUnknown_0859225C[] = { +const union AffineAnimCmd gAbsorptionOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-5, -5, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_0859226C[] = { - gUnknown_0859225C, +const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[] = { + gAbsorptionOrbAffineAnimCmds, }; const struct SpriteTemplate gAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524A8C, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_0859226C, + .affineAnims = gAbsorptionOrbAffineAnimTable, .callback = AnimAbsorptionOrb, }; @@ -625,38 +643,38 @@ const struct SpriteTemplate gHyperBeamOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921A8, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamBigOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb, }; -const union AnimCmd gUnknown_085922A0[] = +const union AnimCmd gLeechSeedAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085922A8[] = +const union AnimCmd gLeechSeedAnimCmds2[] = { ANIMCMD_FRAME(4, 7), ANIMCMD_FRAME(8, 7), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085922B4[] = +const union AnimCmd *const gLeechSeedAnimTable[] = { - gUnknown_085922A0, - gUnknown_085922A8, + gLeechSeedAnimCmds1, + gLeechSeedAnimCmds2, }; const struct SpriteTemplate gLeechSeedSpriteTemplate = { .tileTag = ANIM_TAG_SEED, .paletteTag = ANIM_TAG_SEED, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085922B4, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gLeechSeedAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimLeechSeed, @@ -666,70 +684,70 @@ const struct SpriteTemplate gPluckParticleSpriteTemplate = { .tileTag = ANIM_TAG_SEED_BROWN, .paletteTag = ANIM_TAG_SEED_BROWN, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPluck, }; -const union AnimCmd gUnknown_085922D4[] = +const union AnimCmd gSporeParticleAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085922DC[] = +const union AnimCmd gSporeParticleAnimCmds2[] = { ANIMCMD_FRAME(4, 7), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085922E4[] = +const union AnimCmd *const gSporeParticleAnimTable[] = { - gUnknown_085922D4, - gUnknown_085922DC, + gSporeParticleAnimCmds1, + gSporeParticleAnimCmds2, }; const struct SpriteTemplate gSporeParticleSpriteTemplate = { .tileTag = ANIM_TAG_SPORE, .paletteTag = ANIM_TAG_SPORE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085922E4, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSporeParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSporeParticle, }; -const union AnimCmd gUnknown_08592304[] = +const union AnimCmd gPetalDanceBigFlowerAnimCmds[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859230C[] = +const union AnimCmd gPetalDanceSmallFlowerAnimCmds[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592314[] = +const union AnimCmd *const gPetalDanceBigFlowerAnimTable[] = { - gUnknown_08592304, + gPetalDanceBigFlowerAnimCmds, }; -const union AnimCmd *const gUnknown_08592318[] = +const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[] = { - gUnknown_0859230C, + gPetalDanceSmallFlowerAnimCmds, }; const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592314, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gPetalDanceBigFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceBigFlower, @@ -739,14 +757,14 @@ const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592318, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gPetalDanceSmallFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceSmallFlower, }; -const union AnimCmd gUnknown_0859234C[] = +const union AnimCmd gRazorLeafParticleAnimCmds1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -761,7 +779,7 @@ const union AnimCmd gUnknown_0859234C[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08592378[] = +const union AnimCmd gRazorLeafParticleAnimCmds2[] = { ANIMCMD_FRAME(24, 5), ANIMCMD_FRAME(28, 5), @@ -769,18 +787,18 @@ const union AnimCmd gUnknown_08592378[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592388[] = +const union AnimCmd *const gRazorLeafParticleAnimTable[] = { - gUnknown_0859234C, - gUnknown_08592378, + gRazorLeafParticleAnimCmds1, + gRazorLeafParticleAnimCmds2, }; const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimRazorLeafParticle, @@ -790,8 +808,8 @@ const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveTwisterParticle, @@ -801,14 +819,14 @@ const struct SpriteTemplate gAttackOrderParticleSpriteTemplate = { .tileTag = ANIM_TAG_ATTACK_ORDER, .paletteTag = ANIM_TAG_ATTACK_ORDER, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveTwisterParticle, }; -const union AnimCmd gUnknown_085923C0[] = +const union AnimCmd gRazorLeafCutterAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(0, 3, .hFlip = TRUE), @@ -817,43 +835,43 @@ const union AnimCmd gUnknown_085923C0[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085923D4[] = +const union AnimCmd *const gRazorLeafCutterAnimTable[] = { - gUnknown_085923C0, + gRazorLeafCutterAnimCmds, }; const struct SpriteTemplate gRazorLeafCutterSpriteTemplate = { .tileTag = ANIM_TAG_RAZOR_LEAF, .paletteTag = ANIM_TAG_RAZOR_LEAF, - .oam = &gUnknown_08524934, - .anims = gUnknown_085923D4, + .oam = &gOamData_AffineOff_ObjNormal_32x16, + .anims = gRazorLeafCutterAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimTranslateLinearSingleSineWave, }; -const union AffineAnimCmd gUnknown_085923F0[] = { +const union AffineAnimCmd gSwiftStarAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08592400[] = { - gUnknown_085923F0, +const union AffineAnimCmd *const gSwiftStarAffineAnimTable[] = { + gSwiftStarAffineAnimCmds, }; const struct SpriteTemplate gSwiftStarSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_STAR, .paletteTag = ANIM_TAG_YELLOW_STAR, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592400, + .affineAnims = gSwiftStarAffineAnimTable, .callback = AnimTranslateLinearSingleSineWave, }; -const union AnimCmd gUnknown_0859241C[] = +const union AnimCmd gConstrictBindingAnimCmds1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(32, 4), @@ -862,7 +880,7 @@ const union AnimCmd gUnknown_0859241C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592430[] = +const union AnimCmd gConstrictBindingAnimCmds2[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(32, 4, .hFlip = TRUE), @@ -871,70 +889,70 @@ const union AnimCmd gUnknown_08592430[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592444[] = +const union AnimCmd *const gConstrictBindingAnimTable[] = { - gUnknown_0859241C, - gUnknown_08592430, + gConstrictBindingAnimCmds1, + gConstrictBindingAnimCmds2, }; -const union AffineAnimCmd gUnknown_0859244C[] = { +const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859246C[] = { +const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859248C[] = { - gUnknown_0859244C, - gUnknown_0859246C, +const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] = { + gConstrictBindingAffineAnimCmds1, + gConstrictBindingAffineAnimCmds2, }; const struct SpriteTemplate gConstrictBindingSpriteTemplate = { .tileTag = ANIM_TAG_TENDRILS, .paletteTag = ANIM_TAG_TENDRILS, - .oam = &gUnknown_0852499C, - .anims = gUnknown_08592444, + .oam = &gOamData_AffineNormal_ObjNormal_64x32, + .anims = gConstrictBindingAnimTable, .images = NULL, - .affineAnims = gUnknown_0859248C, + .affineAnims = gConstrictBindingAffineAnimTable, .callback = AnimConstrictBinding, }; -const union AffineAnimCmd gUnknown_085924AC[] = { +const union AffineAnimCmd gMimicOrbAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 0), AFFINEANIMCMD_FRAME(48, 48, 0, 14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085924C4[] = { +const union AffineAnimCmd gMimicOrbAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(-16, -16, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085924D4[] = { - gUnknown_085924AC, - gUnknown_085924C4, +const union AffineAnimCmd *const gMimicOrbAffineAnimTable[] = { + gMimicOrbAffineAnimCmds1, + gMimicOrbAffineAnimCmds2, }; const struct SpriteTemplate gMimicOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_085249CC, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_085924D4, + .affineAnims = gMimicOrbAffineAnimTable, .callback = AnimMimicOrb, }; -const union AnimCmd gUnknown_085924F4[] = +const union AnimCmd gIngrainRootAnimCmds1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -943,7 +961,7 @@ const union AnimCmd gUnknown_085924F4[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592508[] = +const union AnimCmd gIngrainRootAnimCmds2[] = { ANIMCMD_FRAME(0, 7, .hFlip = TRUE), ANIMCMD_FRAME(16, 7, .hFlip = TRUE), @@ -952,7 +970,7 @@ const union AnimCmd gUnknown_08592508[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859251C[] = +const union AnimCmd gIngrainRootAnimCmds3[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -960,7 +978,7 @@ const union AnimCmd gUnknown_0859251C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859252C[] = +const union AnimCmd gIngrainRootAnimCmds4[] = { ANIMCMD_FRAME(0, 7, .hFlip = TRUE), ANIMCMD_FRAME(16, 7, .hFlip = TRUE), @@ -968,20 +986,20 @@ const union AnimCmd gUnknown_0859252C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859253C[] = +const union AnimCmd *const gIngrainRootAnimTable[] = { - gUnknown_085924F4, - gUnknown_08592508, - gUnknown_0859251C, - gUnknown_0859252C, + gIngrainRootAnimCmds1, + gIngrainRootAnimCmds2, + gIngrainRootAnimCmds3, + gIngrainRootAnimCmds4, }; const struct SpriteTemplate gIngrainRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859253C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gIngrainRootAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIngrainRoot, @@ -991,55 +1009,55 @@ const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859253C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gIngrainRootAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFrenzyPlantRoot, }; -const union AnimCmd gUnknown_0859257C[] = +const union AnimCmd gIngrainOrbAnimCmds[] = { ANIMCMD_FRAME(3, 3), ANIMCMD_FRAME(0, 5), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592588[] = +const union AnimCmd *const gIngrainOrbAnimTable[] = { - gUnknown_0859257C, + gIngrainOrbAnimCmds, }; const struct SpriteTemplate gIngrainOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592588, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gIngrainOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIngrainOrb, }; -const union AnimCmd gUnknown_085925A4[] = +const union AnimCmd gFallingBagAnimCmds[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085925AC[] = +const union AnimCmd *const gFallingBagAnimTable[] = { - gUnknown_085925A4, + gFallingBagAnimCmds, }; -const union AffineAnimCmd gUnknown_085925B0[] = { +const union AffineAnimCmd gFallingBagAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 10), AFFINEANIMCMD_FRAME(0, 0, 4, 20), AFFINEANIMCMD_FRAME(0, 0, -4, 10), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085925D0[] = { +const union AffineAnimCmd gFallingBagAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0, 0, -1, 2), AFFINEANIMCMD_FRAME(0, 0, 1, 4), AFFINEANIMCMD_FRAME(0, 0, -1, 4), @@ -1049,19 +1067,19 @@ const union AffineAnimCmd gUnknown_085925D0[] = { AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08592608[] = { - gUnknown_085925B0, - gUnknown_085925D0, +const union AffineAnimCmd *const gFallingBagAffineAnimTable[] = { + gFallingBagAffineAnimCmds1, + gFallingBagAffineAnimCmds2, }; const struct SpriteTemplate gPresentSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimPresent, }; @@ -1069,14 +1087,14 @@ const struct SpriteTemplate gKnockOffItemSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimKnockOffItem, }; -const union AnimCmd gUnknown_08592640[] = +const union AnimCmd gPresentHealParticleAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 4), @@ -1085,17 +1103,17 @@ const union AnimCmd gUnknown_08592640[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592654[] = +const union AnimCmd *const gPresentHealParticleAnimTable[] = { - gUnknown_08592640, + gPresentHealParticleAnimCmds, }; const struct SpriteTemplate gPresentHealParticleSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPARKLE, .paletteTag = ANIM_TAG_GREEN_SPARKLE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592654, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gPresentHealParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPresentHealParticle, @@ -1105,19 +1123,19 @@ const struct SpriteTemplate gItemStealSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimItemSteal, }; -const union AffineAnimCmd gUnknown_08592688[] = { +const union AffineAnimCmd gTrickBagAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 3), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592698[] = { +const union AffineAnimCmd gTrickBagAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0, -10, 0, 3), AFFINEANIMCMD_FRAME(0, -6, 0, 3), AFFINEANIMCMD_FRAME(0, -2, 0, 3), @@ -1128,25 +1146,25 @@ const union AffineAnimCmd gUnknown_08592698[] = { AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085926D8[] = { - gUnknown_08592688, - gUnknown_08592698, - gUnknown_085925B0, - gUnknown_085925D0, +const union AffineAnimCmd *const gTrickBagAffineAnimTable[] = { + gTrickBagAffineAnimCmds1, + gTrickBagAffineAnimCmds2, + gFallingBagAffineAnimCmds1, + gFallingBagAffineAnimCmds2, }; const struct SpriteTemplate gTrickBagSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_085926D8, + .affineAnims = gTrickBagAffineAnimTable, .callback = AnimTrickBag, }; -const s8 gUnknown_08592700[][3] = +const s8 gTrickBagCoordinates[][3] = { {5, 24, 1}, {0, 4, 0}, @@ -1161,163 +1179,163 @@ const s8 gUnknown_08592700[][3] = {0, 0, 127}, }; -const union AnimCmd gUnknown_08592724[] = +const union AnimCmd gLeafBladeAnimCmds1[] = { ANIMCMD_FRAME(28, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859272C[] = +const union AnimCmd gLeafBladeAnimCmds2[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592734[] = +const union AnimCmd gLeafBladeAnimCmds3[] = { ANIMCMD_FRAME(20, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859273C[] = +const union AnimCmd gLeafBladeAnimCmds4[] = { ANIMCMD_FRAME(28, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592744[] = +const union AnimCmd gLeafBladeAnimCmds5[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859274C[] = +const union AnimCmd gLeafBladeAnimCmds6[] = { ANIMCMD_FRAME(16, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592754[] = +const union AnimCmd gLeafBladeAnimCmds7[] = { ANIMCMD_FRAME(28, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859275C[] = +const union AnimCmd *const gLeafBladeAnimTable[] = { - gUnknown_08592724, - gUnknown_0859272C, - gUnknown_08592734, - gUnknown_0859273C, - gUnknown_08592744, - gUnknown_0859274C, - gUnknown_08592754, + gLeafBladeAnimCmds1, + gLeafBladeAnimCmds2, + gLeafBladeAnimCmds3, + gLeafBladeAnimCmds4, + gLeafBladeAnimCmds5, + gLeafBladeAnimCmds6, + gLeafBladeAnimCmds7, }; -const struct SpriteTemplate gUnknown_08592778 = +const struct SpriteTemplate gLeafBladeSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_0859275C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gLeafBladeAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }; -const union AffineAnimCmd gUnknown_08592790[] = { +const union AffineAnimCmd gAromatherapyBigFlowerAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_085927A8[] = { - gUnknown_08592790, +const union AffineAnimCmd *const gAromatherapyBigFlowerAffineAnimTable[] = { + gAromatherapyBigFlowerAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085927AC = +const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592318, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gPetalDanceSmallFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100640, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_085927C4 = +const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592314, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gPetalDanceBigFlowerAnimTable, .images = NULL, - .affineAnims = gUnknown_085927A8, - .callback = sub_8100640, + .affineAnims = gAromatherapyBigFlowerAffineAnimTable, + .callback = AnimFlyingParticle, }; -const union AffineAnimCmd gUnknown_085927DC[] = { +const union AffineAnimCmd gSilverWindBigSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -10, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_085927F4[] = { +const union AffineAnimCmd gSilverWindMediumSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(192, 192, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -12, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_0859280C[] = { +const union AffineAnimCmd gSilverWindSmallSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(143, 143, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -15, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08592824[] = { - gUnknown_085927DC, +const union AffineAnimCmd *const gSilverWindBigSparkAffineAnimTable[] = { + gSilverWindBigSparkAffineAnimCmds, }; -const union AffineAnimCmd *const gUnknown_08592828[] = { - gUnknown_085927F4, +const union AffineAnimCmd *const gSilverWindMediumSparkAffineAnimTable[] = { + gSilverWindMediumSparkAffineAnimCmds, }; -const union AffineAnimCmd *const gUnknown_0859282C[] = { - gUnknown_0859280C, +const union AffineAnimCmd *const gSilverWindSmallSparkAffineAnimTable[] = { + gSilverWindSmallSparkAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08592830 = +const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592824, - .callback = sub_8100640, + .affineAnims = gSilverWindBigSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_08592848 = +const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592828, - .callback = sub_8100640, + .affineAnims = gSilverWindMediumSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_08592860 = +const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859282C, - .callback = sub_8100640, + .affineAnims = gSilverWindSmallSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; const u16 gMagicalLeafBlendColors[] = @@ -1331,18 +1349,18 @@ const u16 gMagicalLeafBlendColors[] = RGB(22, 21, 31), }; -const struct SpriteTemplate gUnknown_08592888 = +const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPIKE, .paletteTag = ANIM_TAG_GREEN_SPIKE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100898, + .callback = AnimNeedleArmSpike, }; -const union AnimCmd gUnknown_085928A0[] = +const union AnimCmd gWhipAnimCmds1[] = { ANIMCMD_FRAME(64, 3), ANIMCMD_FRAME(80, 3), @@ -1351,7 +1369,7 @@ const union AnimCmd gUnknown_085928A0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085928B4[] = +const union AnimCmd gWhipAnimCmds2[] = { ANIMCMD_FRAME(64, 3, .hFlip = TRUE), ANIMCMD_FRAME(80, 3, .hFlip = TRUE), @@ -1360,32 +1378,32 @@ const union AnimCmd gUnknown_085928B4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085928C8[] = +const union AnimCmd *const gWhipAnimTable[] = { - gUnknown_085928A0, - gUnknown_085928B4, + gWhipAnimCmds1, + gWhipAnimCmds2, }; -const struct SpriteTemplate gUnknown_085928D0 = +const struct SpriteTemplate gSlamHitSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT, .paletteTag = ANIM_TAG_SLAM_HIT, - .oam = &gUnknown_08524914, - .anims = gUnknown_085928C8, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gWhipAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100A50, + .callback = AnimWhipHit, }; const struct SpriteTemplate gVineWhipSpriteTemplate = { .tileTag = ANIM_TAG_WHIP_HIT, .paletteTag = ANIM_TAG_WHIP_HIT, - .oam = &gUnknown_08524914, - .anims = gUnknown_085928C8, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gWhipAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100A50, + .callback = AnimWhipHit, }; const union AnimCmd gUnknown_08592900[] = @@ -1403,22 +1421,24 @@ const union AnimCmd *const gUnknown_08592918[] = gUnknown_08592900, }; +// Unused const struct SpriteTemplate gUnknown_0859291C = { .tileTag = ANIM_TAG_HIT, .paletteTag = ANIM_TAG_HIT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08592918, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_81009F8, }; +// Unused const struct SpriteTemplate gUnknown_08592934 = { .tileTag = ANIM_TAG_HIT_2, .paletteTag = ANIM_TAG_HIT_2, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08592918, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1476,18 +1496,19 @@ const union AffineAnimCmd *const gUnknown_085929CC[] = { gUnknown_085929BC, }; +// Unused const struct SpriteTemplate gUnknown_085929EC = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085929CC, .callback = sub_8100A94, }; -const union AnimCmd gUnknown_08592A04[] = +const union AnimCmd gCuttingSliceAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -1496,31 +1517,31 @@ const union AnimCmd gUnknown_08592A04[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592A18[] = +const union AnimCmd *const gCuttingSliceAnimTable[] = { - gUnknown_08592A04, + gCuttingSliceAnimCmds, }; const struct SpriteTemplate gCuttingSliceSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_08592A18, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gCuttingSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimCuttingSlice, }; -const struct SpriteTemplate gUnknown_08592A34 = +const struct SpriteTemplate gAirCutterSliceSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_08592A18, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gCuttingSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100B88, + .callback = AnimAirCutterSlice, }; const union AnimCmd gUnknown_08592A4C[] = @@ -1597,11 +1618,12 @@ const union AnimCmd *const gUnknown_08592A9C[] = gUnknown_08592A94, }; +// Unused const struct SpriteTemplate gUnknown_08592AC4 = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08592A9C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1612,20 +1634,20 @@ const struct SpriteTemplate gUnknown_08592ADC = { .tileTag = ANIM_TAG_PROTECT, .paletteTag = ANIM_TAG_PROTECT, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100EF0, + .callback = AnimProtect, }; -const union AffineAnimCmd gUnknown_08592AF4[] = +const union AffineAnimCmd gMilkBottleAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592B04[] = +const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), @@ -1635,24 +1657,24 @@ const union AffineAnimCmd gUnknown_08592B04[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08592B34[] = +const union AffineAnimCmd *const gMilkBottleAffineAnimTable[] = { - gUnknown_08592AF4, - gUnknown_08592B04, + gMilkBottleAffineAnimCmds1, + gMilkBottleAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592B3C = +const struct SpriteTemplate gMilkBottleSpriteTemplate = { .tileTag = ANIM_TAG_MILK_BOTTLE, .paletteTag = ANIM_TAG_MILK_BOTTLE, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592B34, - .callback = sub_81010CC, + .affineAnims = gMilkBottleAffineAnimTable, + .callback = AnimMilkBottle, }; -const union AnimCmd gUnknown_08592B54[] = +const union AnimCmd gGrantingStarsAnimCmds[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -1665,31 +1687,31 @@ const union AnimCmd gUnknown_08592B54[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592B78[] = +const union AnimCmd *const gGrantingStarsAnimTable[] = { - gUnknown_08592B54, + gGrantingStarsAnimCmds, }; -const struct SpriteTemplate gUnknown_08592B7C = +const struct SpriteTemplate gGrantingStarsSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_SPARKLE_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592B78, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gGrantingStarsAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810130C, + .callback = AnimGrantingStars, }; -const struct SpriteTemplate gUnknown_08592B94 = +const struct SpriteTemplate gSparklingStarsSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_SPARKLE_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592B78, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gGrantingStarsAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810135C, + .callback = AnimSparkingStars, }; const union AnimCmd gUnknown_08592BAC[] = @@ -1724,96 +1746,97 @@ const union AnimCmd *const gUnknown_08592BF4[] = gUnknown_08592BD0, }; +// Unused const struct SpriteTemplate gUnknown_08592BFC = { .tileTag = ANIM_TAG_BUBBLE_BURST, .paletteTag = ANIM_TAG_BUBBLE_BURST, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08592BF4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8101440, }; -const union AnimCmd gUnknown_08592C14[] = +const union AnimCmd gSleepLetterZAnimCmds[] = { ANIMCMD_FRAME(0, 40), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592C1C[] = +const union AnimCmd *const gSleepLetterZAnimTable[] = { - gUnknown_08592C14, + gSleepLetterZAnimCmds, }; -const union AffineAnimCmd gUnknown_08592C20[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592C20_2[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds1_2[] = { AFFINEANIMCMD_LOOP(0), AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24), AFFINEANIMCMD_LOOP(10), }; -const union AffineAnimCmd gUnknown_08592C50[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592C50_2[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds2_2[] = { AFFINEANIMCMD_LOOP(0), AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24), AFFINEANIMCMD_LOOP(10), }; -const union AffineAnimCmd *const gUnknown_08592C80[] = +const union AffineAnimCmd *const gSleepLetterZAffineAnimTable[] = { - gUnknown_08592C20, - gUnknown_08592C50, + gSleepLetterZAffineAnimCmds1, + gSleepLetterZAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592C88 = +const struct SpriteTemplate gSleepLetterZSpriteTemplate = { .tileTag = ANIM_TAG_LETTER_Z, .paletteTag = ANIM_TAG_LETTER_Z, - .oam = &gUnknown_08524974, - .anims = gUnknown_08592C1C, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gSleepLetterZAnimTable, .images = NULL, - .affineAnims = gUnknown_08592C80, - .callback = sub_81014F4, + .affineAnims = gSleepLetterZAffineAnimTable, + .callback = AnimSleepLetterZ, }; -const struct SpriteTemplate gUnknown_08592CA0 = +const struct SpriteTemplate gLockOnTargetSpriteTemplate = { .tileTag = ANIM_TAG_LOCK_ON, .paletteTag = ANIM_TAG_LOCK_ON, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81015AC, + .callback = AnimLockOnTarget, }; -const struct SpriteTemplate gUnknown_08592CB8 = +const struct SpriteTemplate gLockOnMoveTargetSpriteTemplate = { .tileTag = ANIM_TAG_LOCK_ON, .paletteTag = ANIM_TAG_LOCK_ON, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101898, + .callback = AnimLockOnMoveTarget, }; -const s8 gUnknown_08592CD0[][2] = +const s8 gInclineMonCoordTable[][2] = { { 64, 64}, { 0, -64}, @@ -1821,7 +1844,7 @@ const s8 gUnknown_08592CD0[][2] = { 32, -32}, }; -const struct SpriteTemplate gUnknown_08592CD8 = +const struct SpriteTemplate gBowMonSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -1829,9 +1852,10 @@ const struct SpriteTemplate gUnknown_08592CD8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101940, + .callback = AnimBowMon, }; +// Unused const struct SpriteTemplate gUnknown_08592CF0 = { .tileTag = 0, @@ -1843,7 +1867,7 @@ const struct SpriteTemplate gUnknown_08592CF0 = .callback = sub_8101B90, }; -const union AnimCmd gUnknown_08592D08[] = +const union AnimCmd gSlashSliceAnimCmds1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -1852,52 +1876,52 @@ const union AnimCmd gUnknown_08592D08[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592D1C[] = +const union AnimCmd gSlashSliceAnimCmds2[] = { ANIMCMD_FRAME(48, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592D24[] = +const union AnimCmd *const gSlashSliceAnimTable[] = { - gUnknown_08592D08, - gUnknown_08592D1C, + gSlashSliceAnimCmds1, + gSlashSliceAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592D2C = +const struct SpriteTemplate gSlashSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH, .paletteTag = ANIM_TAG_SLASH, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101F40, + .callback = AnimSlashSlice, }; -const struct SpriteTemplate gUnknown_08592D44 = +const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH_2, .paletteTag = ANIM_TAG_SLASH_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101FA8, + .callback = AnimFalseSwipeSlice, }; -const struct SpriteTemplate gUnknown_08592D5C = +const struct SpriteTemplate gFalseSwipePositionedSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH_2, .paletteTag = ANIM_TAG_SLASH_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101FF0, + .callback = AnimFalseSwipePositionedSlice, }; -const union AnimCmd gUnknown_08592D74[] = +const union AnimCmd gEndureEnergyAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(8, 12), @@ -1906,23 +1930,23 @@ const union AnimCmd gUnknown_08592D74[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592D88[] = +const union AnimCmd *const gEndureEnergyAnimTable[] = { - gUnknown_08592D74, + gEndureEnergyAnimCmds, }; -const struct SpriteTemplate gUnknown_08592D8C = +const struct SpriteTemplate gEndureEnergySpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_FOCUS_ENERGY, - .oam = &gUnknown_08524954, - .anims = gUnknown_08592D88, + .oam = &gOamData_AffineOff_ObjNormal_16x32, + .anims = gEndureEnergyAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81020D8, + .callback = AnimEndureEnergy, }; -const union AnimCmd gUnknown_08592DA4[] = +const union AnimCmd gSharpenSphereAnimCmds[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(0, 6), @@ -1941,34 +1965,34 @@ const union AnimCmd gUnknown_08592DA4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592DE0[] = +const union AnimCmd *const gSharpenSphereAnimTable[] = { - gUnknown_08592DA4, + gSharpenSphereAnimCmds, }; -const struct SpriteTemplate gUnknown_08592DE4 = +const struct SpriteTemplate gSharpenSphereSpriteTemplate = { .tileTag = ANIM_TAG_SPHERE_TO_CUBE, .paletteTag = ANIM_TAG_SPHERE_TO_CUBE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592DE0, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSharpenSphereAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810217C, + .callback = AnimSharpenSphere, }; -const struct SpriteTemplate gUnknown_08592DFC = +const struct SpriteTemplate gOctazookaBallSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_BALL, .paletteTag = ANIM_TAG_BLACK_BALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation, }; -const union AnimCmd gUnknown_08592E14[] = +const union AnimCmd gOctazookaAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -1978,23 +2002,23 @@ const union AnimCmd gUnknown_08592E14[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592E2C[] = +const union AnimCmd *const gOctazookaAnimTable[] = { - gUnknown_08592E14, + gOctazookaAnimCmds, }; -const struct SpriteTemplate gUnknown_08592E30 = +const struct SpriteTemplate gOctazookaSmokeSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_SMOKE, .paletteTag = ANIM_TAG_GRAY_SMOKE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592E2C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gOctazookaAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; -const union AnimCmd gUnknown_08592E48[] = +const union AnimCmd gConversionAnimCmds[] = { ANIMCMD_FRAME(3, 5), ANIMCMD_FRAME(2, 5), @@ -2003,34 +2027,34 @@ const union AnimCmd gUnknown_08592E48[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592E5C[] = +const union AnimCmd *const gConversionAnimTable[] = { - gUnknown_08592E48, + gConversionAnimCmds, }; -const union AffineAnimCmd gUnknown_08592E60[] = +const union AffineAnimCmd gConversionAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08592E70[] = +const union AffineAnimCmd *const gConversionAffineAnimTable[] = { - gUnknown_08592E60, + gConversionAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08592E74 = +const struct SpriteTemplate gConversionSpriteTemplate = { .tileTag = ANIM_TAG_CONVERSION, .paletteTag = ANIM_TAG_CONVERSION, - .oam = &gUnknown_08524AE4, - .anims = gUnknown_08592E5C, + .oam = &gOamData_AffineDouble_ObjBlend_8x8, + .anims = gConversionAnimTable, .images = NULL, - .affineAnims = gUnknown_08592E70, - .callback = sub_8102268, + .affineAnims = gConversionAffineAnimTable, + .callback = AnimConversion, }; -const union AnimCmd gUnknown_08592E8C[] = +const union AnimCmd gConversion2AnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -2039,34 +2063,34 @@ const union AnimCmd gUnknown_08592E8C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592EA0[] = +const union AnimCmd *const gConversion2AnimTable[] = { - gUnknown_08592E8C, + gConversion2AnimCmds, }; -const struct SpriteTemplate gUnknown_08592EA4 = +const struct SpriteTemplate gConversion2SpriteTemplate = { .tileTag = ANIM_TAG_CONVERSION, .paletteTag = ANIM_TAG_CONVERSION, - .oam = &gUnknown_08524AE4, - .anims = gUnknown_08592EA0, + .oam = &gOamData_AffineDouble_ObjBlend_8x8, + .anims = gConversion2AnimTable, .images = NULL, - .affineAnims = gUnknown_08592E70, - .callback = sub_810234C, + .affineAnims = gConversionAffineAnimTable, + .callback = AnimConversion2, }; -const struct SpriteTemplate gUnknown_08592EBC = +const struct SpriteTemplate gMoonSpriteTemplate = { .tileTag = ANIM_TAG_MOON, .paletteTag = ANIM_TAG_MOON, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81024E0, + .callback = AnimMoon, }; -const union AnimCmd gUnknown_08592ED4[] = +const union AnimCmd gMoonlightSparkleAnimCmds[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(4, 8), @@ -2075,23 +2099,23 @@ const union AnimCmd gUnknown_08592ED4[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592EE8[] = +const union AnimCmd *const gMoonlightSparkleAnimTable[] = { - gUnknown_08592ED4, + gMoonlightSparkleAnimCmds, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC = +const struct SpriteTemplate gMoonlightSparkleSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPARKLE, .paletteTag = ANIM_TAG_GREEN_SPARKLE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592EE8, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gMoonlightSparkleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102540, + .callback = AnimMoonlightSparkle, }; -const union AnimCmd gUnknown_08592F04[] = +const union AnimCmd gHealingBlueStarAnimCmds[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -2104,34 +2128,34 @@ const union AnimCmd gUnknown_08592F04[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592F28[] = +const union AnimCmd *const gHealingBlueStarAnimTable[] = { - gUnknown_08592F04, + gHealingBlueStarAnimCmds, }; -const struct SpriteTemplate gUnknown_08592F2C = +const struct SpriteTemplate gHealingBlueStarSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_STAR, .paletteTag = ANIM_TAG_BLUE_STAR, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592F28, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gHealingBlueStarAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; -const struct SpriteTemplate gUnknown_08592F44 = +const struct SpriteTemplate gHornHitSpriteTemplate = { .tileTag = ANIM_TAG_HORN_HIT, .paletteTag = ANIM_TAG_HORN_HIT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102844, + .callback = AnimHornHit, }; -const union AnimCmd gUnknown_08592F5C[] = +const union AnimCmd gSuperFangAnimCmds[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -2140,106 +2164,106 @@ const union AnimCmd gUnknown_08592F5C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592F70[] = +const union AnimCmd *const gSuperFangAnimTable[] = { - gUnknown_08592F5C, + gSuperFangAnimCmds, }; -const struct SpriteTemplate gUnknown_08592F74 = +const struct SpriteTemplate gSuperFangSpriteTemplate = { .tileTag = ANIM_TAG_FANG_ATTACK, .paletteTag = ANIM_TAG_FANG_ATTACK, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592F70, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSuperFangAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102BCC, + .callback = AnimSuperFang, }; -const union AnimCmd gUnknown_08592F8C[] = +const union AnimCmd gWavyMusicNotesAnimCmds1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592F94[] = +const union AnimCmd gWavyMusicNotesAnimCmds2[] = { ANIMCMD_FRAME(4, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592F9C[] = +const union AnimCmd gWavyMusicNotesAnimCmds3[] = { ANIMCMD_FRAME(8, 41), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FA4[] = +const union AnimCmd gWavyMusicNotesAnimCmds4[] = { ANIMCMD_FRAME(12, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FAC[] = +const union AnimCmd gWavyMusicNotesAnimCmds5[] = { ANIMCMD_FRAME(16, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FB4[] = +const union AnimCmd gWavyMusicNotesAnimCmds6[] = { ANIMCMD_FRAME(20, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FBC[] = +const union AnimCmd gWavyMusicNotesAnimCmds7[] = { ANIMCMD_FRAME(0, 10, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FC4[] = +const union AnimCmd gWavyMusicNotesAnimCmds8[] = { ANIMCMD_FRAME(4, 10, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592FCC[] = +const union AnimCmd *const gMusicNotesAnimTable[] = { - gUnknown_08592F8C, - gUnknown_08592F94, - gUnknown_08592F9C, - gUnknown_08592FA4, - gUnknown_08592FAC, - gUnknown_08592FB4, - gUnknown_08592FBC, - gUnknown_08592FC4, + gWavyMusicNotesAnimCmds1, + gWavyMusicNotesAnimCmds2, + gWavyMusicNotesAnimCmds3, + gWavyMusicNotesAnimCmds4, + gWavyMusicNotesAnimCmds5, + gWavyMusicNotesAnimCmds6, + gWavyMusicNotesAnimCmds7, + gWavyMusicNotesAnimCmds8, }; -const union AffineAnimCmd gUnknown_08592FEC[] = +const union AffineAnimCmd gWavyMusicNotesAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16), AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08593004[] = +const union AffineAnimCmd *const gMusicNotesAffineAnimTable[] = { - gUnknown_08592FEC, + gWavyMusicNotesAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08593008 = +const struct SpriteTemplate gWavyMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593004, - .callback = sub_8102CD4, + .affineAnims = gMusicNotesAffineAnimTable, + .callback = AnimWavyMusicNotes, }; -const u16 gUnknown_08593020[][6] = +const u16 gParticlesColorBlendTable[][6] = { {ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)}, {ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)}, @@ -2247,52 +2271,52 @@ const u16 gUnknown_08593020[][6] = {ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)}, }; -const struct SpriteTemplate gUnknown_08593050 = +const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593004, - .callback = sub_8102EB0, + .affineAnims = gMusicNotesAffineAnimTable, + .callback = AnimFlyingMusicNotes, }; -const struct SpriteTemplate gUnknown_08593068 = +const struct SpriteTemplate gBellyDrumHandSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE, .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102FB8, + .callback = AnimBellyDrumHand, }; -const union AffineAnimCmd gUnknown_08593080[] = +const union AffineAnimCmd gSlowFlyingMusicNotesAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08593098[] = +const union AffineAnimCmd *const gSlowFlyingMusicNotesAffineAnimTable[] = { - gUnknown_08593080, + gSlowFlyingMusicNotesAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_0859309C = +const struct SpriteTemplate gSlowFlyingMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593098, - .callback = sub_8103028, + .affineAnims = gSlowFlyingMusicNotesAffineAnimTable, + .callback = AnimSlowFlyingMusicNotes, }; -const union AnimCmd gUnknown_085930B4[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds1[] = { ANIMCMD_FRAME(0, 2, .hFlip = TRUE), ANIMCMD_FRAME(16, 2, .hFlip = TRUE), @@ -2301,7 +2325,7 @@ const union AnimCmd gUnknown_085930B4[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930C8[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds3[] = { ANIMCMD_FRAME(48, 2, .hFlip = TRUE), ANIMCMD_FRAME(32, 2, .hFlip = TRUE), @@ -2310,7 +2334,7 @@ const union AnimCmd gUnknown_085930C8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930DC[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds2[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -2319,7 +2343,7 @@ const union AnimCmd gUnknown_085930DC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930F0[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds4[] = { ANIMCMD_FRAME(48, 2), ANIMCMD_FRAME(32, 2), @@ -2328,33 +2352,33 @@ const union AnimCmd gUnknown_085930F0[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593104[] = +const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[] = { - gUnknown_085930B4, - gUnknown_085930DC, - gUnknown_085930C8, - gUnknown_085930F0, + gMetronomeThroughtBubbleAnimCmds1, + gMetronomeThroughtBubbleAnimCmds2, + gMetronomeThroughtBubbleAnimCmds3, + gMetronomeThroughtBubbleAnimCmds4, }; -const struct SpriteTemplate gUnknown_08593114 = +const struct SpriteTemplate gThoughtBubbleSpriteTemplate = { .tileTag = ANIM_TAG_THOUGHT_BUBBLE, .paletteTag = ANIM_TAG_THOUGHT_BUBBLE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593104, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gMetronomeThroughtBubbleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8103164, + .callback = AnimThoughtBubble, }; -const union AffineAnimCmd gUnknown_0859312C[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593144[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11), AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11), @@ -2363,7 +2387,7 @@ const union AffineAnimCmd gUnknown_08593144[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593144_2[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2_2[] = { AFFINEANIMCMD_FRAME(16, 16, 0, 0), AFFINEANIMCMD_FRAME(30, 30, 0, 8), @@ -2376,47 +2400,47 @@ const union AffineAnimCmd gUnknown_08593144_2[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085931B4[] = +const union AffineAnimCmd *const gMetronomeFingerAffineAnimTable[] = { - gUnknown_0859312C, - gUnknown_08593144, + gMetronomeFingerAffineAnimCmds1, + gMetronomeFingerAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085931BC = +const struct SpriteTemplate gMetronomeFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085931B4, - .callback = sub_8103208, + .affineAnims = gMetronomeFingerAffineAnimTable, + .callback = AnimMetronomeFinger, }; -const struct SpriteTemplate gUnknown_085931D4 = +const struct SpriteTemplate gFollowMeFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085931B4, - .callback = sub_8103284, + .affineAnims = gMetronomeFingerAffineAnimTable, + .callback = AnimFollowMeFinger, }; -const union AnimCmd gUnknown_085931EC[] = +const union AnimCmd gTauntFingerAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085931F4[] = +const union AnimCmd gTauntFingerAnimCmds2[] = { ANIMCMD_FRAME(0, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_085931FC[] = +const union AnimCmd gTauntFingerAnimCmds3[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -2428,7 +2452,7 @@ const union AnimCmd gUnknown_085931FC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859321C[] = +const union AnimCmd gTauntFingerAnimCmds4[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -2440,31 +2464,31 @@ const union AnimCmd gUnknown_0859321C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859323C[] = +const union AnimCmd *const gTauntFingerAnimTable[] = { - gUnknown_085931EC, - gUnknown_085931F4, - gUnknown_085931FC, - gUnknown_0859321C, + gTauntFingerAnimCmds1, + gTauntFingerAnimCmds2, + gTauntFingerAnimCmds3, + gTauntFingerAnimCmds4, }; -const struct SpriteTemplate gUnknown_0859324C = +const struct SpriteTemplate gTauntFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER_2, .paletteTag = ANIM_TAG_FINGER_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859323C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gTauntFingerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8103390, + .callback = AnimTauntFinger, }; const struct SpriteTemplate gPowerOrbs_Float = { .tileTag = ANIM_TAG_RED_ORB, .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085922E4, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSporeParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSporeParticle, @@ -2607,7 +2631,7 @@ const struct SpriteTemplate gRockPolishStreakSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_STREAK, .paletteTag = ANIM_TAG_WHITE_STREAK, - .oam = &gUnknown_08524B0C, + .oam = &gOamData_AffineDouble_ObjBlend_32x8, .anims = gRockPolishStreak_AnimCmds, .images = NULL, .affineAnims = gRockPolishStreak_AffineAnimCmds, @@ -2632,7 +2656,7 @@ const struct SpriteTemplate gRockPolishSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_3, .paletteTag = ANIM_TAG_SPARKLE_3, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gRockPolishSparkle_AnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -2643,7 +2667,7 @@ const struct SpriteTemplate gPoisonJabProjectileSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_JAB, .paletteTag = ANIM_TAG_PURPLE_JAB, - .oam = &gUnknown_08524B14, + .oam = &gOamData_AffineDouble_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -2675,7 +2699,7 @@ const struct SpriteTemplate gNightSlashLeftSpriteTemplate = { .tileTag = ANIM_TAG_SLASH, .paletteTag = ANIM_TAG_SLASH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gNightSlashLeftAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -2707,7 +2731,7 @@ const struct SpriteTemplate gNightSlashRightSpriteTemplate = { .tileTag = ANIM_TAG_SLASH, .paletteTag = ANIM_TAG_SLASH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gNightSlashRightAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -2718,8 +2742,8 @@ const struct SpriteTemplate gLuckyChantBigStarsSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592314, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gPetalDanceBigFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceBigFlower, @@ -2729,8 +2753,8 @@ const struct SpriteTemplate gLuckyChantSmallStarsSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592318, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gPetalDanceSmallFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceSmallFlower, @@ -2801,8 +2825,8 @@ const struct SpriteTemplate gGrassKnotSpriteTemplate = { .tileTag = ANIM_TAG_RAZOR_LEAF, .paletteTag = ANIM_TAG_RAZOR_LEAF, - .oam = &gUnknown_08524934, - .anims = gUnknown_085923D4, + .oam = &gOamData_AffineOff_ObjNormal_32x16, + .anims = gRazorLeafCutterAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimGrassKnot, @@ -2812,7 +2836,7 @@ const struct SpriteTemplate gWoodHammerBigSpriteTemplate = { .tileTag = ANIM_TAG_WOOD_HAMMER, .paletteTag = ANIM_TAG_WOOD_HAMMER, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gWoodHammerBigAnims, .images = NULL, .affineAnims = gWoodHammerBigAffineAnims, @@ -2823,7 +2847,7 @@ const struct SpriteTemplate gWoodHammerSmallSpriteTemplate = { .tileTag = ANIM_TAG_WOOD_HAMMER, .paletteTag = ANIM_TAG_WOOD_HAMMER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gWoodHammerSmallAnims, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -3258,7 +3282,7 @@ static void AnimMoveTrumpCardArc(struct Sprite* sprite) sprite->pos2.y = Sin(sprite->data[5], -20); sprite->data[5] -= sprite->data[6]; } - + } static void AnimMoveTrumpCard(struct Sprite* sprite) @@ -3373,7 +3397,7 @@ static void AnimMoveWringOutCircle(struct Sprite* sprite) { sprite->data[3] += sprite->data[0]; } - + } else if(sprite->data[3] < 64) { @@ -3826,11 +3850,11 @@ void sub_80FF458(u8 taskId) gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[11] = 0x100; - gTasks[taskId].func = sub_80FF53C; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep1; } } -static void sub_80FF53C(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[10] += gTasks[taskId].data[0]; @@ -3844,11 +3868,11 @@ static void sub_80FF53C(u8 taskId) if (--gTasks[taskId].data[1] == 0) { gTasks[taskId].data[0] = 0; - gTasks[taskId].func = sub_80FF5CC; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep2; } } -static void sub_80FF5CC(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -4004,38 +4028,38 @@ static void sub_80FF9B8(struct Sprite* sprite, s16 c) sprite->data[7] = c; } -bool8 sub_80FF9E0(struct Sprite* sprite) +bool8 moveAlongLinearPath(struct Sprite* sprite) { - u16 r10 = (u8)(sprite->data[5] >> 8); - u16 r9 = (u8)sprite->data[5]; - s32 r2 = (u8)(sprite->data[6] >> 8); - s32 r4 = (u8)sprite->data[6]; - s16 r6 = sprite->data[7] >> 8; - s16 r3 = sprite->data[7] & 0xFF; - s16 r4_2; + u16 xStartPos = (u8)(sprite->data[5] >> 8); + u16 yStartPos = (u8)sprite->data[5]; + s32 xEndPos = (u8)(sprite->data[6] >> 8); + s32 yEndPos = (u8)sprite->data[6]; + s16 totalTime = sprite->data[7] >> 8; + s16 currentTime = sprite->data[7] & 0xFF; + s16 yEndPos_2; s16 r0; s32 var1; - s32 var2; + s32 vaxEndPos; - if (r2 == 0) - r2 = -32; - else if (r2 == 255) - r2 = 272; + if (xEndPos == 0) + xEndPos = -32; + else if (xEndPos == 255) + xEndPos = 272; - r4_2 = r4 - r9; - r0 = r2 - r10; - var1 = r0 * r3 / r6; - var2 = r4_2 * r3 / r6; - sprite->pos1.x = var1 + r10; - sprite->pos1.y = var2 + r9; - if (++r3 == r6) + yEndPos_2 = yEndPos - yStartPos; + r0 = xEndPos - xStartPos; + var1 = r0 * currentTime / totalTime; + vaxEndPos = yEndPos_2 * currentTime / totalTime; + sprite->pos1.x = var1 + xStartPos; + sprite->pos1.y = vaxEndPos + yStartPos; + if (++currentTime == totalTime) return TRUE; - sprite->data[7] = (r6 << 8) | r3; + sprite->data[7] = (totalTime << 8) | currentTime; return FALSE; } -void sub_80FFA84(struct Sprite* sprite) +void AnimItemStealStep2(struct Sprite* sprite) { if (sprite->data[0] == 10) StartSpriteAffineAnim(sprite, 1); @@ -4045,7 +4069,7 @@ void sub_80FFA84(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void sub_80FFAB4(struct Sprite* sprite) +static void AnimItemStealStep1(struct Sprite* sprite) { sprite->data[0] += sprite->data[3] * 128 / sprite->data[4]; if (sprite->data[0] >= 128) @@ -4055,11 +4079,11 @@ static void sub_80FFAB4(struct Sprite* sprite) } sprite->pos2.y = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = sub_80FFA84; + sprite->callback = AnimItemStealStep2; } } @@ -4086,7 +4110,7 @@ void AnimPresent(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = sub_80FFAB4; + sprite->callback = AnimItemStealStep1; } static void sub_80FFB90(struct Sprite* sprite) @@ -4101,7 +4125,7 @@ static void sub_80FFB90(struct Sprite* sprite) } sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = zero; sprite->data[0] = zero; @@ -4119,7 +4143,7 @@ void AnimKnockOffItem(struct Sprite* sprite) sub_80FF9B8(sprite, 40); sprite->data[3] = 3; sprite->data[4] = 60; - sprite->callback = sub_80FFAB4; + sprite->callback = AnimItemStealStep1; } else { @@ -4177,10 +4201,10 @@ void AnimItemSteal(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = AnimItemStealStep; + sprite->callback = AnimItemStealStep3; } -static void AnimItemStealStep(struct Sprite* sprite) +static void AnimItemStealStep3(struct Sprite* sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -4195,11 +4219,11 @@ static void AnimItemStealStep(struct Sprite* sprite) if (sprite->pos2.y == 0) PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(63)); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = sub_80FFA84; + sprite->callback = AnimItemStealStep2; PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64)); } } @@ -4276,9 +4300,9 @@ static void AnimTrickBagStep1(struct Sprite* sprite) static void AnimTrickBagStep2(struct Sprite* sprite) { - if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1]) + if (sprite->data[2] == gTrickBagCoordinates[sprite->data[0]][1]) { - if (gUnknown_08592700[sprite->data[0]][2] == 127) + if (gTrickBagCoordinates[sprite->data[0]][2] == 127) { sprite->data[0] = 0; sprite->callback = AnimTrickBagStep3; @@ -4290,7 +4314,7 @@ static void AnimTrickBagStep2(struct Sprite* sprite) else { sprite->data[2]++; - sprite->data[1] = (gUnknown_08592700[sprite->data[0]][0] * gUnknown_08592700[sprite->data[0]][2] + sprite->data[1]) & 0xFF; + sprite->data[1] = (gTrickBagCoordinates[sprite->data[0]][0] * gTrickBagCoordinates[sprite->data[0]][2] + sprite->data[1]) & 0xFF; if (!IsContest()) { if ((u16)(sprite->data[1] - 1) < 191) @@ -4313,7 +4337,7 @@ static void AnimTrickBagStep3(struct Sprite* sprite) sprite->data[0]++; } -void sub_80FFFC0(u8 taskId) +void AnimTask_LeafBlade(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4325,7 +4349,7 @@ void sub_80FFFC0(u8 taskId) task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1; task->data[9] = 56 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; - task->data[2] = CreateSprite(&gUnknown_08592778, task->data[8], task->data[9], task->data[4]); + task->data[2] = CreateSprite(&gLeafBladeSpriteTemplate, task->data[8], task->data[9], task->data[4]); if (task->data[2] == MAX_SPRITES) DestroyAnimVisualTask(taskId); @@ -4334,12 +4358,12 @@ void sub_80FFFC0(u8 taskId) gSprites[task->data[2]].data[2] = task->data[6] - (task->data[10] / 2 + 10) * task->data[5]; gSprites[task->data[2]].data[3] = task->data[9]; gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5]; - gSprites[task->data[2]].data[5] = sub_8100504(&gSprites[task->data[2]]); + gSprites[task->data[2]].data[5] = LeafBladeGetPosFactor(&gSprites[task->data[2]]); InitAnimArcTranslation(&gSprites[task->data[2]]); - task->func = sub_8100128; + task->func = AnimTask_LeafBladeStep; } -static void sub_8100128(u8 taskId) +static void AnimTask_LeafBladeStep(u8 taskId) { struct Task* task = &gTasks[taskId]; struct Sprite* sprite = &gSprites[task->data[2]]; @@ -4347,7 +4371,7 @@ static void sub_8100128(u8 taskId) switch (a) { case 4: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 5; @@ -4355,7 +4379,7 @@ static void sub_8100128(u8 taskId) } break; case 8: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 9; @@ -4363,7 +4387,7 @@ static void sub_8100128(u8 taskId) } break; case 0: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 1; @@ -4380,7 +4404,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; task->data[3] = a; sprite->subpriority = task->data[4]; @@ -4389,7 +4413,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 2: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 3; @@ -4406,7 +4430,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] - ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 2; sprite->subpriority = task->data[4]; StartSpriteAnim(sprite, task->data[3]); @@ -4423,7 +4447,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] + ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; task->data[3] = 3; sprite->subpriority = task->data[4]; @@ -4432,7 +4456,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 6: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 7; @@ -4449,7 +4473,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; task->data[3] = 4; sprite->subpriority = task->data[4]; @@ -4467,7 +4491,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 5; sprite->subpriority = task->data[4]; StartSpriteAnim(sprite, task->data[3]); @@ -4475,7 +4499,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 10: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 11; @@ -4493,7 +4517,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[8]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[9]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; task->data[3] = 6; sprite->subpriority = task->data[4]; @@ -4503,7 +4527,7 @@ static void sub_8100128(u8 taskId) break; } case 12: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { DestroySprite(sprite); @@ -4524,7 +4548,7 @@ static void sub_8100128(u8 taskId) } } -static s16 sub_8100504(struct Sprite* sprite) +static s16 LeafBladeGetPosFactor(struct Sprite* sprite) { s16 var = 8; if (sprite->data[4] < sprite->pos1.y) @@ -4533,7 +4557,7 @@ static s16 sub_8100504(struct Sprite* sprite) return var; } -static void sub_8100524(struct Task* task, u8 taskId) +static void AnimTask_LeafBladeStep2(struct Task* task, u8 taskId) { task->data[14]++; if (task->data[14] > 0) @@ -4544,7 +4568,7 @@ static void sub_8100524(struct Task* task, u8 taskId) task->data[14] = 0; spriteX = gSprites[task->data[2]].pos1.x + gSprites[task->data[2]].pos2.x; spriteY = gSprites[task->data[2]].pos1.y + gSprites[task->data[2]].pos2.y; - spriteId = CreateSprite(&gUnknown_08592778, spriteX, spriteY, task->data[4]); + spriteId = CreateSprite(&gLeafBladeSpriteTemplate, spriteX, spriteY, task->data[4]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[6] = taskId; @@ -4554,12 +4578,12 @@ static void sub_8100524(struct Task* task, u8 taskId) gTasks[taskId].data[13]++; StartSpriteAnim(&gSprites[spriteId], task->data[3]); gSprites[spriteId].subpriority = task->data[4]; - gSprites[spriteId].callback = sub_80CC408; + gSprites[spriteId].callback = AnimTask_LeafBladeStep2_Callback; } } } -static void sub_80CC408(struct Sprite* sprite) +static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite) { sprite->data[0]++; if (sprite->data[0] > 1) @@ -4575,7 +4599,7 @@ static void sub_80CC408(struct Sprite* sprite) } } -void sub_8100640(struct Sprite* sprite) +void AnimFlyingParticle(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[6]) @@ -4620,10 +4644,10 @@ void sub_8100640(struct Sprite* sprite) break; } - sprite->callback = sub_810074C; + sprite->callback = AnimFlyingParticleStep; } -static void sub_810074C(struct Sprite* sprite) +static void AnimFlyingParticleStep(struct Sprite* sprite) { int a = sprite->data[7]; sprite->data[7]++; @@ -4674,7 +4698,7 @@ void sub_81007C4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8100898(struct Sprite* sprite) +void AnimNeedleArmSpike(struct Sprite* sprite) { u8 a; u8 b; @@ -4726,11 +4750,11 @@ void sub_8100898(struct Sprite* sprite) c -= 0x8000; TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c); - sprite->callback = sub_81009A0; + sprite->callback = AnimNeedleArmSpikeStep; } } -static void sub_81009A0(struct Sprite* sprite) +static void AnimNeedleArmSpikeStep(struct Sprite* sprite) { if (sprite->data[0]) { @@ -4769,7 +4793,7 @@ void sub_81009F8(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8100A50(struct Sprite* sprite) +void AnimWhipHit(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) StartSpriteAnim(sprite, 1); @@ -4823,7 +4847,7 @@ void AnimCuttingSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -void sub_8100B88(struct Sprite* sprite) +void AnimAirCutterSlice(struct Sprite* sprite) { u8 a; u8 b; @@ -4960,7 +4984,7 @@ static void sub_8100E80(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8100EF0(struct Sprite* sprite) +void AnimProtect(struct Sprite* sprite) { if (IsContest()) gBattleAnimArgs[1] += 8; @@ -4977,10 +5001,10 @@ void sub_8100EF0(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7])); - sprite->callback = sub_8100FD4; + sprite->callback = AnimProtectStep; } -static void sub_8100FD4(struct Sprite *sprite) +static void AnimProtectStep(struct Sprite *sprite) { int a; int i; @@ -5023,7 +5047,7 @@ static void sub_8100FD4(struct Sprite *sprite) } } -void sub_81010CC(struct Sprite* sprite) +void AnimMilkBottle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8; @@ -5036,10 +5060,10 @@ void sub_81010CC(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); - sprite->callback = sub_8101138; + sprite->callback = AnimMilkBottleStep1; } -static void sub_8101138(struct Sprite* sprite) +static void AnimMilkBottleStep1(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -5072,7 +5096,7 @@ static void sub_8101138(struct Sprite* sprite) } break; case 2: - sub_8101298(sprite, 16, 4); + AnimMilkBottleStep2(sprite, 16, 4); if (++sprite->data[1] > 2) { sprite->data[1] = 0; @@ -5112,7 +5136,7 @@ static void sub_8101138(struct Sprite* sprite) } } -static void sub_8101298(struct Sprite* sprite, int unk1, int unk2) +static void AnimMilkBottleStep2(struct Sprite* sprite, int unk1, int unk2) { if (sprite->data[3] <= 11) sprite->data[4] += 2; @@ -5133,7 +5157,7 @@ static void sub_8101298(struct Sprite* sprite, int unk1, int unk2) sprite->data[3] = 0; } -void sub_810130C(struct Sprite* sprite) +void AnimGrantingStars(struct Sprite* sprite) { if (!gBattleAnimArgs[2]) SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -5147,7 +5171,7 @@ void sub_810130C(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -void sub_810135C(struct Sprite* sprite) +void AnimSparkingStars(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[2]) @@ -5215,7 +5239,7 @@ static void sub_81014A0(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81014F4(struct Sprite* sprite) +void AnimSleepLetterZ(struct Sprite* sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -5232,10 +5256,10 @@ void sub_81014F4(struct Sprite* sprite) StartSpriteAffineAnim(sprite, 1); } - sprite->callback = sub_8101560; + sprite->callback = AnimSleepLetterZStep; } -static void sub_8101560(struct Sprite* sprite) +static void AnimSleepLetterZStep(struct Sprite* sprite) { sprite->pos2.y = -(sprite->data[0] / 0x28); sprite->pos2.x = sprite->data[4] / 10; @@ -5245,23 +5269,23 @@ static void sub_8101560(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_81015AC(struct Sprite* sprite) +void AnimLockOnTarget(struct Sprite* sprite) { sprite->pos1.x -= 32; sprite->pos1.y -= 32; sprite->data[0] = 20; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81015D4); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); } -static void sub_81015D4(struct Sprite* sprite) +static void AnimLockOnTargetStep1(struct Sprite* sprite) { switch (sprite->data[5] & 1) { case 0: sprite->data[0] = 1; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81015D4); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); break; case 1: sprite->pos1.x += sprite->pos2.x; @@ -5269,10 +5293,10 @@ static void sub_81015D4(struct Sprite* sprite) sprite->pos2.y = 0; sprite->pos2.x = 0; sprite->data[0] = 8; - sprite->data[2] = sprite->pos1.x + gUnknown_08592CD0[sprite->data[5] >> 8][0]; - sprite->data[4] = sprite->pos1.y + gUnknown_08592CD0[sprite->data[5] >> 8][1]; + sprite->data[2] = sprite->pos1.x + gInclineMonCoordTable[sprite->data[5] >> 8][0]; + sprite->data[4] = sprite->pos1.y + gInclineMonCoordTable[sprite->data[5] >> 8][1]; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, sub_8101684); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep2); sprite->data[5] += 0x100; PlaySE12WithPanning(SE_W199, BattleAnimAdjustPanning(63)); break; @@ -5281,21 +5305,21 @@ static void sub_81015D4(struct Sprite* sprite) sprite->data[5] ^= 1; } -static void sub_8101684(struct Sprite* sprite) +static void AnimLockOnTargetStep2(struct Sprite* sprite) { if ((sprite->data[5] >> 8) == 4) { sprite->data[0] = 10; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81016B8); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep3); } else { - sprite->callback = sub_81015D4; + sprite->callback = AnimLockOnTargetStep1; } } -static void sub_81016B8(struct Sprite* sprite) +static void AnimLockOnTargetStep3(struct Sprite* sprite) { s16 a; s16 b; @@ -5305,7 +5329,7 @@ static void sub_81016B8(struct Sprite* sprite) sprite->data[1] = 0; sprite->data[2] = 0; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_8101774); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep4); } else { @@ -5337,11 +5361,11 @@ static void sub_81016B8(struct Sprite* sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, sub_8101820); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep5); } } -static void sub_8101774(struct Sprite* sprite) +static void AnimLockOnTargetStep4(struct Sprite* sprite) { if (sprite->data[2] == 0) { @@ -5364,21 +5388,21 @@ static void sub_8101774(struct Sprite* sprite) } else if (sprite->data[1] == 0) { - sprite->callback = sub_8101820; + sprite->callback = AnimLockOnTargetStep5; } } -static void sub_8101820(struct Sprite* sprite) +static void AnimLockOnTargetStep5(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->data[1] = 0; sprite->data[0] = 0; - sprite->callback = sub_8101848; + sprite->callback = AnimLockOnTargetStep6; } } -static void sub_8101848(struct Sprite* sprite) +static void AnimLockOnTargetStep6(struct Sprite* sprite) { if (sprite->data[0] % 3 == 0) { @@ -5391,7 +5415,7 @@ static void sub_8101848(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8101898(struct Sprite* sprite) +void AnimLockOnMoveTarget(struct Sprite* sprite) { sprite->oam.affineParam = gBattleAnimArgs[0]; if ((s16)sprite->oam.affineParam == 1) @@ -5419,42 +5443,42 @@ void sub_8101898(struct Sprite* sprite) } sprite->oam.tileNum = (sprite->oam.tileNum + 16); - sprite->callback = sub_81015AC; + sprite->callback = AnimLockOnTarget; sprite->callback(sprite); } -void sub_8101940(struct Sprite* sprite) +void AnimBowMon(struct Sprite* sprite) { sprite->invisible = 1; sprite->data[0] = 0; switch (gBattleAnimArgs[0]) { case 0: - sprite->callback = sub_8101998; + sprite->callback = AnimBowMonStep1; break; case 1: - sprite->callback = sub_8101A74; + sprite->callback = AnimBowMonStep2; break; case 2: - sprite->callback = sub_8101AC4; + sprite->callback = AnimBowMonStep3; break; default: - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; break; } } -static void sub_8101998(struct Sprite* sprite) +static void AnimBowMonStep1(struct Sprite* sprite) { sprite->data[0] = 6; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, sub_81019E8); + StoreSpriteCallbackInData6(sprite, AnimBowMonStep1_Callback); sprite->callback = TranslateMonSpriteLinear; } -static void sub_81019E8(struct Sprite* sprite) +static void AnimBowMonStep1_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -5470,30 +5494,30 @@ static void sub_81019E8(struct Sprite* sprite) if (++sprite->data[0] > 3) { sprite->data[0] = 0; - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; } } -static void sub_8101A74(struct Sprite* sprite) +static void AnimBowMonStep2(struct Sprite* sprite) { sprite->data[0] = 4; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, sub_8101B84); + StoreSpriteCallbackInData6(sprite, AnimBowMonStep4); sprite->callback = TranslateMonSpriteLinear; } -static void sub_8101AC4(struct Sprite* sprite) +static void AnimBowMonStep3(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 0; - sprite->callback = sub_8101AE8; + sprite->callback = AnimBowMonStep3_Callback; } } -static void sub_8101AE8(struct Sprite* sprite) +static void AnimBowMonStep3_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -5517,11 +5541,11 @@ static void sub_8101AE8(struct Sprite* sprite) if (++sprite->data[0] > 2) { ResetSpriteRotScale(sprite->data[3]); - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; } } -static void sub_8101B84(struct Sprite* sprite) +static void AnimBowMonStep4(struct Sprite* sprite) { DestroyAnimSprite(sprite); } @@ -5569,7 +5593,7 @@ static void sub_8101BA0(struct Sprite *sprite) } } -void sub_8101C94(u8 taskId) +void AnimTask_SkullBashPosition(u8 taskId) { u8 a; @@ -5590,7 +5614,7 @@ void sub_8101C94(u8 taskId) if (a == 0) gTasks[taskId].data[5] *= -1; - gTasks[taskId].func = sub_8101D2C; + gTasks[taskId].func = AnimTask_SkullBashPositionSet; break; case 1: gTasks[taskId].data[3] = 8; @@ -5602,12 +5626,12 @@ void sub_8101C94(u8 taskId) gTasks[taskId].data[5] = -gTasks[taskId].data[5]; } - gTasks[taskId].func = sub_8101EEC; + gTasks[taskId].func = AnimTask_SkullBashPositionReset; break; } } -static void sub_8101D2C(u8 taskId) +static void AnimTask_SkullBashPositionSet(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[2]) @@ -5698,7 +5722,7 @@ static void sub_8101D2C(u8 taskId) } } -static void sub_8101EEC(u8 taskId) +static void AnimTask_SkullBashPositionReset(u8 taskId) { struct Task* task = &gTasks[taskId]; if (task->data[3]) @@ -5715,7 +5739,7 @@ static void sub_8101EEC(u8 taskId) } } -void sub_8101F40(struct Sprite* sprite) +void AnimSlashSlice(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -5730,48 +5754,48 @@ void sub_8101F40(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = 0; - StoreSpriteCallbackInData6(sprite, sub_810208C); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep3); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8101FA8(struct Sprite* sprite) +void AnimFalseSwipeSlice(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - StoreSpriteCallbackInData6(sprite, sub_8102044); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep1); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8101FF0(struct Sprite* sprite) +void AnimFalseSwipePositionedSlice(struct Sprite* sprite) { sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = sub_810208C; + sprite->callback = AnimFalseSwipeSliceStep3; } -static void sub_8102044(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep1(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 12; sprite->data[1] = 8; sprite->data[2] = 0; - StoreSpriteCallbackInData6(sprite, sub_810207C); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep2); sprite->callback = TranslateSpriteLinear; } } -static void sub_810207C(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep2(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = sub_810208C; + sprite->callback = AnimFalseSwipeSliceStep3; } -static void sub_810208C(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep3(struct Sprite* sprite) { if (++sprite->data[0] > 1) { @@ -5782,7 +5806,7 @@ static void sub_810208C(struct Sprite* sprite) } } -void sub_81020D8(struct Sprite* sprite) +void AnimEndureEnergy(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -5797,10 +5821,10 @@ void sub_81020D8(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_810213C; + sprite->callback = AnimEndureEnergyStep; } -static void sub_810213C(struct Sprite* sprite) +static void AnimEndureEnergyStep(struct Sprite* sprite) { if (++sprite->data[0] > sprite->data[1]) { @@ -5813,7 +5837,7 @@ static void sub_810213C(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_810217C(struct Sprite* sprite) +void AnimSharpenSphere(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12; @@ -5823,10 +5847,10 @@ void sub_810217C(struct Sprite* sprite) sprite->data[3] = 0; sprite->data[4] = 0; sprite->data[5] = BattleAnimAdjustPanning(-64); - sprite->callback = sub_81021CC; + sprite->callback = AnimSharpenSphereStep; } -static void sub_81021CC(struct Sprite* sprite) +static void AnimSharpenSphereStep(struct Sprite* sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -5850,7 +5874,7 @@ static void sub_81021CC(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8102268(struct Sprite* sprite) +void AnimConversion(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -5866,7 +5890,7 @@ void sub_8102268(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81022D4(u8 taskId) +void AnimTask_ConversionAlphaBlend(u8 taskId) { if (gTasks[taskId].data[2] == 1) { @@ -5890,15 +5914,15 @@ void sub_81022D4(u8 taskId) } } -void sub_810234C(struct Sprite* sprite) +void AnimConversion2(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->animPaused = 1; sprite->data[0] = gBattleAnimArgs[2]; - sprite->callback = sub_810237C; + sprite->callback = AnimConversion2Step; } -static void sub_810237C(struct Sprite* sprite) +static void AnimConversion2Step(struct Sprite* sprite) { if (sprite->data[0]) { @@ -5915,7 +5939,7 @@ static void sub_810237C(struct Sprite* sprite) } } -void sub_81023E0(u8 taskId) +void AnimTask_Conversion2AlphaBlend(u8 taskId) { if (++gTasks[taskId].data[0] == 4) { @@ -5951,7 +5975,7 @@ void unref_sub_81024A8(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81024E0(struct Sprite* sprite) +void AnimMoon(struct Sprite* sprite) { if (IsContest()) { @@ -5967,16 +5991,16 @@ void sub_81024E0(struct Sprite* sprite) sprite->oam.shape = 0; sprite->oam.size = 3; sprite->data[0] = 0; - sprite->callback = sub_8102528; + sprite->callback = AnimMoonStep; } -static void sub_8102528(struct Sprite* sprite) +static void AnimMoonStep(struct Sprite* sprite) { if (sprite->data[0]) DestroyAnimSprite(sprite); } -void sub_8102540(struct Sprite* sprite) +void AnimMoonlightSparkle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -5985,10 +6009,10 @@ void sub_8102540(struct Sprite* sprite) sprite->data[2] = 0; sprite->data[3] = 0; sprite->data[4] = 1; - sprite->callback = sub_8102584; + sprite->callback = AnimMoonlightSparkleStep; } -static void sub_8102584(struct Sprite* sprite) +static void AnimMoonlightSparkleStep(struct Sprite* sprite) { if (++sprite->data[1] > 1) { @@ -6004,10 +6028,10 @@ static void sub_8102584(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81026A8(u8); +void AnimTask_FadeScreenBlueStep(u8); -void sub_81025C0(u8 taskId) +void AnimTask_FadeScreenBlue(u8 taskId) { int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; int b; @@ -6030,11 +6054,11 @@ void sub_81025C0(u8 taskId) b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE); BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31)); - gTasks[taskId].func = sub_81026A8; + gTasks[taskId].func = AnimTask_FadeScreenBlueStep; gTasks[taskId].func(taskId); } -void sub_81026A8(u8 taskId) +void AnimTask_FadeScreenBlueStep(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[0]) @@ -6090,7 +6114,7 @@ void sub_81026A8(u8 taskId) u8 spriteId; for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++) { - if (gSprites[spriteId].template == &gUnknown_08592EBC || gSprites[spriteId].template == &gBattleAnimSpriteTemplate_8592EEC) + if (gSprites[spriteId].template == &gMoonSpriteTemplate || gSprites[spriteId].template == &gMoonlightSparkleSpriteTemplate) gSprites[spriteId].data[0] = 1; } @@ -6112,7 +6136,7 @@ void sub_81026A8(u8 taskId) } } -void sub_8102844(struct Sprite* sprite) +void AnimHornHit(struct Sprite* sprite) { if (gBattleAnimArgs[2] < 2) gBattleAnimArgs[2] = 2; @@ -6156,10 +6180,10 @@ void sub_8102844(struct Sprite* sprite) sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP); } - sprite->callback = sub_810296C; + sprite->callback = AnimHornHitStep; } -static void sub_810296C(struct Sprite* sprite) +static void AnimHornHitStep(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; @@ -6175,7 +6199,7 @@ static void sub_810296C(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81029B4(u8 taskId) +void AnimTask_DoubleTeam(u8 taskId) { u16 i; int obj; @@ -6198,19 +6222,19 @@ void sub_81029B4(u8 taskId) gSprites[obj].data[0] = 0; gSprites[obj].data[1] = i << 7; gSprites[obj].data[2] = taskId; - gSprites[obj].callback = sub_8102B3C; + gSprites[obj].callback = AnimTask_DoubleTeamCallback; task->data[3]++; i++; } - task->func = sub_8102AE0; + task->func = AnimTask_DoubleTeamStep; if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); } -static void sub_8102AE0(u8 taskId) +static void AnimTask_DoubleTeamStep(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!task->data[3]) @@ -6225,7 +6249,7 @@ static void sub_8102AE0(u8 taskId) } } -static void sub_8102B3C(struct Sprite* sprite) +static void AnimTask_DoubleTeamCallback(struct Sprite* sprite) { if (++sprite->data[3] > 1) { @@ -6247,57 +6271,57 @@ static void sub_8102B3C(struct Sprite* sprite) } } -void sub_8102BCC(struct Sprite* sprite) +void AnimSuperFang(struct Sprite* sprite) { StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8102BE8(u8 taskId) +void AnimTask_MusicNotesRainbowBlend(u8 taskId) { u16 i; u16 j; u16 index; - index = IndexOfSpritePaletteTag(gUnknown_08593020[0][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[0][0]); if (index != 0xFF) { index = (index << 4) + 0x100; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++) - gPlttBufferFaded[index + i] = gUnknown_08593020[0][i]; + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++) + gPlttBufferFaded[index + i] = gParticlesColorBlendTable[0][i]; } - for (j = 1; j < ARRAY_COUNT(gUnknown_08593020); j++) + for (j = 1; j < ARRAY_COUNT(gParticlesColorBlendTable); j++) { - index = AllocSpritePalette(gUnknown_08593020[j][0]); + index = AllocSpritePalette(gParticlesColorBlendTable[j][0]); if (index != 0xFF) { index = (index << 4) + 0x100; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++) - gPlttBufferFaded[index + i] = gUnknown_08593020[j][i]; + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++) + gPlttBufferFaded[index + i] = gParticlesColorBlendTable[j][i]; } } DestroyAnimVisualTask(taskId); } // clears the rainbow effect for musical notes. -void sub_8102CA0(u8 taskId) +void AnimTask_MusicNotesClearRainbowBlend(u8 taskId) { u16 i; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020); i++) - FreeSpritePaletteByTag(gUnknown_08593020[i][0]); + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable); i++) + FreeSpritePaletteByTag(gParticlesColorBlendTable[i][0]); DestroyAnimVisualTask(taskId); } -void sub_8102CD4(struct Sprite* sprite) +void AnimWavyMusicNotes(struct Sprite* sprite) { u8 index; u8 a; u8 b; SetSpriteCoordsToAnimAttackerCoords(sprite); StartSpriteAnim(sprite, gBattleAnimArgs[0]); - if ((index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[1]][0])) != 0xFF) + if ((index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[1]][0])) != 0xFF) sprite->oam.paletteNum = index; sprite->data[1] = gBattleAnimArgs[1]; @@ -6316,11 +6340,11 @@ void sub_8102CD4(struct Sprite* sprite) sprite->data[4] = sprite->pos1.x << 4; sprite->data[5] = sprite->pos1.y << 4; - sub_8102D8C(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); - sprite->callback = sub_8102DE4; + AnimWavyMusicNotesGetNextPos(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); + sprite->callback = AnimWavyMusicNotesStep; } -static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e) +static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e) { int f; int g; @@ -6336,7 +6360,7 @@ static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e) *d = (b << 8) / g; } -static void sub_8102DE4(struct Sprite* sprite) +static void AnimWavyMusicNotesStep(struct Sprite* sprite) { s16 y, yDelta; u8 index; @@ -6362,14 +6386,14 @@ static void sub_8102DE4(struct Sprite* sprite) if (++sprite->data[1] > 3) sprite->data[1] = 0; - index = IndexOfSpritePaletteTag(gUnknown_08593020[sprite->data[1]][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[sprite->data[1]][0]); if (index != 0xFF) sprite->oam.paletteNum = index; } } } -void sub_8102EB0(struct Sprite* sprite) +void AnimFlyingMusicNotes(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[1] *= -1; @@ -6383,10 +6407,10 @@ void sub_8102EB0(struct Sprite* sprite) sprite->data[5] = sprite->pos1.y << 4; sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; - sprite->callback = sub_8102F40; + sprite->callback = AnimFlyingMusicNotesStep; } -static void sub_8102F40(struct Sprite* sprite) +static void AnimFlyingMusicNotesStep(struct Sprite* sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -6405,7 +6429,7 @@ static void sub_8102F40(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_8102FB8(struct Sprite* sprite) +void AnimBellyDrumHand(struct Sprite* sprite) { s16 a; if (gBattleAnimArgs[0] == 1) @@ -6425,14 +6449,14 @@ void sub_8102FB8(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8103028(struct Sprite* sprite) +void AnimSlowFlyingMusicNotes(struct Sprite* sprite) { s16 xDiff; u8 index; SetSpriteCoordsToAnimAttackerCoords(sprite); sprite->pos1.y += 8; StartSpriteAnim(sprite, gBattleAnimArgs[1]); - index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[2]][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[2]][0]); if (index != 0xFF) sprite->oam.paletteNum = index; @@ -6444,10 +6468,10 @@ void sub_8103028(struct Sprite* sprite) sprite->data[4] = sprite->data[3] - 40; InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_81030B0; + sprite->callback = AnimSlowFlyingMusicNotesStep; } -static void sub_81030B0(struct Sprite* sprite) +static void AnimSlowFlyingMusicNotesStep(struct Sprite* sprite) { if (AnimTranslateLinear(sprite) == 0) { @@ -6466,7 +6490,7 @@ static void sub_81030B0(struct Sprite* sprite) } } -void sub_810310C(u8 battler, struct Sprite* sprite) +void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; @@ -6476,7 +6500,7 @@ void sub_810310C(u8 battler, struct Sprite* sprite) sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } -void sub_8103164(struct Sprite* sprite) +void AnimThoughtBubble(struct Sprite* sprite) { u8 a; u8 battler; @@ -6485,16 +6509,16 @@ void sub_8103164(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); a = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? 0 : 1; sprite->data[0] = gBattleAnimArgs[1]; sprite->data[1] = a + 2; StartSpriteAnim(sprite, a); - StoreSpriteCallbackInData6(sprite, sub_81031D0); + StoreSpriteCallbackInData6(sprite, AnimThoughtBubbleStep); sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_81031D0(struct Sprite* sprite) +static void AnimThoughtBubbleStep(struct Sprite* sprite) { if (--sprite->data[0] == 0) { @@ -6504,7 +6528,7 @@ static void sub_81031D0(struct Sprite* sprite) } } -void sub_8103208(struct Sprite* sprite) +void AnimMetronomeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -6512,13 +6536,13 @@ void sub_8103208(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); sprite->data[0] = 0; - StoreSpriteCallbackInData6(sprite, sub_8103250); + StoreSpriteCallbackInData6(sprite, AnimMetronomeFingerStep); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_8103250(struct Sprite* sprite) +static void AnimMetronomeFingerStep(struct Sprite* sprite) { if (++sprite->data[0] > 16) { @@ -6528,7 +6552,7 @@ static void sub_8103250(struct Sprite* sprite) } } -void sub_8103284(struct Sprite* sprite) +void AnimFollowMeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -6546,17 +6570,17 @@ void sub_8103284(struct Sprite* sprite) sprite->data[2] = sprite->subpriority; sprite->data[3] = sprite->subpriority + 4; sprite->data[4] = 0; - StoreSpriteCallbackInData6(sprite, sub_8103300); + StoreSpriteCallbackInData6(sprite, AnimFollowMeFingerStep1); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_8103300(struct Sprite* sprite) +static void AnimFollowMeFingerStep1(struct Sprite* sprite) { if (++sprite->data[4] > 12) - sprite->callback = sub_8103320; + sprite->callback = AnimFollowMeFingerStep2; } -static void sub_8103320(struct Sprite* sprite) +static void AnimFollowMeFingerStep2(struct Sprite* sprite) { s16 x1, x2; @@ -6566,7 +6590,7 @@ static void sub_8103320(struct Sprite* sprite) if (--sprite->data[0] == 0) { sprite->pos2.x = 0; - sprite->callback = sub_8103250; + sprite->callback = AnimMetronomeFingerStep; return; } else @@ -6586,7 +6610,7 @@ static void sub_8103320(struct Sprite* sprite) sprite->pos2.x = (x1 >> 3) + (x2 >> 1); } -void sub_8103390(struct Sprite* sprite) +void AnimTauntFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -6594,7 +6618,7 @@ void sub_8103390(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); if (GetBattlerSide(battler) == B_SIDE_PLAYER) { StartSpriteAnim(sprite, 0); @@ -6606,21 +6630,21 @@ void sub_8103390(struct Sprite* sprite) sprite->data[0] = 3; } - sprite->callback = sub_81033F0; + sprite->callback = AnimTauntFingerStep1; } -static void sub_81033F0(struct Sprite* sprite) +static void AnimTauntFingerStep1(struct Sprite* sprite) { if (++sprite->data[1] > 10) { sprite->data[1] = 0; StartSpriteAnim(sprite, sprite->data[0]); - StoreSpriteCallbackInData6(sprite, sub_810342C); + StoreSpriteCallbackInData6(sprite, AnimTauntFingerStep2); sprite->callback = RunStoredCallbackWhenAnimEnds; } } -static void sub_810342C(struct Sprite* sprite) +static void AnimTauntFingerStep2(struct Sprite* sprite) { if (++sprite->data[1] > 5) DestroyAnimSprite(sprite); @@ -6680,6 +6704,6 @@ void AnimTask_BlendNightSlash(u8 taskId) void AnimNightSlash(struct Sprite *sprite) { - sprite->callback = sub_8101F40; + sprite->callback = AnimSlashSlice; sprite->callback(sprite); } diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 87023e7e10..d0f161f5b3 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -109,7 +109,7 @@ const struct SpriteTemplate gUnknown_08593264 = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -131,7 +131,7 @@ const struct SpriteTemplate gUnknown_08593288 = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -154,7 +154,7 @@ const struct SpriteTemplate gUnknown_085932B8 = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -191,11 +191,11 @@ const struct SpriteTemplate gUnknown_08593304 = { .tileTag = ANIM_TAG_EXPLOSION_6, .paletteTag = ANIM_TAG_EXPLOSION_6, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085932E4, .images = NULL, .affineAnims = gUnknown_08593300, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const union AnimCmd gUnknown_0859331C[] = @@ -220,7 +220,7 @@ const struct SpriteTemplate gKinesisZapEnergySpriteTemplate = { .tileTag = ANIM_TAG_ALERT, .paletteTag = ANIM_TAG_ALERT, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_08593340, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -244,7 +244,7 @@ const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = { .tileTag = ANIM_TAG_SWORD, .paletteTag = ANIM_TAG_SWORD, - .oam = &gUnknown_08524ADC, + .oam = &gOamData_AffineNormal_ObjBlend_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859337C, @@ -255,7 +255,7 @@ const struct SpriteTemplate gSonicBoomSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE, .paletteTag = ANIM_TAG_AIR_WAVE, - .oam = &gUnknown_08524B14, + .oam = &gOamData_AffineDouble_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -266,7 +266,7 @@ const struct SpriteTemplate gUnknown_085933B0 = { .tileTag = ANIM_TAG_AIR_WAVE, .paletteTag = ANIM_TAG_AIR_WAVE, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -306,7 +306,7 @@ const struct SpriteTemplate gSupersonicWaveSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593420, @@ -317,7 +317,7 @@ const struct SpriteTemplate gScreechWaveSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_RING, .paletteTag = ANIM_TAG_PURPLE_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593420, @@ -328,7 +328,7 @@ const struct SpriteTemplate gUnknown_08593458 = { .tileTag = ANIM_TAG_METAL_SOUND_WAVES, .paletteTag = ANIM_TAG_METAL_SOUND_WAVES, - .oam = &gUnknown_08524A1C, + .oam = &gOamData_AffineDouble_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593420, @@ -339,7 +339,7 @@ const struct SpriteTemplate gUnknown_08593470 = { .tileTag = ANIM_TAG_BLUE_RING_2, .paletteTag = ANIM_TAG_BLUE_RING_2, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593424, @@ -350,7 +350,7 @@ const struct SpriteTemplate gUnknown_08593488 = { .tileTag = ANIM_TAG_LARGE_FRESH_EGG, .paletteTag = ANIM_TAG_LARGE_FRESH_EGG, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -361,7 +361,7 @@ const struct SpriteTemplate gUnknown_085934A0 = { .tileTag = ANIM_TAG_VOID_LINES, .paletteTag = ANIM_TAG_VOID_LINES, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -394,7 +394,7 @@ const struct SpriteTemplate gUnknown_085934D8 = { .tileTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_085934C0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -405,7 +405,7 @@ const struct SpriteTemplate gUnknown_085934F0 = { .tileTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_085934C0, .images = NULL, .affineAnims = gUnknown_085934D4, @@ -427,7 +427,7 @@ const struct SpriteTemplate gUnknown_0859351C = { .tileTag = ANIM_TAG_SEED, .paletteTag = ANIM_TAG_SEED, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593518, @@ -450,7 +450,7 @@ const struct SpriteTemplate gRazorWindTornadoSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_085249BC, + .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859354C, @@ -483,7 +483,7 @@ const struct SpriteTemplate gViceGripSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gUnknown_08593588, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -516,7 +516,7 @@ const struct SpriteTemplate gGuillotineSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gUnknown_085935C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -567,7 +567,7 @@ const struct SpriteTemplate gBreathPuffSpriteTemplate = { .tileTag = ANIM_TAG_BREATH, .paletteTag = ANIM_TAG_BREATH, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08593650, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -590,7 +590,7 @@ const struct SpriteTemplate gAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593688, @@ -611,7 +611,7 @@ const struct SpriteTemplate gUnknown_085936D4 = { .tileTag = ANIM_TAG_PENCIL, .paletteTag = ANIM_TAG_PENCIL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -622,7 +622,7 @@ const struct SpriteTemplate gUnknown_085936EC = { .tileTag = ANIM_TAG_SNORE_Z, .paletteTag = ANIM_TAG_SNORE_Z, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -647,11 +647,11 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_859371C = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_EXPLOSION, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593718, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const union AffineAnimCmd gUnknown_08593734[] = @@ -691,7 +691,7 @@ const struct SpriteTemplate gUnknown_085937B0 = { .tileTag = ANIM_TAG_BREAKING_EGG, .paletteTag = ANIM_TAG_BREAKING_EGG, - .oam = &gUnknown_08524AF4, + .oam = &gOamData_AffineDouble_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085937A4, @@ -734,11 +734,11 @@ const struct SpriteTemplate gUnknown_0859381C = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593810, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; //* const union AffineAnimCmd gUnknown_08593834[] = @@ -757,18 +757,18 @@ const struct SpriteTemplate gUnknown_08593850 = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859384C, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gUnknown_08593868 = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593810, @@ -779,7 +779,7 @@ const struct SpriteTemplate gUnknown_08593880 = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593818, @@ -790,7 +790,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8593898 = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593810, @@ -822,7 +822,7 @@ const struct SpriteTemplate gUnknown_085938DC = { .tileTag = ANIM_TAG_SPEED_DUST, .paletteTag = ANIM_TAG_SPEED_DUST, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_085938D8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -864,11 +864,11 @@ const struct SpriteTemplate gUnknown_08593938 = { .tileTag = ANIM_TAG_BELL, .paletteTag = ANIM_TAG_BELL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593934, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const u16 gUnknown_08593950[] = @@ -882,7 +882,7 @@ const struct SpriteTemplate gUnknown_08593958 = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -893,7 +893,7 @@ const struct SpriteTemplate gMagentaHeartSpriteTemplate = { .tileTag = ANIM_TAG_MAGENTA_HEART, .paletteTag = ANIM_TAG_MAGENTA_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -911,7 +911,7 @@ const struct SpriteTemplate gUnknown_085939A0 = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -922,7 +922,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85939B8 = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -933,7 +933,7 @@ const struct SpriteTemplate gUnknown_085939D0 = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -956,7 +956,7 @@ const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = { .tileTag = ANIM_TAG_RED_ORB, .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593A00, @@ -967,7 +967,7 @@ const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate = { .tileTag = ANIM_TAG_RED_ORB, .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593A00, @@ -990,7 +990,7 @@ const struct SpriteTemplate gUnknown_08593A50 = { .tileTag = ANIM_TAG_RED_ORB_2, .paletteTag = ANIM_TAG_RED_ORB_2, - .oam = &gUnknown_085249C4, + .oam = &gOamData_AffineDouble_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593A4C, @@ -1016,7 +1016,7 @@ const struct SpriteTemplate gUnknown_08593A84 = { .tileTag = ANIM_TAG_EYE_SPARKLE, .paletteTag = ANIM_TAG_EYE_SPARKLE, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08593A80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1038,7 +1038,7 @@ const struct SpriteTemplate gUnknown_08593AA8 = { .tileTag = ANIM_TAG_ANGEL, .paletteTag = ANIM_TAG_ANGEL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593AA4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1049,7 +1049,7 @@ const struct SpriteTemplate gUnknown_08593AC0 = { .tileTag = ANIM_TAG_PINK_HEART, .paletteTag = ANIM_TAG_PINK_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1078,7 +1078,7 @@ const struct SpriteTemplate gUnknown_08593AF0 = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593AE8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1113,7 +1113,7 @@ const struct SpriteTemplate gUnknown_08593B38 = { .tileTag = ANIM_TAG_SWIPE, .paletteTag = ANIM_TAG_SWIPE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593B30, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1148,7 +1148,7 @@ const struct SpriteTemplate gUnknown_08593B80 = { .tileTag = ANIM_TAG_MOVEMENT_WAVES, .paletteTag = ANIM_TAG_MOVEMENT_WAVES, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08593B78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1167,7 +1167,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8593BB8 = { .tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE, .paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1199,13 +1199,13 @@ const union AffineAnimCmd *const gUnknown_08593C00[] = gUnknown_08593BF0, }; -extern const union AnimCmd *const gUnknown_08592FCC[]; +extern const union AnimCmd *const gMusicNotesAnimTable[]; const struct SpriteTemplate gUnknown_08593C0C = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, .affineAnims = gUnknown_08593C00, .callback = sub_8106F60, @@ -1215,8 +1215,8 @@ const struct SpriteTemplate gUnknown_08593C24 = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, .affineAnims = gUnknown_08593C00, .callback = sub_8106F00, @@ -1244,7 +1244,7 @@ const struct SpriteTemplate gUnknown_08593C64 = { .tileTag = ANIM_TAG_GUARD_RING, .paletteTag = ANIM_TAG_GUARD_RING, - .oam = &gUnknown_08524B1C, + .oam = &gOamData_AffineDouble_ObjBlend_64x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593C5C, @@ -1273,7 +1273,7 @@ void sub_8103498(struct Sprite *sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); sprite->data[0] = 0; sprite->data[1] = 0; sprite->callback = sub_81034D8; @@ -2554,7 +2554,7 @@ void sub_81051C4(struct Sprite *sprite) gBattleAnimArgs[0] = sp0 - r4; } - sprite->callback = sub_80A77C8; + sprite->callback = AnimSparklingParticle; sprite->callback(sprite); } @@ -2661,7 +2661,7 @@ void sub_81054E8(struct Sprite *sprite) } StartSpriteAffineAnim(sprite, 1); - sprite->callback = sub_80A77C8; + sprite->callback = AnimSparklingParticle; sprite->callback(sprite); } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 35708fed93..962884a0eb 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -24,7 +24,7 @@ #include "constants/species.h" #include "constants/weather.h" -extern const struct SpriteTemplate gUnknown_08593114; +extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate; void sub_815A0D4(struct Sprite *); void sub_815A1B0(struct Sprite *); @@ -140,18 +140,18 @@ const struct SpriteTemplate gUnknown_085CE020 = { .tileTag = ANIM_TAG_SCRATCH, .paletteTag = ANIM_TAG_SCRATCH, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gUnknown_085CE01C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gUnknown_085CE038 = { .tileTag = ANIM_TAG_BLACK_SMOKE, .paletteTag = ANIM_TAG_BLACK_SMOKE, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -162,7 +162,7 @@ const struct SpriteTemplate gUnknown_085CE050 = { .tileTag = ANIM_TAG_BLACK_BALL, .paletteTag = ANIM_TAG_BLACK_BALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -186,18 +186,18 @@ const struct SpriteTemplate gUnknown_085CE07C = { .tileTag = ANIM_TAG_OPENING_EYE, .paletteTag = ANIM_TAG_OPENING_EYE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085CE078, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gUnknown_085CE094 = { .tileTag = ANIM_TAG_ROUND_WHITE_HALO, .paletteTag = ANIM_TAG_ROUND_WHITE_HALO, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -208,7 +208,7 @@ const struct SpriteTemplate gUnknown_085CE0AC = { .tileTag = ANIM_TAG_TEAL_ALERT, .paletteTag = ANIM_TAG_TEAL_ALERT, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -240,7 +240,7 @@ const struct SpriteTemplate gUnknown_085CE104 = { .tileTag = ANIM_TAG_EYE, .paletteTag = ANIM_TAG_EYE, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085CE0FC, @@ -251,7 +251,7 @@ const struct SpriteTemplate gUnknown_085CE11C = { .tileTag = ANIM_TAG_SPIKES, .paletteTag = ANIM_TAG_SPIKES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -262,7 +262,7 @@ const struct SpriteTemplate gToxicSpikesSpriteTemplate = { .tileTag = ANIM_TAG_TOXIC_SPIKES, .paletteTag = ANIM_TAG_TOXIC_SPIKES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -288,7 +288,7 @@ const struct SpriteTemplate gUnknown_085CE150 = { .tileTag = ANIM_TAG_LEER, .paletteTag = ANIM_TAG_LEER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085CE14C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -322,7 +322,7 @@ const struct SpriteTemplate gUnknown_085CE190 = { .tileTag = ANIM_TAG_LETTER_Z, .paletteTag = ANIM_TAG_LETTER_Z, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085CE170, .images = NULL, .affineAnims = gUnknown_085CE18C, @@ -359,7 +359,7 @@ const struct SpriteTemplate gUnknown_085CE1DC = { .tileTag = ANIM_TAG_FANG_ATTACK, .paletteTag = ANIM_TAG_FANG_ATTACK, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_085CE1BC, .images = NULL, .affineAnims = gUnknown_085CE1D8, @@ -390,7 +390,7 @@ const struct SpriteTemplate gUnknown_085CE22C = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085CE224, @@ -401,7 +401,7 @@ const struct SpriteTemplate gUnknown_085CE244 = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -412,7 +412,7 @@ const struct SpriteTemplate gUnknown_085CE25C = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -436,7 +436,7 @@ const struct SpriteTemplate gUnknown_085CE288 = { .tileTag = ANIM_TAG_RAPID_SPIN, .paletteTag = ANIM_TAG_RAPID_SPIN, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085CE284, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -480,7 +480,7 @@ const struct SpriteTemplate gUnknown_085CE2F8 = { .tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE, .paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gUnknown_085CE2C8, .images = NULL, .affineAnims = gUnknown_085CE2F4, @@ -509,11 +509,11 @@ const struct SpriteTemplate gUnknown_085CE338 = { .tileTag = ANIM_TAG_ECLIPSING_ORB, .paletteTag = ANIM_TAG_ECLIPSING_ORB, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085CE334, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const union AffineAnimCmd gUnknown_085CE350[] = @@ -528,7 +528,7 @@ const struct SpriteTemplate gUnknown_085CE370 = { .tileTag = ANIM_TAG_POKEBALL, .paletteTag = ANIM_TAG_POKEBALL, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -539,7 +539,7 @@ const struct SpriteTemplate gUnknown_085CE388 = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -550,7 +550,7 @@ const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -581,7 +581,7 @@ const struct SpriteTemplate gUnknown_085CE418 = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -636,7 +636,7 @@ const struct SpriteTemplate gUnknown_085CE48C = { .tileTag = ANIM_TAG_GREEN_STAR, .paletteTag = ANIM_TAG_GREEN_STAR, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_085CE480, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -672,7 +672,7 @@ const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -722,7 +722,7 @@ const struct SpriteTemplate gSweetScentPetalSpriteTemplate = { .tileTag = ANIM_TAG_PINK_PETAL, .paletteTag = ANIM_TAG_PINK_PETAL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gSweetScentPetalAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -748,7 +748,7 @@ const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_PAIN_SPLIT, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gPainSplitAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -759,7 +759,7 @@ const struct SpriteTemplate gFlatterConfettiSpriteTemplate = { .tileTag = ANIM_TAG_CONFETTI, .paletteTag = ANIM_TAG_CONFETTI, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -770,7 +770,7 @@ const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085CE224, @@ -781,7 +781,7 @@ const struct SpriteTemplate gReversalOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -833,7 +833,7 @@ const struct SpriteTemplate gYawnCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gYawnCloudAffineAnimTable, @@ -884,7 +884,7 @@ const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gSmokeBallEscapeCloudAffineAnimTable, @@ -903,7 +903,7 @@ const struct SpriteTemplate gFacadeSweatDrop = { .tileTag = ANIM_TAG_SWEAT_DROP, .paletteTag = ANIM_TAG_SWEAT_DROP, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -961,7 +961,7 @@ const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = { .tileTag = ANIM_TAG_NOISE_LINE, .paletteTag = ANIM_TAG_NOISE_LINE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gRoarNoiseLineAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -972,7 +972,7 @@ const struct SpriteTemplate gGlareEyeDotSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_RED_EYE, .paletteTag = ANIM_TAG_SMALL_RED_EYE, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -983,7 +983,7 @@ const struct SpriteTemplate gAssistPawprintSpriteTemplate = { .tileTag = ANIM_TAG_PAW_PRINT, .paletteTag = ANIM_TAG_PAW_PRINT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1013,7 +1013,7 @@ const struct SpriteTemplate gBarrageBallSpriteTemplate = { .tileTag = ANIM_TAG_RED_BALL, .paletteTag = ANIM_TAG_RED_BALL, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gBarrageBallAffineAnimTable, @@ -1024,7 +1024,7 @@ const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1042,7 +1042,7 @@ const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = { .tileTag = ANIM_TAG_SMELLINGSALT_EFFECT, .paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1053,7 +1053,7 @@ const struct SpriteTemplate gHelpingHandClapSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1064,7 +1064,7 @@ const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = { .tileTag = ANIM_TAG_MAGNIFYING_GLASS, .paletteTag = ANIM_TAG_MAGNIFYING_GLASS, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1075,7 +1075,7 @@ const struct SpriteTemplate gMeteorMashStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1086,7 +1086,7 @@ const struct SpriteTemplate gUnknown_085CE8F4 = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1097,7 +1097,7 @@ const struct SpriteTemplate gBlockXSpriteTemplate = { .tileTag = ANIM_TAG_X_SIGN, .paletteTag = ANIM_TAG_X_SIGN, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1108,7 +1108,7 @@ const struct SpriteTemplate gUnknown_085CE924 = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1151,7 +1151,7 @@ const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_SLAM_HIT_2, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gKnockOffStrikeAnimTable, .images = NULL, .affineAnims = gKnockOffStrikeAffineAnimTable, @@ -1173,7 +1173,7 @@ const struct SpriteTemplate gRecycleSpriteTemplate = { .tileTag = ANIM_TAG_RECYCLE, .paletteTag = ANIM_TAG_RECYCLE, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gRecycleSpriteAffineAnimTable, @@ -1194,21 +1194,21 @@ const struct SpriteTemplate gMegaStoneSpriteTemplate = { .tileTag = ANIM_TAG_MEGA_STONE, .paletteTag = ANIM_TAG_MEGA_STONE, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596894, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gMegaParticlesSpriteTemplate = { .tileTag = ANIM_TAG_MEGA_PARTICLES, .paletteTag = ANIM_TAG_MEGA_PARTICLES, - .oam = &gUnknown_08524A8C, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_085921DC, + .affineAnims = gPowerAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb, }; @@ -1216,7 +1216,7 @@ const struct SpriteTemplate gMegaSymbolSpriteTemplate = { .tileTag = ANIM_TAG_MEGA_SYMBOL, .paletteTag = ANIM_TAG_MEGA_SYMBOL, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1973,7 +1973,7 @@ static void sub_815B054(u8 taskId) } y = task->data[3] + task->data[5]; - spriteId = CreateSprite(&gUnknown_08593114, x, y, 6 - task->data[1]); + spriteId = CreateSprite(&gThoughtBubbleSpriteTemplate, x, y, 6 - task->data[1]); PlaySE12WithPanning(SE_W118, BattleAnimAdjustPanning(-64)); if (spriteId != MAX_SPRITES) @@ -2026,7 +2026,7 @@ static void sub_815B054(u8 taskId) case 4: for (i = 0, j = 0; i < MAX_SPRITES; i++) { - if (gSprites[i].template == &gUnknown_08593114) + if (gSprites[i].template == &gThoughtBubbleSpriteTemplate) { gSprites[i].data[0] = taskId; gSprites[i].data[1] = 6; @@ -4702,7 +4702,7 @@ const struct SpriteTemplate gDracoMeteorSmashSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, - .oam = &gUnknown_08524914,//&gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index fee3750765..0395c4ec54 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -26,7 +26,7 @@ #define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) -extern const struct OamData gUnknown_0852497C; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64; static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite); @@ -92,7 +92,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] = { .tileTag = 55125, .paletteTag = 55125, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -101,7 +101,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] = { .tileTag = 55126, .paletteTag = 55126, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -988,7 +988,7 @@ void sub_80A6DAC(bool8 arg0) } } -void sub_80A6DEC(struct Sprite *sprite) +void TradeMenuBouncePartySprites(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -1456,7 +1456,7 @@ static u8 GetBattlerAtPosition_(u8 position) return GetBattlerAtPosition(position); } -void sub_80A77C8(struct Sprite *sprite) +void AnimSparklingParticle(struct Sprite *sprite) { bool8 var; diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 6780f0a329..18d6700a8f 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -238,7 +238,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_POKEBALL, .paletteTag = TAG_PARTICLES_POKEBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -247,7 +247,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_GREATBALL, .paletteTag = TAG_PARTICLES_GREATBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -256,7 +256,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_SAFARIBALL, .paletteTag = TAG_PARTICLES_SAFARIBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -265,7 +265,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_ULTRABALL, .paletteTag = TAG_PARTICLES_ULTRABALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -274,7 +274,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_MASTERBALL, .paletteTag = TAG_PARTICLES_MASTERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -283,7 +283,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_NETBALL, .paletteTag = TAG_PARTICLES_NETBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -292,7 +292,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_DIVEBALL, .paletteTag = TAG_PARTICLES_DIVEBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -301,7 +301,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_NESTBALL, .paletteTag = TAG_PARTICLES_NESTBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -310,7 +310,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_REPEATBALL, .paletteTag = TAG_PARTICLES_REPEATBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -319,7 +319,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_TIMERBALL, .paletteTag = TAG_PARTICLES_TIMERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -328,7 +328,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_LUXURYBALL, .paletteTag = TAG_PARTICLES_LUXURYBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -337,7 +337,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_PREMIERBALL, .paletteTag = TAG_PARTICLES_PREMIERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -375,7 +375,7 @@ const struct SpriteTemplate gPokeblockSpriteTemplate = { .tileTag = ANIM_TAG_POKEBLOCK, .paletteTag = ANIM_TAG_POKEBLOCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -396,7 +396,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085E5358, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 7ed78ea9a0..e608cf0419 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -14,8 +14,8 @@ extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const u8 *const gBattleAnims_StatusConditions[]; -extern const struct OamData gUnknown_08524904; -extern const struct OamData gUnknown_08524A3C; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; // This file's functions. static void sub_80A9DB4(u8 taskId); @@ -46,7 +46,7 @@ const struct SpriteTemplate gUnknown_0853EDFC = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_853EDF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -57,7 +57,7 @@ const struct SpriteTemplate gUnknown_0853EE14 = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_853EDF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -79,7 +79,7 @@ const struct SpriteTemplate gUnknown_0853EE38 = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE34, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_0853EE50 = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE34, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_0853EE84 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -127,7 +127,7 @@ const struct SpriteTemplate gUnknown_0853EE9C = { .tileTag = ANIM_TAG_MONSTER_FOOT, .paletteTag = ANIM_TAG_MONSTER_FOOT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -163,7 +163,7 @@ const struct SpriteTemplate gUnknown_0853EED8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EECC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_0853EF18 = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = sSpriteAnimTable_853EEF8, .images = NULL, .affineAnims = sSpriteAffineAnimTable_853EEF8, @@ -221,7 +221,7 @@ static const struct SpriteTemplate gUnknown_0853EF48 = { .tileTag = ANIM_TAG_ICE_CUBE, .paletteTag = ANIM_TAG_ICE_CUBE, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -232,7 +232,7 @@ static const struct SpriteTemplate gUnknown_0853EF60 = { .tileTag = ANIM_TAG_CIRCLE_IMPACT, .paletteTag = ANIM_TAG_CIRCLE_IMPACT, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/battle_main.c b/src/battle_main.c index efe7f1efa2..6aa2d45c8a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1354,7 +1354,7 @@ static void CB2_PreInitMultiBattle(void) case 3: if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { gBattleTypeFlags = *savedBattleTypeFlags; gMain.savedCallback = *savedCallback; diff --git a/src/battle_pike.c b/src/battle_pike.c index bfb87f6798..a81d881454 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -22,20 +22,7 @@ #include "constants/trainers.h" #include "constants/species.h" #include "constants/moves.h" - -#define PIKE_ROOM_SINGLE_BATTLE 0 -#define PIKE_ROOM_HEAL_FULL 1 -#define PIKE_ROOM_NPC 2 -#define PIKE_ROOM_STATUS 3 -#define PIKE_ROOM_HEAL_PART 4 -#define PIKE_ROOM_WILD_MONS 5 -#define PIKE_ROOM_HARD_BATTLE 6 -#define PIKE_ROOM_DOUBLE_BATTLE 7 -#define PIKE_ROOM_BRAIN 8 - -// For the room with a status effect. -#define PIKE_STATUS_KIRLIA 0 -#define PIKE_STATUS_DUSCLOPS 1 +#include "constants/battle_pike.h" struct PikeRoomNPC { diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 6bcf007485..6dcd4063bf 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -27,6 +27,7 @@ #include "overworld.h" #include "event_scripts.h" #include "constants/battle_frontier.h" +#include "constants/battle_pyramid.h" #include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" @@ -39,38 +40,7 @@ extern const struct MapLayout *const gMapLayouts[]; extern const u16 gUnknown_08D856C8[][16]; -#define TOTAL_ROUNDS 20 -#define PICKUP_ITEMS_PER_ROUND 10 -#define FLOOR_WALKABLE_METATILE 0x28D -#define FLOOR_EXIT_METATILE 0x28E -enum -{ - HINT_EXIT_DIRECTION, - HINT_REMAINING_ITEMS, - HINT_REMAINING_TRAINERS, - HINT_EXIT_SHORT_REMAINING_TRAINERS, - HINT_EXIT_SHORT_REMAINING_ITEMS, - HINT_EXIT_MEDIUM_REMAINING_TRAINERS, - HINT_EXIT_MEDIUM_REMAINING_ITEMS, - HINT_EXIT_FAR_REMAINING_TRAINERS, - HINT_EXIT_FAR_REMAINING_ITEMS, -}; - -enum -{ - OBJ_TRAINERS, - OBJ_ITEMS, -}; - -enum -{ - OBJ_POSITIONS_UNIFORM, - OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE, - OBJ_POSITIONS_IN_AND_NEAR_EXIT, - OBJ_POSITIONS_NEAR_ENTRANCE, - OBJ_POSITIONS_NEAR_EXIT, -}; struct PyramidWildMon { diff --git a/src/battle_setup.c b/src/battle_setup.c index aa0fdfc8dc..65bd40c956 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1279,7 +1279,7 @@ void BattleSetup_StartTrainerBattle(void) MarkApproachingPyramidTrainersAsBattled(); } - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) { gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL; @@ -1297,7 +1297,7 @@ void BattleSetup_StartTrainerBattle(void) gUnknown_03006080 = 0; gMain.savedCallback = CB2_EndTrainerBattle; - if (InBattlePyramid() || sub_81D5C18()) + if (InBattlePyramid() || InTrainerHillChallenge()) sub_80B0828(); else DoTrainerBattle(); @@ -1313,7 +1313,7 @@ static void CB2_EndTrainerBattle(void) } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { - if (InBattlePyramid() || sub_81D5C18()) + if (InBattlePyramid() || InTrainerHillChallenge()) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); @@ -1321,7 +1321,7 @@ static void CB2_EndTrainerBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); - if (!InBattlePyramid() && !sub_81D5C18()) + if (!InBattlePyramid() && !InTrainerHillChallenge()) { RegisterTrainerInMatchCall(); SetBattledTrainersFlags(); @@ -1367,7 +1367,7 @@ void ShowTrainerIntroSpeech(void) sub_80982B8(); } - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) { if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gSpecialVar_LastTalked)); diff --git a/src/berry_blender.c b/src/berry_blender.c index 6c8d9c8121..435e508f66 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1174,7 +1174,7 @@ static void sub_8080018(void) { case 0: sub_8080588(); - gLinkType = 0x4422; + gLinkType = LINKTYPE_BERRY_BLENDER; sBerryBlenderData->field_72 = 0; for (i = 0; i < BLENDER_MAX_PLAYERS; i++) { @@ -1517,7 +1517,7 @@ static void sub_80808D4(void) sBerryBlenderData->playAgainState = 0; sBerryBlenderData->loadGfxState = 0; - gLinkType = 0x4422; + gLinkType = LINKTYPE_BERRY_BLENDER; sBerryBlenderData->mainState++; break; case 1: diff --git a/src/birch_pc.c b/src/birch_pc.c index 5179b19209..5b574b05d7 100644 --- a/src/birch_pc.c +++ b/src/birch_pc.c @@ -9,13 +9,13 @@ bool16 ScriptGetPokedexInfo(void) { if (gSpecialVar_0x8004 == 0) // is national dex not present? { - gSpecialVar_0x8005 = GetHoennPokedexCount(0); - gSpecialVar_0x8006 = GetHoennPokedexCount(1); + gSpecialVar_0x8005 = GetHoennPokedexCount(FLAG_GET_SEEN); + gSpecialVar_0x8006 = GetHoennPokedexCount(FLAG_GET_CAUGHT); } else { - gSpecialVar_0x8005 = GetNationalPokedexCount(0); - gSpecialVar_0x8006 = GetNationalPokedexCount(1); + gSpecialVar_0x8005 = GetNationalPokedexCount(FLAG_GET_SEEN); + gSpecialVar_0x8006 = GetNationalPokedexCount(FLAG_GET_CAUGHT); } return IsNationalPokedexEnabled(); diff --git a/src/bug.c b/src/bug.c index 23dc75c6c5..daa2d57805 100644 --- a/src/bug.c +++ b/src/bug.c @@ -47,7 +47,7 @@ const struct SpriteTemplate gUnknown_08596974 = { .tileTag = ANIM_TAG_HORN_HIT_2, .paletteTag = ANIM_TAG_HORN_HIT_2, - .oam = &gUnknown_085249F4, + .oam = &gOamData_AffineDouble_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596968, @@ -83,7 +83,7 @@ const struct SpriteTemplate gUnknown_085969C8 = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085969BC, @@ -94,7 +94,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate = { .tileTag = ANIM_TAG_WEB_THREAD, .paletteTag = ANIM_TAG_WEB_THREAD, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -105,7 +105,7 @@ const struct SpriteTemplate gUnknown_085969F8 = { .tileTag = ANIM_TAG_STRING, .paletteTag = ANIM_TAG_STRING, - .oam = &gUnknown_0852493C, + .oam = &gOamData_AffineOff_ObjNormal_64x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -128,7 +128,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate = { .tileTag = ANIM_TAG_SPIDER_WEB, .paletteTag = ANIM_TAG_SPIDER_WEB, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596A28, @@ -139,7 +139,7 @@ const struct SpriteTemplate gLinearStingerSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -150,7 +150,7 @@ const struct SpriteTemplate gPinMissileSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -161,7 +161,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ICICLE_SPEAR, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -188,7 +188,7 @@ const struct SpriteTemplate gUnknown_08596AC8 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596AC4, diff --git a/src/cable_club.c b/src/cable_club.c index 303cc76d1e..1375789c37 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -30,6 +30,8 @@ #include "trainer_card.h" #include "party_menu.h" #include "window.h" +#include "constants/battle_frontier.h" +#include "constants/cable_club.h" #include "constants/songs.h" static const struct WindowTemplate gUnknown_08550594 = { @@ -123,9 +125,9 @@ static u32 sub_80B2478(u8 lower, u8 upper) return 1; case EXCHANGE_IN_PROGRESS: return 3; - case EXCHANGE_STAT_4: + case EXCHANGE_PLAYER_NOT_READY: return 7; - case EXCHANGE_STAT_5: + case EXCHANGE_PARTNER_NOT_READY: return 9; case EXCHANGE_STAT_6: ConvertIntToDecimalStringN(gStringVar1, GetLinkPlayerCount_2(), STR_CONV_MODE_LEFT_ALIGN, 1); @@ -457,7 +459,7 @@ static void task_map_chg_seq_0807EC34(u16 *a0, u32 taskId) if (*a0 == 1) { - if (gLinkType == 0x2266 || gLinkType == 0x2277) + if (gLinkType == LINKTYPE_BATTLE_TOWER_50 || gLinkType == LINKTYPE_BATTLE_TOWER_OPEN) { if (sub_80B2AF4(trainerCards[0].monSpecies, trainerCards[1].monSpecies)) { @@ -550,45 +552,42 @@ static bool8 sub_80B2D6C(u8 taskId) return FALSE; } -void sub_80B2DA4(u8 arg0) +void TryBattleLinkup(u8 arg0) { u8 r3 = 2; u8 r2 = 2; switch (gSpecialVar_0x8004) { - case 1: + case USING_SINGLE_BATTLE: r3 = 2; - gLinkType = 0x2233; + gLinkType = LINKTYPE_SINGLE_BATTLE; break; - case 2: + case USING_DOUBLE_BATTLE: r3 = 2; - gLinkType = 0x2244; + gLinkType = LINKTYPE_DOUBLE_BATTLE; break; - case 5: + case USING_MULTI_BATTLE: r3 = 4; r2 = 4; - gLinkType = 0x2255; + gLinkType = LINKTYPE_MULTI_BATTLE; break; - case 9: + case USING_BATTLE_TOWER: r3 = 2; - if (gSaveBlock2Ptr->frontier.lvlMode == 0) - { - gLinkType = 0x2266; - } + if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50) + gLinkType = LINKTYPE_BATTLE_TOWER_50; else - { - gLinkType = 0x2277; - } + gLinkType = LINKTYPE_BATTLE_TOWER_OPEN; + break; } sub_80B236C(r3, r2); } -void sub_80B2E4C(void) +void TryTradeLinkup(void) { - gLinkType = 0x1133; + gLinkType = LINKTYPE_0x1133; gBattleTypeFlags = 0; sub_80B236C(2, 2); } @@ -596,7 +595,7 @@ void sub_80B2E4C(void) void sub_80B2E74(void) { gSpecialVar_Result = 0; - gLinkType = 0x3311; + gLinkType = LINKTYPE_0x3311; gBattleTypeFlags = 0; sub_80B236C(2, 4); } @@ -681,21 +680,21 @@ static void sub_80B2EE4(u8 taskId) void sub_80B2FD8(void) { - gLinkType = 0x4411; + gLinkType = LINKTYPE_0x4411; gBattleTypeFlags = 0; sub_80B236C(2, 4); } void sub_80B3000(void) { - gLinkType = 0x6601; + gLinkType = LINKTYPE_0x6601; gBattleTypeFlags = 0; sub_80B236C(4, 4); } void sub_80B3028(void) { - gLinkType = 0x6602; + gLinkType = LINKTYPE_0x6602; gBattleTypeFlags = 0; sub_80B236C(2, 4); } @@ -707,30 +706,30 @@ u8 sub_80B3050(void) switch (gSpecialVar_0x8004) { - case 1: - gLinkType = 0x2233; + case USING_SINGLE_BATTLE: + gLinkType = LINKTYPE_SINGLE_BATTLE; break; - case 2: - gLinkType = 0x2244; + case USING_DOUBLE_BATTLE: + gLinkType = LINKTYPE_DOUBLE_BATTLE; break; - case 5: - gLinkType = 0x2255; + case USING_MULTI_BATTLE: + gLinkType = LINKTYPE_MULTI_BATTLE; break; - case 9: - if (gSaveBlock2Ptr->frontier.lvlMode == 0) + case USING_BATTLE_TOWER: + if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50) { - gLinkType = 0x2266; + gLinkType = LINKTYPE_BATTLE_TOWER_50; } else { - gLinkType = 0x2277; + gLinkType = LINKTYPE_BATTLE_TOWER_OPEN; } break; - case 3: - gLinkType = 0x1111; + case USING_TRADE_CENTER: + gLinkType = LINKTYPE_0x1111; break; - case 4: - gLinkType = 0x3322; + case USING_RECORD_CORNER: + gLinkType = LINKTYPE_0x3322; break; } @@ -790,21 +789,21 @@ void sub_80B3254(void) SaveGame(); } -static void sub_80B3260(int a0) +static void SetLinkBattleTypeFlags(int linkService) { - switch (a0) + switch (linkService) { - case 1: + case USING_SINGLE_BATTLE: gBattleTypeFlags = BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER; break; - case 2: + case USING_DOUBLE_BATTLE: gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER; break; - case 5: + case USING_MULTI_BATTLE: ReducePlayerPartyToSelectedMons(); gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI; break; - case 9: + case USING_BATTLE_TOWER: gBattleTypeFlags = BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI; break; } @@ -818,7 +817,7 @@ static void sub_80B32B4(u8 taskId) { case 0: FadeScreen(1, 0); - gLinkType = 0x2211; + gLinkType = LINKTYPE_BATTLE; ClearLinkCallback_2(); task->data[0]++; break; @@ -845,7 +844,7 @@ static void sub_80B32B4(u8 taskId) else PlayMapChosenOrBattleBGM(MUS_BATTLE20); - sub_80B3260(gSpecialVar_0x8004); + SetLinkBattleTypeFlags(gSpecialVar_0x8004); CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); @@ -864,7 +863,7 @@ static void sub_80B33BC(u8 taskId) { case 0: FadeScreen(1, 0); - gLinkType = 0x2211; + gLinkType = LINKTYPE_BATTLE; ClearLinkCallback_2(); data[0] = 1; break; @@ -910,8 +909,8 @@ static void sub_80B33BC(u8 taskId) else PlayMapChosenOrBattleBGM(MUS_BATTLE20); - gLinkPlayers[0].linkType = 0x2211; - sub_80B3260(gSpecialVar_0x8004); + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; + SetLinkBattleTypeFlags(gSpecialVar_0x8004); CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); @@ -973,7 +972,7 @@ void sub_80B360C(void) SavePlayerBag(); sub_813BF10(); - if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2) + if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE) { UpdatePlayerLinkBattleRecords(gLocalLinkPlayerId ^ 1); if (gWirelessCommType) @@ -1004,7 +1003,10 @@ void sub_80B360C(void) void CleanupLinkRoomState(void) { - if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2 || gSpecialVar_0x8004 == 5 || gSpecialVar_0x8004 == 9) + if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE + || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE + || gSpecialVar_0x8004 == USING_MULTI_BATTLE + || gSpecialVar_0x8004 == USING_BATTLE_TOWER) { LoadPlayerParty(); SavePlayerBag(); @@ -1084,8 +1086,8 @@ static void sub_80B37FC(u8 taskId) task->data[0]++; break; case 2: - gUnknown_02032298[0] = 0; - gUnknown_02032298[1] = 0; + gSelectedTradeMonPositions[TRADE_PLAYER] = 0; + gSelectedTradeMonPositions[TRADE_PARTNER] = 0; m4aMPlayAllStop(); sub_800AC34(); task->data[0]++; @@ -1093,7 +1095,7 @@ static void sub_80B37FC(u8 taskId) case 3: if (!gReceivedRemoteLinkPlayers) { - SetMainCallback2(sub_80773AC); + SetMainCallback2(CB2_StartCreateTradeMenu); DestroyTask(taskId); } break; @@ -1109,7 +1111,7 @@ static void sub_80B3894(u8 taskId) case 0: ScriptContext2_Enable(); FadeScreen(1, 0); - Rfu_set_zero(); + ClearLinkRfuCallback(); data[0]++; break; case 1: @@ -1117,8 +1119,8 @@ static void sub_80B3894(u8 taskId) data[0]++; break; case 2: - gUnknown_02032298[0] = 0; - gUnknown_02032298[1] = 0; + gSelectedTradeMonPositions[TRADE_PLAYER] = 0; + gSelectedTradeMonPositions[TRADE_PARTNER] = 0; m4aMPlayAllStop(); sub_800ADF8(); data[0]++; @@ -1159,7 +1161,7 @@ void nullsub_37(void) // Note: VAR_0x8005 is set to the ID of the player spot. void ColosseumPlayerSpotTriggered(void) { - gLinkType = 0x2211; + gLinkType = LINKTYPE_BATTLE; if (gWirelessCommType != 0) { @@ -1178,7 +1180,7 @@ static void sub_80B39A4(void) ScriptContext1_Stop(); } -void sp02A_crash_sound(void) +void Script_ShowLinkTrainerCard(void) { ShowTrainerCardInLink(gSpecialVar_0x8006, CB2_ReturnToFieldContinueScriptPlayMapMusic); } @@ -1300,6 +1302,6 @@ void sub_80B3BC4(void) { if (gWirelessCommType == 0) { - gLinkType = 0x2288; + gLinkType = LINKTYPE_0x2288; } } diff --git a/src/contest.c b/src/contest.c index e9a2f456f0..a3914cf302 100644 --- a/src/contest.c +++ b/src/contest.c @@ -577,7 +577,7 @@ const struct SpriteTemplate gSpriteTemplate_8587C18 = { .tileTag = 0xABE0, .paletteTag = 0xABE0, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/dark.c b/src/dark.c index bc8f4afb3f..35080c01f4 100644 --- a/src/dark.c +++ b/src/dark.c @@ -30,7 +30,7 @@ const struct SpriteTemplate gUnknown_08596FC8 = { .tileTag = ANIM_TAG_TIED_BAG, .paletteTag = ANIM_TAG_TIED_BAG, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -101,7 +101,7 @@ const struct SpriteTemplate gUnknown_08597080 = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_08597098 = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -143,7 +143,7 @@ const struct SpriteTemplate gUnknown_085970E8 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085970E0, @@ -180,7 +180,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08597130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -241,18 +241,18 @@ const struct SpriteTemplate gPunishmentSpriteTemplate = { .tileTag = ANIM_TAG_SCRATCH, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gPunishmentAnim, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gPunishmentImpactSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_08524974,//gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gPunishmentImpactAffineAnim, diff --git a/src/data/trade.h b/src/data/trade.h new file mode 100644 index 0000000000..9e96a54dd9 --- /dev/null +++ b/src/data/trade.h @@ -0,0 +1,1197 @@ +// Exists unused in RS as well +static const u32 sUnusedStructSizes[] = +{ + sizeof(struct SaveBlock2), + sizeof(struct SaveBlock1), + sizeof(struct MapHeader), + // 0x00000530, in RS + sizeof(struct MailStruct), //or EventObject / EventObjectGraphicsInfo + sizeof(struct Pokemon), //or TrainerCard + 0x00000528 // 0x000004D8, in RS +}; + +static const u16 sTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); +static const u16 sTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); +static const u8 sTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); +static const u8 sTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); +static const u8 sText_EmptyString[] = _(""); +static const u8 sText_UnusedTextFormat[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); +const u8 gText_MaleSymbol4[] = _("♂"); +const u8 gText_FemaleSymbol4[] = _("♀"); +const u8 gText_GenderlessSymbol[] = _(""); +static const u8 sText_SpaceMove[] = _(" MOVE"); // unused +static const u8 sText_NewLine[] = _("\n"); +static const u8 sText_Slash[] = _("/"); +static const u8 sText_Lv[] = _("Lv. "); +static const u8 sText_ThreeDashes[] = _("---"); +static const u8 sText_FourQuestionMarks[] = _("????"); +static const u8 sText_832DAE4[] = _(""); +static const u8 sText_IsThisTradeOkay[] = _("Is this trade okay?"); +static const u8 sText_Cancel[] = _("CANCEL"); +static const u8 sText_ChooseAPkmn[] = _("Choose a POKéMON."); +static const u8 sText_Summary[] = _("SUMMARY"); +static const u8 sText_Trade[] = _("TRADE"); +static const u8 sText_CancelTrade[] = _("Cancel trade?"); +static const u8 sJPText_PressBButtonToQuit[] = _("Bボタン で もどります"); +static const u8 sText_Summary2[] = _("SUMMARY"); +static const u8 sText_Trade2[] = _("TRADE"); +static const u8 sText_CommunicationStandby[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); +static const u8 sText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); +static const u8 sText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); +static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); +static const u8 sText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); + +static const struct OamData sTradeOamData_32x16 = +{ + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .priority = 1 +}; + +static const struct OamData sTradeOamData_64x32 = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_832DC24[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC2C[] = +{ + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC34[] = +{ + gSpriteAnim_832DC24, + gSpriteAnim_832DC2C +}; + +static const struct SpriteSheet sTradeButtonsSpriteSheet = +{ + .data = gTradeButtons_Gfx, + .size = 0x800, + .tag = 300 +}; + +static const struct SpritePalette gUnknown_0832DC44 = +{ + .data = gUnknown_08DDB444, + .tag = 2345 +}; + +static const union AnimCmd gSpriteAnim_832DC4C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC54[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC5C[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC64[] = +{ + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC6C[] = +{ + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC74[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = +{ + gSpriteAnim_832DC4C, + gSpriteAnim_832DC54, + gSpriteAnim_832DC5C, + gSpriteAnim_832DC64, + gSpriteAnim_832DC6C, + gSpriteAnim_832DC74 +}; + +static const struct SpriteTemplate gSpriteTemplate_832DC94 = +{ + .tileTag = 300, + .paletteTag = 2345, + .oam = &sTradeOamData_64x32, + .anims = gSpriteAnimTable_832DC34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gSpriteTemplate_832DCAC = +{ + .tileTag = 200, + .paletteTag = 4925, + .oam = &sTradeOamData_32x16, + .anims = gSpriteAnimTable_832DC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); +static const struct SpritePalette gSpritePalette_TradeScreenText = +{ + .data = TradeScreenTextPalette, + .tag = 4925 +}; + +// This is used to determine the next mon to select when the D-Pad is +// pressed in a given direction. +// Note that the mons are laid out like this. +// 0-5 are the player's party and 6-11 are the trading partner's party. +// 12 is the cancel button. +// 0 1 6 7 +// 2 3 8 9 +// 4 5 10 11 +// 12 +// 1st array is the current positions +// 2nd array is directions of input +// 3rd array is the next positions to go to (unoccupied spaces are skipped over) +static const u8 sTradeNextSelectedMonTable[(PARTY_SIZE * 2) + 1][4][PARTY_SIZE] = +{ + { + {4, 2, 12, 12, 0, 0}, // UP + {2, 4, 12, 12, 0, 0}, // DOWN + {7, 6, 1, 0, 0, 0}, // LEFT + {1, 6, 7, 0, 0, 0} // RIGHT + }, + { + {5, 3, 12, 12, 0, 0}, + {3, 5, 12, 12, 0, 0}, + {0, 7, 6, 1, 0, 0}, + {6, 7, 0, 1, 0, 0} + }, + { + {0, 0, 0, 0, 0, 0}, + {4, 0, 0, 0, 0, 0}, + {9, 8, 7, 6, 0, 0}, + {3, 1, 0, 0, 0, 0} + }, + { + {1, 1, 1, 1, 0, 0}, + {5, 1, 1, 1, 0, 0}, + {2, 9, 8, 7, 0, 0}, + {8, 9, 6, 6, 0, 0} + }, + { + {2, 2, 2, 2, 0, 0}, + {0, 0, 0, 0, 0, 0}, + {11, 10, 9, 8, 7, 6}, + {5, 3, 1, 0, 0, 0} + }, + { + {3, 3, 3, 3, 0, 0}, + {1, 1, 1, 1, 0, 0}, + {4, 4, 4, 4, 0, 0}, + {10, 8, 6, 0, 0, 0} + }, + { + {10, 8, 12, 0, 0, 0}, + {8, 10, 12, 0, 0, 0}, + {1, 0, 0, 0, 0, 0}, + {7, 0, 1, 0, 0, 0} + }, + { + {12, 0, 0, 0, 0, 0}, + {9, 12, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} + }, + { + {6, 0, 0, 0, 0, 0}, + {10, 6, 0, 0, 0, 0}, + {3, 2, 1, 0, 0, 0}, + {9, 7, 0, 0, 0, 0} + }, + { + {7, 0, 0, 0, 0, 0}, + {11, 12, 0, 0, 0, 0}, + {8, 0, 0, 0, 0, 0}, + {2, 1, 0, 0, 0, 0} + }, + { + {8, 0, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {5, 4, 3, 2, 1, 0}, + {11, 9, 7, 0, 0, 0} + }, + { + {9, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {10, 0, 0, 0, 0, 0}, + {4, 2, 0, 0, 0, 0} + }, + { + {11, 9, 7, 6, 0, 0}, + {7, 6, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0} + } +}; + +static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] = +{ + // Your party + {1, 5 }, + {8, 5 }, + {1, 10}, + {8, 10}, + {1, 15}, + {8, 15}, + + // Friend's party + {16, 5 }, + {23, 5 }, + {16, 10}, + {23, 10}, + {16, 15}, + {23, 15}, + + {23, 18} // CANCEL +}; + +static const u8 sTradeMonLevelCoords[][PARTY_SIZE][2] = +{ + { + // Your party + {5, 4}, + {12, 4}, + {5, 9}, + {12, 9}, + {5, 14}, + {12, 14}, + }, + { + // Friend's party + {20, 4}, + {27, 4}, + {20, 9}, + {27, 9}, + {20, 14}, + {27, 14} + } +}; + +static const u8 sTradeMonBoxCoords[][PARTY_SIZE][2] = +{ + { + // Your party + {1, 3}, + {8, 3}, + {1, 8}, + {8, 8}, + {1, 13}, + {8, 13}, + }, + { + // Friend's party + {16, 3}, + {23, 3}, + {16, 8}, + {23, 8}, + {16, 13}, + {23, 13} + } +}; + +static const u8 sUnref_0832DE6E[] = +{ + 0x00, 0x0e, + 0x0f, 0x1d, + 0x03, 0x05, + 0x03, 0x07, + 0x12, 0x05, + 0x12, 0x07, + 0x08, 0x07, + 0x16, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x07, 0x07, + 0x17, 0x0c +}; + +static const u8 *const sTradeActionTexts[] = +{ + [TRADE_TEXT_CANCEL] = sText_Cancel, + [TRADE_TEXT_CHOOSE_MON] = sText_ChooseAPkmn, + [TRADE_TEXT_SUMMARY] = sText_Summary, + [TRADE_TEXT_TRADE] = sText_Trade, + [TRADE_TEXT_CANCEL_TRADE] = sText_CancelTrade, + [TRADE_TEXT_JP_QUIT] = sJPText_PressBButtonToQuit +}; + +static const struct MenuAction sSelectTradeMonActions[] = +{ + {sText_Summary2, Task_DrawSelectionSummary}, + {sText_Trade2, Task_DrawSelectionTrade} +}; + +static const u8 *const sTradeMessages[] = +{ + [TRADE_MSG_STANDBY] = sText_CommunicationStandby, + [TRADE_MSG_CANCELED] = sText_TheTradeHasBeenCanceled, + [TRADE_MSG_ONLY_MON1] = sText_OnlyPkmnForBattle, + [TRADE_MSG_ONLY_MON2] = gText_OnlyPkmnForBattle, //identical text to above + [TRADE_MSG_WAITING_FOR_FRIEND] = sText_WaitingForYourFriend, + [TRADE_MSG_FRIEND_WANTS_TO_TRADE] = sText_YourFriendWantsToTrade, + [TRADE_MSG_MON_CANT_BE_TRADED] = gText_PkmnCantBeTradedNow, + [TRADE_MSG_EGG_CANT_BE_TRADED] = gText_EggCantBeTradedNow, + [TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED] = gText_OtherTrainersPkmnCantBeTraded +}; + +static const u8 sTradeTextColors[] = +{ + TEXT_COLOR_TRANSPARENT, //bg color + TEXT_COLOR_WHITE, //fg color + TEXT_COLOR_DARK_GREY //shadow color +}; + +static const struct BgTemplate sTradeMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate sTradeMenuWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 7, + .width = 22, + .height = 4, + .paletteNum = 15, + .baseBlock = 30 + }, + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 15, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 118 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 158 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 174 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 190 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 206 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 222 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 238 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 254 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 270 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 286 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 302 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 318 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 334 + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 13, + .baseBlock = 350 + }, + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 378 + }, + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 466 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 494 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate sTradeYesNoWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 582 +}; + +static const u8 sJPText_Shedinja[] = _("ヌケニン"); +static const u8 sTradeMenuPartyMonBoxDimensions[3][2] = +{ + [TRADE_PLAYER] = {4, 3}, + [TRADE_PARTNER] = {19, 3} +}; + +static const u16 sTradePal_PokeBall[] = INCBIN_U16("graphics/trade/pokeball.gbapal"); +static const u8 sTradeGfx_PokeBall[] = INCBIN_U8("graphics/trade/pokeball.4bpp"); +static const u8 sTradeGfx_PokeBallSymbol[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); // unused? +static const u16 sTradeTilemap_Cable[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); +static const u16 sTradeTilemap_PokeBallSymbol[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); // unused? +static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); +static const u16 sTradePal_Gba[] = INCBIN_U16("graphics/trade/gba.gbapal"); +static const u16 sTradePal_ShadowUnused[] = INCBIN_U16("graphics/trade/shadow.gbapal"); +static const u16 sTradePal_BlackUnused[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u16 sTradePal_Misc[] = INCBIN_U16("graphics/trade/misc.gbapal"); +static const u8 sTradeGfx_Glow1[] = INCBIN_U8("graphics/trade/glow1.4bpp"); +static const u8 sTradeGfx_Glow2[] = INCBIN_U8("graphics/trade/glow2.4bpp"); +static const u8 sTradeGfx_CableEnd[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); +static const u8 sTradeGfx_GbaScreen[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); +const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); +static const u8 sTradeAffine_Gba[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); +static const u8 sFiller_08335760[64] = {}; +static const u8 sTradeAffineMap_GbaCable[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); +static const u8 sTradeAffineMap_GbaWireless[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); +static const u16 sTradeTilemap_GbaWireless[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); +static const u16 sTradeTilemap_GbaCable[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); +static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); //some wireless tilemap +static const u16 sTradePal_WirelessSignalSend[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); +static const u16 sTradePal_WirelessSignalReceive[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); +static const u16 sTradePal_Black[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u32 sTradeGfx_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); +static const u32 sTradeTilemap_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); + +static const struct OamData sTradeOamData_16x16 = +{ + .affineMode = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16) +}; + +static const union AnimCmd gSpriteAnim_8338C4C[] = +{ + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338C88[] = +{ + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338C88[] = +{ + gSpriteAnim_8338C4C, + gSpriteAnim_8338C88 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = +{ + AFFINEANIMCMD_FRAME(-8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = +{ + AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0, 0, 0, 5), + AFFINEANIMCMD_FRAME( 8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = +{ + gSpriteAffineAnim_8338CCC, + gSpriteAffineAnim_8338CDC, + gSpriteAffineAnim_8338CEC +}; + +static const struct SpriteSheet sPokeBallSpriteSheet = +{ + .data = sTradeGfx_PokeBall, + .size = 0x600, + .tag = 5557 +}; + +static const struct SpritePalette sPokeBallSpritePalette = +{ + .data = sTradePal_PokeBall, + .tag = 5558 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338D28 = +{ + .tileTag = 5557, + .paletteTag = 5558, + .oam = &sTradeOamData_16x16, + .anims = gSpriteAnimTable_8338C88, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D0C, + .callback = sub_807E55C +}; + +static const struct OamData sTradeOamData_32x32 = +{ + .affineMode = 1, + .objMode = 1, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338D48[] = +{ + ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338D50[] = +{ + gSpriteAnim_8338D48 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = +{ + AFFINEANIMCMD_FRAME(-10, -10, 0, 5), + AFFINEANIMCMD_FRAME(10, 10, 0, 5), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = +{ + gSpriteAffineAnim_8338D54 +}; + +static const struct SpriteSheet sGlow1SpriteSheet = +{ + .data = sTradeGfx_Glow1, + .size = 0x200, + .tag = 5550 +}; + +static const struct SpritePalette sMiscTradeSpritePalette = +{ + .data = sTradePal_Misc, + .tag = 5551 +}; + +static const struct SpritePalette sGbaSpritePalette = +{ + .data = sTradePal_Gba, + .tag = 5555 +}; + +static const struct SpriteTemplate gUnknown_08338D88 = +{ + .tileTag = 5550, + .paletteTag = 5551, + .oam = &sTradeOamData_32x32, + .anims = gSpriteAnimTable_8338D50, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D6C, + .callback = sub_807AA28 +}; + +static const struct OamData sTradeOamData_16x32 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DA8[] = +{ + ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338DB0[] = +{ + ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = +{ + gSpriteAnim_8338DA8, + gSpriteAnim_8338DB0 +}; + +static const struct SpriteSheet sGlow2SpriteSheet = +{ + .data = sTradeGfx_Glow2, + .size = 0x300, + .tag = 5552 +}; + +static const struct SpriteTemplate sGlowBallSpriteTemplate = +{ + .tileTag = 5552, + .paletteTag = 5551, + .oam = &sTradeOamData_16x32, + .anims = gSpriteAnimTable_8338DB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AA7C +}; + +static const struct OamData sTradeOamData_16x32_2 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DE8[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = +{ + gSpriteAnim_8338DE8 +}; + +static const struct SpriteSheet sCableEndSpriteSheet = +{ + .data = sTradeGfx_CableEnd, + .size = 0x100, + .tag = 5554 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DFC = +{ + .tileTag = 5554, + .paletteTag = 5555, + .oam = &sTradeOamData_16x32_2, + .anims = gSpriteAnimTable_8338DF0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AABC +}; + +static const struct OamData sTradeOamData_64x32_2 = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338E1C[] = +{ + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338E40[] = +{ + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(2), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E64[] = +{ + gSpriteAnim_8338E1C +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E68[] = +{ + gSpriteAnim_8338E40 +}; + +static const struct SpriteSheet sGbaScreenSpriteSheet = +{ + .data = sTradeGfx_GbaScreen, + .size = 0x1000, + .tag = 5556 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E74 = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &sTradeOamData_64x32_2, + .anims = gSpriteAnimTable_8338E64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E8C = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &sTradeOamData_64x32_2, + .anims = gSpriteAnimTable_8338E68, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 +}; + +static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); + +static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = +{ + gSpriteAffineAnim_8338EBC +}; + +static const struct InGameTrade sIngameTrades[] = +{ + [INGAME_TRADE_SEEDOT] = + { + .nickname = _("DOTS"), + .species = SPECIES_SEEDOT, + .ivs = {5, 4, 5, 4, 4, 4}, + .abilityNum = 1, + .otId = 38726, + .conditions = {30, 5, 5, 5, 5}, + .personality = 0x84, + .heldItem = ITEM_CHESTO_BERRY, + .mailNum = -1, + .otName = _("KOBE"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_RALTS + }, + [INGAME_TRADE_PLUSLE] = + { + .nickname = _("PLUSES"), + .species = SPECIES_PLUSLE, + .ivs = {4, 4, 4, 5, 5, 4}, + .abilityNum = 0, + .otId = 73996, + .conditions = {5, 5, 30, 5, 5}, + .personality = 0x6F, + .heldItem = ITEM_WOOD_MAIL, + .mailNum = 0, + .otName = _("ROMAN"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_VOLBEAT + }, + [INGAME_TRADE_HORSEA] = + { + .nickname = _("SEASOR"), + .species = SPECIES_HORSEA, + .ivs = {5, 4, 4, 4, 5, 4}, + .abilityNum = 0, + .otId = 46285, + .conditions = {5, 5, 5, 5, 30}, + .personality = 0x7F, + .heldItem = ITEM_WAVE_MAIL, + .mailNum = 1, + .otName = _("SKYLAR"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_BAGON + }, + [INGAME_TRADE_MEOWTH] = + { + .nickname = _("MEOWOW"), + .species = SPECIES_MEOWTH, + .ivs = {4, 5, 4, 5, 4, 4}, + .abilityNum = 0, + .otId = 91481, + .conditions = {5, 5, 5, 30, 5}, + .personality = 0x8B, + .heldItem = ITEM_RETRO_MAIL, + .mailNum = 2, + .otName = _("ISIS"), + .otGender = FEMALE, + .sheen = 10, + .requestedSpecies = SPECIES_SKITTY + } +}; + +static const u16 sIngameTradeMail[][MAIL_WORDS_COUNT + 1] = +{ + { + EC_WORD_BE, + EC_WORD_NICE, + EC_WORD_TO, + EC_POKEMON(PLUSLE), + EC_WORD_EXCL, + EC_POKEMON(VOLBEAT), + EC_WORD_WILL, + EC_WORD_BE, + EC_WORD_FANTASTIC + }, { + EC_WORD_I, + EC_WORD_WILL, + EC_WORD_MAKE, + EC_POKEMON(BAGON), + EC_WORD_TOUGH, + EC_WORD_PLEASE, + EC_WORD_TRAIN, + EC_POKEMON(HORSEA), + EC_WORD_WELL + }, { + EC_WORD_THANK_YOU, + EC_WORD_FOR, + EC_POKEMON(SKITTY), + EC_POKEMON2(MEOWTH), + EC_WORD_CRIES, + EC_WORD_IN, + EC_WORD_A, + EC_WORD_CUTE, + EC_WORD_WAY + } +}; + +static const struct WindowTemplate sTradeSequenceWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 64 + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 188 +}; + +static const struct BgTemplate sTradeSequenceBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 18, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const s8 sTradeBallVerticalVelocityTable[] = +{ + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -4, + -4, -3, -3, -3, + -3, -2, -2, -2, + -2, -1, -1, -1, + -1, 0, -1, 0, + -1, 0, 0, 0, + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -3, + -3, -2, -2, -1, + -1, -1, 0, -1, + 0, 0, 0, 0, + 0, 0, 1, 0, + 1, 1, 1, 2, + 2, 3, 3, 4, + -4, -3, -2, -1, + -1, -1, 0, 0, + 0, 0, 1, 0, + 1, 1, 2, 3 +}; + +static const u8 sWirelessSignalTiming[][2] = +{ + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {15, 2}, + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {16, 1}, + {16, 255}, + {0, 0} +}; diff --git a/src/data/union_room.h b/src/data/union_room.h new file mode 100644 index 0000000000..abe91b010e --- /dev/null +++ b/src/data/union_room.h @@ -0,0 +1,1044 @@ +// const rom data + +ALIGNED(4) const u8 gText_EmptyString[] = _(""); +ALIGNED(4) const u8 gText_Colon[] = _(":"); +ALIGNED(4) const u8 gText_UnkCtrlCodeF907[] = _("{ID}"); +ALIGNED(4) const u8 gText_PleaseStartOver[] = _("Please start over from the beginning."); +ALIGNED(4) const u8 gText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); +ALIGNED(4) const u8 unref_text_union_room_0[] = _("Awaiting communication\nfrom another player."); +ALIGNED(4) const u8 gText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player."); +ALIGNED(4) const u8 gText_AwaitingLink[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready."); +ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする"); +ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする"); +ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる"); +ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる"); +ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする"); + +const u8 *const unref_text_ptrs_union_room_0[] = { + gJPText_SingleBattle, + gJPText_DoubleBattle, + gJPText_MultiBattle, + gJPText_TradePokemon, + gJPText_Chat, + gJPText_DistWonderCard, + gJPText_DistWonderNews, + gJPText_DistWonderCard, + gJPText_HoldPokemonJump, + gJPText_HoldBerryCrush, + gJPText_HoldBerryPicking, + gJPText_HoldBerryPicking, + gJPText_HoldSpinTrade, + gJPText_HoldSpinShop +}; + +const u8 gText_1PlayerNeeded[] = _("1 player\nneeded."); +const u8 gText_2PlayersNeeded[] = _("2 players\nneeded."); +const u8 gText_3PlayersNeeded[] = _("3 players\nneeded."); +const u8 gText_4PlayersNeeded[] = _("4 players\nneeded."); +const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE"); +const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE"); +const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE"); +const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE"); + +const u8 *const gUnknown_082EDB60[][5] = { + { + gText_1PlayerNeeded, + gText_2PlayerMode + }, { + gText_3PlayersNeeded, + gText_2PlayersNeeded, + gText_1PlayerNeeded, + gText_4PlayerMode + }, { + gText_1PlayerNeeded, + gText_2PlayerMode, + gText_3PlayerMode, + gText_4PlayerMode, + gText_5PlayerMode + }, { + gText_2PlayersNeeded, + gText_1PlayerNeeded, + gText_3PlayerMode, + gText_4PlayerMode, + gText_5PlayerMode + }, { + gText_1PlayerNeeded, + gText_2PlayerMode, + gText_3PlayerMode, + gText_4PlayerMode + } +}; + +ALIGNED(4) const u8 gUnknown_082EDBC4[] = _("{B_BUTTON}CANCEL"); +ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); +ALIGNED(4) const u8 gUnknown_082EDBE8[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?"); +ALIGNED(4) const u8 gUnknown_082EDC0C[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?"); +ALIGNED(4) const u8 gUnknown_082EDC34[] = _("{STR_VAR_2} contacted you.\nAdd to the members?"); +ALIGNED(4) const u8 gUnknown_082EDC5C[] = _("{STR_VAR_1}!\nAre these members OK?"); +ALIGNED(4) const u8 gUnknown_082EDC78[] = _("Cancel {STR_VAR_1} MODE\nwith these members?"); +ALIGNED(4) const u8 gUnknown_082EDC9C[] = _("An “OK” was sent\nto {STR_VAR_1}."); +ALIGNED(4) const u8 gUnknown_082EDCB4[] = _("The other TRAINER doesn't appear\nto be available now…\p"); +ALIGNED(4) const u8 gUnknown_082EDCEC[] = _("You can't transmit with a TRAINER\nwho is too far away.\p"); +ALIGNED(4) const u8 gUnknown_082EDD24[] = _("The other TRAINER(S) is/are not\nready yet.\p"); + +const u8 *const gUnknown_082EDD50[] = { + gUnknown_082EDCEC, + gUnknown_082EDD24 +}; + +ALIGNED(4) const u8 gUnknown_082EDD58[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EDD8C[] = _("There is a member who can no\nlonger remain available.\p"); + +const u8 *const gUnknown_082EDDC4[] = { + gUnknown_082EDCB4, + gUnknown_082EDD8C +}; + +ALIGNED(4) const u8 gUnknown_082EDDCC[] = _("The other TRAINER appears\nunavailable…\p"); +ALIGNED(4) const u8 gUnknown_082EDDF4[] = _("{STR_VAR_1} sent back an “OK”!"); +ALIGNED(4) const u8 gUnknown_082EDE0C[] = _("{STR_VAR_1} OK'd your registration as\na member."); +ALIGNED(4) const u8 gUnknown_082EDE34[] = _("{STR_VAR_1} replied, “No…”\p"); +ALIGNED(4) const u8 gUnknown_082EDE48[] = _("{STR_VAR_1}!\nAwaiting other members!"); +ALIGNED(4) const u8 gUnknown_082EDE64[] = _("Quit being a member?"); +ALIGNED(4) const u8 gUnknown_082EDE7C[] = _("You stopped being a member.\p"); + +const u8 *const gUnknown_082EDE9C[] = { + NULL, + gUnknown_082EDD8C, + gUnknown_082EDDCC, + NULL, + NULL, + NULL, + gUnknown_082EDE34, + NULL, + NULL, + gUnknown_082EDE7C +}; + +ALIGNED(4) const u8 gUnknown_082EDEC4[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); +ALIGNED(4) const u8 gUnknown_082EDF04[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); +ALIGNED(4) const u8 gUnknown_082EDF40[] = _("The link with your friend has been\ndropped…"); +ALIGNED(4) const u8 gUnknown_082EDF6C[] = _("{STR_VAR_1} replied, “No…”"); + +const u8 *const gUnknown_082EDF80[] = { + NULL, + gUnknown_082EDF40, + gUnknown_082EDF40, + NULL, + NULL, + NULL, + gUnknown_082EDF6C, + NULL, + NULL, + NULL +}; + +ALIGNED(4) const u8 gUnknown_082EDFA8[] = _("Do you want the {STR_VAR_2}\nMODE?"); +ALIGNED(4) const u8 gUnknown_082EDFC4[] = _("Do you want the {STR_VAR_2}\nMODE?"); + +const u8 *const unref_text_ptrs_union_room_1[] = { + gUnknown_082EDFA8, + gUnknown_082EDFC4 +}; + +ALIGNED(4) const u8 unref_text_union_room_3[] = _("Communicating…\nPlease wait."); +ALIGNED(4) const u8 gUnknown_082EE004[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); +ALIGNED(4) const u8 gUnknown_082EE02C[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 gUnknown_082EE098[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 gUnknown_082EE104[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); + +const u8 *const gUnknown_082EE17C[] = { + gUnknown_082EE02C, + gUnknown_082EE098, + gUnknown_082EE104 +}; + +ALIGNED(4) const u8 gUnknown_082EE188[] = _("Hiya! Is there something that you\nwanted to do?"); +ALIGNED(4) const u8 gUnknown_082EE1B8[] = _("Hello!\nWould you like to do something?"); +ALIGNED(4) const u8 gUnknown_082EE1E0[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); +ALIGNED(4) const u8 gUnknown_082EE218[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); + +const u8 *const gUnknown_082EE24C[][2] = { + { + gUnknown_082EE188, + gUnknown_082EE1B8 + }, { + gUnknown_082EE1E0, + gUnknown_082EE218 + } +}; + +ALIGNED(4) const u8 gUnknown_082EE25C[] = _("Want to do something?"); +ALIGNED(4) const u8 gUnknown_082EE274[] = _("Would you like to do something?"); +ALIGNED(4) const u8 gUnknown_082EE294[] = _("{STR_VAR_1}: What would you like to\ndo now?"); +ALIGNED(4) const u8 unref_text_union_room_4[] = _("{STR_VAR_1}: Want to do anything else?"); + +const u8 *const unref_text_ptrs_union_room_2[][2] = { + { + gUnknown_082EE25C, + gUnknown_082EE274 + }, { + gUnknown_082EE294, + gUnknown_082EE294 + } +}; + +ALIGNED(4) const u8 sText_SomebodyHasContactedYou[] = _("Somebody has contacted you.{PAUSE 60}"); +ALIGNED(4) const u8 sText_XHasContactedYou[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}"); + +static const u8 *const gUnknown_082EE324[] = { + sText_SomebodyHasContactedYou, + sText_XHasContactedYou +}; + +ALIGNED(4) const u8 sUnionRoom_AwaitingResponseFromTrainer[] = _("Awaiting a response from\nthe other TRAINER…"); +ALIGNED(4) const u8 sUnionRoom_AwaitingResponseFromX[] = _("Awaiting a response from\n{STR_VAR_1}…"); + +static const u8 *const sUnionRoomTexts_AwaitingResponse[] = { + sUnionRoom_AwaitingResponseFromTrainer, + sUnionRoom_AwaitingResponseFromX +}; + +ALIGNED(4) const u8 sText_ShowTrainerCard[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?"); +ALIGNED(4) const u8 sText_BattleChallenge[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?"); +ALIGNED(4) const u8 sText_ChatInvitation[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?"); +ALIGNED(4) const u8 sText_OfferToTradeMon[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?"); +ALIGNED(4) const u8 sText_OfferToTradeEgg[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?"); +ALIGNED(4) const u8 sText_ChatDropped[] = _("The chat has been dropped.\p"); +ALIGNED(4) const u8 sText_OfferDeclined1[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 sText_OfferDeclined2[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 sText_ChatEnded[] = _("The chat was ended.\p"); + +// Unused +static const u8 *const sUnionRoomTexts_Invitation[] = { + sText_ShowTrainerCard, + sText_BattleChallenge, + sText_ChatInvitation, + sText_OfferToTradeMon +}; + +ALIGNED(4) const u8 sText_JoinChatMale[] = _("Oh, hey! We're in a chat right now.\nWant to join us?"); +ALIGNED(4) const u8 sText_PlayerJoinChatMale[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?"); +ALIGNED(4) const u8 sText_JoinChatFemale[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?"); +ALIGNED(4) const u8 sText_PlayerJoinChatFemale[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?"); + +const u8 *const sUnionRoomTexts_JoinChat[][GENDER_COUNT] = { + { + sText_JoinChatMale, + sText_JoinChatFemale + }, { + sText_PlayerJoinChatMale, + sText_PlayerJoinChatFemale + } +}; + +ALIGNED(4) const u8 sText_TrainerAppearsBusy[] = _("……\nThe TRAINER appears to be busy…\p"); +ALIGNED(4) const u8 gUnknown_082EE6EC[] = _("A battle, huh?\nAll right, just give me some time."); +ALIGNED(4) const u8 gUnknown_082EE720[] = _("You want to chat, huh?\nSure, just wait a little."); +ALIGNED(4) const u8 gUnknown_082EE754[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); +ALIGNED(4) const u8 gUnknown_082EE78C[] = _("A battle? Of course, but I need\ntime to get ready."); +ALIGNED(4) const u8 gUnknown_082EE7C0[] = _("Did you want to chat?\nOkay, but please wait a moment."); +ALIGNED(4) const u8 gUnknown_082EE7F8[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); + +const u8 *const gUnknown_082EE82C[][4] = { + { + gUnknown_082EE6EC, + gUnknown_082EE720, + NULL, + gUnknown_082EE754 + }, { + gUnknown_082EE78C, + gUnknown_082EE7C0, + NULL, + gUnknown_082EE7F8 + } +}; + +ALIGNED(4) const u8 unref_text_union_room_5[] = _("You want to chat, huh?\nSure, just wait a little."); +ALIGNED(4) const u8 gUnknown_082EE880[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE8B8[] = _("All right!\nLet's chat!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE8D4[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE904[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE92C[] = _("The trade will be started.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE94C[] = _("The battle will be started.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EE96C[] = _("Entering the chat…{PAUSE 60}"); + +const u8 *const gUnknown_082EE984[][2][3] = { + { + { + gUnknown_082EE94C, + gUnknown_082EE96C, + gUnknown_082EE92C + }, { + gUnknown_082EE94C, + gUnknown_082EE96C, + gUnknown_082EE92C + } + }, { + { + gUnknown_082EE880, + gUnknown_082EE8B8, + gUnknown_082EE92C + }, { + gUnknown_082EE8D4, + gUnknown_082EE904, + gUnknown_082EE92C + } + } +}; + +ALIGNED(4) const u8 gUnknown_082EE9B4[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p"); +ALIGNED(4) const u8 gUnknown_082EEA14[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p"); + +const u8 *const gUnknown_082EEA68[] = { + gUnknown_082EE9B4, + gUnknown_082EEA14 +}; + +ALIGNED(4) const u8 gUnknown_082EEA70[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p"); +ALIGNED(4) const u8 gUnknown_082EEAC0[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p"); + +const u8 *const gUnknown_082EEB08[] = { + gUnknown_082EEA70, + gUnknown_082EEAC0 +}; + +ALIGNED(4) const u8 gUnknown_082EEB10[] = _("If you want to do something with\nme, just give me a shout!\p"); +ALIGNED(4) const u8 gUnknown_082EEB4C[] = _("If you want to do something with\nme, don't be shy.\p"); + +const u8 *const gUnknown_082EEB80[] = { + gUnknown_082EEB10, + gUnknown_082EEB4C +}; + +ALIGNED(4) const u8 sText_TrainerBattleBusy[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p"); +ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower1[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p"); +ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower2[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p"); +ALIGNED(4) const u8 sText_DeclineBattleMale[] = _("Oh, all right.\nCome see me anytime, okay?\p"); +ALIGNED(4) const u8 sText_DeclineBattleFemale[] = _("Oh…\nPlease come by anytime.\p"); + +const u8 *const sUnionRoomTexts_DeclineBattle[GENDER_COUNT] = { + [MALE] = sText_DeclineBattleMale, + [FEMALE] = sText_DeclineBattleFemale +}; + +ALIGNED(4) const u8 gUnknown_082EECA4[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p"); +ALIGNED(4) const u8 gUnknown_082EECEC[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p"); + +const u8 *const gUnknown_082EED3C[] = { + gUnknown_082EECA4, + gUnknown_082EECEC +}; + +ALIGNED(4) const u8 gUnknown_082EED44[] = _("Whoa!\nI can tell you're pretty tough!\p"); +ALIGNED(4) const u8 gUnknown_082EED6C[] = _("You used that move?\nThat's good strategy!\p"); +ALIGNED(4) const u8 gUnknown_082EED98[] = _("Way to go!\nThat was an eye-opener!\p"); +ALIGNED(4) const u8 gUnknown_082EEDBC[] = _("Oh! How could you use that\nPOKéMON in that situation?\p"); +ALIGNED(4) const u8 gUnknown_082EEDF4[] = _("That POKéMON…\nIt's been raised really well!\p"); +ALIGNED(4) const u8 gUnknown_082EEE24[] = _("That's it!\nThis is the right move now!\p"); +ALIGNED(4) const u8 gUnknown_082EEE4C[] = _("That's awesome!\nYou can battle that way?\p"); +ALIGNED(4) const u8 gUnknown_082EEE78[] = _("You have exquisite timing for\nswitching POKéMON!\p"); + +const u8 *const gUnknown_082EEEAC[GENDER_COUNT][4] = { + [MALE] = + { + gUnknown_082EED44, + gUnknown_082EED6C, + gUnknown_082EED98, + gUnknown_082EEDBC + }, + [FEMALE] = + { + gUnknown_082EEDF4, + gUnknown_082EEE24, + gUnknown_082EEE4C, + gUnknown_082EEE78 + } +}; + +ALIGNED(4) const u8 gUnknown_082EEECC[] = _("Oh, I see!\nThis is educational!\p"); +ALIGNED(4) const u8 gUnknown_082EEEF0[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p"); +ALIGNED(4) const u8 gUnknown_082EEF2C[] = _("Oh?\nSomething like that happened.\p"); +ALIGNED(4) const u8 gUnknown_082EEF50[] = _("Hmhm… What?\nSo is this what you're saying?\p"); +ALIGNED(4) const u8 gUnknown_082EEF7C[] = _("Is that right?\nI didn't know that.\p"); +ALIGNED(4) const u8 gUnknown_082EEFA0[] = _("Ahaha!\nWhat is that about?\p"); +ALIGNED(4) const u8 gUnknown_082EEFBC[] = _("Yes, that's exactly it!\nThat's what I meant.\p"); +ALIGNED(4) const u8 gUnknown_082EEFEC[] = _("In other words…\nYes! That's right!\p"); + +const u8 *const gUnknown_082EF010[GENDER_COUNT][4] = { + [MALE] = + { + gUnknown_082EEECC, + gUnknown_082EEEF0, + gUnknown_082EEF2C, + gUnknown_082EEF50 + }, + [FEMALE] = + { + gUnknown_082EEF7C, + gUnknown_082EEFA0, + gUnknown_082EEFBC, + gUnknown_082EEFEC + } +}; + +ALIGNED(4) const u8 gUnknown_082EF030[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p"); +ALIGNED(4) const u8 gUnknown_082EF06C[] = _("I hope I get to know you better!\p"); +ALIGNED(4) const u8 gUnknown_082EF090[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p"); +ALIGNED(4) const u8 gUnknown_082EF0D0[] = _("Glad to meet you.\nPlease don't be a stranger!\p"); + +const u8 *const gUnknown_082EF100[GENDER_COUNT][2] = { + [MALE] = + { + gUnknown_082EF030, + gUnknown_082EF06C + }, + [FEMALE] = + { + gUnknown_082EF090, + gUnknown_082EF0D0 + } +}; + +ALIGNED(4) const u8 sText_MaleTraded1[] = _("Yeahah!\nI really wanted this POKéMON!\p"); +ALIGNED(4) const u8 sText_MaleTraded2[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p"); +ALIGNED(4) const u8 sText_FemaleTraded1[] = _("I'm trading POKéMON right now.\p"); +ALIGNED(4) const u8 sText_FemaleTraded2[] = _("I finally got that POKéMON I\nwanted in a trade!\p"); + +const u8 *const sUnionRoomTexts_Traded[GENDER_COUNT][4] = { + [MALE] = + { + sText_MaleTraded1, + sText_MaleTraded2 + }, + [FEMALE] = + { + sText_FemaleTraded1, + sText_FemaleTraded2 + } +}; + +ALIGNED(4) const u8 sText_XCheckedTradingBoard[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p"); +ALIGNED(4) const u8 sText_RegisterMonAtTradingBoard[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 sText_TradingBoardInfo[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 sText_ThankYouForRegistering[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p"); // unused +ALIGNED(4) const u8 sText_NobodyHasRegistered[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n"); // unused +ALIGNED(4) const u8 sText_ChooseRequestedMonType[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); +ALIGNED(4) const u8 sText_WhichMonWillYouOffer[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); +ALIGNED(4) const u8 sText_RegistrationCanceled[] = _("Registration has been canceled.\p"); +ALIGNED(4) const u8 sText_RegistraionCompleted[] = _("Registration has been completed.\p"); +ALIGNED(4) const u8 sText_TradeCanceled[] = _("The trade has been canceled.\p"); +ALIGNED(4) const u8 sText_CancelRegistrationOfMon[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); +ALIGNED(4) const u8 sText_CancelRegistrationOfEgg[] = _("Cancel the registration of your\nEGG?"); +ALIGNED(4) const u8 sText_RegistrationCanceled2[] = _("The registration has been canceled.\p"); +ALIGNED(4) const u8 sText_TradeTrainersWillBeListed[] = _("TRAINERS wishing to make a trade\nwill be listed."); // unused +ALIGNED(4) const u8 sText_ChooseTrainerToTradeWith[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON."); // unused +ALIGNED(4) const u8 sText_AskTrainerToMakeTrade[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?"); +ALIGNED(4) const u8 sText_AwaitingResponseFromTrainer[] = _("Awaiting a response from\nthe other TRAINER…"); // unused +ALIGNED(4) const u8 sText_NotRegisteredAMonForTrade[] = _("You have not registered a POKéMON\nfor trading.\p"); // unused +ALIGNED(4) const u8 sText_DontHaveTypeTrainerWants[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 sText_DontHaveEggTrainerWants[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 sText_CantTradeMonRightNow[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p"); +ALIGNED(4) const u8 sText_CantTradePartnersMonRightNow[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p"); + +// unused +const u8 *const sUnionRoomTexts_CantTradeRightNow[] = { + sText_CantTradeMonRightNow, + sText_CantTradePartnersMonRightNow +}; + +ALIGNED(4) const u8 sText_TradeOfferRejected[] = _("Your trade offer was rejected.\p"); +ALIGNED(4) const u8 sText_EggTrade[] = _("EGG TRADE"); +ALIGNED(4) const u8 gUnknown_082EF7DC[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gUnknown_082EF7F8[] = _("Please choose a TRAINER."); +ALIGNED(4) const u8 gUnknown_082EF814[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); +ALIGNED(4) const u8 gUnknown_082EF844[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); +ALIGNED(4) const u8 gUnknown_082EF874[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); +ALIGNED(4) const u8 gUnknown_082EF8A4[] = _("Please choose the TRAINER to\ntrade with."); +ALIGNED(4) const u8 gUnknown_082EF8D0[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS."); +ALIGNED(4) const u8 gUnknown_082EF908[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS."); +ALIGNED(4) const u8 gUnknown_082EF940[] = _("Jump with mini POKéMON!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EF974[] = _("BERRY CRUSH!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EF99C[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EF9CC[] = _("BERRY BLENDER!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EF9F8[] = _("RECORD CORNER!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFA24[] = _("COOLNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFA50[] = _("BEAUTY CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFA7C[] = _("CUTENESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFAA8[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFAD8[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFB08[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_082EFB3C[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER."); + +const u8 *const gUnknown_082EFB70[] = { + gUnknown_082EF814, + gUnknown_082EF844, + gUnknown_082EF874, + gUnknown_082EF8A4, + gUnknown_082EF940, + gUnknown_082EF974, + gUnknown_082EF99C, + gUnknown_082EF8D0, + gUnknown_082EF908, + NULL, + NULL, + NULL, + gUnknown_082EF9F8, + gUnknown_082EF9CC, + NULL, + gUnknown_082EFA24, + gUnknown_082EFA50, + gUnknown_082EFA7C, + gUnknown_082EFAA8, + gUnknown_082EFAD8, + gUnknown_082EFB08, + gUnknown_082EFB3C +}; + +ALIGNED(4) const u8 gUnknown_082EFBC8[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); +ALIGNED(4) const u8 unref_text_union_room_12[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p"); +ALIGNED(4) const u8 gUnknown_082EFC3C[] = _("Awaiting {STR_VAR_1}'s response…"); +ALIGNED(4) const u8 gUnknown_082EFC54[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); +ALIGNED(4) const u8 gUnknown_082EFC90[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); +ALIGNED(4) const u8 unref_text_union_room_13[] = _("Please wait for other TRAINERS to\ngather and get ready."); +ALIGNED(4) const u8 gUnknown_082EFD04[] = _("No CARDS appear to be shared \nright now."); +ALIGNED(4) const u8 gUnknown_082EFD30[] = _("No NEWS appears to be shared\nright now."); + +const u8 *const gUnknown_082EFD58[] = { + gUnknown_082EFD04, + gUnknown_082EFD30 +}; + +ALIGNED(4) const u8 gUnknown_082EFD60[] = _("BATTLE"); +ALIGNED(4) const u8 gUnknown_082EFD68[] = _("CHAT"); +ALIGNED(4) const u8 gUnknown_082EFD70[] = _("GREETINGS"); +ALIGNED(4) const u8 gUnknown_082EFD7C[] = _("EXIT"); +ALIGNED(4) const u8 gUnknown_082EFD84[] = _("EXIT"); +ALIGNED(4) const u8 gUnknown_082EFD8C[] = _("INFO"); +ALIGNED(4) const u8 gUnknown_082EFD94[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); +ALIGNED(4) const u8 gUnknown_082EFDB0[] = _("SINGLE BATTLE"); +ALIGNED(4) const u8 gUnknown_082EFDC0[] = _("DOUBLE BATTLE"); +ALIGNED(4) const u8 gUnknown_082EFDD0[] = _("MULTI BATTLE"); +ALIGNED(4) const u8 gUnknown_082EFDE0[] = _("POKéMON TRADES"); +ALIGNED(4) const u8 gUnknown_082EFDF0[] = _("CHAT"); +ALIGNED(4) const u8 gUnknown_082EFDF8[] = _("CARDS"); +ALIGNED(4) const u8 gUnknown_082EFE00[] = _("WONDER CARDS"); +ALIGNED(4) const u8 gUnknown_082EFE10[] = _("WONDER NEWS"); +ALIGNED(4) const u8 gUnknown_082EFE1C[] = _("POKéMON JUMP"); +ALIGNED(4) const u8 gUnknown_082EFE2C[] = _("BERRY CRUSH"); +ALIGNED(4) const u8 gUnknown_082EFE38[] = _("BERRY-PICKING"); +ALIGNED(4) const u8 gUnknown_082EFE48[] = _("SEARCH"); +ALIGNED(4) const u8 gUnknown_082EFE50[] = _("BERRY BLENDER"); +ALIGNED(4) const u8 gUnknown_082EFE60[] = _("RECORD CORNER"); +ALIGNED(4) const u8 gUnknown_082EFE70[] = _("COOL CONTEST"); +ALIGNED(4) const u8 gUnknown_082EFE80[] = _("BEAUTY CONTEST"); +ALIGNED(4) const u8 gUnknown_082EFE90[] = _("CUTE CONTEST"); +ALIGNED(4) const u8 gUnknown_082EFEA0[] = _("SMART CONTEST"); +ALIGNED(4) const u8 gUnknown_082EFEB0[] = _("TOUGH CONTEST"); +ALIGNED(4) const u8 gUnknown_082EFEC0[] = _("BATTLE TOWER LV. 50"); +ALIGNED(4) const u8 gUnknown_082EFED4[] = _("BATTLE TOWER OPEN LEVEL"); +ALIGNED(4) const u8 gUnknown_082EFEEC[] = _("It's a NORMAL CARD."); +ALIGNED(4) const u8 gUnknown_082EFF00[] = _("It's a BRONZE CARD!"); +ALIGNED(4) const u8 gUnknown_082EFF14[] = _("It's a COPPER CARD!"); +ALIGNED(4) const u8 gUnknown_082EFF28[] = _("It's a SILVER CARD!"); +ALIGNED(4) const u8 gUnknown_082EFF3C[] = _("It's a GOLD CARD!"); + +const u8 *const gUnknown_082EFF50[] = { + gUnknown_082EFEEC, + gUnknown_082EFF00, + gUnknown_082EFF14, + gUnknown_082EFF28, + gUnknown_082EFF3C +}; + +ALIGNED(4) const u8 gUnknown_082EFF64[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); +ALIGNED(4) const u8 gUnknown_082EFFA4[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); +ALIGNED(4) const u8 gUnknown_082EFFDC[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_082EFFFC[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); + +const u8 *const gUnknown_082F0018[] = { + gUnknown_082EFFDC, + gUnknown_082EFFFC +}; + +ALIGNED(4) const u8 gUnknown_082F0020[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); + +const u8 *const gUnknown_082F0048[] = { + gText_EmptyString, + gUnknown_082EFDB0, + gUnknown_082EFDC0, + gUnknown_082EFDD0, + gUnknown_082EFDE0, + gUnknown_082EFDF0, + gUnknown_082EFE00, + gUnknown_082EFE10, + gUnknown_082EFDF8, + gUnknown_082EFE1C, + gUnknown_082EFE2C, + gUnknown_082EFE38, + gUnknown_082EFE48, + gText_EmptyString, + gUnknown_082EFED4, + gUnknown_082EFE60, + gUnknown_082EFE50, + gText_EmptyString, + gText_EmptyString, + gText_EmptyString, + gText_EmptyString, + gUnknown_082EFE00, + gUnknown_082EFE10, + gUnknown_082EFE70, + gUnknown_082EFE80, + gUnknown_082EFE90, + gUnknown_082EFEA0, + gUnknown_082EFEB0, + gUnknown_082EFEC0 +}; + +const struct WindowTemplate gUnknown_082F00BC = { + .bg = 0x00, + .tilemapLeft = 0x00, + .tilemapTop = 0x00, + .width = 0x1E, + .height = 0x02, + .paletteNum = 0x0F, + .baseBlock = 0x0008 +}; + +const u32 gUnknown_082F00C4[] = { + 0x0201, + 0x0202, + 0x0403, + 0x0204, + 0x2509, + 0x250a, + 0x350b, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x240f, + 0x2410, + 0x0000, + 0x2417, + 0x2418, + 0x2419, + 0x241a, + 0x241b, + 0x021c, + 0x020e +}; + +const struct WindowTemplate gUnknown_082F011C = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x0d, + .height = 0x08, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F0124 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x0d, + .height = 0x0a, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F012C = { + .bg = 0x00, + .tilemapLeft = 0x10, + .tilemapTop = 0x03, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x00c6 +}; + +const struct ListMenuItem gUnknown_082F0134[] = { + { gText_EmptyString, 0 }, + { gText_EmptyString, 1 }, + { gText_EmptyString, 2 }, + { gText_EmptyString, 3 }, + { gText_EmptyString, 4 } +}; + +const struct ListMenuTemplate gUnknown_082F015C = { + .items = gUnknown_082F0134, + .moveCursorFunc = NULL, + .itemPrintFunc = sub_8013278, + .totalItems = 5, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 0, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 1 +}; + +const struct WindowTemplate gUnknown_082F0174 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x11, + .height = 0x0a, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F017C = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x03, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x00ee +}; + +const struct ListMenuItem gUnknown_082F0184[] = { + { gText_EmptyString, 0 }, + { gText_EmptyString, 1 }, + { gText_EmptyString, 2 }, + { gText_EmptyString, 3 }, + { gText_EmptyString, 4 }, + { gText_EmptyString, 5 }, + { gText_EmptyString, 6 }, + { gText_EmptyString, 7 }, + { gText_EmptyString, 8 }, + { gText_EmptyString, 9 }, + { gText_EmptyString, 10 }, + { gText_EmptyString, 11 }, + { gText_EmptyString, 12 }, + { gText_EmptyString, 13 }, + { gText_EmptyString, 14 }, + { gText_EmptyString, 15 } +}; + +const struct ListMenuTemplate gUnknown_082F0204 = { + .items = gUnknown_082F0184, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_8013DF4, + .totalItems = 16, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 1, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F021C = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x05, + .width = 0x10, + .height = 0x08, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +const struct ListMenuItem gUnknown_082F0224[] = { + { gUnknown_082EFD70, 0x208 }, + { gUnknown_082EFD60, 0x241 }, + { gUnknown_082EFD68, 0x245 }, + { gUnknown_082EFD7C, 0x040 } +}; + +const struct ListMenuTemplate gUnknown_082F0244 = { + .items = gUnknown_082F0224, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 4, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F025C = { + .bg = 0x00, + .tilemapLeft = 0x12, + .tilemapTop = 0x07, + .width = 0x10, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +const struct ListMenuItem gUnknown_082F0264[] = { + { gText_Register, 1 }, + { gUnknown_082EFD8C, 2 }, + { gUnknown_082EFD7C, 3 } +}; + +const struct ListMenuTemplate gUnknown_082F027C = { + .items = gUnknown_082F0264, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 3, + .maxShowed = 3, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F0294 = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x01, + .width = 0x10, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +static const struct ListMenuItem sTradingBoardTypes[] = { + { gTypeNames[TYPE_NORMAL], TYPE_NORMAL }, + { gTypeNames[TYPE_FIRE], TYPE_FIRE }, + { gTypeNames[TYPE_WATER], TYPE_WATER }, + { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC }, + { gTypeNames[TYPE_GRASS], TYPE_GRASS }, + { gTypeNames[TYPE_ICE], TYPE_ICE }, + { gTypeNames[TYPE_GROUND], TYPE_GROUND }, + { gTypeNames[TYPE_ROCK], TYPE_ROCK }, + { gTypeNames[TYPE_FLYING], TYPE_FLYING }, + { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC }, + { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING }, + { gTypeNames[TYPE_POISON], TYPE_POISON }, + { gTypeNames[TYPE_BUG], TYPE_BUG }, + { gTypeNames[TYPE_GHOST], TYPE_GHOST }, + { gTypeNames[TYPE_DRAGON], TYPE_DRAGON }, + { gTypeNames[TYPE_STEEL], TYPE_STEEL }, + { gTypeNames[TYPE_DARK], TYPE_DARK }, + { gUnknown_082EFD7C, NUMBER_OF_MON_TYPES } +}; + +const struct ListMenuTemplate sMenuTemplate_TradingBoardRequestType = { + .items = sTradingBoardTypes, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = NUMBER_OF_MON_TYPES, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F0344 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x1c, + .height = 0x02, + .paletteNum = 0x0d, + .baseBlock = 0x0001 +}; + +const struct WindowTemplate gUnknown_082F034C = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x05, + .width = 0x1c, + .height = 0x0c, + .paletteNum = 0x0d, + .baseBlock = 0x0039 +}; + +const struct ListMenuItem gUnknown_082F0354[] = { + { gText_EmptyString, -3 }, + { gText_EmptyString, 0 }, + { gText_EmptyString, 1 }, + { gText_EmptyString, 2 }, + { gText_EmptyString, 3 }, + { gText_EmptyString, 4 }, + { gText_EmptyString, 5 }, + { gText_EmptyString, 6 }, + { gText_EmptyString, 7 }, + { gUnknown_082EFD84, 8 } +}; + +const struct ListMenuTemplate gUnknown_082F03A4 = { + .items = gUnknown_082F0354, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_8017BE8, + .totalItems = 10, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 14, + .fillValue = 15, + .cursorShadowPal = 13, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate UnrefWindowTemplate_082F03B4 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x05, + .width = 0x1c, + .height = 0x0c, + .paletteNum = 0x0d, + .baseBlock = 0x0039 +}; + +const struct ListMenuItem gUnknown_082F03C4[] = { + { gText_EmptyString, 0 }, + { gText_EmptyString, 1 }, + { gText_EmptyString, 2 }, + { gText_EmptyString, 3 }, + { gText_EmptyString, 4 }, + { gText_EmptyString, 5 }, + { gText_EmptyString, 6 }, + { gText_EmptyString, 7 }, + { gText_EmptyString, 8 }, + { gText_EmptyString, 9 }, + { gText_EmptyString, 10 }, + { gText_EmptyString, 11 }, + { gText_EmptyString, 12 }, + { gText_EmptyString, 13 }, + { gText_EmptyString, 14 }, + { gText_EmptyString, 15 } +}; + +const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = { + .items = gUnknown_082F03C4, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = nullsub_14, + .totalItems = 16, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 1, + .fontId = 1, + .cursorKind = 0 +}; + +const struct UnkStruct_Shared gUnknown_082F045C = {0}; + +ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff}; +ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff}; +ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff}; + +const u8 *const gUnknown_082F04D8[] = { + gUnknown_082F0474, + gUnknown_082F0478, + gUnknown_082F047C, + gUnknown_082F0480, + gUnknown_082F0484, + gUnknown_082F0488, + gUnknown_082F048C, + gUnknown_082F0490, + gUnknown_082F0494, + gUnknown_082F0498, + gUnknown_082F04A4, + gUnknown_082F04A8, + gUnknown_082F04B4, + gUnknown_082F04B8, + NULL, + gUnknown_082F04BC, + gUnknown_082F04C0, + gUnknown_082F04C4, + gUnknown_082F04C8, + gUnknown_082F04CC, + gUnknown_082F04D0, + gUnknown_082F04D4 +}; + +const u8 gUnknown_082F0530[] = { + 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, + 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00 +}; diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index ea555bd326..19aa40b005 100755 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -26,7 +26,12 @@ "type": "fishing_mons", "encounter_rates": [ 70, 30, 60, 20, 20, 40, 40, 15, 4, 1 - ] + ], + "groups": { + "old_rod": [0, 1], + "good_rod": [2, 3, 4], + "super_rod": [5, 6, 7, 8, 9] + } } ], "encounters": [ diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index 85755ddec5..bf848249f0 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -3,13 +3,25 @@ ## for wild_encounter_group in wild_encounter_groups {% if wild_encounter_group.for_maps %} ## for wild_encounter_field in wild_encounter_group.fields +{% if not existsIn(wild_encounter_field, "groups") %} ## for encounter_rate in wild_encounter_field.encounter_rates -{% if trackVar(encounter_rate, 100) %} +{% if loop.index == 0 %} #define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} {{ encounter_rate }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ subtract(loop.index, 1) }} + {{ encounter_rate }}{% endif %} {{ setVarInt(wild_encounter_field.type, loop.index) }} ## endfor #define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ getVar(wild_encounter_field.type) }}) +{% else %} +## for field_subgroup_key, field_subgroup_subarray in wild_encounter_field.groups +## for field_subgroup_index in field_subgroup_subarray +{% if loop.index == 0 %} +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar("previous_slot") }} + {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }}{% endif %}{{ setVarInt(concat(wild_encounter_field.type, field_subgroup_key), field_subgroup_index) }}{{ setVarInt("previous_slot", field_subgroup_index) }} +## endfor +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar(concat(wild_encounter_field.type, field_subgroup_key)) }}) ## endfor {% endif %} +## endfor +{% endif %} + + ## for encounter in wild_encounter_group.encounters {% if existsIn(encounter, "land_mons") %} diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 4b636e2b91..2e0cfbc7ee 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -245,7 +245,7 @@ static u32 sub_8027DFC(u32 arg0); static u32 IncrementWithLimit(u32 arg0, u32 arg1); static u32 Min(u32 arg0, u32 arg1); static u32 sub_80276C0(u8 arg0); -static void sub_8027ACC(u8 taskId); +static void Task_ShowDodrioBerryPickingRecords(u8 taskId); static void sub_8029314(u8 taskId); static void sub_8027BEC(u8 windowId, s32 width); static void nullsub_15(struct Sprite *sprite); @@ -2580,7 +2580,7 @@ static u8 sub_8027A48(u8 id) return gUnknown_02022C98->unk34[id]; } -void sub_8027A5C(void) +void IsDodrioInParty(void) { int i; for (i = 0; i < PARTY_SIZE; i++) @@ -2588,18 +2588,18 @@ void sub_8027A5C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES) && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_DODRIO) { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; return; } } - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } -void sub_8027AAC(void) +void ShowDodrioBerryPickingRecords(void) { - u8 taskId = CreateTask(sub_8027ACC, 0); - sub_8027ACC(taskId); + u8 taskId = CreateTask(Task_ShowDodrioBerryPickingRecords, 0); + Task_ShowDodrioBerryPickingRecords(taskId); } // Data related to printing saved results. @@ -2621,7 +2621,7 @@ ALIGNED(4) static const u8 gUnknown_082F7B44[][2] = {{25}, {41}, {57}}; static const u8 gUnknown_082F7B4A[][2] = {{25}, {41}, {73}}; -static void sub_8027ACC(u8 taskId) +static void Task_ShowDodrioBerryPickingRecords(u8 taskId) { struct WindowTemplate window; s32 i, width, widthCurr; diff --git a/src/dragon.c b/src/dragon.c index a1b6c4c0f4..6cc9bbfed8 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -39,7 +39,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -92,7 +92,7 @@ const struct SpriteTemplate gUnknown_08596EF4 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08596EB4, .images = NULL, .affineAnims = gUnknown_08596EEC, @@ -118,7 +118,7 @@ const struct SpriteTemplate gUnknown_08596F28 = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596F24, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -161,7 +161,7 @@ const struct SpriteTemplate gUnknown_08596F80 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08596F50, .images = NULL, .affineAnims = gUnknown_08596F78, @@ -172,7 +172,7 @@ const struct SpriteTemplate gUnknown_08596F98 = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -183,7 +183,7 @@ const struct SpriteTemplate gUnknown_08596FB0 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -249,7 +249,7 @@ const struct SpriteTemplate gDragonRushSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDragonRushAnimTable, .images = NULL, .affineAnims = gDragonRushAffineAnimTable, @@ -260,7 +260,7 @@ const struct SpriteTemplate gDracoMetorSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDracoMeteorAnimCmd, .images = NULL, .affineAnims = gDracoMeteorAffineAnims, @@ -271,7 +271,7 @@ const struct SpriteTemplate gDragonPulseSpriteTemplate = { .tileTag = ANIM_TAG_DRAGON_PULSE, .paletteTag = ANIM_TAG_DRAGON_PULSE, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/easy_chat.c b/src/easy_chat.c index 54504a5399..827b470855 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -121,8 +121,8 @@ static void sub_811B768(void); static u8 sub_811B960(u8); static void sub_811B9A0(void); static u8 sub_811BA1C(void); -static int sub_811BF20(void); -static u16 sub_811BF40(void); +static int DidPlayerInputMysteryGiftPhrase(void); +static u16 DidPlayerInputABerryMasterWifePhrase(void); static bool8 sub_811CE94(void); static void sub_811CF64(void); static void sub_811CF04(void); @@ -2597,17 +2597,17 @@ static int FooterHasFourOptions_(void) return FooterHasFourOptions(); } -u8 sub_811BC7C(const u16 *arg0, u8 arg1) +static bool8 IsPhraseDifferentThanPlayerInput(const u16 *phrase, u8 phraseLength) { u8 i; - for (i = 0; i < arg1; i++) + for (i = 0; i < phraseLength; i++) { - if (arg0[i] != sEasyChatScreen->ecWordBuffer[i]) - return 1; + if (phrase[i] != sEasyChatScreen->ecWordBuffer[i]) + return TRUE; } - return 0; + return FALSE; } static u8 GetDisplayedPersonType(void) @@ -2730,7 +2730,7 @@ static void sub_811BE9C(void) FlagSet(FLAG_SYS_CHAT_USED); break; case EASY_CHAT_TYPE_QUESTIONNAIRE: - if (sub_811BF20()) + if (DidPlayerInputMysteryGiftPhrase()) gSpecialVar_0x8004 = 2; else gSpecialVar_0x8004 = 0; @@ -2740,22 +2740,22 @@ static void sub_811BE9C(void) gSpecialVar_0x8004 = sub_81226D8(sEasyChatScreen->ecWordBuffer); break; case EASY_CHAT_TYPE_GOOD_SAYING: - gSpecialVar_0x8004 = sub_811BF40(); + gSpecialVar_0x8004 = DidPlayerInputABerryMasterWifePhrase(); break; } } -static int sub_811BF20(void) +static int DidPlayerInputMysteryGiftPhrase(void) { - return sub_811BC7C(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)) == 0; + return !IsPhraseDifferentThanPlayerInput(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)); } -static u16 sub_811BF40(void) +static u16 DidPlayerInputABerryMasterWifePhrase(void) { int i; - for (i = 0; i < 5; i++) + for (i = 0; i < (int)ARRAY_COUNT(sBerryMasterWifePhrases); i++) { - if (!sub_811BC7C(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases))) + if (!IsPhraseDifferentThanPlayerInput(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases))) return i + 1; } diff --git a/src/electric.c b/src/electric.c index 9adb35e946..12c1d01e17 100644 --- a/src/electric.c +++ b/src/electric.c @@ -56,7 +56,7 @@ const struct SpriteTemplate gUnknown_085956C0 = { .tileTag = ANIM_TAG_LIGHTNING, .paletteTag = ANIM_TAG_LIGHTNING, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085956BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_085956FC = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085956F8, @@ -107,7 +107,7 @@ const struct SpriteTemplate gUnknown_08595734 = { .tileTag = ANIM_TAG_SHOCK, .paletteTag = ANIM_TAG_SHOCK, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595730, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -118,7 +118,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -129,7 +129,7 @@ const struct SpriteTemplate gUnknown_08595764 = { .tileTag = ANIM_TAG_BLACK_BALL_2, .paletteTag = ANIM_TAG_BLACK_BALL_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_08595790 = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859578C, @@ -188,7 +188,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 = { .tileTag = ANIM_TAG_SHOCK_3, .paletteTag = ANIM_TAG_SHOCK_3, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085957B8, .images = NULL, .affineAnims = gUnknown_085957DC, @@ -199,7 +199,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859578C, @@ -210,7 +210,7 @@ const struct SpriteTemplate gElectricitySpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -221,7 +221,7 @@ const struct SpriteTemplate gUnknown_08595828 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -232,7 +232,7 @@ const struct SpriteTemplate gUnknown_08595840 = { .tileTag = ANIM_TAG_SPARK_H, .paletteTag = ANIM_TAG_SPARK_H, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_085958A8 = { .tileTag = ANIM_TAG_ELECTRIC_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_085958A0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -335,7 +335,7 @@ const struct SpriteTemplate gUnknown_0859595C = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -360,7 +360,7 @@ const struct SpriteTemplate gUnknown_0859598C = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595988, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -371,7 +371,7 @@ const struct SpriteTemplate gUnknown_085959A4 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -425,7 +425,7 @@ const struct SpriteTemplate gUnknown_08595A00 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524A04, + .oam = &gOamData_AffineDouble_ObjNormal_8x16, .anims = gUnknown_085959DC, .images = NULL, .affineAnims = gUnknown_085959FC, @@ -436,7 +436,7 @@ const struct SpriteTemplate gUnknown_08595A18 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -447,7 +447,7 @@ const struct SpriteTemplate gUnknown_08595A30 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/ereader_screen.c b/src/ereader_screen.c index 0e865558a0..4497556ea9 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -88,7 +88,7 @@ static u8 sub_81D4DE8(struct Unk03006370 *arg0) static void sub_81D4E30(void) { memset(gDecompressionBuffer, 0, 0x2000); - gLinkType = 0x5503; + gLinkType = LINKTYPE_0x5503; OpenLink(); SetSuppressLinkErrorMessage(TRUE); } diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 22a29fd5df..c64a2ab226 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -108,12 +108,12 @@ void sub_8098524(void) UnfreezeEventObjects(); } -void sub_8098574(void) +void Script_FacePlayer(void) { EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing); } -void sub_809859C(void) +void Script_ClearHeldMovement(void) { EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]); } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 5ba9794534..af560bc40c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -406,7 +406,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 2: - sub_807F19C(); + InitTradeBg(); gMain.state++; break; case 3: @@ -438,7 +438,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; gMain.state++; - sub_807B154(); + LinkTradeDrawWindow(); } break; case 6: @@ -452,7 +452,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 7: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); - sub_807B140(); + InitTradeSequenceBgGpuRegs(); ShowBg(0); ShowBg(1); SetMainCallback2(CB2_TradeEvolutionSceneUpdate); @@ -985,7 +985,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { case 0: StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); gTasks[taskID].tState++; break; case 1: @@ -1075,7 +1075,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsCryFinished()) { StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); PlayFanfare(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (&gTasks[taskID].tPostEvoSpecies)); @@ -1110,7 +1110,7 @@ static void Task_TradeEvolutionScene(u8 taskID) else { PlayBGM(MUS_SHINKA); - sub_807F1A8(0, gText_CommunicationStandby5, 1); + DrawTextOnTradeWindow(0, gText_CommunicationStandby5, 1); gTasks[taskID].tState++; } } @@ -1144,7 +1144,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteID)) { StringExpandPlaceholders(gStringVar4, gText_EllipsisQuestionMark); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); gTasks[taskID].tEvoWasStopped = 1; gTasks[taskID].tState = 13; } @@ -1155,7 +1155,7 @@ static void Task_TradeEvolutionScene(u8 taskID) BufferMoveToLearnIntoBattleTextBuff2(); PlayFanfare(MUS_FANFA1); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; } @@ -1172,7 +1172,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { BufferMoveToLearnIntoBattleTextBuff2(); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1180,7 +1180,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1188,7 +1188,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 5; gTasks[taskID].tData8 = 9; gTasks[taskID].tLearnMoveState++; @@ -1197,7 +1197,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { LoadUserWindowBorderGfx(0, 0xA8, 0xE0); - CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0); + CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskID].tLearnMoveState++; sEvoCursorPos = 0; @@ -1209,7 +1209,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 0: sEvoCursorPos = 0; BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); @@ -1218,7 +1218,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case -1: sEvoCursorPos = 1; BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData8; break; } @@ -1254,7 +1254,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsHMMove2(move)) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = 11; } else @@ -1264,7 +1264,7 @@ static void Task_TradeEvolutionScene(u8 taskID) RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } } @@ -1274,7 +1274,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1282,20 +1282,20 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 18; } break; case 9: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 10; gTasks[taskID].tData8 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 13; break; case 11: diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index f3f9be5308..47246d75af 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -547,7 +547,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) { if (UpdatePoisonStepCounter() == TRUE) { - ScriptContext1_SetupScript(EventScript_Poison); + ScriptContext1_SetupScript(EventScript_FieldPoison); return TRUE; } if (ShouldEggHatch()) @@ -583,7 +583,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) } if (ShouldDoRoxanneCall() == TRUE) { - ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_21307B); + ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_RegisterRoxanne); return TRUE; } if (ShouldDoRivalRayquazaCall() == TRUE) @@ -733,12 +733,12 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB } if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE) { - ScriptContext1_SetupScript(gUnknown_082A8350); + ScriptContext1_SetupScript(EventScript_FallDownHoleMtPyre); return TRUE; } if (MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) == TRUE) { - sub_80AF87C(); + DoMossdeepGymWarp(); return TRUE; } DoWarp(); diff --git a/src/field_poison.c b/src/field_poison.c index 532c7f0273..d10a28a769 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -14,6 +14,7 @@ #include "strings.h" #include "task.h" #include "trainer_hill.h" +#include "constants/field_poison.h" #include "constants/species.h" static bool32 IsMonValidSpecies(struct Pokemon *pokemon) @@ -62,7 +63,7 @@ static bool32 MonFaintedFromPoison(u8 partyIdx) return FALSE; } -static void Task_WhiteOut(u8 taskId) +static void Task_TryFieldPoisonWhiteOut(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) @@ -89,18 +90,18 @@ static void Task_WhiteOut(u8 taskId) case 2: if (AllMonsFainted()) { - if (InBattlePyramid() | InBattlePike() || sub_81D5C18()) + if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge()) { - gSpecialVar_Result = 2; + gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT; } else { - gSpecialVar_Result = 1; + gSpecialVar_Result = FLDPSN_WHITEOUT; } } else { - gSpecialVar_Result = 0; + gSpecialVar_Result = FLDPSN_NO_WHITEOUT; } EnableBothScriptContexts(); DestroyTask(taskId); @@ -108,9 +109,9 @@ static void Task_WhiteOut(u8 taskId) } } -void ExecuteWhiteOut(void) +void TryFieldPoisonWhiteOut(void) { - CreateTask(Task_WhiteOut, 80); + CreateTask(Task_TryFieldPoisonWhiteOut, 80); ScriptContext1_Stop(); } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 9a5d471569..5053155392 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -48,7 +48,7 @@ static bool32 WaitForWeatherFadeIn(void); static void task0A_mpl_807E31C(u8 taskId); static void sub_80AFA0C(u8 taskId); static void sub_80AFA88(u8 taskId); -static void task50_0807F0C8(u8); +static void Task_EnableScriptAfterMusicFade(u8 taskId); // const const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 }; @@ -556,7 +556,7 @@ void sub_80AF848(void) gFieldCallback = sub_80AF3E8; } -void sub_80AF87C(void) +void DoMossdeepGymWarp(void) { sub_8085540(1); ScriptContext2_Enable(); @@ -638,7 +638,7 @@ static void Task_ReturnToWorldFromLinkRoom(u8 taskId) } } -void sub_80AF9F8(void) +void ReturnFromLinkRoom(void) { CreateTask(Task_ReturnToWorldFromLinkRoom, 10); } @@ -970,7 +970,7 @@ static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest #undef tFlashRadiusDelta #undef tClearScanlineEffect -void sub_80B009C(u8 flashLevel) +void AnimateFlash(u8 flashLevel) { u8 curFlashLevel = Overworld_GetFlashLevel(); u8 value = 0; @@ -1231,13 +1231,13 @@ void sub_80B058C(void) gTasks[taskId].data[0] = 6; } -void sub_80B05B4(void) +void Script_FadeOutMapMusic(void) { Overworld_FadeOutMapMusic(); - CreateTask(task50_0807F0C8, 80); + CreateTask(Task_EnableScriptAfterMusicFade, 80); } -static void task50_0807F0C8(u8 taskId) +static void Task_EnableScriptAfterMusicFade(u8 taskId) { if (BGMusicStopped() == TRUE) { diff --git a/src/field_special_scene.c b/src/field_special_scene.c index dbf68e1a2b..231f4dd42f 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -302,7 +302,7 @@ void Task_HandlePorthole(u8 taskId) } break; case EXIT_PORTHOLE: // exit porthole. - FlagClear(FLAG_SPECIAL_FLAG_0x4001); + FlagClear(FLAG_DONT_TRANSITION_MUSIC); FlagClear(FLAG_HIDE_MAP_NAME_POPUP); SetWarpDestinationToDynamicWarp(0); DoDiveWarp(); @@ -339,7 +339,7 @@ void sub_80FB768(void) void sub_80FB7A4(void) { FlagSet(FLAG_SYS_CRUISE_MODE); - FlagSet(FLAG_SPECIAL_FLAG_0x4001); + FlagSet(FLAG_DONT_TRANSITION_MUSIC); FlagSet(FLAG_HIDE_MAP_NAME_POPUP); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); sub_80FB59C(); diff --git a/src/field_specials.c b/src/field_specials.c index 7a43eca67c..b92e956d4d 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -55,6 +55,7 @@ #include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/maps.h" +#include "constants/tv.h" #include "constants/script_menu.h" #include "constants/songs.h" #include "constants/species.h" @@ -68,8 +69,8 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; static EWRAM_DATA u32 sBikeCyclingTimer = 0; -static EWRAM_DATA u8 sUnknown_0203AB5C = 0; -static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; +static EWRAM_DATA u8 sSlidingDoorNextFrameCounter = 0; +static EWRAM_DATA u8 sSlidingDoorFrame = 0; static EWRAM_DATA u8 sTutorMoveAndElevatorWindowId = 0; static EWRAM_DATA u16 sLilycoveDeptStore_NeverRead = 0; static EWRAM_DATA u16 sLilycoveDeptStore_DefaultFloorChoice = 0; @@ -95,8 +96,8 @@ u16 GetNumMovedLilycoveFanClubMembers(void); static void RecordCyclingRoadResults(u32, u8); static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); -static void Task_PetalburgGym(u8); -static void PetalburgGymFunc(u8, u16); +static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId); +static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId); static void Task_PCTurnOnEffect(u8); static void PCTurnOnEffect_0(struct Task *); static void PCTurnOnEffect_1(s16, s8, s8); @@ -635,6 +636,7 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent } } +// NOTE: Coordinates are +7, +7 from actual in-map coordinates static const struct UCoords8 sMauvilleGymSwitchCoords[] = { { 7, 22}, @@ -643,26 +645,24 @@ static const struct UCoords8 sMauvilleGymSwitchCoords[] = {15, 16} }; -// Flips the switches on the ground when the player steps on them. -void MauvilleGymSpecial1(void) +// Presses the stepped-on switch and raises the rest +void MauvilleGymPressSwitch(void) { u8 i; for (i = 0; i < ARRAY_COUNT(sMauvilleGymSwitchCoords); i++) { if (i == gSpecialVar_0x8004) - { MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, PressedSwitch)); - } else - { MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, RaisedSwitch)); - } } } -void MauvilleGymSpecial2(void) +// Sets the gym barriers back to the default state; their alt state is handled by MauvilleCity_Gym_EventScript_SetAltBarriers +void MauvilleGymSetDefaultBarriers(void) { int x, y; + // All switches/barriers are within these coord ranges -7 for (y = 12; y < 24; y++) { for (x = 7; x < 16; x++) @@ -734,13 +734,9 @@ void MauvilleGymSpecial2(void) break; case METATILE_ID(MauvilleGym, FloorTile): if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_ID(MauvilleGym, GreenBeamV1_On)) - { MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamV2_On) | METATILE_COLLISION_MASK); - } else - { MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV2_On) | METATILE_COLLISION_MASK); - } break; case METATILE_ID(MauvilleGym, PoleBottom_Off): MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV1_On) | METATILE_COLLISION_MASK); @@ -757,7 +753,7 @@ void MauvilleGymSpecial2(void) } // Presses all switches and deactivates all beams. -void MauvilleGymSpecial3(void) +void MauvilleGymDeactivatePuzzle(void) { int i, x, y; const struct UCoords8 *switchCoords = sMauvilleGymSwitchCoords; @@ -814,7 +810,7 @@ void MauvilleGymSpecial3(void) } } -static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +static const bool8 sSlidingDoorNextFrameDelay[] = {0, 1, 1, 1, 1}; static const u16 sPetalburgGymSlidingDoorMetatiles[] = { METATILE_ID(PetalburgGym, SlidingDoor_Frame0), @@ -824,21 +820,21 @@ static const u16 sPetalburgGymSlidingDoorMetatiles[] = { METATILE_ID(PetalburgGym, SlidingDoor_Frame4), }; -void PetalburgGymSpecial1(void) +void PetalburgGymSlideOpenRoomDoors(void) { - sUnknown_0203AB5C = 0; - sPetalburgGymSlidingDoorFrameCounter = 0; + sSlidingDoorNextFrameCounter = 0; + sSlidingDoorFrame = 0; PlaySE(SE_KI_GASYAN); - CreateTask(Task_PetalburgGym, 8); + CreateTask(Task_PetalburgGymSlideOpenRoomDoors, 8); } -static void Task_PetalburgGym(u8 taskId) +static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId) { - if (gUnknown_085B2B78[sPetalburgGymSlidingDoorFrameCounter] == sUnknown_0203AB5C) + if (sSlidingDoorNextFrameDelay[sSlidingDoorFrame] == sSlidingDoorNextFrameCounter) { - PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sPetalburgGymSlidingDoorFrameCounter]); - sUnknown_0203AB5C = 0; - if ((++sPetalburgGymSlidingDoorFrameCounter) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) + PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sSlidingDoorFrame]); + sSlidingDoorNextFrameCounter = 0; + if ((++sSlidingDoorFrame) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) { DestroyTask(taskId); EnableBothScriptContexts(); @@ -846,11 +842,11 @@ static void Task_PetalburgGym(u8 taskId) } else { - sUnknown_0203AB5C++; + sSlidingDoorNextFrameCounter++; } } -static void PetalburgGymFunc(u8 roomNumber, u16 metatileId) +static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId) { u16 doorCoordsX[4]; u16 doorCoordsY[4]; @@ -915,9 +911,9 @@ static void PetalburgGymFunc(u8 roomNumber, u16 metatileId) DrawWholeMapView(); } -void PetalburgGymSpecial2(void) +void PetalburgGymUnlockRoomDoors(void) { - PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]); + PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]); } void ShowFieldMessageStringVar4(void) @@ -3737,12 +3733,11 @@ bool32 IsTrainerRegistered(void) } // Always returns FALSE -bool32 sub_813B514(void) +bool32 ShouldDistributeEonTicket(void) { - if (!VarGet(VAR_ALWAYS_ZERO_0x403F)) - { + if (!VarGet(VAR_DISTRIBUTE_EON_TICKET)) return FALSE; - } + return TRUE; } diff --git a/src/field_tasks.c b/src/field_tasks.c index 63539e475e..21b2732c34 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -16,6 +16,7 @@ #include "secret_base.h" #include "sound.h" #include "task.h" +#include "constants/field_tasks.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" @@ -38,14 +39,14 @@ static void Task_MuddySlope(u8 taskId); static const TaskFunc sPerStepCallbacks[] = { - DummyPerStepCallback, - AshGrassPerStepCallback, - FortreeBridgePerStepCallback, - PacifidlogBridgePerStepCallback, - SootopolisGymIcePerStepCallback, - EndTruckSequence, - SecretBasePerStepCallback, - CrackedFloorPerStepCallback + [STEP_CB_DUMMY] = DummyPerStepCallback, + [STEP_CB_ASH] = AshGrassPerStepCallback, + [STEP_CB_FORTREE_BRIDGE] = FortreeBridgePerStepCallback, + [STEP_CB_PACIFIDLOG_BRIDGE] = PacifidlogBridgePerStepCallback, + [STEP_CB_SOOTOPOLIS_ICE] = SootopolisGymIcePerStepCallback, + [STEP_CB_TRUCK] = EndTruckSequence, + [STEP_CB_SECRET_BASE] = SecretBasePerStepCallback, + [STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback }; // they are in pairs but declared as 1D array diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 8fca027073..7f955c10a8 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -2325,7 +2325,7 @@ static const struct SpriteTemplate sBubbleSpriteTemplate = { .tileTag = 0x1205, .paletteTag = 0x1200, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sBubbleSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/fight.c b/src/fight.c index f097acdb7f..1ba6720548 100644 --- a/src/fight.c +++ b/src/fight.c @@ -43,7 +43,7 @@ const struct SpriteTemplate gUnknown_08595E14 = { .tileTag = ANIM_TAG_HUMANOID_FOOT, .paletteTag = ANIM_TAG_HUMANOID_FOOT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -101,7 +101,7 @@ const struct SpriteTemplate gUnknown_08595E68 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_08595E80 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -123,7 +123,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -134,7 +134,7 @@ const struct SpriteTemplate gUnknown_08595EB0 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -145,7 +145,7 @@ const struct SpriteTemplate gUnknown_08595EC8 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E60, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -156,7 +156,7 @@ const struct SpriteTemplate gUnknown_08595EE0 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E58, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -179,7 +179,7 @@ const struct SpriteTemplate gUnknown_08595F14 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08595F10, @@ -202,7 +202,7 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08595F44, @@ -213,7 +213,7 @@ const struct SpriteTemplate gUnknown_08595F60 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E58, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -224,7 +224,7 @@ const struct SpriteTemplate gUnknown_08595F78 = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -235,7 +235,7 @@ const struct SpriteTemplate gUnknown_08595F90 = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08595FA8 = { .tileTag = ANIM_TAG_TORN_METAL, .paletteTag = ANIM_TAG_TORN_METAL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -271,7 +271,7 @@ const struct SpriteTemplate gUnknown_08595FEC = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595FE8, @@ -282,7 +282,7 @@ const struct SpriteTemplate gUnknown_08596004 = { .tileTag = ANIM_TAG_FLAT_ROCK, .paletteTag = ANIM_TAG_FLAT_ROCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -293,7 +293,7 @@ const struct SpriteTemplate gUnknown_0859601C = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_METEOR, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -304,7 +304,7 @@ const struct SpriteTemplate gUnknown_08596034 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -346,7 +346,7 @@ const struct SpriteTemplate gUnknown_08596088 = { .tileTag = ANIM_TAG_PURPLE_SCRATCH, .paletteTag = ANIM_TAG_PURPLE_SCRATCH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_0859607C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -385,7 +385,7 @@ const struct SpriteTemplate gUnknown_085960D0 = { .tileTag = ANIM_TAG_PURPLE_SWIPE, .paletteTag = ANIM_TAG_PURPLE_SWIPE, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gUnknown_085960C4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -408,7 +408,7 @@ const struct SpriteTemplate gUnknown_08596104 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08596100, @@ -419,7 +419,7 @@ const struct SpriteTemplate gPalmSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE, .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -430,7 +430,7 @@ const struct SpriteTemplate gAuraSphereBlast = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -476,7 +476,7 @@ const struct SpriteTemplate gForcePalmSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_SHADOW_BALL, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gForcePalmAffineAnims, diff --git a/src/fire.c b/src/fire.c index 6828e763a2..900dec0659 100644 --- a/src/fire.c +++ b/src/fire.c @@ -67,7 +67,7 @@ const struct SpriteTemplate gUnknown_08595368 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -78,7 +78,7 @@ const struct SpriteTemplate gUnknown_08595380 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -134,7 +134,7 @@ const struct SpriteTemplate gUnknown_085953F8 = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085953BC, .images = NULL, .affineAnims = gUnknown_085953F4, @@ -145,7 +145,7 @@ const struct SpriteTemplate gUnknown_08595410 = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -156,7 +156,7 @@ const struct SpriteTemplate gUnknown_08595428 = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953D8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -167,7 +167,7 @@ const struct SpriteTemplate gUnknown_08595440 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953D8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -191,7 +191,7 @@ const struct SpriteTemplate gUnknown_0859546C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595468, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -214,7 +214,7 @@ const struct SpriteTemplate gUnknown_085954A0 = { .tileTag = ANIM_TAG_SUNLIGHT, .paletteTag = ANIM_TAG_SUNLIGHT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859549C, @@ -240,7 +240,7 @@ const struct SpriteTemplate gEmberSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -251,7 +251,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -275,7 +275,7 @@ const struct SpriteTemplate gIncinerateSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gIncinerateAnims, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -286,7 +286,7 @@ const struct SpriteTemplate gUnknown_08595504 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -297,7 +297,7 @@ const struct SpriteTemplate gUnknown_0859551C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -338,7 +338,7 @@ const struct SpriteTemplate gUnknown_0859556C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595540, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -349,7 +349,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -360,7 +360,7 @@ const struct SpriteTemplate gUnknown_0859559C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -371,7 +371,7 @@ const struct SpriteTemplate gUnknown_085955B4 = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -394,7 +394,7 @@ const struct SpriteTemplate gUnknown_085955E8 = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -440,7 +440,7 @@ const struct SpriteTemplate gUnknown_0859563C = { .tileTag = ANIM_TAG_WISP_ORB, .paletteTag = ANIM_TAG_WISP_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_0859562C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -465,7 +465,7 @@ const struct SpriteTemplate gUnknown_0859566C = { .tileTag = ANIM_TAG_WISP_FIRE, .paletteTag = ANIM_TAG_WISP_FIRE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595668, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -498,7 +498,7 @@ const struct SpriteTemplate gLavaPlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953D8, .images = NULL, .affineAnims = gLavaPlumeAffineAnims, diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index c18602c680..733263bbc3 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -34,7 +34,7 @@ void sub_8161560(u8 taskId) gUnknown_0203CEC8.unkB = 0xA; gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; sub_81B0FCC(GetCursorSelectionMonId(), 0x1); - display_pokemon_menu_message(0x5); + DisplayPartyMenuStdMessage(5); gTasks[taskId].func = sub_81B1370; } @@ -47,7 +47,7 @@ void sub_81615A8(u8 taskId) if(pokemonIndex > 6) { gUnknown_0203CEC8.unkB = 0; - display_pokemon_menu_message(0x0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; return; } @@ -73,7 +73,7 @@ static void sub_81616C0(u8 taskId) { GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unkA], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_8161724; } @@ -88,7 +88,7 @@ static void sub_8161724(u8 taskId) sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); ClearStdWindowAndFrameToTransparent(0x6, FALSE); ClearWindowTilemap(0x6); - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } @@ -96,14 +96,14 @@ static void sub_8161784(u8 taskId) { if(sub_81B1BD4() == 1) return; - display_pokemon_menu_message(0x5); + DisplayPartyMenuStdMessage(5); gTasks[taskId].func = sub_81B1370; } static void sub_81617B8(u8 taskId) { PlaySE(SE_SELECT); - sub_81B1B5C(gText_CantBeUsedOnPkmn, 0); + DisplayPartyMenuMessage(gText_CantBeUsedOnPkmn, 0); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_8161784; } diff --git a/src/flying.c b/src/flying.c index 3d04a543c3..43682ee42c 100644 --- a/src/flying.c +++ b/src/flying.c @@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_08596270 = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_0852495C, + .oam = &gOamData_AffineOff_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -65,7 +65,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_085249BC, + .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085962A0, @@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085962D4 = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085962D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -133,7 +133,7 @@ const struct SpriteTemplate gUnknown_08596340 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596314, @@ -144,7 +144,7 @@ const struct SpriteTemplate gUnknown_08596358 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596338, @@ -173,7 +173,7 @@ const struct SpriteTemplate gUnknown_08596388 = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596380, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -184,7 +184,7 @@ const struct SpriteTemplate gUnknown_085963A0 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -210,7 +210,7 @@ const struct SpriteTemplate gUnknown_085963D4 = { .tileTag = ANIM_TAG_WHIRLWIND_LINES, .paletteTag = ANIM_TAG_WHIRLWIND_LINES, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085963D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08596420 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859641C, @@ -258,7 +258,7 @@ const struct SpriteTemplate gUnknown_0859644C = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596448, @@ -283,7 +283,7 @@ const struct SpriteTemplate gUnknown_08596490 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859648C, @@ -307,7 +307,7 @@ const struct SpriteTemplate gUnknown_085964CC = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -318,7 +318,7 @@ const struct SpriteTemplate gUnknown_085964E4 = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -329,7 +329,7 @@ const struct SpriteTemplate gUnknown_085964FC = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -340,7 +340,7 @@ const struct SpriteTemplate gUnknown_08596514 = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_BIRD, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -550,12 +550,12 @@ void sub_810E2C8(struct Sprite *sprite) struct FeatherDanceData { - u8 unk0_0a:1; - u8 unk0_0b:1; - u8 unk0_0c:1; - u8 unk0_0d:1; - u8 unk0_1:4; - u8 unk1; + u16 unk0_0a:1; + u16 unk0_0b:1; + u16 unk0_0c:1; + u16 unk0_0d:1; + u16 unk0_1:4; + u16 unk1:8; u16 unk2; s16 unk4; u16 unk6; @@ -652,20 +652,11 @@ void sub_810E314(struct Sprite *sprite) sprite->callback = sub_810E520; } -#ifdef NONMATCHING -/* -Things I can't get to match: -1. data->unk0_1 bitfield behaviour. The way bits are read is different. -2. sprite->oam.priority--; sprite->oam.priority++; Nonmatching version tail-merges these, original does not. -3. sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8; data->unk2 is very weirdly read at seemingly random moments inside the switch. -4. sinVal r6/r7 mismatch. -*/ void sub_810E520(struct Sprite *sprite) { - u8 matrixNum, sinIndex, var; + u8 matrixNum, sinIndex; s16 sinVal = 0; struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data; - if (data->unk0_0a) { if (data->unk1-- % 256 == 0) @@ -676,56 +667,69 @@ void sub_810E520(struct Sprite *sprite) } else { - switch (data->unk2 >> 6) + switch (data->unk2 / 64) { - case 0: - if (data->unk0_1 == 1) + case 0: + if (data->unk0_1 << 24 >> 24 == 1) // the shifts have to be here { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 3) + else if (data->unk0_1 << 24 >> 24 == 3) { data->unk0_0b ^= 1; + data->unk0_0a = 1; data->unk1 = 0; } else if (data->unk0_0d) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; + data->unk2; } data->unk0_1 = 0; break; case 1: - if (data->unk0_1 == 0) + if (data->unk0_1 << 24 >> 24 == 0) { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 2) + else if (data->unk0_1 << 24 >> 24 == 2) { data->unk0_0a = 1; data->unk1 = 0; @@ -734,38 +738,49 @@ void sub_810E520(struct Sprite *sprite) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 1; break; case 2: - if (data->unk0_1 == 0) + if (data->unk0_1 << 24 >> 24 == 3) { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 2) + else if (data->unk0_1 << 24 >> 24 == 1) { data->unk0_0a = 1; data->unk1 = 0; @@ -774,72 +789,96 @@ void sub_810E520(struct Sprite *sprite) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 2; break; case 3: - if (data->unk0_1 == 2) + if (data->unk0_1 << 24 >> 24 == 2) { data->unk0_0d = 1; } - else if (data->unk0_1 == 0) + else if (data->unk0_1 << 24 >> 24 == 0) { data->unk0_0b ^= 1; + data->unk0_0a = 1; data->unk1 = 0; } else if (data->unk0_0d) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 3; break; } - - var = data->unkC[data->unk0_0b]; - sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8; + #ifndef NONMATCHING + asm("":::"r8"); + #endif + sprite->pos2.x = (data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8; matrixNum = sprite->oam.matrixNum; sinIndex = (-sprite->pos2.x >> 1) + data->unkA; @@ -856,723 +895,13 @@ void sub_810E520(struct Sprite *sprite) else data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF; - if (sprite->pos1.y + sprite->pos2.y > data->unkE_1) + if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1) { sprite->data[0] = 0; sprite->callback = sub_810E2C8; } } } -#else -NAKED -void sub_810E520(struct Sprite *sprite) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r5, r0, 0\n\ - movs r6, 0\n\ - adds r4, r5, 0\n\ - adds r4, 0x2E\n\ - ldrb r2, [r4]\n\ - movs r7, 0x1\n\ - movs r0, 0x1\n\ - mov r9, r0\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E55A\n\ - ldrb r0, [r4, 0x1]\n\ - adds r1, r0, 0\n\ - adds r1, 0xFF\n\ - strb r1, [r4, 0x1]\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0810E54E\n\ - b _0810EA36\n\ -_0810E54E:\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - ands r0, r2\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810EA36\n\ -_0810E55A:\n\ - ldrh r0, [r4, 0x2]\n\ - lsrs r1, r0, 6\n\ - mov r12, r0\n\ - cmp r1, 0x1\n\ - bne _0810E566\n\ - b _0810E68A\n\ -_0810E566:\n\ - cmp r1, 0x1\n\ - bgt _0810E570\n\ - cmp r1, 0\n\ - beq _0810E57E\n\ - b _0810E97C\n\ -_0810E570:\n\ - cmp r1, 0x2\n\ - bne _0810E576\n\ - b _0810E77E\n\ -_0810E576:\n\ - cmp r1, 0x3\n\ - bne _0810E57C\n\ - b _0810E872\n\ -_0810E57C:\n\ - b _0810E97C\n\ -_0810E57E:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x1\n\ - bne _0810E592\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E680\n\ -_0810E592:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x3\n\ - bne _0810E5B4\n\ - lsls r0, r2, 30\n\ - lsrs r0, 31\n\ - movs r1, 0x1\n\ - eors r0, r1\n\ - ands r0, r7\n\ - lsls r0, 1\n\ - movs r1, 0x3\n\ - negs r1, r1\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - orrs r1, r7\n\ - strb r1, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E680\n\ -_0810E5B4:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E680\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E672\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E642\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E628\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E660\n\ -_0810E628:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E660\n\ -_0810E642:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E656\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E65E\n\ -_0810E656:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E65E:\n\ - strb r0, [r1]\n\ -_0810E660:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E672:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E680:\n\ - ldrb r1, [r4]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - b _0810E97C\n\ -_0810E68A:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0\n\ - bne _0810E698\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - b _0810E6A0\n\ -_0810E698:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x2\n\ - bne _0810E6A8\n\ - adds r0, r2, 0\n\ -_0810E6A0:\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E774\n\ -_0810E6A8:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E774\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E766\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E736\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E71C\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E754\n\ -_0810E71C:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E754\n\ -_0810E736:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E74A\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E752\n\ -_0810E74A:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E752:\n\ - strb r0, [r1]\n\ -_0810E754:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E766:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E774:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x10\n\ - b _0810E978\n\ -_0810E77E:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x3\n\ - bne _0810E78C\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - b _0810E794\n\ -_0810E78C:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x1\n\ - bne _0810E79C\n\ - adds r0, r2, 0\n\ -_0810E794:\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E868\n\ -_0810E79C:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E868\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E85A\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E82A\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E810\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E848\n\ -_0810E810:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E848\n\ -_0810E82A:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E83E\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E846\n\ -_0810E83E:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E846:\n\ - strb r0, [r1]\n\ -_0810E848:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E85A:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E868:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x20\n\ - b _0810E978\n\ -_0810E872:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x2\n\ - bne _0810E882\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - strb r0, [r4]\n\ - b _0810E970\n\ -_0810E882:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0\n\ - bne _0810E8A4\n\ - lsls r0, r2, 30\n\ - lsrs r0, 31\n\ - movs r1, 0x1\n\ - eors r0, r1\n\ - ands r0, r7\n\ - lsls r0, 1\n\ - movs r1, 0x3\n\ - negs r1, r1\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - orrs r1, r7\n\ - strb r1, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E970\n\ -_0810E8A4:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E970\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E962\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E932\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E918\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E950\n\ -_0810E918:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E950\n\ -_0810E932:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E946\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E94E\n\ -_0810E946:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E94E:\n\ - strb r0, [r1]\n\ -_0810E950:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E962:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E970:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x30\n\ -_0810E978:\n\ - orrs r1, r0\n\ - strb r1, [r4]\n\ -_0810E97C:\n\ - ldrb r1, [r4]\n\ - lsls r1, 30\n\ - lsrs r1, 31\n\ - adds r0, r4, 0\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - ldrb r1, [r0]\n\ - ldr r3, =gSineTable\n\ - mov r2, r12\n\ - lsls r0, r2, 1\n\ - adds r0, r3\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - muls r0, r1\n\ - asrs r0, 8\n\ - strh r0, [r5, 0x24]\n\ - ldrb r2, [r5, 0x3]\n\ - lsls r2, 26\n\ - lsrs r2, 27\n\ - movs r1, 0x24\n\ - ldrsh r0, [r5, r1]\n\ - negs r0, r0\n\ - asrs r0, 1\n\ - ldrb r1, [r4, 0xA]\n\ - adds r0, r1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - lsls r1, r0, 1\n\ - adds r1, r3\n\ - ldrh r6, [r1]\n\ - ldr r1, =gOamMatrices\n\ - lsls r2, 3\n\ - adds r2, r1\n\ - adds r0, 0x40\n\ - lsls r0, 1\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - strh r0, [r2, 0x6]\n\ - strh r0, [r2]\n\ - strh r6, [r2, 0x2]\n\ - lsls r0, r6, 16\n\ - asrs r0, 16\n\ - negs r0, r0\n\ - strh r0, [r2, 0x4]\n\ - ldrh r0, [r4, 0x6]\n\ - ldrh r2, [r4, 0x8]\n\ - adds r0, r2\n\ - strh r0, [r4, 0x8]\n\ - lsls r0, 16\n\ - lsrs r0, 24\n\ - strh r0, [r5, 0x22]\n\ - movs r1, 0x4\n\ - ldrsh r0, [r4, r1]\n\ - movs r1, 0x80\n\ - lsls r1, 8\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810EA0C\n\ - ldrh r0, [r4, 0x4]\n\ - subs r1, 0x1\n\ - ands r1, r0\n\ - ldrh r0, [r4, 0x2]\n\ - subs r0, r1\n\ - movs r1, 0xFF\n\ - ands r0, r1\n\ - strh r0, [r4, 0x2]\n\ - b _0810EA1C\n\ - .pool\n\ -_0810EA0C:\n\ - ldrh r0, [r4, 0x4]\n\ - ldr r1, =0x00007fff\n\ - ands r1, r0\n\ - ldrh r2, [r4, 0x2]\n\ - adds r1, r2\n\ - movs r0, 0xFF\n\ - ands r1, r0\n\ - strh r1, [r4, 0x2]\n\ -_0810EA1C:\n\ - movs r0, 0x22\n\ - ldrsh r1, [r5, r0]\n\ - movs r2, 0x26\n\ - ldrsh r0, [r5, r2]\n\ - adds r1, r0\n\ - ldrh r0, [r4, 0xE]\n\ - lsrs r0, 1\n\ - cmp r1, r0\n\ - blt _0810EA36\n\ - movs r0, 0\n\ - strh r0, [r5, 0x2E]\n\ - ldr r0, =sub_810E2C8\n\ - str r0, [r5, 0x1C]\n\ -_0810EA36:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - "); -} -#endif void sub_810EA4C(struct Sprite *sprite) { diff --git a/src/frontier_pass.c b/src/frontier_pass.c index a4ef500d71..d8b36ffbda 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -442,7 +442,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] = { .tileTag = 0, .paletteTag = 0, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_8571574, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -451,7 +451,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] = { .tileTag = 1, .paletteTag = 1, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = sSpriteAnimTable_8571598, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -463,7 +463,7 @@ static const struct SpriteTemplate sSpriteTemplate_Medal = { .tileTag = 2, .paletteTag = 2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_857157C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -474,7 +474,7 @@ static const struct SpriteTemplate sSpriteTemplate_Head = { .tileTag = 4, .paletteTag = 4, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_8571574, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/ghost.c b/src/ghost.c index 5f6f878ed0..02265af755 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -57,7 +57,7 @@ const struct SpriteTemplate gUnknown_08596D14 = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D10, @@ -68,7 +68,7 @@ const struct SpriteTemplate gUnknown_08596D2C = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -90,7 +90,7 @@ const struct SpriteTemplate gShadowBallSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_SHADOW_BALL, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D54, @@ -101,7 +101,7 @@ const struct SpriteTemplate gEnergyBallSpriteTemplate = { .tileTag = ANIM_TAG_ENERGY_BALL, .paletteTag = ANIM_TAG_ENERGY_BALL, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D54, @@ -112,7 +112,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_LeafStorm = { .tileTag = ANIM_TAG_RAZOR_LEAF, .paletteTag = ANIM_TAG_RAZOR_LEAF, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085962D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -123,11 +123,11 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_LeafStorm2 = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gUnknown_085961A0, - .callback = sub_8100898, + .callback = AnimNeedleArmSpike, }; const union AnimCmd gUnknown_08596D70[] = @@ -149,7 +149,7 @@ const struct SpriteTemplate gUnknown_08596D8C = { .tileTag = ANIM_TAG_LICK, .paletteTag = ANIM_TAG_LICK, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_08596D88, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -171,7 +171,7 @@ const struct SpriteTemplate gUnknown_08596DB8 = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, - .oam = &gUnknown_08524A5C, + .oam = &gOamData_AffineOff_ObjBlend_64x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -182,7 +182,7 @@ const struct SpriteTemplate gUnknown_08596DD0 = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -193,7 +193,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -204,7 +204,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -229,7 +229,7 @@ const struct SpriteTemplate gUnknown_08596E30 = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, - .oam = &gUnknown_08524A74, + .oam = &gOamData_AffineOff_ObjBlend_16x32, .anims = gUnknown_08596E2C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/graphics.c b/src/graphics.c index d44adce418..0d3f19c6aa 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1599,21 +1599,14 @@ asm(".space 0x20"); //blank palette?? #include "data/graphics/berry_fix.h" -// more trade stuff? - -const u16 gUnknown_08DDB3E4[] = INCBIN_U16("graphics/trade/menu.gbapal"); - -const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/unknown/unknown_DDB444.gbapal"); - -const u8 gUnknown_08DDB464[] = INCBIN_U8("graphics/trade/menu.4bpp"); - -const u8 gUnknown_08DDC6E4[] = INCBIN_U8("graphics/trade/buttons.4bpp"); - +// Trade +const u16 gTradeMenu_Pal[] = INCBIN_U16("graphics/trade/menu.gbapal"); +const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/trade/unknown_DDB444.gbapal"); +const u8 gTradeMenu_Gfx[] = INCBIN_U8("graphics/trade/menu.4bpp"); +const u8 gTradeButtons_Gfx[] = INCBIN_U8("graphics/trade/buttons.4bpp"); const u16 gUnused_DDCEE4[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin"); - -const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/unknown/unknown_DDCF04.bin"); - -const u16 gUnknown_08DDD704[] = INCBIN_U16("graphics/unknown/unknown_DDD704.bin"); // textbox tilemap?? +const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/trade/unknown_DDCF04.bin"); +const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin"); const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal"); const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp"); diff --git a/src/ground.c b/src/ground.c index 79d44eaa08..9b04c88b9b 100644 --- a/src/ground.c +++ b/src/ground.c @@ -58,7 +58,7 @@ const struct SpriteTemplate gUnknown_08597178 = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597170, @@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08597190 = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597174, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_085971A8 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -102,7 +102,7 @@ const struct SpriteTemplate gUnknown_085971CC = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_085971C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -113,7 +113,7 @@ const struct SpriteTemplate gUnknown_085971E4 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -124,7 +124,7 @@ const struct SpriteTemplate gUnknown_085971FC = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -135,7 +135,7 @@ const struct SpriteTemplate gUnknown_08597214 = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -146,7 +146,7 @@ const struct SpriteTemplate gMudBombSplash = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -157,7 +157,7 @@ const struct SpriteTemplate gMudBombToss = { .tileTag = ANIM_TAG_MUD_SAND , .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_085971C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -213,7 +213,7 @@ void AnimBoneHitProjectile(struct Sprite *sprite) InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - + sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; diff --git a/src/ice.c b/src/ice.c index b3daf70679..3d5390f5b9 100644 --- a/src/ice.c +++ b/src/ice.c @@ -68,7 +68,7 @@ const struct SpriteTemplate gUnknown_08595A58 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -157,7 +157,7 @@ const struct SpriteTemplate gUnknown_08595AD0 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524B24, + .oam = &gOamData_AffineDouble_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595ACC, @@ -168,7 +168,7 @@ const struct SpriteTemplate gUnknown_08595AE8 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A24, + .oam = &gOamData_AffineOff_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -190,7 +190,7 @@ const struct SpriteTemplate gUnknown_08595B14 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524AC4, + .oam = &gOamData_AffineNormal_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B10, @@ -201,7 +201,7 @@ const struct SpriteTemplate gUnknown_08595B2C = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A24, + .oam = &gOamData_AffineOff_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -225,7 +225,7 @@ const struct SpriteTemplate gUnknown_08595B68 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524AC4, + .oam = &gOamData_AffineNormal_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B64, @@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08595B80 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A84, + .oam = &gOamData_AffineNormal_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gUnknown_08595B64, @@ -247,7 +247,7 @@ const struct SpriteTemplate gUnknown_08595B98 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -258,7 +258,7 @@ const struct SpriteTemplate gUnknown_08595BB0 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08595AB4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -269,7 +269,7 @@ const struct SpriteTemplate gUnknown_08595BC8 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -297,7 +297,7 @@ const struct SpriteTemplate gUnknown_08595C04 = { .tileTag = ANIM_TAG_ICE_SPIKES, .paletteTag = ANIM_TAG_ICE_SPIKES, - .oam = &gUnknown_08524A64, + .oam = &gOamData_AffineOff_ObjBlend_8x16, .anims = gUnknown_08595C00, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -320,7 +320,7 @@ const struct SpriteTemplate gUnknown_08595C2C = { .tileTag = ANIM_TAG_MIST_CLOUD, .paletteTag = ANIM_TAG_MIST_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -331,7 +331,7 @@ const struct SpriteTemplate gUnknown_08595C44 = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -347,7 +347,7 @@ const struct SpriteTemplate gUnknown_08595C70 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -363,7 +363,7 @@ const struct SpriteTemplate gUnknown_08595C9C = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -424,7 +424,7 @@ const struct SpriteTemplate gUnknown_08595D2C = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595D1C, @@ -435,7 +435,7 @@ const struct SpriteTemplate gUnknown_08595D44 = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595D28, @@ -506,7 +506,7 @@ const struct SpriteTemplate gUnknown_08595DE4 = { .tileTag = ANIM_TAG_ICE_CHUNK, .paletteTag = ANIM_TAG_ICE_CHUNK, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595D78, .images = NULL, .affineAnims = gUnknown_08595DD0, @@ -517,7 +517,7 @@ const struct SpriteTemplate gUnknown_08595DFC = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -553,7 +553,7 @@ const struct SpriteTemplate gAvalancheSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ICE_CHUNK, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gAvalancheAnimCmd, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/link.c b/src/link.c index db72be19ad..3ca8236ed5 100644 --- a/src/link.c +++ b/src/link.c @@ -28,6 +28,7 @@ #include "link.h" #include "link_rfu.h" #include "constants/rgb.h" +#include "constants/trade.h" extern u16 gHeldKeyCodeToSend; @@ -282,7 +283,7 @@ void LinkTestScreen(void) ResetTasks(); SetVBlankCallback(sub_80096BC); ResetBlockSend(); - gLinkType = 0x1111; + gLinkType = LINKTYPE_0x1111; OpenLink(); SeedRng(gMain.vblankCounter2); for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -316,10 +317,10 @@ static void InitLocalLinkPlayer(void) gLocalLinkPlayer.language = gGameLanguage; gLocalLinkPlayer.version = gGameVersion + 0x4000; gLocalLinkPlayer.lp_field_2 = 0x8000; - gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled(); + gLocalLinkPlayer.progressFlags = IsNationalPokedexEnabled(); if (FlagGet(FLAG_IS_CHAMPION)) { - gLocalLinkPlayer.name[8] |= 0x10; + gLocalLinkPlayer.progressFlags |= 0x10; } } @@ -597,9 +598,9 @@ static void ProcessRecvCmds(u8 unused) *linkPlayer = block->linkPlayer; if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE) { - linkPlayer->name[10] = 0; - linkPlayer->name[9] = 0; - linkPlayer->name[8] = 0; + linkPlayer->progressFlagsCopy = 0; + linkPlayer->neverRead = 0; + linkPlayer->progressFlags = 0; } sub_800B524(linkPlayer); if (strcmp(block->magic1, gASCIIGameFreakInc) != 0 @@ -739,7 +740,7 @@ void ClearLinkCallback(void) { if (gWirelessCommType) { - Rfu_set_zero(); + ClearLinkRfuCallback(); } else { @@ -751,7 +752,7 @@ void ClearLinkCallback_2(void) { if (gWirelessCommType) { - Rfu_set_zero(); + ClearLinkRfuCallback(); } else { @@ -862,15 +863,15 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper) { if (gLinkPlayers[0].linkType == 0x1133) { - switch (sub_807A728()) + switch (GetGameProgressForLinkTrade()) { - case 1: - sPlayerDataExchangeStatus = EXCHANGE_STAT_4; + case TRADE_PLAYER_NOT_READY: + sPlayerDataExchangeStatus = EXCHANGE_PLAYER_NOT_READY; break; - case 2: - sPlayerDataExchangeStatus = EXCHANGE_STAT_5; + case TRADE_PARTNER_NOT_READY: + sPlayerDataExchangeStatus = EXCHANGE_PARTNER_NOT_READY; break; - case 0: + case TRADE_BOTH_PLAYERS_READY: sPlayerDataExchangeStatus = EXCHANGE_COMPLETE; break; } @@ -1084,7 +1085,7 @@ bool8 IsLinkTaskFinished(void) { if (gWirelessCommType == TRUE) { - return sub_8010500(); + return IsLinkRfuTaskFinished(); } return gLinkCallback == NULL; } @@ -1349,7 +1350,7 @@ bool8 sub_800AA60(void) { if (gLinkPlayers[i].trainerId == gSavedLinkPlayers[i].trainerId) { - if (gLinkType == 0x2288) + if (gLinkType == LINKTYPE_0x2288) { if (gLinkType == gLinkPlayers[i].linkType) { @@ -1909,7 +1910,7 @@ u8 sub_800B518(void) void sub_800B524(struct LinkPlayer *player) { - player->name[10] = player->name[8]; + player->progressFlagsCopy = player->progressFlags; ConvertInternationalString(player->name, player->language); } diff --git a/src/link_rfu.c b/src/link_rfu.c index 3b533a3a46..cedc6b2fba 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2165,9 +2165,9 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r data->unk_00.unk_00_4 = 0; data->unk_00.unk_00_5 = 0; data->unk_00.unk_00_6 = 0; - data->unk_00.unk_00_7 = FlagGet(FLAG_IS_CHAMPION); - data->unk_00.unk_01_0 = IsNationalPokedexEnabled(); - data->unk_00.unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR); + data->unk_00.isChampion = FlagGet(FLAG_IS_CHAMPION); + data->unk_00.hasNationalDex = IsNationalPokedexEnabled(); + data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR); } bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) @@ -3169,7 +3169,7 @@ bool32 sub_800F4F0(void) sub_8011A64(2, 0x9000); rfu_clearAllSlot(); gReceivedRemoteLinkPlayers = FALSE; - gUnknown_03005000.unk_00 = 0; + gUnknown_03005000.linkRfuCallback = NULL; if (gUnknown_03005000.unk_ce4 == 1) { sub_8011A64(2, 0x9000); @@ -3264,17 +3264,17 @@ struct UnkLinkRfuStruct_02022B14 *sub_800F7DC(void) bool32 IsSendingKeysToRfu(void) { - return gUnknown_03005000.unk_00 == rfu_func_080F97B8; + return gUnknown_03005000.linkRfuCallback == rfu_func_080F97B8; } void sub_800F804(void) { - gUnknown_03005000.unk_00 = rfu_func_080F97B8; + gUnknown_03005000.linkRfuCallback = rfu_func_080F97B8; } -void Rfu_set_zero(void) +void ClearLinkRfuCallback(void) { - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_800F820(void) @@ -3287,8 +3287,8 @@ void sub_800F820(void) void sub_800F850(void) { - if (gUnknown_03005000.unk_00 == NULL) - gUnknown_03005000.unk_00 = sub_800F820; + if (gUnknown_03005000.linkRfuCallback == NULL) + gUnknown_03005000.linkRfuCallback = sub_800F820; } static void sub_800F86C(u8 unused) @@ -3507,7 +3507,7 @@ void sub_800FE50(void *a0) bool32 sub_800FE84(const u8 *src, size_t size) { bool8 r4; - if (gUnknown_03005000.unk_00 != NULL) + if (gUnknown_03005000.linkRfuCallback != NULL) return FALSE; if (gSendCmd[0] != 0) return FALSE; @@ -3530,7 +3530,7 @@ bool32 sub_800FE84(const u8 *src, size_t size) gUnknown_03005000.unk_6c.unk_04 = gBlockSendBuffer; } sub_800FD14(0x8800); - gUnknown_03005000.unk_00 = rfufunc_80F9F44; + gUnknown_03005000.linkRfuCallback = rfufunc_80F9F44; gUnknown_03005000.unk_5b = 0; return TRUE; } @@ -3543,12 +3543,12 @@ static void rfufunc_80F9F44(void) if (gUnknown_03005000.unk_0c == 1) { if (++gUnknown_03005000.unk_5b > 2) - gUnknown_03005000.unk_00 = sub_800FFB0; + gUnknown_03005000.linkRfuCallback = sub_800FFB0; } else { if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800) - gUnknown_03005000.unk_00 = sub_800FFB0; + gUnknown_03005000.linkRfuCallback = sub_800FFB0; } } } @@ -3564,7 +3564,7 @@ static void sub_800FFB0(void) if (gUnknown_03005000.unk_6c.unk_02 <= gUnknown_03005000.unk_6c.unk_00) { gUnknown_03005000.unk_6c.unk_10 = 0; - gUnknown_03005000.unk_00 = rfufunc_80FA020; + gUnknown_03005000.linkRfuCallback = rfufunc_80FA020; } } @@ -3586,11 +3586,11 @@ static void rfufunc_80FA020(void) gUnknown_02022B44.unk_64++; } else - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } } else - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } bool8 sub_8010100(u8 a0) @@ -3606,7 +3606,7 @@ void sub_801011C(void) sub_800C048(); gReceivedRemoteLinkPlayers = 0; gUnknown_03005000.unk_ef = 1; - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_8010148(void) @@ -3624,7 +3624,7 @@ void sub_8010168(void) gUnknown_03005000.unk_ce4 = 2; } else - gUnknown_03005000.unk_00 = sub_8010148; + gUnknown_03005000.linkRfuCallback = sub_8010148; } void LinkRfu_FatalError(void) @@ -3654,7 +3654,7 @@ void sub_80101CC(void) sub_8010168(); } else - gUnknown_03005000.unk_00 = sub_8010168; + gUnknown_03005000.linkRfuCallback = sub_8010168; } } @@ -3663,16 +3663,16 @@ void sub_801022C(void) if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0) { sub_800FD14(0x5f00); - gUnknown_03005000.unk_00 = sub_80101CC; + gUnknown_03005000.linkRfuCallback = sub_80101CC; } } void sub_8010264(u8 taskId) { - if (gUnknown_03005000.unk_00 == NULL) + if (gUnknown_03005000.linkRfuCallback == NULL) { gUnknown_03005000.unk_cd9 = 1; - gUnknown_03005000.unk_00 = sub_801022C; + gUnknown_03005000.linkRfuCallback = sub_801022C; DestroyTask(taskId); } } @@ -3708,7 +3708,7 @@ void sub_80102B8(void) for (i = 0; i < MAX_RFU_PLAYERS; i++) gUnknown_03005000.unk_e9[i] = 0; gUnknown_03005000.unk_100++; - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } gUnknown_03005000.unk_fe++; } @@ -3718,7 +3718,7 @@ void sub_8010358(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_80102B8; + gUnknown_03005000.linkRfuCallback = sub_80102B8; } } @@ -3732,7 +3732,7 @@ void sub_8010390(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_80102B8; + gUnknown_03005000.linkRfuCallback = sub_80102B8; } } else @@ -3748,7 +3748,7 @@ void sub_8010390(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_8010358; + gUnknown_03005000.linkRfuCallback = sub_8010358; } } } @@ -3756,9 +3756,9 @@ void sub_8010390(void) void sub_8010434(void) { - if (gUnknown_03005000.unk_00 == NULL) + if (gUnknown_03005000.linkRfuCallback == NULL) { - gUnknown_03005000.unk_00 = sub_8010390; + gUnknown_03005000.linkRfuCallback = sub_8010390; gUnknown_03005000.unk_fe = 0; } } @@ -3800,17 +3800,17 @@ u8 sub_80104F4(void) return gUnknown_03005000.playerCount; } -bool8 sub_8010500(void) +bool8 IsLinkRfuTaskFinished(void) { if (gUnknown_03005000.unk_f1 == 2) return FALSE; - return gUnknown_03005000.unk_00 ? FALSE : TRUE; + return gUnknown_03005000.linkRfuCallback ? FALSE : TRUE; } static void sub_8010528(void) { - if (gUnknown_03005000.unk_00) - gUnknown_03005000.unk_00(); + if (gUnknown_03005000.linkRfuCallback) + gUnknown_03005000.linkRfuCallback(); } bool8 sub_8010540(void) @@ -4255,11 +4255,11 @@ void sub_8010FA0(bool32 a0, bool32 a1) gUnknown_02022B14.unk_00.unk_00_5 = a1; } -void sub_8010FCC(u32 a0, u32 a1, u32 a2) +void sub_8010FCC(u32 type, u32 species, u32 level) { - gUnknown_02022B14.type = a0; - gUnknown_02022B14.species = a1; - gUnknown_02022B14.unk_0b_1 = a2; + gUnknown_02022B14.type = type; + gUnknown_02022B14.species = species; + gUnknown_02022B14.level = level; } u8 sub_801100C(s32 a0) @@ -4345,12 +4345,12 @@ void sub_80111B0(bool32 a0) void sub_80111DC(void) { sub_8011E94(gUnknown_03004140.unk_00, 1); - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_80111FC(void) { - gUnknown_03005000.unk_00 = sub_80111DC; + gUnknown_03005000.linkRfuCallback = sub_80111DC; } void sub_801120C(u8 a0, u8 unused1) @@ -4741,7 +4741,7 @@ void sub_8011AFC(void) SetVBlankCallback(sub_8011AE8); if (IsWirelessAdapterConnected()) { - gLinkType = 0x1111; + gLinkType = LINKTYPE_0x1111; sub_800B488(); OpenLink(); SeedRng(gMain.vblankCounter2); @@ -4979,7 +4979,7 @@ bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr) return TRUE; } else if (structPtr->species != structPtr2->species - || structPtr->unk_0b_1 != structPtr2->unk_0b_1 + || structPtr->level != structPtr2->level || structPtr->type != structPtr2->type) { return TRUE; diff --git a/src/main_menu.c b/src/main_menu.c index 0cb91ae09a..95c64b3bd8 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -2172,9 +2172,9 @@ static void MainMenu_FormatSavegamePokedex(void) if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { if (IsNationalPokedexEnabled()) - dexCount = GetNationalPokedexCount(1); + dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); else - dexCount = GetHoennPokedexCount(1); + dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex); AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_PlayerGenderColor, -1, gStringVar4); ConvertIntToDecimalStringN(str, dexCount, STR_CONV_MODE_LEFT_ALIGN, 3); diff --git a/src/menu.c b/src/menu.c index 7495d7ebcb..e349ff43ac 100644 --- a/src/menu.c +++ b/src/menu.c @@ -2148,9 +2148,9 @@ void sub_819A344(u8 a0, u8 *dest, u8 color) break; case 1: if (IsNationalPokedexEnabled()) - string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(1), STR_CONV_MODE_LEFT_ALIGN, 3); + string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); else - string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(1), STR_CONV_MODE_LEFT_ALIGN, 3); + string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); *string = EOS; break; case 2: diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c index 24d55c511b..0d7fb76992 100644 --- a/src/mevent_801BAAC.c +++ b/src/mevent_801BAAC.c @@ -61,7 +61,7 @@ void sub_801C178(u8 whichWindow); void sub_801C4C0(void); void sub_801C61C(void); -extern const struct OamData gUnknown_08524934; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x16; const u8 gUnknown_082F0E10[][3] = { {0, 2, 3}, @@ -138,7 +138,7 @@ const struct SpritePalette gUnknown_082F1D08[] = { {gWonderCardShadowPal8, 0x8000} }; const struct SpriteTemplate gUnknown_082F1D48 = { - 0x8000, 0x8000, &gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + 0x8000, 0x8000, &gOamData_AffineOff_ObjNormal_32x16, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = { {1, 0, 0, 0, gWonderCardBgGfx1, gWonderCardBgTilemap1, gWonderCardBgPal1}, diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c deleted file mode 100644 index bc279334b7..0000000000 --- a/src/mossdeep_gym.c +++ /dev/null @@ -1,314 +0,0 @@ -#include "global.h" -#include "event_object_movement.h" -#include "fieldmap.h" -#include "malloc.h" -#include "mossdeep_gym.h" -#include "script_movement.h" -#include "constants/event_object_movement_constants.h" -#include "constants/event_objects.h" - -// Movement scripts. -extern const u8 gUnknown_08612698[]; -extern const u8 gUnknown_0861269C[]; -extern const u8 gUnknown_086126A0[]; -extern const u8 gUnknown_086126A4[]; -extern const u8 gUnknown_086126A8[]; -extern const u8 gUnknown_086126AA[]; -extern const u8 gUnknown_086126AC[]; -extern const u8 gUnknown_086126AE[]; - -struct MossdeepSubStruct -{ - u8 unk0; - u8 eventTemplateId; -}; - -struct MossdeepStruct -{ - struct MossdeepSubStruct objects[EVENT_OBJECTS_COUNT]; - u8 count; - bool8 unk41; -}; - -// This file's functions. -static void AddEventObject(u8 eventTemplateId, u8 arg1); -static void sub_81A8D94(u8 eventTemplateId, u8 arg1); - -// EWRAM vars -EWRAM_DATA static struct MossdeepStruct *gUnknown_0203CE50 = NULL; - -// code -void InitMossdeepGymTiles(bool8 arg0) -{ - if (gUnknown_0203CE50 == NULL) - gUnknown_0203CE50 = AllocZeroed(sizeof(*gUnknown_0203CE50)); - - gUnknown_0203CE50->unk41 = arg0; -} - -void FinishMossdeepGymTiles(void) -{ - u8 id; - - if (gUnknown_0203CE50 != NULL) - FREE_AND_SET_NULL(gUnknown_0203CE50); - - id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - ScriptMovement_UnfreezeEventObjects(); -} - -u16 MossdeepGym_MoveEvents(u8 arg0) -{ - u8 i; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; - u16 localId = 0; - - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) - { - s32 var; - u8 r5; - s16 x = events[i].x + 7; - s16 y = events[i].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - if (metatile < 0x250) - continue; - - if ((u8)((metatile - var) / 8) >= 5) - continue; - if ((u8)((metatile - var) / 8) != arg0) - continue; - - r5 = (u8)((metatile - var) % 8); - if (r5 < 4) - { - s8 x = 0; - s8 y = 0; - const u8 *movementScript; - - switch (r5) - { - case 0: - movementScript = gUnknown_08612698; - x = 1; - break; - case 1: - movementScript = gUnknown_0861269C; - y = 1; - break; - case 2: - movementScript = gUnknown_086126A0; - x = -1; - break; - case 3: - movementScript = gUnknown_086126A4; - y = -1; - break; - default: - continue; - } - - events[i].x += x; - events[i].y += y; - if (GetEventObjectIdByLocalIdAndMap(events[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT) - { - AddEventObject(i, r5); - localId = events[i].localId; - ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); - } - else - { - sub_81A8D94(i, r5); - } - } - } - - return localId; -} - -void MossdeepGym_TurnEvents(void) -{ - u8 i; - s32 var; - struct EventObjectTemplate *events; - - if (gUnknown_0203CE50 == NULL) - return; - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - events = gSaveBlock1Ptr->eventObjectTemplates; - for (i = 0; i < gUnknown_0203CE50->count; i++) - { - s32 r6; - s8 r0; - u8 eventObjectId; - s16 x = events[gUnknown_0203CE50->objects[i].eventTemplateId].x + 7; - s16 y = events[gUnknown_0203CE50->objects[i].eventTemplateId].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - r0 = (u8)((metatile - var) % 8); - r0 -= (gUnknown_0203CE50->objects[i].unk0); - if (r0 < 0 || r0 == 3) - { - if (r0 == -3) - r6 = 1; - else - r6 = 0; - } - else - { - if (r0 > 0) - r6 = 1; - else - r6 = 2; - } - - eventObjectId = GetEventObjectIdByLocalIdAndMap(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (eventObjectId != EVENT_OBJECTS_COUNT) - { - const u8 *movementScript; - u8 direction = gEventObjects[eventObjectId].facingDirection; - if (r6 == 0) - { - switch (direction) - { - case DIR_EAST: - movementScript = gUnknown_086126AE; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case DIR_SOUTH: - movementScript = gUnknown_086126A8; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - case DIR_WEST: - movementScript = gUnknown_086126AA; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case DIR_NORTH: - movementScript = gUnknown_086126AC; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - default: - continue; - } - ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, - gSaveBlock1Ptr->location.mapNum, - gSaveBlock1Ptr->location.mapGroup, - movementScript); - } - else if (r6 == 1) - { - switch (direction) - { - case DIR_EAST: - movementScript = gUnknown_086126AA; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case DIR_SOUTH: - movementScript = gUnknown_086126AC; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - case DIR_WEST: - movementScript = gUnknown_086126AE; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case DIR_NORTH: - movementScript = gUnknown_086126A8; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - default: - continue; - } - ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, - gSaveBlock1Ptr->location.mapNum, - gSaveBlock1Ptr->location.mapGroup, - movementScript); - } - } - } -} - -static void AddEventObject(u8 eventTemplateId, u8 arg1) -{ - gUnknown_0203CE50->objects[gUnknown_0203CE50->count].eventTemplateId = eventTemplateId; - gUnknown_0203CE50->objects[gUnknown_0203CE50->count].unk0 = arg1; - gUnknown_0203CE50->count++; -} - -static void sub_81A8D94(u8 eventTemplateId, u8 arg1) -{ - s8 r0; - s32 r6; - s32 var; - u16 movementType; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; - s16 x = events[eventTemplateId].x + 7; - s16 y = events[eventTemplateId].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - r0 = (u8)((metatile - var) % 8); - r0 -= arg1; - if (r0 < 0 || r0 == 3) - r6 = 0; - else if (r0 > 0 || r0 == -3) - r6 = 1; - else - r6 = 2; - - movementType = events[eventTemplateId].movementType; - if (r6 == 0) - { - switch (movementType) - { - case MOVEMENT_TYPE_FACE_RIGHT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case MOVEMENT_TYPE_FACE_DOWN: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - case MOVEMENT_TYPE_FACE_LEFT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case MOVEMENT_TYPE_FACE_UP: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - default: - break; - } - } - else if (r6 == 1) - { - switch (movementType) - { - case MOVEMENT_TYPE_FACE_RIGHT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case MOVEMENT_TYPE_FACE_DOWN: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - case MOVEMENT_TYPE_FACE_LEFT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case MOVEMENT_TYPE_FACE_UP: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - default: - break; - } - } -} diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index c77a486155..14c00fd96d 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -152,7 +152,7 @@ static void CB2_MysteryEventMenu(void) if (!IsTextPrinterActive(0)) { gMain.state++; - gLinkType = 0x5501; + gLinkType = LINKTYPE_0x5501; OpenLink(); } break; diff --git a/src/normal.c b/src/normal.c index 293d1931ce..0869a06bf0 100644 --- a/src/normal.c +++ b/src/normal.c @@ -65,7 +65,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08597254, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -144,7 +144,7 @@ const struct SpriteTemplate gPowerSwapGuardSwapSpriteTemplate = { .tileTag = ANIM_TAG_COLORED_ORBS, .paletteTag = ANIM_TAG_COLORED_ORBS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sPowerSwapGuardSwapAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -170,7 +170,7 @@ const struct SpriteTemplate gUnknown_085972C0 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085972BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -227,7 +227,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -238,7 +238,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -249,7 +249,7 @@ const struct SpriteTemplate gUnknown_08597388 = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -260,7 +260,7 @@ const struct SpriteTemplate gUnknown_085973A0 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -271,7 +271,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -282,7 +282,7 @@ const struct SpriteTemplate gUnknown_085973D0 = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -293,7 +293,7 @@ const struct SpriteTemplate gUnknown_085973E8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -304,7 +304,7 @@ const struct SpriteTemplate gUnknown_08597400 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -822,7 +822,7 @@ void sub_8115F94(u8 taskId) paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag); selectedPalettes |= (1 << paletteIndex) << 16; } - + if (gTasks[taskId].data[3] & 0x100) selectedPalettes |= (1 << attackerBattler) << 16; @@ -994,7 +994,7 @@ void sub_8116420(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest()) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - + sub_8116388(sprite); } diff --git a/src/overworld.c b/src/overworld.c index 8a85442596..55afe2fcfb 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -85,9 +85,9 @@ extern const u8 EventScript_WhiteOut[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; -extern const u8 gEventScript_TradeRoom_TooBusyToNotice[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_NoColor[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_Normal[]; +extern const u8 CableClub_EventScript_TooBusyToNotice[]; +extern const u8 CableClub_EventScript_ReadTrainerCard[]; +extern const u8 CableClub_EventScript_ReadTrainerCardColored[]; extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot0[]; extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot1[]; extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot2[]; @@ -1183,7 +1183,7 @@ void Overworld_ClearSavedMusic(void) static void sub_8085810(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE) { u16 newMusic = GetWarpDestinationMusic(); u16 currentMusic = GetCurrentMapMusic(); @@ -1231,7 +1231,7 @@ void TryFadeOutOldMapMusic(void) { u16 currentMusic = GetCurrentMapMusic(); u16 warpMusic = GetWarpDestinationMusic(); - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE && warpMusic != GetCurrentMapMusic()) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE && warpMusic != GetCurrentMapMusic()) { if (currentMusic == MUS_NAMINORI && VarGet(VAR_SKY_PILLAR_STATE) == 2 @@ -2765,13 +2765,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player) if (linkPlayerId != 4) { if (!player->isLocalPlayer) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (sPlayerTradingStates[linkPlayerId] != PLAYER_TRADING_STATE_IDLE) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (!GetLinkTrainerCardColor(linkPlayerId)) - return gEventScript_TradeRoom_ReadTrainerCard_NoColor; + return CableClub_EventScript_ReadTrainerCard; else - return gEventScript_TradeRoom_ReadTrainerCard_Normal; + return CableClub_EventScript_ReadTrainerCardColored; } return GetInteractedLinkPlayerScript(&otherPlayerPos, player->field_C, player->facing); diff --git a/src/party_menu.c b/src/party_menu.c index 0fc4af9be2..17cfc7a366 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -179,7 +179,7 @@ static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct Struc static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct Struct203CEDC *); -static void DisplayPartyPokemonOtherText(u8, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonSelectionText(u8, struct Struct203CEDC *, u8); static u8 sub_81B8830(void); static bool8 GetBattleEntryEligibility(struct Pokemon *); static bool8 sub_81B218C(u8); @@ -207,7 +207,7 @@ static void sub_81B5F98(u8, u8); static u8 GetPartyBoxPalBitfield(u8, u8); static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8); static u8 sub_81B8F38(u8); -static void c3_0811FAB4(u8); +static void Task_ClosePartyMenuAndSetCB2(u8); static void sub_81B9080(void); static void sub_81B4F88(void); static void sub_81B15D0(u8, s8*); @@ -215,7 +215,7 @@ static void sub_81B140C(u8, s8*); static u16 PartyMenuButtonHandler(s8*); static s8* sub_81B13EC(void); static bool8 sub_81B15A4(u8*); -static void sub_81B302C(u8*); +static void PartyMenuRemoveWindow(u8*); static void sub_81B9140(void); static void sub_81B6794(u8); static void sub_81B7E4C(u8); @@ -236,11 +236,11 @@ static void UpdateCurrentPartySelection(s8*, s8); static void SetNewPartySelectTarget1(s8*, s8); static void SetNewPartySelectTarget2(s8*, s8); static s8 sub_81B1B00(s8, s8); -static void sub_81B3300(const u8*); +static void PartyMenuPrintText(const u8*); static void sub_81B1B8C(u8); static void DisplayPartyPokemonHPCheck(struct Pokemon*, struct Struct203CEDC*, u8); static void DisplayPartyPokemonHPBarCheck(struct Pokemon*, struct Struct203CEDC*); -static bool16 sub_81B2134(struct Pokemon*); +static bool16 IsMonAllowedInPokemonJump(struct Pokemon*); static bool16 sub_81B2164(struct Pokemon*); static void sub_81B2248(u8); static void sub_81B227C(u8); @@ -294,7 +294,7 @@ static void sub_81B5B38(u8, struct Pokemon*); static void UpdatePartyMonIconFrame(struct Sprite*); static void UpdatePartyMonIconFrameAndBounce(struct Sprite*); static void sub_81B5CB0(u16, struct Struct203CEDC*); -static void sub_81B5DF0(u8, u8); +static void CreateHeldItemSpriteForTrade(u8, bool8); static void SpriteCB_HeldItem(struct Sprite*); static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*); static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*); @@ -1196,17 +1196,17 @@ struct [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, 0x0d}, }; -static const u8 *const gUnknown_08615E0C[] = +static const u8 *const sUnionRoomTradeMessages[] = { - gText_NotPkmnOtherTrainerWants, - gText_ThatIsntAnEgg, - gText_PkmnCantBeTradedNow, - gText_PkmnCantBeTradedNow, - gText_OtherTrainersPkmnCantBeTraded, - gText_EggCantBeTradedNow, - gText_OtherTrainerCantAcceptPkmn, - gText_CantTradeWithTrainer, - gText_CantTradeWithTrainer, + [UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants, + [UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_1 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_2 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED - 1] = gText_OtherTrainersPkmnCantBeTraded, + [UR_TRADE_MSG_EGG_CANT_BE_TRADED -1] = gText_EggCantBeTradedNow, + [UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON - 1] = gText_OtherTrainerCantAcceptPkmn, + [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 - 1] = gText_CantTradeWithTrainer, + [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 - 1] = gText_CantTradeWithTrainer, }; static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); @@ -1752,7 +1752,7 @@ static bool8 PartyMenuSetup(void) break; case 20: CreateTask(gUnknown_0203CEC4->task, 0); - display_pokemon_menu_message(gUnknown_0203CEC4->messageId); + DisplayPartyMenuStdMessage(gUnknown_0203CEC4->messageId); gMain.state++; break; case 21: @@ -1988,7 +1988,7 @@ static void DisplayPartyPokemonSelectData(u8 slot, u8 stringID) DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 0); DisplayPartyPokemonGenderNidoranCheck(mon, &gUnknown_0203CEDC[slot], 0); } - DisplayPartyPokemonOtherText(stringID, &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonSelectionText(stringID, &gUnknown_0203CEDC[slot], 0); } static void DisplayPartyPokemonSelectForBattle(u8 slot) @@ -2308,13 +2308,13 @@ static void sub_81B1288(struct Pokemon *partySlot, struct Pokemon *pokemon) Free(temp); } -static void sub_81B12C0(u8 taskId) +static void Task_ClosePartyMenu(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = c3_0811FAB4; + gTasks[taskId].func = Task_ClosePartyMenuAndSetCB2; } -static void c3_0811FAB4(u8 taskId) +static void Task_ClosePartyMenuAndSetCB2(u8 taskId) { if (!gPaletteFade.active) { @@ -2388,7 +2388,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) case 7: if (sub_81B15A4((u8*)ptr)) { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81615A8(taskId); } break; @@ -2398,7 +2398,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (gUnknown_0203CEC8.unk8_0 == 1) gUnknown_0203CEC4->exitCallback = sub_81B9140; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); gUnknown_03006328(taskId, sub_81B6794); } break; @@ -2406,7 +2406,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B7E4C(taskId); } break; @@ -2414,7 +2414,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B8474(taskId); } break; @@ -2423,7 +2423,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B7FAC(taskId); } break; @@ -2433,7 +2433,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) break; case 8: PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case 10: if (sub_81B15A4((u8*)ptr)) @@ -2485,7 +2485,7 @@ static void sub_81B15D0(u8 taskId, s8 *ptr) gSpecialVar_0x8004 = 7; gUnknown_0203CEE8 = 0; *ptr = 7; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } break; } @@ -2503,9 +2503,9 @@ static bool8 sub_81B1660(u8 taskId) if (stringPtr == NULL) return FALSE; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); StringExpandPlaceholders(gStringVar4, stringPtr); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B16D4; return TRUE; } @@ -2527,7 +2527,7 @@ static void sub_81B1708(u8 taskId) gUnknown_0203CEE8 = 0; gUnknown_0203CEC8.slotId = 7; sub_81B8558(); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); @@ -2782,11 +2782,11 @@ u8* GetMonNickname(struct Pokemon *mon, u8 *dest) return StringGetEnd10(dest); } -u8 sub_81B1B5C(const u8* str, u8 b) +u8 DisplayPartyMenuMessage(const u8* str, u8 b) { u8 taskId; - sub_81B3300(str); + PartyMenuPrintText(str); taskId = CreateTask(sub_81B1B8C, 1); gTasks[taskId].data[0] = b; return taskId; @@ -2814,7 +2814,7 @@ static void sub_81B1BE8(u8 taskId) { if (sub_81221EC() != TRUE) { - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } } @@ -2831,7 +2831,7 @@ static void sub_81B1C1C(u8 taskId) } else { - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } } @@ -2842,7 +2842,7 @@ static void sub_81B1C84(struct Pokemon *mon, u16 item, u8 c, u8 unused) GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_PkmnWasGivenItem); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, c); schedule_bg_copy_tilemap_to_vram(2); } @@ -2851,7 +2851,7 @@ static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c) GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_ReceivedItemFromPkmn); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, c); schedule_bg_copy_tilemap_to_vram(2); } @@ -2860,7 +2860,7 @@ static void sub_81B1D1C(struct Pokemon *mon, u16 item, u8 c) GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_SwitchPkmnItem); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, c); schedule_bg_copy_tilemap_to_vram(2); } @@ -2869,7 +2869,7 @@ static void sub_81B1D68(u16 item, u16 item2, u8 c) CopyItemName(item, gStringVar1); CopyItemName(item2, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_SwitchedPkmnItem); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, c); schedule_bg_copy_tilemap_to_vram(2); } @@ -3007,7 +3007,7 @@ static void sub_81B209C(void) if (gSpecialVar_0x8005 == 0) { for (i = 0; i < gPlayerPartyCount; i++) - *ptr += sub_81B2134(&gPlayerParty[i]) << i; + *ptr += IsMonAllowedInPokemonJump(&gPlayerParty[i]) << i; } else { @@ -3017,9 +3017,9 @@ static void sub_81B209C(void) } } -static bool16 sub_81B2134(struct Pokemon *mon) +static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon) { - if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && sub_802C908(GetMonData(mon, MON_DATA_SPECIES))) + if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && IsSpeciesAllowedInPokemonJump(GetMonData(mon, MON_DATA_SPECIES))) return TRUE; return FALSE; } @@ -3046,12 +3046,12 @@ static void sub_81B21AC(u8 taskId, u8 slot) { PlaySE(SE_SELECT); gSpecialVar_0x8004 = slot; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { PlaySE(SE_HAZURE); - sub_81B1B5C(gText_PkmnCantParticipate, 0); + DisplayPartyMenuMessage(gText_PkmnCantParticipate, 0); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B1C1C; } @@ -3059,7 +3059,7 @@ static void sub_81B21AC(u8 taskId, u8 slot) static void sub_81B2210(u8 taskId) { - sub_81B1B5C(gText_CancelParticipation, 1); + DisplayPartyMenuMessage(gText_CancelParticipation, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B2248; } @@ -3079,7 +3079,7 @@ static void sub_81B227C(u8 taskId) { case 0: gSpecialVar_0x8004 = 7; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); @@ -3531,7 +3531,7 @@ static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct Struct203CEDC *pt CopyWindowToVram(ptr->windowId, 2); } -static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonSelectionText(u8 stringID, struct Struct203CEDC *ptr, u8 c) { if (c != 0) { @@ -3543,7 +3543,7 @@ static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, sFontColorTable[0], 0, sSelectionStringTable[stringID]); } -static void sub_81B302C(u8 *ptr) +static void PartyMenuRemoveWindow(u8 *ptr) { if (*ptr != 0xFF) { @@ -3554,12 +3554,12 @@ static void sub_81B302C(u8 *ptr) } } -void display_pokemon_menu_message(u32 stringID) +void DisplayPartyMenuStdMessage(u32 stringID) { u8 *windowPtr = &gUnknown_0203CEC4->windowId[1]; if (*windowPtr != 0xFF) - sub_81B302C(windowPtr); + PartyMenuRemoveWindow(windowPtr); if (stringID != 0x7F) { @@ -3660,7 +3660,7 @@ static u8 sub_81B31B0(u8 a) return gUnknown_0203CEC4->windowId[0]; } -static void sub_81B3300(const u8 *text) +static void PartyMenuPrintText(const u8 *text) { DrawStdFrameWithCustomTileAndPalette(6, FALSE, 0x4F, 13); gTextFlags.canABSpeedUpPrint = TRUE; @@ -3682,7 +3682,7 @@ static u8 sub_81B3364(void) static void sub_81B3394(void) { ClearWindowTilemap(gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); } static void sub_81B33B4(struct Pokemon *mons, u8 slotId, u8 b) @@ -3788,12 +3788,12 @@ static bool8 sub_81B3608(u8 taskId) u16 item; GetMonNickname(mon, gStringVar1); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); if (gUnknown_0203CEC8.unk8_0 != 12) { sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); sub_81B31B0(0); - display_pokemon_menu_message(21); + DisplayPartyMenuStdMessage(21); } else { @@ -3803,12 +3803,12 @@ static bool8 sub_81B3608(u8 taskId) sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); sub_81B31B0(1); CopyItemName(item, gStringVar2); - display_pokemon_menu_message(26); + DisplayPartyMenuStdMessage(26); } else { StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B469C; return FALSE; @@ -3845,11 +3845,11 @@ static void HandleMenuInput(u8 taskId) break; case MENU_B_PRESSED: PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[2]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[2]); sCursorOptions[gUnknown_0203CEC4->actions[gUnknown_0203CEC4->listSize - 1]].func(taskId); break; default: - sub_81B302C(&gUnknown_0203CEC4->windowId[2]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[2]); sCursorOptions[gUnknown_0203CEC4->actions[input]].func(taskId); break; } @@ -3860,7 +3860,7 @@ static void CursorCb_Summary(u8 taskId) { PlaySE(SE_SELECT); gUnknown_0203CEC4->exitCallback = sub_81B3828; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } static void sub_81B3828(void) @@ -3887,9 +3887,9 @@ static void CursorCb_Switch(u8 taskId) { PlaySE(SE_SELECT); gUnknown_0203CEC8.unkB = 8; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - display_pokemon_menu_message(3); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + DisplayPartyMenuStdMessage(3); sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; gTasks[taskId].func = sub_81B1370; @@ -4105,35 +4105,35 @@ static void swap_pokemon_and_oams(void) static void sub_81B407C(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); gUnknown_0203CEC8.unkB = 0; sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } static void CursorCb_Cancel1(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); if (gUnknown_0203CEC8.unk8_0 == 6) - display_pokemon_menu_message(15); + DisplayPartyMenuStdMessage(15); else - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } static void CursorCb_Item(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 8); sub_81B31B0(1); - display_pokemon_menu_message(24); + DisplayPartyMenuStdMessage(24); gTasks[taskId].data[0] = 0xFF; gTasks[taskId].func = HandleMenuInput; } @@ -4142,7 +4142,7 @@ static void CursorCb_Give(u8 taskId) { PlaySE(SE_SELECT); gUnknown_0203CEC4->exitCallback = sub_81B41C4; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } static void sub_81B41C4(void) @@ -4221,7 +4221,7 @@ static void sub_81B43DC(u8 taskId) { AddBagItem(gSpecialVar_ItemId, 1); pokemon_item_not_removed(gUnknown_0203CEFC); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); gTasks[taskId].func = sub_81B1C1C; } else if (ItemIsMail(gSpecialVar_ItemId)) @@ -4249,7 +4249,7 @@ static void sub_81B44FC(u8 taskId) if (sub_81B1BD4() != TRUE) { gUnknown_0203CEC4->exitCallback = sub_81B452C; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } @@ -4305,9 +4305,9 @@ static void sub_81B469C(u8 taskId) if (gUnknown_0203CEC8.unk8_0 == 12) { if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) - DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonSelectionText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); else - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonSelectionText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); } sub_81B1C1C(taskId); } @@ -4319,18 +4319,18 @@ static void CursorCb_TakeItem(u8 taskId) u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); switch (TryTakeMonItem(mon)) { case 0: GetMonNickname(mon, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); break; case 1: pokemon_item_not_removed(item); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); break; default: sub_81B1CD0(mon, item, 1); @@ -4346,20 +4346,20 @@ static void CursorCb_Toss(u8 taskId) u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); if (item == ITEM_NONE) { GetMonNickname(mon, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B469C; } else { CopyItemName(item, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_ThrowAwayItem); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B48A8; } } @@ -4382,7 +4382,7 @@ static void sub_81B48DC(u8 taskId) case 0: CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar1); StringExpandPlaceholders(gStringVar4, gText_ItemThrownAway); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); gTasks[taskId].func = sub_81B4988; break; case MENU_B_PRESSED: @@ -4403,7 +4403,7 @@ static void sub_81B4988(u8 taskId) SetMonData(mon, MON_DATA_HELD_ITEM, &item); sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonSelectionText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); gTasks[taskId].func = sub_81B1C1C; } } @@ -4411,11 +4411,11 @@ static void sub_81B4988(u8 taskId) static void CursorCb_Mail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 9); sub_81B31B0(2); - display_pokemon_menu_message(25); + DisplayPartyMenuStdMessage(25); gTasks[taskId].data[0] = 0xFF; gTasks[taskId].func = HandleMenuInput; } @@ -4424,7 +4424,7 @@ static void CursorCb_Read(u8 taskId) { PlaySE(SE_SELECT); gUnknown_0203CEC4->exitCallback = sub_81B4A98; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } static void sub_81B4A98(void) @@ -4441,9 +4441,9 @@ static void sub_81B4AE0(void) static void CursorCb_TakeMail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B1B5C(gText_SendMailToPC, 1); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + DisplayPartyMenuMessage(gText_SendMailToPC, 1); gTasks[taskId].func = sub_81B4B6C; } @@ -4463,19 +4463,19 @@ static void sub_81B4BA0(u8 taskId) case 0: if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.slotId]) != 0xFF) { - sub_81B1B5C(gText_MailSentToPC, 0); + DisplayPartyMenuMessage(gText_MailSentToPC, 0); gTasks[taskId].func = sub_81B469C; } else { - sub_81B1B5C(gText_PCMailboxFull, 0); + DisplayPartyMenuMessage(gText_PCMailboxFull, 0); gTasks[taskId].func = sub_81B1C1C; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); case 1: - sub_81B1B5C(gText_MailMessageWillBeLost, 1); + DisplayPartyMenuMessage(gText_MailMessageWillBeLost, 1); gTasks[taskId].func = sub_81B4C60; break; } @@ -4501,13 +4501,13 @@ static void sub_81B4C94(u8 taskId) if (AddBagItem(item, 1) == TRUE) { TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.slotId]); - sub_81B1B5C(gText_MailTakenFromPkmn, 0); + DisplayPartyMenuMessage(gText_MailTakenFromPkmn, 0); gTasks[taskId].func = sub_81B469C; } else { pokemon_item_not_removed(item); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); gTasks[taskId].func = sub_81B1C1C; } break; @@ -4524,19 +4524,19 @@ static void CursorCb_Cancel2(u8 taskId) struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); if (gUnknown_0203CEC8.unk8_0 != 12) { sub_81B31B0(0); - display_pokemon_menu_message(21); + DisplayPartyMenuStdMessage(21); } else { sub_81B31B0(1); CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar2); - display_pokemon_menu_message(26); + DisplayPartyMenuStdMessage(26); } gTasks[taskId].data[0] = 0xFF; gTasks[taskId].func = HandleMenuInput; @@ -4545,15 +4545,15 @@ static void CursorCb_Cancel2(u8 taskId) static void CursorCb_SendMon(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); if (sub_81B8A7C() == TRUE) { - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B1B5C(gStringVar4, 1); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } } @@ -4563,8 +4563,8 @@ static void CursorCb_Enter(u8 taskId) u8 unk; u8 i; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); unk = sub_81B8830(); for (i = 0; i < unk; i++) { @@ -4572,10 +4572,10 @@ static void CursorCb_Enter(u8 taskId) { PlaySE(SE_SELECT); gSelectedOrderFromParty[i] = gUnknown_0203CEC8.slotId + 1; - DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonSelectionText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); if (i == (unk - 1)) sub_81B4F88(); - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; return; } @@ -4583,7 +4583,7 @@ static void CursorCb_Enter(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, unk, STR_CONV_MODE_LEFT_ALIGN, 1); StringExpandPlaceholders(gStringVar4, gText_NoMoreThanVar1Pkmn); PlaySE(SE_HAZURE); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } @@ -4600,8 +4600,8 @@ static void CursorCb_NoEntry(u8 taskId) u8 i, j; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); unk = sub_81B8830(); for (i = 0; i < unk; i++) { @@ -4613,46 +4613,47 @@ static void CursorCb_NoEntry(u8 taskId) break; } } - DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonSelectionText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); for (i = 0; i < (unk - 1); i++) { if (gSelectedOrderFromParty[i] != 0) - DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1); + DisplayPartyPokemonSelectionText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1); } - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } static void CursorCb_Store(u8 taskId) { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } +// Register mon for the Trading Board in Union Room static void CursorCb_Register(u8 taskId) { u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); - switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) + switch (CanRegisterMonForTradingBoard(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) { - case 1: + case CANT_REGISTER_MON: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; - case 2: + case CANT_REGISTER_EGG: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; default: PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); return; } PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } @@ -4661,51 +4662,51 @@ static void CursorCb_Trade1(u8 taskId) u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); - u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); + u32 stringId = GetUnionRoomTradeMessageId(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); - if (stringId != 0) + if (stringId != UR_TRADE_MSG_NONE) { - StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]); + StringExpandPlaceholders(gStringVar4, sUnionRoomTradeMessages[stringId - 1]); PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } else { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } static void CursorCb_Trade2(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.slotId)) + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); + switch (CanTradeSelectedPartyMenuMon(gPlayerParty, gUnknown_0203CEC8.slotId)) { - case 1: + case CANT_TRADE_LAST_MON: StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle); break; - case 2: + case CANT_TRADE_NATIONAL: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; - case 3: + case CANT_TRADE_EGG: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; default: PlaySE(SE_SELECT); GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B53FC; return; } PlaySE(SE_HAZURE); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } @@ -4723,7 +4724,7 @@ static void sub_81B5430(u8 taskId) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); @@ -4742,14 +4743,14 @@ static void CursorCb_FieldMove(u8 taskId) if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL) return; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); if (sub_81221AC() == TRUE || InUnionRoom() == TRUE) { if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED) - display_pokemon_menu_message(13); + DisplayPartyMenuStdMessage(13); else - display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId); gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; } @@ -4758,7 +4759,7 @@ static void CursorCb_FieldMove(u8 taskId) // All field moves before WATERFALL are HMs. if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE) { - sub_81B1B5C(gText_CantUseUntilNewBadge, 1); + DisplayPartyMenuMessage(gText_CantUseUntilNewBadge, 1); gTasks[taskId].func = sub_81B1C1C; } else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE) @@ -4785,11 +4786,11 @@ static void CursorCb_FieldMove(u8 taskId) break; case FIELD_MOVE_FLY: gUnknown_0203CEC8.exitCallback = MCB2_FlyMap; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; default: gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; } } @@ -4804,7 +4805,7 @@ static void CursorCb_FieldMove(u8 taskId) sub_81B57DC(); break; default: - display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId); break; } gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; @@ -4814,7 +4815,7 @@ static void CursorCb_FieldMove(u8 taskId) static void sub_81B5674(u8 taskId) { - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); gTasks[taskId].func = sub_81B56A4; } @@ -4833,7 +4834,7 @@ static void sub_81B56D8(u8 taskId) { case 0: gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); @@ -4876,9 +4877,9 @@ static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId) static void sub_81B57DC(void) { if (FlagGet(FLAG_SYS_USE_FLASH) == TRUE) - display_pokemon_menu_message(12); + DisplayPartyMenuStdMessage(12); else - display_pokemon_menu_message(13); + DisplayPartyMenuStdMessage(13); } static void hm_surf_run_dp02scr(void) @@ -4901,9 +4902,9 @@ static bool8 SetUpFieldMove_Surf(void) static void sub_81B5864(void) { if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - display_pokemon_menu_message(9); + DisplayPartyMenuStdMessage(9); else - display_pokemon_menu_message(8); + DisplayPartyMenuStdMessage(8); } static bool8 SetUpFieldMove_Fly(void) @@ -4973,7 +4974,7 @@ static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203 { if (species != SPECIES_NONE) { - ptr->monSpriteId = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); + ptr->monSpriteId = CreateMonIcon(species, UpdateTradeMonIconFrame, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); gSprites[ptr->monSpriteId].oam.priority = priority; } } @@ -4983,19 +4984,19 @@ static void sub_81B5A8C(u8 spriteId, u16 hp, u16 maxhp) switch (GetHPBarLevel(hp, maxhp)) { case HP_BAR_FULL: - sub_80D32C8(&gSprites[spriteId], 0); + SetPartyHPBarSprite(&gSprites[spriteId], 0); break; case HP_BAR_GREEN: - sub_80D32C8(&gSprites[spriteId], 1); + SetPartyHPBarSprite(&gSprites[spriteId], 1); break; case HP_BAR_YELLOW: - sub_80D32C8(&gSprites[spriteId], 2); + SetPartyHPBarSprite(&gSprites[spriteId], 2); break; case HP_BAR_RED: - sub_80D32C8(&gSprites[spriteId], 3); + SetPartyHPBarSprite(&gSprites[spriteId], 3); break; default: - sub_80D32C8(&gSprites[spriteId], 4); + SetPartyHPBarSprite(&gSprites[spriteId], 4); break; } } @@ -5094,33 +5095,33 @@ void LoadHeldItemIcons(void) LoadSpritePalette(&sSpritePalette_HeldItem); } -void sub_81B5D4C(u8 *a, u8 *b, u8 c) +void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty) { u16 i; u16 item; - switch (c) + switch (whichParty) { - case 0: - for (i = 0; i < a[0]; i++) + case TRADE_PLAYER: + for (i = 0; i < partyCounts[TRADE_PLAYER]; i++) { item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); if (item != ITEM_NONE) - sub_81B5DF0(b[i], ItemIsMail(item)); + CreateHeldItemSpriteForTrade(partySpriteIds[i], ItemIsMail(item)); } break; - case 1: - for (i = 0; i < a[1]; i++) + case TRADE_PARTNER: + for (i = 0; i < partyCounts[TRADE_PARTNER]; i++) { item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM); if (item != ITEM_NONE) - sub_81B5DF0(b[i + 6], ItemIsMail(item)); + CreateHeldItemSpriteForTrade(partySpriteIds[i + PARTY_SIZE], ItemIsMail(item)); } break; } } -static void sub_81B5DF0(u8 spriteId, u8 isMail) +static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail) { u8 subpriority = gSprites[spriteId].subpriority; u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1); @@ -5440,7 +5441,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) iTriedHonestlyIDid: gUnknown_0203CEE8 = 0; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; return; @@ -5476,7 +5477,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) { GetMonNickname(mon, gStringVar1); GetMedicineItemEffectMessage(item); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -5486,7 +5487,7 @@ static void sub_81B672C(u8 taskId) { GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); schedule_bg_copy_tilemap_to_vram(2); HandleBattleLowHpMusicChange(); gTasks[taskId].func = sub_81B6794; @@ -5498,7 +5499,7 @@ static void sub_81B6794(u8 taskId) { if (gUnknown_0203CEE8 == 0) gUnknown_0203CEC4->exitCallback = NULL; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } @@ -5517,7 +5518,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task) { gUnknown_0203CEE8 = 0; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -5539,7 +5540,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task) { StringExpandPlaceholders(gStringVar4, gText_PkmnAdoresBaseVar2Fell); } - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -5624,7 +5625,7 @@ static void ether_effect_related_3(u8 taskId) } else { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[1]); ether_effect_related_2(taskId); } } @@ -5648,7 +5649,7 @@ void dp05_ether(u8 taskId, TaskFunc task) else { PlaySE(SE_SELECT); - display_pokemon_menu_message(22); + DisplayPartyMenuStdMessage(22); sub_81B6A10(gUnknown_0203CEC8.slotId); gTasks[taskId].func = ether_effect_related_3; } @@ -5656,7 +5657,7 @@ void dp05_ether(u8 taskId, TaskFunc task) static void ether_effect_related_2(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); gUnknown_0203CEC8.unkE = Menu_GetCursorPos(); ether_effect_related(taskId); } @@ -5665,8 +5666,8 @@ static void sub_81B6BB4(u8 taskId) { gTasks[taskId].func = sub_81B1370; gUnknown_0203CEC4->exitCallback = NULL; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - display_pokemon_menu_message(5); + PartyMenuRemoveWindow(&gUnknown_0203CEC4->windowId[0]); + DisplayPartyMenuStdMessage(5); } static void ether_effect_related(u8 taskId) @@ -5681,7 +5682,7 @@ static void ether_effect_related(u8 taskId) { gUnknown_0203CEE8 = 0; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B6794; } @@ -5694,7 +5695,7 @@ static void ether_effect_related(u8 taskId) move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot); StringCopy(gStringVar1, gMoveNames[move]); GetMedicineItemEffectMessage(item); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B6794; } @@ -5703,7 +5704,7 @@ static void ether_effect_related(u8 taskId) void dp05_pp_up(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); - display_pokemon_menu_message(23); + DisplayPartyMenuStdMessage(23); sub_81B6A10(gUnknown_0203CEC8.slotId); gTasks[taskId].func = ether_effect_related_3; } @@ -5741,7 +5742,7 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move) static void sub_81B6D74(const u8 *str) { StringExpandPlaceholders(gStringVar4, str); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); } @@ -5804,7 +5805,7 @@ static void sub_81B6EB4(u8 taskId) GetMonNickname(mon, gStringVar1); StringCopy(gStringVar2, gMoveNames[move[0]]); StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B6F60; } @@ -5828,7 +5829,7 @@ static void sub_81B6F98(u8 taskId) { if (gUnknown_0203CEC8.unk10 == 2) gSpecialVar_Result = TRUE; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } } @@ -5847,7 +5848,7 @@ static void sub_81B7028(u8 taskId) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - sub_81B1B5C(gText_WhichMoveToForget, 1); + DisplayPartyMenuMessage(gText_WhichMoveToForget, 1); gTasks[taskId].func = sub_81B7088; break; case MENU_B_PRESSED: @@ -5863,7 +5864,7 @@ static void sub_81B7088(u8 taskId) if (sub_81B1BD4() != TRUE) { gUnknown_0203CEC4->exitCallback = sub_81B70B8; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } @@ -5918,7 +5919,7 @@ static void sub_81B7230(u8 taskId) { StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B7294; } @@ -5942,7 +5943,7 @@ static void sub_81B72C8(u8 taskId) GetMonNickname(mon, gStringVar1); StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); if (gUnknown_0203CEC8.unk10 == 1) { gTasks[taskId].func = sub_81B73E4; @@ -5993,7 +5994,7 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) if (cannotUseEffect) { gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -6006,7 +6007,7 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) GetMonNickname(mon, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B75D4; } @@ -6134,7 +6135,7 @@ static void sub_81B787C(u8 taskId) GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gUnknown_0203CEC8.unkE = gMoveToLearn; gTasks[taskId].func = sub_81B6FF4; @@ -6145,7 +6146,7 @@ static void sub_81B7910(u8 taskId, u16 move) GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[move]); StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, 1); schedule_bg_copy_tilemap_to_vram(2); gUnknown_0203CEC8.unkE = move; gTasks[taskId].func = sub_81B6F60; @@ -6213,7 +6214,7 @@ static void task_sacred_ash_party_loop(u8 taskId) if (gUnknown_0203CEC4->data[1] == 0) { gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); } else @@ -6235,7 +6236,7 @@ static void sub_81B7C10(u8 taskId) { GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task_sacred_ash_party_loop; } @@ -6247,7 +6248,7 @@ void sub_81B7C74(u8 taskId, TaskFunc task) if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0)) { gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -6396,7 +6397,7 @@ static void sub_81B8044(u8 taskId) { sub_81B83F0(gUnknown_0203CEC8.unkC); gUnknown_0203CEC4->exitCallback = sub_81B814C; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { @@ -6425,7 +6426,7 @@ static void sub_81B8104(u8 taskId) if (sub_81B1BD4() != TRUE) { sub_81B5C94(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } @@ -6495,13 +6496,13 @@ static void sub_81B82D4(u8 taskId) { sub_81B841C(item); pokemon_item_not_removed(gUnknown_0203CEFC); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, 0); gTasks[taskId].func = sub_81B8104; } else if (ItemIsMail(item)) { gUnknown_0203CEC4->exitCallback = sub_81B814C; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { @@ -6520,7 +6521,7 @@ static void sub_81B82D4(u8 taskId) static void sub_81B83B8(u8 taskId) { - sub_81B1B5C(gText_RemoveMailBeforeItem, 1); + DisplayPartyMenuMessage(gText_RemoveMailBeforeItem, 1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B8104; } @@ -6555,13 +6556,13 @@ static void sub_81B8474(u8 taskId) mail = &gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]; if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) { - sub_81B1B5C(gText_PkmnHoldingItemCantHoldMail, 1); + DisplayPartyMenuMessage(gText_PkmnHoldingItemCantHoldMail, 1); } else { GiveMailToMon2(mon, mail); ClearMailStruct(mail); - sub_81B1B5C(gText_MailTransferredFromMailbox, 1); + DisplayPartyMenuMessage(gText_MailTransferredFromMailbox, 1); } schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81B8104; @@ -6678,13 +6679,13 @@ static void sub_81B879C(u8 taskId) if (msgId != 0xFF) { PlaySE(SE_HAZURE); - display_pokemon_menu_message(msgId); + DisplayPartyMenuStdMessage(msgId); gTasks[taskId].func = sub_81B87E8; } else { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } @@ -6693,7 +6694,7 @@ static void sub_81B87E8(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { PlaySE(SE_SELECT); - display_pokemon_menu_message(0); + DisplayPartyMenuStdMessage(0); gTasks[taskId].func = sub_81B1370; } } @@ -6756,12 +6757,12 @@ void sub_81B8904(u8 initArg, MainCallback callback) InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback); } -void sub_81B892C(void) +void OpenPartyMenuForMoveTutor(void) { InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); } -void sub_81B8958(void) +void ChooseMonForWirelessMinigame(void) { InitPartyMenu(11, 0, 13, 0, 1, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); } @@ -7161,7 +7162,7 @@ static void sub_81B9240(u8 taskId) s16 *data = gTasks[taskId].data; if (++data[0] == 0x100) - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } static void sub_81B9270(u8 spriteId, s16 x) diff --git a/src/poison.c b/src/poison.c index 794098ec28..671dee20d7 100644 --- a/src/poison.c +++ b/src/poison.c @@ -38,11 +38,11 @@ const struct SpriteTemplate gUnknown_08596134 = { .tileTag = ANIM_TAG_TOXIC_BUBBLE, .paletteTag = ANIM_TAG_TOXIC_BUBBLE, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_08596130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const union AnimCmd gUnknown_0859614C[] = @@ -106,7 +106,7 @@ const struct SpriteTemplate gUnknown_085961A8 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, @@ -117,7 +117,7 @@ const struct SpriteTemplate gUnknown_085961C0 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, @@ -128,7 +128,7 @@ const struct SpriteTemplate gUnknown_085961D8 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_0859616C, .images = NULL, .affineAnims = gUnknown_085961A4, @@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_0859620C = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596168, .images = NULL, .affineAnims = gUnknown_08596208, @@ -174,7 +174,7 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_0859623C, @@ -185,7 +185,7 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_08595200, .images = NULL, .affineAnims = gUnknown_0859623C, @@ -196,7 +196,7 @@ const struct SpriteTemplate gGreenPoisonDrip = { .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596168, .images = NULL, .affineAnims = gUnknown_08596208, @@ -207,7 +207,7 @@ const struct SpriteTemplate gGreenPoisonBubble = { .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, @@ -281,7 +281,7 @@ const struct SpriteTemplate gSuckerPunchSpriteTemplate = { .tileTag = ANIM_TAG_POISON_JAB, .paletteTag = ANIM_TAG_POISON_JAB, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gSuckerPunchAnim, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -292,7 +292,7 @@ const struct SpriteTemplate gGunkShoParticlesSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gGunkShotParticlesAnims, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -303,7 +303,7 @@ const struct SpriteTemplate gGunkShotImpactSpriteTemplate = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gSuckerPunchImpactAffineAnim, diff --git a/src/pokeball.c b/src/pokeball.c index 5fcfd15e11..ecd5cb7b9b 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -1091,7 +1091,7 @@ static void sub_80765E0(struct Sprite *sprite) } } -u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h) +u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h) { u8 spriteId; diff --git a/src/pokedex.c b/src/pokedex.c index 98ac962dbd..0b04ae3b96 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1347,13 +1347,13 @@ void CB2_Pokedex(void) sPokedexView->selectedScreen = 0; if (!IsNationalPokedexEnabled()) { - sPokedexView->seenCount = GetHoennPokedexCount(0); - sPokedexView->ownCount = GetHoennPokedexCount(1); + sPokedexView->seenCount = GetHoennPokedexCount(FLAG_GET_SEEN); + sPokedexView->ownCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); } else { - sPokedexView->seenCount = GetNationalPokedexCount(0); - sPokedexView->ownCount = GetNationalPokedexCount(1); + sPokedexView->seenCount = GetNationalPokedexCount(FLAG_GET_SEEN); + sPokedexView->ownCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); } sPokedexView->initialVOffset = 8; gMain.state++; @@ -2583,7 +2583,7 @@ static void CreateInterfaceSprites(u8 a) spriteId = CreateSprite(&gUnknown_0855D20C, 17, 91, 1); StartSpriteAnim(&gSprites[spriteId], 1); - r6 = GetHoennPokedexCount(0); + r6 = GetHoennPokedexCount(FLAG_GET_SEEN); _a = 0; spriteId = CreateSprite(&gUnknown_0855D23C, 40, 45, 1); @@ -2626,7 +2626,7 @@ static void CreateInterfaceSprites(u8 a) r5 = (sPokedexView->seenCount % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); - r6 = GetHoennPokedexCount(1); + r6 = GetHoennPokedexCount(FLAG_GET_CAUGHT); _a = 0; spriteId = CreateSprite(&gUnknown_0855D23C, 40, 81, 1); diff --git a/src/pokemon.c b/src/pokemon.c index 72c17a2078..603afec411 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5420,7 +5420,7 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) { if (InBattlePyramid()) return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId); - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId); else return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index ee68de326e..7d7dadccb0 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1184,7 +1184,7 @@ void FreeMonIconPalette(u16 species) FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); } -void sub_80D3014(struct Sprite *sprite) +void UpdateTradeMonIconFrame(struct Sprite *sprite) { UpdateMonIconFrame(sprite); } @@ -1302,7 +1302,7 @@ void sub_80D328C(struct Sprite *sprite) DestroySprite(sprite); } -void sub_80D32C8(struct Sprite *sprite, u8 animNum) +void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum) { sprite->animNum = animNum; sprite->animDelayCounter = 0; diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index cc9c2f4ff8..ccf64b8a24 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -158,7 +158,7 @@ static void sub_802AA60(struct PokemonJump1 *); static void sub_802AA94(struct PokemonJump1 *); static void sub_802AB20(void); static void sub_802AB98(void); -static s16 sub_802AC00(u16 species); +static s16 GetPokemonJumpSpeciesIdx(u16 species); static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); static void sub_802AC6C(void); static void sub_802ACA0(u8 taskId); @@ -288,7 +288,7 @@ static void sub_802D598(void); static void sub_802D5E4(void); static void sub_802D72C(void); static void sub_802D688(void); -static void sub_802E3E4(u8 taskId); +static void Task_ShowPokemonJumpRecords(u8 taskId); static void sub_802E6D0(u8 taskId); static void sub_802EB98(u8 taskId); static void sub_802E500(u16 windowId, int width); @@ -501,7 +501,7 @@ static void sub_802AB20(void) for (i = 0; i < MAX_RFU_PLAYERS; i++) { - index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species); + index = GetPokemonJumpSpeciesIdx(gUnknown_02022CFC->unk82A8[i].species); gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2; } @@ -524,7 +524,7 @@ static void sub_802AB98(void) } } -static s16 sub_802AC00(u16 species) +static s16 GetPokemonJumpSpeciesIdx(u16 species) { u32 i; for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++) @@ -533,7 +533,7 @@ static s16 sub_802AC00(u16 species) return i; } - return -1; + return -1; // species isnt allowed } static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) @@ -2204,12 +2204,12 @@ static u8 *sub_802C8E8(u8 multiplayerId) return gUnknown_02022CFC->unk82E4[multiplayerId].unk1C; } -bool32 sub_802C908(u16 species) +bool32 IsSpeciesAllowedInPokemonJump(u16 species) { - return sub_802AC00(species) > -1; + return GetPokemonJumpSpeciesIdx(species) > -1; } -void sub_802C920(void) +void IsPokemonJumpSpeciesInParty(void) { int i; @@ -2218,15 +2218,15 @@ void sub_802C920(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) { u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); - if (sub_802C908(species)) + if (IsSpeciesAllowedInPokemonJump(species)) { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; return; } } } - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } // Large group of data. @@ -3922,10 +3922,10 @@ static void sub_802E3A8(void) pokeJump->field6++; } -void sub_802E3C4(void) +void ShowPokemonJumpRecords(void) { - u8 taskId = CreateTask(sub_802E3E4, 0); - sub_802E3E4(taskId); + u8 taskId = CreateTask(Task_ShowPokemonJumpRecords, 0); + Task_ShowPokemonJumpRecords(taskId); } static const struct WindowTemplate gUnknown_082FE270 = @@ -3941,7 +3941,7 @@ static const struct WindowTemplate gUnknown_082FE270 = static const u8 *const gUnknown_082FE278[] = {gText_JumpsInARow, gText_BestScore2, gText_ExcellentsInARow}; -static void sub_802E3E4(u8 taskId) +static void Task_ShowPokemonJumpRecords(u8 taskId) { struct WindowTemplate window; int i, width, widthCurr; @@ -4093,7 +4093,7 @@ static const struct SpriteTemplate gUnknown_082FE730[] = { .tileTag = 0x2000, .paletteTag = 0x2000, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_82FE718, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 5602607453..69a0161e1b 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1540,9 +1540,9 @@ static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cu static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp"); // code -void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) +void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer) { - s32 i, val, val2; + s32 i, tileBytesToBuffer, remainingBytes; u16 windowId; u8 txtColor[3]; u8 *tileData1, *tileData2; @@ -1551,25 +1551,25 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) winTemplate.width = 24; winTemplate.height = 2; windowId = AddWindow(&winTemplate); - FillWindowPixelBuffer(windowId, PIXEL_FILL(arg3)); + FillWindowPixelBuffer(windowId, PIXEL_FILL(zero2)); tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA); tileData2 = (winTemplate.width * 32) + tileData1; - if (!arg2) - txtColor[0] = 0; + if (!zero1) + txtColor[0] = TEXT_COLOR_TRANSPARENT; else - txtColor[0] = arg3; - txtColor[1] = 0xF; - txtColor[2] = 0xE; + txtColor[0] = zero2; + txtColor[1] = TEXT_DYNAMIC_COLOR_6; + txtColor[2] = TEXT_DYNAMIC_COLOR_5; AddTextPrinterParameterized4(windowId, 1, 0, 1, 0, 0, txtColor, -1, string); - val = arg4; - if (val > 6u) - val = 6; - val2 = arg4 - 6; - if (val > 0) + tileBytesToBuffer = bytesToBuffer; + if (tileBytesToBuffer > 6u) + tileBytesToBuffer = 6; + remainingBytes = bytesToBuffer - 6; + if (tileBytesToBuffer > 0) { - for (i = val; i != 0; i--) + for (i = tileBytesToBuffer; i != 0; i--) { CpuCopy16(tileData1, dst, 0x80); CpuCopy16(tileData2, dst + 0x80, 0x80); @@ -1579,8 +1579,9 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) } } - if (val2 > 0) - CpuFill16((arg3 << 4) | arg3, dst, (u32)(val2) * 0x100); + // Never used. bytesToBuffer is always passed <= 6, so remainingBytes is always <= 0 here + if (remainingBytes > 0) + CpuFill16((zero2 << 4) | zero2, dst, (u32)(remainingBytes) * 0x100); RemoveWindow(windowId); } @@ -5518,7 +5519,7 @@ static void sub_80CCB50(u8 boxId) sPSSData->field_738 |= 0x10000 << tagIndex; StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); - sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); LoadSpriteSheet(&spriteSheet); r6 = sub_80CD00C(GetBoxNamePtr(boxId)); @@ -5554,7 +5555,7 @@ static void sub_80CCCFC(u8 boxId, s8 direction) } StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); - sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); LoadSpriteSheet(&spriteSheet); LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4); x = sub_80CD00C(GetBoxNamePtr(boxId)); diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index 3cbf6ecd29..41ad37fbff 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -86,7 +86,7 @@ int GameClear(void) return 0; } -bool8 sp0C8_whiteout_maybe(void) +bool8 SetCB2WhiteOut(void) { SetMainCallback2(CB2_WhiteOut); return FALSE; diff --git a/src/psychic.c b/src/psychic.c index 467516a183..85da5efa1b 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -47,18 +47,18 @@ const struct SpriteTemplate gUnknown_08596548 = { .tileTag = ANIM_TAG_SPIRAL, .paletteTag = ANIM_TAG_SPIRAL, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596544, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gUnknown_08596560 = { .tileTag = ANIM_TAG_GREEN_LIGHT_WALL, .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08596578 = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_08596590 = { .tileTag = ANIM_TAG_RED_LIGHT_WALL, .paletteTag = ANIM_TAG_RED_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -91,7 +91,7 @@ const struct SpriteTemplate gUnknown_085965A8 = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -102,7 +102,7 @@ const struct SpriteTemplate gUnknown_085965C0 = { .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL, .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -128,7 +128,7 @@ const struct SpriteTemplate gUnknown_085965F4 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085965F0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -153,7 +153,7 @@ const struct SpriteTemplate gUnknown_08596624 = { .tileTag = ANIM_TAG_SPARKLE_3, .paletteTag = ANIM_TAG_SPARKLE_3, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08596620, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -164,7 +164,7 @@ const struct SpriteTemplate gUnknown_0859663C = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -221,7 +221,7 @@ const struct SpriteTemplate gUnknown_085966DC = { .tileTag = ANIM_TAG_BENT_SPOON, .paletteTag = ANIM_TAG_BENT_SPOON, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_085966D4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -263,7 +263,7 @@ const struct SpriteTemplate gUnknown_08596744 = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596714, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -289,7 +289,7 @@ const struct SpriteTemplate gUnknown_08596794 = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -300,7 +300,7 @@ const struct SpriteTemplate gUnknown_085967AC = { .tileTag = 10250, .paletteTag = 10250, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -353,7 +353,7 @@ const struct SpriteTemplate gUnknown_08596864 = { .tileTag = ANIM_TAG_BLUEGREEN_ORB, .paletteTag = ANIM_TAG_BLUEGREEN_ORB, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596854, @@ -376,11 +376,11 @@ const struct SpriteTemplate gUnknown_08596898 = { .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596894, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const union AffineAnimCmd gUnknown_085968B0[] = @@ -414,7 +414,7 @@ const struct SpriteTemplate gUnknown_08596920 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596918, @@ -441,7 +441,7 @@ const struct SpriteTemplate gZenHeadbuttSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_IMPACT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gZenHeadbuttAffineAnims, @@ -452,18 +452,18 @@ const struct SpriteTemplate gPsychoCutSpiralSpriteTemplate = { .tileTag = ANIM_TAG_SPIRAL, .paletteTag = ANIM_TAG_PSYCHO_CUT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596544, - .callback = sub_80A77C8, + .callback = AnimSparklingParticle, }; const struct SpriteTemplate gPsychoCutSpriteTemplate = { .tileTag = ANIM_TAG_PSYCHO_CUT, .paletteTag = ANIM_TAG_PSYCHO_CUT, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -610,7 +610,7 @@ static void sub_810F340(struct Sprite *sprite) if (IsBattlerSpriteVisible(battler)) gSprites[gBattlerSpriteIds[battler]].invisible = 1; - + battler = BATTLE_PARTNER(battler); if (IsBattlerSpriteVisible(battler)) gSprites[gBattlerSpriteIds[battler]].invisible = 1; @@ -1070,7 +1070,7 @@ void sub_810FE14(u8 taskId) u8 yOffset; struct ScanlineEffectParams scanlineParams; struct Task *task = &gTasks[taskId]; - + yOffset = GetBattlerYCoordWithElevation(gBattleAnimTarget); task->data[14] = yOffset - 32; @@ -1167,7 +1167,7 @@ void sub_8110034(u8 taskId) s16 spriteId; s16 matrixNum; struct Task *task = &gTasks[taskId]; - + matrixNum = AllocOamMatrix(); if (matrixNum == 0xFF) { diff --git a/src/rock.c b/src/rock.c index 28c11df144..590d7e32ba 100644 --- a/src/rock.c +++ b/src/rock.c @@ -66,7 +66,7 @@ const struct SpriteTemplate gUnknown_08596B04 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596AF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -77,7 +77,7 @@ const struct SpriteTemplate gUnknown_08596B1C = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596AF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -88,7 +88,7 @@ const struct SpriteTemplate gUnknown_08596B34 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_08596B70 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_08596B6C, @@ -123,7 +123,7 @@ const struct SpriteTemplate gUnknown_08596B88 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -134,7 +134,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -210,7 +210,7 @@ const struct SpriteTemplate gUnknown_08596C10 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -221,7 +221,7 @@ const struct SpriteTemplate gUnknown_08596C28 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -232,7 +232,7 @@ const struct SpriteTemplate gUnknown_08596C40 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -243,7 +243,7 @@ const struct SpriteTemplate gUnknown_08596C58 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -272,7 +272,7 @@ const struct SpriteTemplate gUnknown_08596C98 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -283,7 +283,7 @@ const struct SpriteTemplate gUnknown_08596CB0 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -294,7 +294,7 @@ const struct SpriteTemplate gUnknown_08596CC8 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596C08, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -305,7 +305,7 @@ const struct SpriteTemplate gUnknown_08596CE0 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596C00, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -340,7 +340,7 @@ const struct SpriteTemplate gPowerGemScatterSpriteTemplate = { .tileTag = ANIM_TAG_POWER_GEM, .paletteTag = ANIM_TAG_POWER_GEM, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gPowerGemScatterAffineAnims, @@ -351,7 +351,7 @@ const struct SpriteTemplate gPowerGemOrbSpriteTemplate = { .tileTag = ANIM_TAG_POWER_GEM, .paletteTag = ANIM_TAG_POWER_GEM, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gPowerGemOrbAffineAnims, @@ -362,7 +362,7 @@ const struct SpriteTemplate gStoneEdgeSpriteTemplate = { .tileTag = ANIM_TAG_STONE_EDGE, .paletteTag = ANIM_TAG_STONE_EDGE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -373,7 +373,7 @@ const struct SpriteTemplate gStealthRockSpriteTemplate = { .tileTag = ANIM_TAG_STEALTH_ROCK, .paletteTag = ANIM_TAG_STEALTH_ROCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c new file mode 100644 index 0000000000..7238ec751b --- /dev/null +++ b/src/rotating_tile_puzzle.c @@ -0,0 +1,338 @@ +#include "global.h" +#include "event_object_movement.h" +#include "fieldmap.h" +#include "malloc.h" +#include "rotating_tile_puzzle.h" +#include "script_movement.h" +#include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" +#include "constants/metatile_labels.h" + +extern const u8 RotatingTilePuzzle_Movement_ShiftRight[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftDown[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftLeft[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftUp[]; +extern const u8 RotatingTilePuzzle_Movement_FaceRight[]; +extern const u8 RotatingTilePuzzle_Movement_FaceDown[]; +extern const u8 RotatingTilePuzzle_Movement_FaceLeft[]; +extern const u8 RotatingTilePuzzle_Movement_FaceUp[]; + +#define ROTATE_COUNTERCLOCKWISE 0 +#define ROTATE_CLOCKWISE 1 +#define ROTATE_NONE 2 + +struct RotatingTileObject +{ + u8 prevPuzzleTileNum; + u8 eventTemplateId; +}; + +struct RotatingTilePuzzle +{ + struct RotatingTileObject objects[EVENT_OBJECTS_COUNT]; + u8 numObjects; + bool8 isTrickHouse; +}; + +// This file's functions. +static void SaveRotatingTileObject(u8 eventTemplateId, u8 arg1); +static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 arg1); + +// EWRAM vars +EWRAM_DATA static struct RotatingTilePuzzle *sRotatingTilePuzzle = NULL; + +// code +void InitRotatingTilePuzzle(bool8 isTrickHouse) +{ + if (sRotatingTilePuzzle == NULL) + sRotatingTilePuzzle = AllocZeroed(sizeof(*sRotatingTilePuzzle)); + + sRotatingTilePuzzle->isTrickHouse = isTrickHouse; +} + +void FreeRotatingTilePuzzle(void) +{ + u8 id; + + if (sRotatingTilePuzzle != NULL) + FREE_AND_SET_NULL(sRotatingTilePuzzle); + + id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); + ScriptMovement_UnfreezeEventObjects(); +} + +u16 MoveRotatingTileObjects(u8 puzzleNumber) +{ + u8 i; + struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + u16 localId = 0; + + for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + { + s32 puzzleTileStart; + u8 puzzleTileNum; + s16 x = eventObjects[i].x + 7; + s16 y = eventObjects[i].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + // Object is on a metatile before the puzzle tile section + // UB: Because this is not if (metatile < puzzleTileStart), for the trick house (metatile - puzzleTileStart) below can result in casting a negative value to u8 + if (metatile < METATILE_MossdeepGym_YellowArrow_Right) + continue; + + // Object is on a metatile after the puzzle tile section (never occurs, in both cases the puzzle tiles are last) + if ((u8)((metatile - puzzleTileStart) / 8) >= 5) + continue; + + // Object is on a metatile in puzzle tile section, but not one of the currently rotating color + if ((u8)((metatile - puzzleTileStart) / 8) != puzzleNumber) + continue; + + puzzleTileNum = (u8)((metatile - puzzleTileStart) % 8); + + // First 4 puzzle tiles are the colored arrows + if (puzzleTileNum < 4) + { + s8 x = 0; + s8 y = 0; + const u8 *movementScript; + + switch (puzzleTileNum) + { + case 0: // Right Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftRight; + x = 1; + break; + case 1: // Down Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftDown; + y = 1; + break; + case 2: // Left Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftLeft; + x = -1; + break; + case 3: // Up Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftUp; + y = -1; + break; + default: + continue; + } + + eventObjects[i].x += x; + eventObjects[i].y += y; + if (GetEventObjectIdByLocalIdAndMap(eventObjects[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT) + { + SaveRotatingTileObject(i, puzzleTileNum); + localId = eventObjects[i].localId; + ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); + } + // Never reached in normal gameplay + else + { + TurnUnsavedRotatingTileObject(i, puzzleTileNum); + } + } + } + + return localId; +} + +void TurnRotatingTileObjects(void) +{ + u8 i; + s32 puzzleTileStart; + struct EventObjectTemplate *eventObjects; + + if (sRotatingTilePuzzle == NULL) + return; + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + for (i = 0; i < sRotatingTilePuzzle->numObjects; i++) + { + s32 rotation; + s8 tileDifference; + u8 eventObjectId; + s16 x = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].x + 7; + s16 y = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + // NOTE: The following 2 assignments and if else could all be replaced with rotation = ROTATE_COUNTERCLOCKWISE + // For an object to be saved in sRotatingTilePuzzle->objects, it must have been on a colored arrow tile + // After the first assignment, tileDifference will always be a number [0-3] representing which arrow tile the object is on now (0: right, 1: down, 2: left, 3: up) + // prevPuzzleTileNum will similarly be a number [0-3] representing the arrow tile the object just moved from + // All the puzzles are oriented counter-clockwise and can only move 1 step at a time, so the difference between the current tile and the previous tile will always either be -1 or 3 (0-1, 1-2, 2-3, 3-0) + // Which means tileDifference will always either be -1 or 3 after the below subtraction, and rotation will always be ROTATE_COUNTERCLOCKWISE after the following conditionals + tileDifference = (u8)((metatile - puzzleTileStart) % 8); + tileDifference -= (sRotatingTilePuzzle->objects[i].prevPuzzleTileNum); + + // Always true, see above + if (tileDifference < 0 || tileDifference == 3) + { + // Always false, see above + if (tileDifference == -3) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_COUNTERCLOCKWISE; + } + else + { + if (tileDifference > 0) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_NONE; + } + + eventObjectId = GetEventObjectIdByLocalIdAndMap(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (eventObjectId != EVENT_OBJECTS_COUNT) + { + const u8 *movementScript; + u8 direction = gEventObjects[eventObjectId].facingDirection; + if (rotation == ROTATE_COUNTERCLOCKWISE) + { + switch (direction) + { + case DIR_EAST: + movementScript = RotatingTilePuzzle_Movement_FaceUp; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case DIR_SOUTH: + movementScript = RotatingTilePuzzle_Movement_FaceRight; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + case DIR_WEST: + movementScript = RotatingTilePuzzle_Movement_FaceDown; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case DIR_NORTH: + movementScript = RotatingTilePuzzle_Movement_FaceLeft; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + default: + continue; + } + ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + movementScript); + } + // Never reached + else if (rotation == ROTATE_CLOCKWISE) + { + switch (direction) + { + case DIR_EAST: + movementScript = RotatingTilePuzzle_Movement_FaceDown; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case DIR_SOUTH: + movementScript = RotatingTilePuzzle_Movement_FaceLeft; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + case DIR_WEST: + movementScript = RotatingTilePuzzle_Movement_FaceUp; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case DIR_NORTH: + movementScript = RotatingTilePuzzle_Movement_FaceRight; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + default: + continue; + } + ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + movementScript); + } + } + } +} + +static void SaveRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) +{ + sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].eventTemplateId = eventTemplateId; + sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].prevPuzzleTileNum = puzzleTileNum; + sRotatingTilePuzzle->numObjects++; +} + +// Functionally unused +static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) +{ + s8 tileDifference; + s32 rotation; + s32 puzzleTileStart; + u16 movementType; + struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + s16 x = eventObjects[eventTemplateId].x + 7; + s16 y = eventObjects[eventTemplateId].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + tileDifference = (u8)((metatile - puzzleTileStart) % 8); + tileDifference -= puzzleTileNum; + + if (tileDifference < 0 || tileDifference == 3) + rotation = ROTATE_COUNTERCLOCKWISE; + else if (tileDifference > 0 || tileDifference == -3) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_NONE; + + movementType = eventObjects[eventTemplateId].movementType; + if (rotation == ROTATE_COUNTERCLOCKWISE) + { + switch (movementType) + { + case MOVEMENT_TYPE_FACE_RIGHT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case MOVEMENT_TYPE_FACE_DOWN: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + case MOVEMENT_TYPE_FACE_LEFT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case MOVEMENT_TYPE_FACE_UP: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + default: + break; + } + } + else if (rotation == ROTATE_CLOCKWISE) + { + switch (movementType) + { + case MOVEMENT_TYPE_FACE_RIGHT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case MOVEMENT_TYPE_FACE_DOWN: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + case MOVEMENT_TYPE_FACE_LEFT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case MOVEMENT_TYPE_FACE_UP: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + default: + break; + } + } +} diff --git a/src/roulette.c b/src/roulette.c index 537d2f9c77..cddd7366a3 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -188,18 +188,18 @@ static void sub_8144A24(struct Sprite *); static void sub_8144E60(struct Sprite *); static void sub_8145294(struct Sprite *); -extern const u8 gUnknown_082A5B89[]; -extern const u8 gUnknown_082A5C13[]; -extern const u8 gUnknown_082A5BD7[]; -extern const u8 gUnknown_082A5BCB[]; -extern const u8 gUnknown_082A5BE0[]; -extern const u8 gUnknown_082A5BEF[]; -extern const u8 gUnknown_082A5C21[]; -extern const u8 gUnknown_082A5C61[]; -extern const u8 gUnknown_082A5C04[]; -extern const u8 gUnknown_082A5B12[]; -extern const u8 gUnknown_082A5B6B[]; -extern const u8 gUnknown_082A5B4E[]; +extern const u8 Roulette_Text_ControlsInstruction[]; +extern const u8 Roulette_Text_KeepPlaying[]; +extern const u8 Roulette_Text_Jackpot[]; +extern const u8 Roulette_Text_ItsAHit[]; +extern const u8 Roulette_Text_NothingDoing[]; +extern const u8 Roulette_Text_YouveWonXCoins[]; +extern const u8 Roulette_Text_BoardWillBeCleared[]; +extern const u8 Roulette_Text_CoinCaseIsFull[]; +extern const u8 Roulette_Text_NoCoinsLeft[]; +extern const u8 Roulette_Text_PlayMinimumWagerIsX[]; +extern const u8 Roulette_Text_SpecialRateTable[]; +extern const u8 Roulette_Text_NotEnoughCoins[]; static const u16 gUnknown_085B5BFC[] = INCBIN_U16("graphics/roulette/85B5BFC.gbapal"); static const u32 gUnknown_085B5DFC[] = INCBIN_U32("graphics/roulette/85B5DFC.bin.lz"); @@ -974,7 +974,7 @@ static void sub_81405CC(void) sub_81436D0(0); sub_81424FC(0); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5B89, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ControlsInstruction, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); gSpriteCoordOffsetX = -60; gSpriteCoordOffsetY = 0; @@ -1045,7 +1045,7 @@ static void sub_8140914(u8 taskId) { DisplayYesNoMenuDefaultYes(); DrawStdWindowFrame(gUnknown_0203AB8C, 0); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C13, 0, 1, TEXT_SPEED_FF, 0); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_KeepPlaying, 0, 1, TEXT_SPEED_FF, 0); CopyWindowToVram(gUnknown_0203AB8C, 3); DoYesNoFuncWithChoice(taskId, &gUnknown_085B6410); } @@ -1552,14 +1552,14 @@ static void sub_814189C(u8 taskId) { PlayFanfare(MUS_ME_B_BIG); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BD7, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_Jackpot, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); } else { PlayFanfare(MUS_ME_B_SMALL); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BCB, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ItsAHit, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); } break; @@ -1567,7 +1567,7 @@ static void sub_814189C(u8 taskId) default: m4aSongNumStart(SE_HAZURE); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BE0, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NothingDoing, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); break; } @@ -1609,7 +1609,7 @@ static void sub_8141984(u8 taskId) static void sub_8141A18(u8 taskId) { ConvertIntToDecimalStringN(gStringVar1, (gUnknown_0203AB88->var19 * gTasks[taskId].data[2]), STR_CONV_MODE_LEFT_ALIGN, 2); - StringExpandPlaceholders(gStringVar4, gUnknown_082A5BEF); + StringExpandPlaceholders(gStringVar4, Roulette_Text_YouveWonXCoins); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); @@ -1644,14 +1644,14 @@ static void sub_8141B58(u8 taskId) if (gTasks[taskId].data[6] == 6) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C21, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_BoardWillBeCleared, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, dp01t_12_3_battle_menu, 0xFFFF, 3); } else if (gTasks[taskId].data[13] == 9999) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140914, 0xFFFF, 0x3); } @@ -1663,7 +1663,7 @@ static void sub_8141B58(u8 taskId) else { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C04, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NoCoinsLeft, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140994, 0x3C, 0x3); } @@ -1688,7 +1688,7 @@ static void dp01t_12_3_battle_menu(u8 taskId) if (gTasks[taskId].data[13] == 9999) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140914, 0xFFFF, 3); } @@ -3121,7 +3121,7 @@ static void sub_81429F0(u8 taskId) { u32 temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)]; ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1); - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); @@ -3140,13 +3140,13 @@ static void Task_Roulette_0(u8 taskId) if ((gSpecialVar_0x8004 & 0x80) && (gSpecialVar_0x8004 & 1)) { DrawStdWindowFrame(0, FALSE); - AddTextPrinterParameterized(0, 1, gUnknown_082A5B6B, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 1, Roulette_Text_SpecialRateTable, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); gTasks[taskId].func = sub_81429F0; } else { - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); @@ -3155,7 +3155,7 @@ static void Task_Roulette_0(u8 taskId) } else { - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B4E); + StringExpandPlaceholders(gStringVar4, Roulette_Text_NotEnoughCoins); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); diff --git a/src/scrcmd.c b/src/scrcmd.c index 9861f9dae1..d97e3de476 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -27,13 +27,13 @@ #include "event_obj_lock.h" #include "menu.h" #include "money.h" -#include "mossdeep_gym.h" #include "mystery_event_script.h" #include "palette.h" #include "party_menu.h" #include "pokemon_storage_system.h" #include "random.h" #include "overworld.h" +#include "rotating_tile_puzzle.h" #include "rtc.h" #include "script.h" #include "script_menu.h" @@ -607,7 +607,7 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) bool8 ScrCmd_animateflash(struct ScriptContext *ctx) { - sub_80B009C(ScriptReadByte(ctx)); + AnimateFlash(ScriptReadByte(ctx)); ScriptContext1_Stop(); return TRUE; } @@ -815,7 +815,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warpD7(struct ScriptContext *ctx) +bool8 ScrCmd_warpmossdeepgym(struct ScriptContext *ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -824,7 +824,7 @@ bool8 ScrCmd_warpD7(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF87C(); + DoMossdeepGymWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -1930,9 +1930,9 @@ bool8 ScrCmd_setberrytree(struct ScriptContext *ctx) bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) { - u16 value = VarGet(ScriptReadHalfword(ctx)); + u16 newsKind = VarGet(ScriptReadHalfword(ctx)); - gSpecialVar_Result = GetPriceReduction(value); + gSpecialVar_Result = GetPriceReduction(newsKind); return FALSE; } @@ -2149,31 +2149,31 @@ bool8 ScrCmd_takecoins(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_mossdeepgym1(struct ScriptContext *ctx) +bool8 ScrCmd_moverotatingtileobjects(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); + u16 puzzleNumber = VarGet(ScriptReadHalfword(ctx)); - sMovingNpcId = MossdeepGym_MoveEvents(v1); + sMovingNpcId = MoveRotatingTileObjects(puzzleNumber); return FALSE; } -bool8 ScrCmd_mossdeepgym2(struct ScriptContext *ctx) +bool8 ScrCmd_turnrotatingtileobjects(struct ScriptContext *ctx) { - MossdeepGym_TurnEvents(); + TurnRotatingTileObjects(); return FALSE; } -bool8 ScrCmd_mossdeepgym3(struct ScriptContext *ctx) +bool8 ScrCmd_initrotatingtilepuzzle(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); + u16 isTrickHouse = VarGet(ScriptReadHalfword(ctx)); - InitMossdeepGymTiles(v1); + InitRotatingTilePuzzle(isTrickHouse); return FALSE; } -bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx) +bool8 ScrCmd_freerotatingtilepuzzle(struct ScriptContext *ctx) { - FinishMossdeepGymTiles(); + FreeRotatingTilePuzzle(); return FALSE; } @@ -2218,6 +2218,8 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) return FALSE; } +// TODO: Should be renamed. Name implies general usage, but its specifically for Wonder Card +// See GetSavedRamScriptIfValid, which is NULL if ValidateReceivedWonderCard returns FALSE bool8 ScrCmd_gotoram(struct ScriptContext *ctx) { const u8* v1 = GetSavedRamScriptIfValid(); diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index a80fe49ff4..f8206797b0 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -610,7 +610,7 @@ static bool8 CheckPartyMonHasHeldItem(u16 item) return FALSE; } -bool8 sub_80F9370(void) +bool8 DoesPartyHaveEnigmaBerry(void) { bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY); if (hasItem == TRUE) diff --git a/src/shop.c b/src/shop.c index ebbc2a847a..c9cd1919a5 100755 --- a/src/shop.c +++ b/src/shop.c @@ -38,6 +38,7 @@ #include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/tv.h" EWRAM_DATA struct MartInfo gMartInfo = {0}; EWRAM_DATA struct ShopData *gShopDataPtr = NULL; @@ -560,7 +561,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, s32 item, u8 y) { ConvertIntToDecimalStringN( gStringVar1, - ItemId_GetPrice(item) >> GetPriceReduction(1), + ItemId_GetPrice(item) >> GetPriceReduction(POKENEWS_SLATEPORT), STR_CONV_MODE_LEFT_ALIGN, 5); } @@ -932,7 +933,7 @@ static void Task_BuyMenu(u8 taskId) if (gMartInfo.martType == MART_TYPE_NORMAL) { - gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1)); + gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(POKENEWS_SLATEPORT)); } else { @@ -1011,7 +1012,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopDataPtr->maxQuantity) == TRUE) { - gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(1)) * tItemCount; + gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(POKENEWS_SLATEPORT)) * tItemCount; BuyMenuPrintItemQuantityAndPrice(taskId); } else diff --git a/src/start_menu.c b/src/start_menu.c index fcde176ac2..c24497d74f 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -570,7 +570,7 @@ static bool8 HandleStartMenuInput(void) PlaySE(SE_SELECT); if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenuPokedexCallback) { - if (GetNationalPokedexCount(0) == 0) + if (GetNationalPokedexCount(FLAG_GET_SEEN) == 0) return FALSE; } diff --git a/src/trade.c b/src/trade.c index 196d9659c1..bfbc241944 100644 --- a/src/trade.c +++ b/src/trade.c @@ -44,1359 +44,204 @@ #include "union_room.h" #include "util.h" #include "window.h" +#include "constants/contest.h" #include "constants/easy_chat.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/rgb.h" #include "constants/species.h" #include "constants/songs.h" -#include "constants/rgb.h" #define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) struct InGameTrade { - /*0x00*/ u8 name[11]; + /*0x00*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x0C*/ u16 species; - /*0x0E*/ u8 ivs[6]; - /*0x14*/ bool8 secondAbility; + /*0x0E*/ u8 ivs[NUM_STATS]; + /*0x14*/ u8 abilityNum; /*0x18*/ u32 otId; - /*0x1C*/ u8 stats[5]; + /*0x1C*/ u8 conditions[CONTEST_CATEGORIES_COUNT]; /*0x24*/ u32 personality; /*0x28*/ u16 heldItem; /*0x2A*/ u8 mailNum; /*0x2B*/ u8 otName[11]; /*0x36*/ u8 otGender; /*0x37*/ u8 sheen; - /*0x38*/ u16 playerSpecies; + /*0x38*/ u16 requestedSpecies; }; -static EWRAM_DATA u8 *gUnknown_02032184 = NULL; -static EWRAM_DATA u8 *gUnknown_02032188[14] = {NULL}; -EWRAM_DATA struct MailStruct gUnknown_020321C0[PARTY_SIZE] = {0}; -EWRAM_DATA u8 gUnknown_02032298[2] = {0}; +static EWRAM_DATA u8 *sMessageBoxAllocBuffer = NULL; + +// Bytes 0-2 are used for the player's name box +// Bytes 3-5 are used for the partner's name box +// Bytes 6-7 are used for the Cancel box +// Bytes 8-13 are used for the Choose a Pokemon box +static EWRAM_DATA u8 *sMessageBoxTileBuffers[14] = {NULL}; + +EWRAM_DATA struct MailStruct gTradeMail[PARTY_SIZE] = {0}; +EWRAM_DATA u8 gSelectedTradeMonPositions[2] = {0}; static EWRAM_DATA struct { - /*0x0000*/ u8 unk_0; - /*0x0001*/ u8 unk_1; + /*0x0000*/ u8 bg2hofs; + /*0x0001*/ u8 bg3hofs; /*0x0002*/ u8 filler_2[0x28 - 2]; - /*0x0028*/ u8 partyIcons[2][PARTY_SIZE]; - /*0x0034*/ u8 tradeMenuCursorSpriteIdx; - /*0x0035*/ u8 tradeMenuCursorPosition; + /*0x0028*/ u8 partySpriteIds[2][PARTY_SIZE]; + /*0x0034*/ u8 cursorSpriteIdx; + /*0x0035*/ u8 cursorPosition; /*0x0036*/ u8 partyCounts[2]; - /*0x0038*/ bool8 tradeMenuOptionsActive[12]; - /*0x0044*/ u8 unk_44; - /*0x0045*/ u8 unk_45[2][PARTY_SIZE]; - /*0x0051*/ u8 unk_51[2][PARTY_SIZE]; - /*0x005D*/ u8 unk_5D[2][PARTY_SIZE]; - /*0x0069*/ u8 unk_69; + /*0x0038*/ bool8 monPresent[PARTY_SIZE * 2]; + /*0x0044*/ bool8 neverRead_44; + /*0x0045*/ bool8 isLiveMon[2][PARTY_SIZE]; + /*0x0051*/ bool8 isEgg[2][PARTY_SIZE]; + /*0x005D*/ u8 hpBarLevels[2][PARTY_SIZE]; + /*0x0069*/ u8 bufferPartyState; /*0x006A*/ u8 filler_6A[0x6F - 0x6A]; - /*0x006F*/ u8 unk_6F; - /*0x0070*/ u8 unk_70; + /*0x006F*/ u8 tradeMenuFunc; + /*0x0070*/ u8 neverRead_70; /*0x0071*/ u8 filler_71; - /*0x0072*/ u16 unk_72; - /*0x0074*/ u8 unk_74[2]; - /*0x0076*/ u8 unk_76[2]; - /*0x0078*/ u8 unk_78; - /*0x0079*/ u8 unk_79; - /*0x007A*/ u8 unk_7A; - /*0x007B*/ u8 unk_7B; + /*0x0072*/ u16 bottomTextTileStart; + /*0x0074*/ u8 drawPartyState[2]; + /*0x0076*/ u8 selectedMonIdx[2]; + /*0x0078*/ u8 playerLinkFlagChoseAction; + /*0x0079*/ u8 partnerLinkFlagChoseAction; + /*0x007A*/ u8 playerLinkFlagStatus; + /*0x007B*/ u8 partnerLinkFlagStatus; /*0x007C*/ u8 filler_7C[0x7E - 0x7C]; - /*0x007E*/ u8 unk_7E; - /*0x007F*/ u8 filler_7F; + /*0x007E*/ u8 partnerCursorPosition; + /*0x007F*/ u8 unused_7F; /*0x0080*/ u16 linkData[20]; - /*0x00A8*/ u8 unk_A8; - /*0x00A9*/ u8 unk_A9[11]; + /*0x00A8*/ u8 timer; + /*0x00A9*/ u8 giftRibbons[11]; /*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; /*0x08D0*/ struct { - bool8 unk_0; - u16 unk_2; - u8 unk_4; - } unk_8D0[4]; + bool8 queued; + u16 queueDelay; + u8 actionId; + } queuedActions[4]; /*0x08F0*/ u16 tilemapBuffer[0x400]; -} *gUnknown_0203229C = {NULL}; +} *sTradeMenuData = {NULL}; static EWRAM_DATA struct { /*0x00*/ struct Pokemon mon; /*0x64*/ u32 timer; - /*0x68*/ u32 unk_68[2]; + /*0x68*/ u32 monPersonalities[2]; /*0x70*/ u8 filler_70[2]; - /*0x72*/ u8 unk_72; - /*0x73*/ u8 unk_73; + /*0x72*/ u8 playerLinkFlagFinishTrade; + /*0x73*/ u8 partnerLinkFlagFinishTrade; /*0x74*/ u16 linkData[10]; - /*0x88*/ u8 unk_88; - /*0x89*/ u8 unk_89; - /*0x8A*/ u16 unk_8A; - /*0x8C*/ u16 unk_8C; + /*0x88*/ u8 alwaysZero_88; + /*0x89*/ u8 alwaysZero_89; + /*0x8A*/ u16 linkTimeoutCounter; + /*0x8C*/ u16 neverRead_8C; /*0x8E*/ u8 pokePicSpriteIdxs[2]; - /*0x90*/ u8 unk_90; - /*0x91*/ u8 unk_91; - /*0x92*/ u8 unk_92; - /*0x93*/ u8 unk_93; + /*0x90*/ u8 unk_90; //sprite id + /*0x91*/ u8 unk_91; //sprite id + /*0x92*/ u8 unk_92; //sprite id + /*0x93*/ u8 sendTradeFinishState; /*0x94*/ u16 state; /*0x96*/ u8 filler_96[0xD2 - 0x96]; - /*0xD2*/ u8 unk_D2; - /*0xD3*/ u8 unk_D3; - /*0xD4*/ u16 unk_D4; - /*0xD6*/ u16 unk_D6; - /*0xD8*/ u16 unk_D8; - /*0xDA*/ u16 unk_DA; - /*0xDC*/ u16 unk_DC; - /*0xDE*/ u16 unk_DE; + /*0xD2*/ u8 pokeballSpriteId; + /*0xD3*/ u8 unk_D3; //sprite id + /*0xD4*/ u16 texX; + /*0xD6*/ u16 texY; + /*0xD8*/ u16 neverRead_D8; + /*0xDA*/ u16 neverRead_DA; + /*0xDC*/ u16 scrX; + /*0xDE*/ u16 scrY; /*0xE0*/ s16 bg1vofs; /*0xE2*/ s16 bg1hofs; /*0xE4*/ s16 bg2vofs; /*0xE6*/ s16 bg2hofs; - /*0xE8*/ u16 unk_E8; - /*0xEA*/ u16 unk_EA; - /*0xEC*/ u16 unk_EC; + /*0xE8*/ u16 sXY; + /*0xEA*/ u16 unk_EA; //sXY divisor + /*0xEC*/ u16 alpha; /*0xEE*/ bool8 isLinkTrade; - /*0xF0*/ u16 tradeSpecies[2]; + /*0xF0*/ u16 monSpecies[2]; /*0xF4*/ u16 cachedMapMusic; - /*0xF6*/ u8 unk_F6[3]; + /*0xF6*/ u8 textColors[3]; /*0xF9*/ u8 filler_F9; - /*0xFA*/ u8 unk_FA; - /*0xFB*/ u8 unk_FB; - /*0xFC*/ u8 unk_FC; - /*0xFD*/ u8 unk_FD; - /*0xFE*/ u8 unk_FE; -} *gUnknown_020322A0 = {NULL}; + /*0xFA*/ bool8 isCableTrade; + /*0xFB*/ u8 wirelessWinLeft; + /*0xFC*/ u8 wirelessWinTop; + /*0xFD*/ u8 wirelessWinRight; + /*0xFE*/ u8 wirelessWinBottom; +} *sTradeData = {NULL}; #if !defined(NONMATCHING) && MODERN #define static #endif -static bool32 sub_8077260(void); -static void sub_80773D0(void); -static void sub_807811C(void); -static void sub_807825C(void); -static void sub_80782B8(u8); -static void sub_8078388(void); -static bool8 shedinja_maker_maybe(void); -static void sub_8078C34(void); -static void sub_80795AC(void); -static void sub_807967C(u8); -static void sub_80796B4(u8); -static u8 sub_8079A3C(u8 *, u8, u8); -static void sub_8079AA4(u8 *, u8, u8); -static void sub_8079BE0(u8); -static void sub_8079C4C(u8, u8, u8, u8, u8, u8); -static void sub_8079E44(u8); -static void sub_8079F74(void); -static void sub_8079F88(u8); -static void sub_807A000(u8 taskId); -static void sub_807A024(u8 taskId); -static void sub_807A048(u16, u8); -static u32 sub_807A09C(void); -static void sub_807A0C4(void); -static void sub_807A19C(u8); -static bool8 sub_807A1F0(void); -static void sub_807A308(const u8 *, u8 *, u8); -static void sub_807A320(u8); -static void sub_807A468(u8); -static void sub_807A53C(void); -static void sub_807A5B0(void); -static u32 sub_807A5F4(struct Pokemon *, int, int); +static bool32 IsWirelessTrade(void); +static void CB2_CreateTradeMenu(void); +static void VBlankCB_TradeMenu(void); +static void CB2_TradeMenu(void); +static void LoadTradeBgGfx(u8); +static void SetTradePartyMonsVisible(void); +static bool8 BufferTradeParties(void); +static void CB1_SendOrReactToLinkTradeData(void); +static void CallTradeMenuFunc(void); +static void SetSelectedMon(u8); +static void DrawTradeMenuParty(u8); +static u8 GetMonNicknameWidth(u8 *, u8, u8); +static void BufferTradeMonMoves(u8 *, u8, u8); +static void PrintPartyNicknamesForTradeMenu(u8); +static void DrawTradeMenuPartyMonInfo(u8, u8, u8, u8, u8, u8); +static void DrawTradeMenuPartyInfo(u8); +static void PrintNicknamesForTradeMenu(void); +static void RedrawTradeMenuParty(u8); +static void Task_DrawSelectionSummary(u8 taskId); +static void Task_DrawSelectionTrade(u8 taskId); +static void QueueAction(u16, u8); +static u32 GetNumQueuedActions(void); +static void DoQueuedActions(void); +static void PrintTradeMessage(u8); +static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void); +static void DrawTextWindowAndBuffer6Bytes(const u8 *, u8 *, u8); +static void SetTradePartyLiveStatuses(u8); +static void GetTradePartyHPBarLevels(u8); +static void SetTradePartyHPBarSprites(void); +static void SaveTradeGiftRibbons(void); +static u32 CanTradeSelectedMon(struct Pokemon *, int, int); static void sub_807AA28(struct Sprite *sprite); static void sub_807AA7C(struct Sprite *sprite); static void sub_807AABC(struct Sprite *sprite); static void sub_807AAE0(struct Sprite *sprite); static void sub_807AB04(struct Sprite *sprite); -static void sub_807B170(void); -static void sub_807B60C(void); -static void sub_807B62C(u8); -static void sub_807BA94(void); -static void SetTradeSceneStrings(void); -static u8 sub_807BBC8(void); -static u8 sub_807BBEC(void); -static u8 sub_807CFC8(void); +static void InitTradeBgInternal(void); +static void CB2_UpdateInGameTrade(void); +static void SetTradeSequenceBgGpuRegs(u8); +static void LoadTradeSequenceSpriteSheetsAndPalettes(void); +static void BufferTradeSceneStrings(void); +static bool8 AnimateTradeSequence(void); +static bool8 AnimateTradeSequenceCable(void); +static bool8 AnimateTradeSequenceWireless(void); static void sub_807E55C(struct Sprite *sprite); static void sub_807E5D8(struct Sprite *sprite); static void sub_807E64C(struct Sprite *sprite); static void sub_807E6AC(struct Sprite *sprite); -static void sub_807E784(void); -static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); -static void sub_807EA2C(void); -static void sub_807EACC(void); -static void sub_807EB50(void); -static void c2_080543C4(void); -static void sub_807F110(u8); -static void sub_807F14C(void); -static void c3_08054588(u8); +static void BuffeInGameTradeMonName(void); +static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade); +static void CB2_UpdateLinkTrade(void); +static void CB2_TryFinishTrade(void); +static void CB2_SaveAndEndTrade(void); +static void CB2_FreeTradeData(void); +static void Task_InGameTrade(u8); +static void CheckPartnersMonForRibbons(void); +static void Task_AnimateWirelessSignal(u8); static void c3_0805465C(u8); static void sub_807F39C(u8); -static void sub_807F464(void); +static void CB2_SaveAndEndWirelessTrade(void); -static const u32 sUnref_0832C6A8[] = -{ - 0x00000F2C, - 0x00003D88, - 0x0000001C, - 0x00000024, - 0x00000064, - 0x00000528 -}; -static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); -static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); -static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); -static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); -static const u8 gText_EmptyString7[] = _(""); -static const u8 gText_ClrWhtHltTrspntShdwDrkGry[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); -const u8 gText_MaleSymbol4[] = _("♂"); -const u8 gText_FemaleSymbol4[] = _("♀"); -const u8 gText_GenderlessSymbol[] = _(""); -static const u8 gText_SpaceMove[] = _(" MOVE"); -static const u8 gText_NewLine3[] = _("\n"); -static const u8 gText_Slash2[] = _("/"); -static const u8 gText_Lv2[] = _("Lv. "); -static const u8 gText_ThreeDashes2[] = _("---"); -static const u8 gText_FourQuestionMarks[] = _("????"); -static const u8 gText_832DAE4[] = _(""); -static const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?"); -static const u8 gText_Cancel6[] = _("CANCEL"); -static const u8 gText_ChooseAPkmn[] = _("Choose a POKéMON."); -static const u8 gText_Summary3[] = _("SUMMARY"); -static const u8 gText_Trade2[] = _("TRADE"); -static const u8 gText_CancelTrade[] = _("Cancel trade?"); -static const u8 gJPText_832DB2E[] = _("Bボタン で もどります"); -static const u8 gText_Summary4[] = _("SUMMARY"); -static const u8 gText_Trade3[] = _("TRADE"); -static const u8 gText_CommunicationStandby6[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); -static const u8 gText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); -static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); -static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); -static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); +#include "data/trade.h" -static const struct OamData gOamData_832DC14 = -{ - .shape = SPRITE_SHAPE(32x16), - .size = SPRITE_SIZE(32x16), - .priority = 1 -}; - -static const struct OamData gOamData_832DC1C = -{ - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_832DC24[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC2C[] = -{ - ANIMCMD_FRAME(32, 5), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_832DC34[] = -{ - gSpriteAnim_832DC24, - gSpriteAnim_832DC2C -}; - -static const struct SpriteSheet gUnknown_0832DC3C = -{ - .data = gUnknown_08DDC6E4, - .size = 0x800, - .tag = 300 -}; - -static const struct SpritePalette gUnknown_0832DC44 = -{ - .data = gUnknown_08DDB444, - .tag = 2345 -}; - -static const union AnimCmd gSpriteAnim_832DC4C[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC54[] = -{ - ANIMCMD_FRAME(8, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC5C[] = -{ - ANIMCMD_FRAME(16, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC64[] = -{ - ANIMCMD_FRAME(24, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC6C[] = -{ - ANIMCMD_FRAME(32, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC74[] = -{ - ANIMCMD_FRAME(40, 5), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = -{ - gSpriteAnim_832DC4C, - gSpriteAnim_832DC54, - gSpriteAnim_832DC5C, - gSpriteAnim_832DC64, - gSpriteAnim_832DC6C, - gSpriteAnim_832DC74 -}; - -static const struct SpriteTemplate gSpriteTemplate_832DC94 = -{ - .tileTag = 300, - .paletteTag = 2345, - .oam = &gOamData_832DC1C, - .anims = gSpriteAnimTable_832DC34, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const struct SpriteTemplate gSpriteTemplate_832DCAC = -{ - .tileTag = 200, - .paletteTag = 4925, - .oam = &gOamData_832DC14, - .anims = gSpriteAnimTable_832DC7C, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); -static const struct SpritePalette gSpritePalette_TradeScreenText = -{ - .data = TradeScreenTextPalette, - .tag = 4925 -}; - -// This is used to determine the next mon to select when the D-Pad is -// pressed in a given direction. -// Note that the mons are laid out like this. -// 0-5 are the player's party and 6-11 are the trading partner's party. -// 12 is the cancel button. -// 0 1 6 7 -// 2 3 8 9 -// 4 5 10 11 -// 12 -static const u8 gTradeNextSelectedMonTable[][4][6] = -{ - { - {4, 2, 12, 12, 0, 0}, - {2, 4, 12, 12, 0, 0}, - {7, 6, 1, 0, 0, 0}, - {1, 6, 7, 0, 0, 0} - }, - { - {5, 3, 12, 12, 0, 0}, - {3, 5, 12, 12, 0, 0}, - {0, 7, 6, 1, 0, 0}, - {6, 7, 0, 1, 0, 0} - }, - { - {0, 0, 0, 0, 0, 0}, - {4, 0, 0, 0, 0, 0}, - {9, 8, 7, 6, 0, 0}, - {3, 1, 0, 0, 0, 0} - }, - { - {1, 1, 1, 1, 0, 0}, - {5, 1, 1, 1, 0, 0}, - {2, 9, 8, 7, 0, 0}, - {8, 9, 6, 6, 0, 0} - }, - { - {2, 2, 2, 2, 0, 0}, - {0, 0, 0, 0, 0, 0}, - {11, 10, 9, 8, 7, 6}, - {5, 3, 1, 0, 0, 0} - }, - { - {3, 3, 3, 3, 0, 0}, - {1, 1, 1, 1, 0, 0}, - {4, 4, 4, 4, 0, 0}, - {10, 8, 6, 0, 0, 0} - }, - { - {10, 8, 12, 0, 0, 0}, - {8, 10, 12, 0, 0, 0}, - {1, 0, 0, 0, 0, 0}, - {7, 0, 1, 0, 0, 0} - }, - { - {12, 0, 0, 0, 0, 0}, - {9, 12, 0, 0, 0, 0}, - {6, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0} - }, - { - {6, 0, 0, 0, 0, 0}, - {10, 6, 0, 0, 0, 0}, - {3, 2, 1, 0, 0, 0}, - {9, 7, 0, 0, 0, 0} - }, - { - {7, 0, 0, 0, 0, 0}, - {11, 12, 0, 0, 0, 0}, - {8, 0, 0, 0, 0, 0}, - {2, 1, 0, 0, 0, 0} - }, - { - {8, 0, 0, 0, 0, 0}, - {6, 0, 0, 0, 0, 0}, - {5, 4, 3, 2, 1, 0}, - {11, 9, 7, 0, 0, 0} - }, - { - {9, 0, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0}, - {10, 0, 0, 0, 0, 0}, - {4, 2, 0, 0, 0, 0} - }, - { - {11, 9, 7, 6, 0, 0}, - {7, 6, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0} - } -}; - -static const u8 gTradeMonSpriteCoords[][2] = -{ - // Your party - {1, 5 }, - {8, 5 }, - {1, 10}, - {8, 10}, - {1, 15}, - {8, 15}, - - // Friend's party - {16, 5 }, - {23, 5 }, - {16, 10}, - {23, 10}, - {16, 15}, - {23, 15}, - - {23, 18} // CANCEL -}; - -static const u8 gTradeLevelDisplayCoords[][6][2] = -{ - { - // Your party - {5, 4}, - {12, 4}, - {5, 9}, - {12, 9}, - {5, 14}, - {12, 14}, - }, - { - // Friend's party - {20, 4}, - {27, 4}, - {20, 9}, - {27, 9}, - {20, 14}, - {27, 14} - } -}; - -static const u8 gTradeMonBoxCoords[][6][2] = -{ - { - // Your party - {1, 3}, - {8, 3}, - {1, 8}, - {8, 8}, - {1, 13}, - {8, 13}, - }, - { - // Friend's party - {16, 3}, - {23, 3}, - {16, 8}, - {23, 8}, - {16, 13}, - {23, 13} - } -}; - -static const u8 sUnref_0832DE6E[] = -{ - 0x00, 0x0e, - 0x0f, 0x1d, - 0x03, 0x05, - 0x03, 0x07, - 0x12, 0x05, - 0x12, 0x07, - 0x08, 0x07, - 0x16, 0x0c, - 0x08, 0x07, - 0x16, 0x0c, - 0x06, 0x07, - 0x18, 0x0c, - 0x06, 0x07, - 0x18, 0x0c, - 0x08, 0x07, - 0x16, 0x0c, - 0x07, 0x07, - 0x17, 0x0c -}; - -static const u8 *const gUnknown_0832DE94[] = -{ - gText_Cancel6, - gText_ChooseAPkmn, - gText_Summary3, - gText_Trade2, - gText_CancelTrade, - gJPText_832DB2E -}; - -static const struct MenuAction gUnknown_0832DEAC[] = -{ - {gText_Summary4, sub_807A000}, - {gText_Trade3, sub_807A024} -}; - -static const u8 *const gUnknown_0832DEBC[] = { - gText_CommunicationStandby6, - gText_TheTradeHasBeenCanceled, - gText_YourOnlyPkmnForBattle, - gText_OnlyPkmnForBattle, - gText_WaitingForYourFriend, - gText_YourFriendWantsToTrade, - gText_PkmnCantBeTradedNow, - gText_EggCantBeTradedNow, - gText_OtherTrainersPkmnCantBeTraded -}; - -static const u8 gUnknown_0832DEE0[] = { 0, 1, 2 }; - -static const struct BgTemplate gUnknown_0832DEE4[] = -{ - { - .bg = 0, - .charBaseIndex = 2, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0 - }, - { - .bg = 2, - .charBaseIndex = 0, - .mapBaseIndex = 6, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 3, - .charBaseIndex = 0, - .mapBaseIndex = 7, - .screenSize = 0, - .paletteMode = 0, - .priority = 3, - .baseTile = 0 - }, -}; - -static const struct WindowTemplate gUnknown_0832DEF4[] = -{ - { - .bg = 0, - .tilemapLeft = 4, - .tilemapTop = 7, - .width = 22, - .height = 4, - .paletteNum = 15, - .baseBlock = 30 - }, - { - .bg = 0, - .tilemapLeft = 19, - .tilemapTop = 15, - .width = 10, - .height = 4, - .paletteNum = 15, - .baseBlock = 118 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 158 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 174 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 190 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 206 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 222 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 238 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 254 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 270 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 286 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 302 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 318 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 334 - }, - { - .bg = 0, - .tilemapLeft = 2, - .tilemapTop = 5, - .width = 14, - .height = 2, - .paletteNum = 13, - .baseBlock = 350 - }, - { - .bg = 0, - .tilemapLeft = 3, - .tilemapTop = 8, - .width = 11, - .height = 8, - .paletteNum = 15, - .baseBlock = 378 - }, - { - .bg = 0, - .tilemapLeft = 17, - .tilemapTop = 5, - .width = 14, - .height = 2, - .paletteNum = 15, - .baseBlock = 466 - }, - { - .bg = 0, - .tilemapLeft = 18, - .tilemapTop = 8, - .width = 11, - .height = 8, - .paletteNum = 15, - .baseBlock = 494 - }, - DUMMY_WIN_TEMPLATE, -}; - -static const struct WindowTemplate gUnknown_0832DF8C = -{ - .bg = 0, - .tilemapLeft = 23, - .tilemapTop = 13, - .width = 5, - .height = 4, - .paletteNum = 15, - .baseBlock = 582 -}; - -static const u8 gJPText_Shedinja[] = _("ヌケニン"); -static const u8 gUnknown_0832DF99[][2] = -{ - {4, 3}, - {19, 3}, - {0, 0} -}; - -static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal"); -static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp"); -static const u8 gUnknown_832E5C0[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); -static const u16 gUnknown_0832FFC0[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); -static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); -static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); -static const u16 gUnknown_083308E0[] = INCBIN_U16("graphics/trade/gba.gbapal"); -static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal"); -static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal"); -static const u16 gUnknown_08330940[] = INCBIN_U16("graphics/trade/misc.gbapal"); -static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp"); -static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp"); -static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); -static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); -const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); -static const u8 gUnknown_08332F60[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); -static const u8 sFiller_08335760[64] = {}; -static const u8 gUnknown_083357A0[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); -static const u8 gUnknown_083358A0[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); -static const u16 gUnknown_083359A0[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); -static const u16 gUnknown_083369A0[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); -static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); -static const u16 gUnknown_08337AA0[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); -static const u16 gUnknown_08337CA0[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); -static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal"); -static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); -static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); - -static const struct OamData gOamData_8338C44 = -{ - .affineMode = 1, - .shape = SPRITE_SHAPE(16x16), - .size = SPRITE_SIZE(16x16) -}; - -static const union AnimCmd gSpriteAnim_8338C4C[] = -{ - ANIMCMD_FRAME( 0, 3), - ANIMCMD_FRAME( 4, 3), - ANIMCMD_FRAME( 8, 3), - ANIMCMD_FRAME(12, 3), - ANIMCMD_FRAME(16, 3), - ANIMCMD_FRAME(20, 3), - ANIMCMD_FRAME(24, 3), - ANIMCMD_FRAME(28, 3), - ANIMCMD_FRAME(32, 3), - ANIMCMD_FRAME(36, 3), - ANIMCMD_FRAME(40, 3), - ANIMCMD_FRAME(44, 3), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME( 0, 3), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338C88[] = -{ - ANIMCMD_FRAME( 0, 3), - ANIMCMD_FRAME( 4, 3), - ANIMCMD_FRAME( 8, 3), - ANIMCMD_FRAME(12, 3), - ANIMCMD_FRAME(16, 3), - ANIMCMD_FRAME(20, 3), - ANIMCMD_FRAME(24, 3), - ANIMCMD_FRAME(28, 3), - ANIMCMD_FRAME(32, 3), - ANIMCMD_FRAME(36, 3), - ANIMCMD_FRAME(40, 3), - ANIMCMD_FRAME(44, 3), - ANIMCMD_LOOP(2), - ANIMCMD_FRAME( 0, 3), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338C88[] = -{ - gSpriteAnim_8338C4C, - gSpriteAnim_8338C88 -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = -{ - AFFINEANIMCMD_FRAME(0, 0, 0, 1), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = -{ - AFFINEANIMCMD_FRAME(-8, 0, 0, 20), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = -{ - AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), - AFFINEANIMCMD_FRAME( 0, 0, 0, 5), - AFFINEANIMCMD_FRAME( 8, 0, 0, 20), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = -{ - gSpriteAffineAnim_8338CCC, - gSpriteAffineAnim_8338CDC, - gSpriteAffineAnim_8338CEC -}; - -static const struct SpriteSheet gUnknown_08338D18 = -{ - .data = gTradeBallTiles, - .size = 0x600, - .tag = 5557 -}; - -static const struct SpritePalette gUnknown_08338D20 = -{ - .data = gTradeBallPalette, - .tag = 5558 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338D28 = -{ - .tileTag = 5557, - .paletteTag = 5558, - .oam = &gOamData_8338C44, - .anims = gSpriteAnimTable_8338C88, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_8338D0C, - .callback = sub_807E55C -}; - -static const struct OamData gOamData_8338D40 = -{ - .affineMode = 1, - .objMode = 1, - .shape = SPRITE_SHAPE(32x32), - .size = SPRITE_SIZE(32x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338D48[] = -{ - ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338D50[] = -{ - gSpriteAnim_8338D48 -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = -{ - AFFINEANIMCMD_FRAME(-10, -10, 0, 5), - AFFINEANIMCMD_FRAME(10, 10, 0, 5), - AFFINEANIMCMD_JUMP(0) -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = -{ - gSpriteAffineAnim_8338D54 -}; - -static const struct SpriteSheet gUnknown_08338D70 = -{ - .data = gTradeGlow1Tiles, - .size = 0x200, - .tag = 5550 -}; - -static const struct SpritePalette gUnknown_08338D78 = -{ - .data = gUnknown_08330940, - .tag = 5551 -}; - -static const struct SpritePalette gUnknown_08338D80 = -{ - .data = gUnknown_083308E0, - .tag = 5555 -}; - -static const struct SpriteTemplate gUnknown_08338D88 = -{ - .tileTag = 5550, - .paletteTag = 5551, - .oam = &gOamData_8338D40, - .anims = gSpriteAnimTable_8338D50, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_8338D6C, - .callback = sub_807AA28 -}; - -static const struct OamData gOamData_8338DA0 = -{ - .shape = SPRITE_SHAPE(16x32), - .size = SPRITE_SIZE(16x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338DA8[] = -{ - ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338DB0[] = -{ - ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = -{ - gSpriteAnim_8338DA8, - gSpriteAnim_8338DB0 -}; - -static const struct SpriteSheet gUnknown_08338DC0 = -{ - .data = gTradeGlow2Tiles, - .size = 0x300, - .tag = 5552 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338DC8 = -{ - .tileTag = 5552, - .paletteTag = 5551, - .oam = &gOamData_8338DA0, - .anims = gSpriteAnimTable_8338DB8, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AA7C -}; - -static const struct OamData gOamData_8338DE0 = -{ - .shape = SPRITE_SHAPE(16x32), - .size = SPRITE_SIZE(16x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338DE8[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = -{ - gSpriteAnim_8338DE8 -}; - -static const struct SpriteSheet gUnknown_08338DF4 = -{ - .data = gTradeCableEndTiles, - .size = 0x100, - .tag = 5554 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338DFC = -{ - .tileTag = 5554, - .paletteTag = 5555, - .oam = &gOamData_8338DE0, - .anims = gSpriteAnimTable_8338DF0, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AABC -}; - -static const struct OamData gOamData_8338E14 = -{ - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338E1C[] = -{ - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_LOOP(8), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338E40[] = -{ - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_LOOP(2), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338E64[] = -{ - gSpriteAnim_8338E1C -}; - -static const union AnimCmd *const gSpriteAnimTable_8338E68[] = -{ - gSpriteAnim_8338E40 -}; - -static const struct SpriteSheet gUnknown_08338E6C = -{ - .data = gTradeGBAScreenTiles, - .size = 0x1000, - .tag = 5556 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338E74 = -{ - .tileTag = 5556, - .paletteTag = 5555, - .oam = &gOamData_8338E14, - .anims = gSpriteAnimTable_8338E64, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AB04 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338E8C = -{ - .tileTag = 5556, - .paletteTag = 5555, - .oam = &gOamData_8338E14, - .anims = gSpriteAnimTable_8338E68, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AB04 -}; - -static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); - -static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = -{ - AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), - AFFINEANIMCMD_JUMP(0) -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = -{ - gSpriteAffineAnim_8338EBC -}; - -static const struct InGameTrade gIngameTrades[] = -{ - { - _("DOTS"), SPECIES_SEEDOT, - 5, 4, 5, 4, 4, 4, - TRUE, 38726, - 30, 5, 5, 5, 5, - 0x84, - ITEM_CHESTO_BERRY, -1, - _("KOBE"), MALE, 10, - SPECIES_RALTS - }, { - _("PLUSES"), SPECIES_PLUSLE, - 4, 4, 4, 5, 5, 4, - FALSE, 73996, - 5, 5, 30, 5, 5, - 0x6F, - ITEM_WOOD_MAIL, 0, - _("ROMAN"), MALE, 10, - SPECIES_VOLBEAT - }, { - _("SEASOR"), - SPECIES_HORSEA, - 5, 4, 4, 4, 5, 4, - FALSE, 46285, - 5, 5, 5, 5, 30, - 0x7F, - ITEM_WAVE_MAIL, 1, - _("SKYLAR"), MALE, 10, - SPECIES_BAGON - }, { - _("MEOWOW"), - SPECIES_MEOWTH, - 4, 5, 4, 5, 4, 4, - FALSE, 91481, - 5, 5, 5, 30, 5, - 0x8B, - ITEM_RETRO_MAIL, 2, - _("ISIS"), FEMALE, 10, - SPECIES_SKITTY - } -}; - -static const u16 gIngameTradeMail[][10] = -{ - { - EC_WORD_BE, - EC_WORD_NICE, - EC_WORD_TO, - EC_POKEMON(PLUSLE), - EC_WORD_EXCL, - EC_POKEMON(VOLBEAT), - EC_WORD_WILL, - EC_WORD_BE, - EC_WORD_FANTASTIC, - 0 - }, { - EC_WORD_I, - EC_WORD_WILL, - EC_WORD_MAKE, - EC_POKEMON(BAGON), - EC_WORD_TOUGH, - EC_WORD_PLEASE, - EC_WORD_TRAIN, - EC_POKEMON(HORSEA), - EC_WORD_WELL, - 0 - }, { - EC_WORD_THANK_YOU, - EC_WORD_FOR, - EC_POKEMON(SKITTY), - EC_POKEMON2(MEOWTH), - EC_WORD_CRIES, - EC_WORD_IN, - EC_WORD_A, - EC_WORD_CUTE, - EC_WORD_WAY, - 0 - } -}; - -static const struct WindowTemplate gUnknown_08338FFC[] = -{ - { - .bg = 0, - .tilemapLeft = 2, - .tilemapTop = 15, - .width = 26, - .height = 4, - .paletteNum = 0, - .baseBlock = 64 - }, - DUMMY_WIN_TEMPLATE -}; - -const struct WindowTemplate gUnknown_0833900C = -{ - .bg = 0, - .tilemapLeft = 21, - .tilemapTop = 9, - .width = 5, - .height = 4, - .paletteNum = 15, - .baseBlock = 188 -}; - -static const struct BgTemplate gUnknown_08339014[] = -{ - { - .bg = 0, - .charBaseIndex = 3, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 2, - .charBaseIndex = 1, - .mapBaseIndex = 18, - .screenSize = 1, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 3, - .charBaseIndex = 0, - .mapBaseIndex = 6, - .screenSize = 0, - .paletteMode = 0, - .priority = 3, - .baseTile = 0 - }, -}; - -static const s8 gTradeBallVerticalVelocityTable[] = -{ - 0, 0, 1, 0, - 1, 0, 1, 1, - 1, 1, 2, 2, - 2, 2, 3, 3, - 3, 3, 4, 4, - 4, 4, -4, -4, - -4, -3, -3, -3, - -3, -2, -2, -2, - -2, -1, -1, -1, - -1, 0, -1, 0, - -1, 0, 0, 0, - 0, 0, 1, 0, - 1, 0, 1, 1, - 1, 1, 2, 2, - 2, 2, 3, 3, - 3, 3, 4, 4, - 4, 4, -4, -3, - -3, -2, -2, -1, - -1, -1, 0, -1, - 0, 0, 0, 0, - 0, 0, 1, 0, - 1, 1, 1, 2, - 2, 3, 3, 4, - -4, -3, -2, -1, - -1, -1, 0, 0, - 0, 0, 1, 0, - 1, 1, 2, 3 -}; - -static const u8 gUnknown_08339090[][2] = -{ - {0, 1}, - {1, 1}, - {2, 1}, - {3, 1}, - {4, 1}, - {5, 2}, - {6, 2}, - {7, 2}, - {8, 2}, - {9, 2}, - {10, 3}, - {11, 3}, - {12, 3}, - {13, 4}, - {14, 5}, - {15, 2}, - {0, 1}, - {1, 1}, - {2, 1}, - {3, 1}, - {4, 1}, - {5, 2}, - {6, 2}, - {7, 2}, - {8, 2}, - {9, 2}, - {10, 3}, - {11, 3}, - {12, 3}, - {13, 4}, - {14, 5}, - {16, 1}, - {16, -1}, - {0, 0} -}; - -static bool8 sub_8077170(const void *a0, u32 a1) +static bool8 SendLinkData(const void *linkData, u32 size) { if (gUnknown_02022C2C == 29) { - rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, a0, a1); + rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, linkData, size); return TRUE; } else { - return SendBlock(0, a0, a1); + return SendBlock(0, linkData, size); } } @@ -1410,13 +255,9 @@ static bool32 sub_80771BC(void) if (gUnknown_02022C2C == 29) { if (gUnknown_03007880[sub_800E87C(gUnknown_03004140.unk_00)]->unk_0 == 0) - { return TRUE; - } else - { return FALSE; - } } else { @@ -1429,40 +270,28 @@ static u32 _GetBlockReceivedStatus(void) return GetBlockReceivedStatus(); } -static void sub_8077210(void) +static void TradeResetReceivedFlags(void) { - if (sub_8077260()) - { + if (IsWirelessTrade()) rfu_clearSlot(12, gUnknown_03004140.unk_00); - } else - { ResetBlockReceivedFlags(); - } } -static void sub_8077234(u32 a0) +static void TradeResetReceivedFlag(u32 who) { - if (sub_8077260()) - { + if (IsWirelessTrade()) rfu_clearSlot(12, gUnknown_03004140.unk_00); - } else - { - ResetBlockReceivedFlag(a0); - } + ResetBlockReceivedFlag(who); } -static bool32 sub_8077260(void) +static bool32 IsWirelessTrade(void) { if (gWirelessCommType && gUnknown_02022C2C == 29) - { return TRUE; - } else - { return FALSE; - } } static void sub_8077288(u8 unused) @@ -1475,7 +304,7 @@ static bool32 _IsLinkTaskFinished(void) return IsLinkTaskFinished(); } -static void sub_80772A4(void) +static void InitTradeMenu(void) { ResetSpriteData(); FreeAllSpritePalettes(); @@ -1484,14 +313,14 @@ static void sub_80772A4(void) gPaletteFade.bufferTransferDisabled = TRUE; - SetVBlankCallback(sub_807811C); + SetVBlankCallback(VBlankCB_TradeMenu); LoadPalette(gUnknown_0860F074, 0xF0, 20); LoadPalette(gUnknown_0860F074, 0xD0, 20); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0832DEE4, ARRAY_COUNT(gUnknown_0832DEE4)); - SetBgTilemapBuffer(1, gUnknown_0203229C->tilemapBuffer); + InitBgsFromTemplates(0, sTradeMenuBgTemplates, ARRAY_COUNT(sTradeMenuBgTemplates)); + SetBgTilemapBuffer(1, sTradeMenuData->tilemapBuffer); - if (InitWindows(gUnknown_0832DEF4)) + if (InitWindows(sTradeMenuWindowTemplates)) { u32 i; @@ -1507,25 +336,25 @@ static void sub_80772A4(void) LoadUserWindowBorderGfx_(0, 20, 0xC0); LoadUserWindowBorderGfx(2, 1, 0xE0); LoadMonIconPalettes(); - gUnknown_0203229C->unk_69 = 0; - gUnknown_0203229C->unk_6F = 0; - gUnknown_0203229C->unk_70 = 0; - gUnknown_0203229C->unk_74[0] = 0; - gUnknown_0203229C->unk_74[1] = 0; - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->bufferPartyState = 0; + sTradeMenuData->tradeMenuFunc = 0; + sTradeMenuData->neverRead_70 = 0; + sTradeMenuData->drawPartyState[TRADE_PLAYER] = 0; + sTradeMenuData->drawPartyState[TRADE_PARTNER] = 0; + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->timer = 0; } } -void sub_80773AC(void) +void CB2_StartCreateTradeMenu(void) { - SetMainCallback2(sub_80773D0); + SetMainCallback2(CB2_CreateTradeMenu); gMain.callback1 = NULL; gEnemyPartyCount = 0; } -static void sub_80773D0(void) +static void CB2_CreateTradeMenu(void) { int i; struct SpriteTemplate temp; @@ -1535,13 +364,13 @@ static void sub_80773D0(void) switch (gMain.state) { case 0: - gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C)); - sub_80772A4(); - gUnknown_02032184 = AllocZeroed(0xE00); + sTradeMenuData = AllocZeroed(sizeof(*sTradeMenuData)); + InitTradeMenu(); + sMessageBoxAllocBuffer = AllocZeroed(ARRAY_COUNT(sMessageBoxTileBuffers) * 256); - for (i = 0; i < 14; i++) + for (i = 0; i < (int)ARRAY_COUNT(sMessageBoxTileBuffers); i++) { - gUnknown_02032188[i] = &gUnknown_02032184[i * 256]; + sMessageBoxTileBuffers[i] = &sMessageBoxAllocBuffer[i * 256]; } gMain.state++; @@ -1551,16 +380,16 @@ static void sub_80773D0(void) for (i = 0; i < PARTY_SIZE; i++) { - CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); } - sub_807A19C(0); + PrintTradeMessage(TRADE_MSG_STANDBY); ShowBg(0); if (!gReceivedRemoteLinkPlayers) { - gLinkType = 0x1122; - gUnknown_0203229C->unk_A8 = 0; + gLinkType = LINKTYPE_0x1122; + sTradeMenuData->timer = 0; if (gWirelessCommType) { @@ -1581,10 +410,10 @@ static void sub_80773D0(void) } break; case 2: - gUnknown_0203229C->unk_A8++; - if (gUnknown_0203229C->unk_A8 > 11) + sTradeMenuData->timer++; + if (sTradeMenuData->timer > 11) { - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; gMain.state++; } break; @@ -1593,7 +422,7 @@ static void sub_80773D0(void) { if (IsLinkMaster()) { - if (++gUnknown_0203229C->unk_A8 > 30) + if (++sTradeMenuData->timer > 30) { CheckShouldAdvanceLinkState(); gMain.state++; @@ -1611,7 +440,7 @@ static void sub_80773D0(void) sub_8011BD0(); CalculatePlayerPartyCount(); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; if (gWirelessCommType) { sub_801048C(TRUE); @@ -1622,7 +451,7 @@ static void sub_80773D0(void) case 5: if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { gMain.state++; LoadWirelessStatusIndicatorSpriteGfx(); @@ -1635,9 +464,9 @@ static void sub_80773D0(void) } break; case 6: - if (shedinja_maker_maybe()) + if (BufferTradeParties()) { - sub_807A5B0(); + SaveTradeGiftRibbons(); gMain.state++; } break; @@ -1645,28 +474,28 @@ static void sub_80773D0(void) CalculateEnemyPartyCount(); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_BLDCNT, 0); - gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; - gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount; + sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount; - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), - sub_80D3014, - (gTradeMonSpriteCoords[i][0] * 8) + 14, - (gTradeMonSpriteCoords[i][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + UpdateTradeMonIconFrame, + (sTradeMonSpriteCoords[i][0] * 8) + 14, + (sTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); } - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, - (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + UpdateTradeMonIconFrame, + (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -1675,24 +504,24 @@ static void sub_80773D0(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER); gMain.state++; break; case 10: - sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3); id = GetMultiplayerId(); - sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); - sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); - sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3); + DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 11: - if (sub_807A1F0()) + if (LoadTradeMenuSpriteSheetsAndPalettes()) gMain.state++; break; case 12: @@ -1728,31 +557,31 @@ static void sub_80773D0(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2); - gUnknown_0203229C->tradeMenuCursorPosition = 0; + sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[0][0] * 8 + 32, sTradeMonSpriteCoords[0][1] * 8, 2); + sTradeMenuData->cursorPosition = 0; gMain.state++; rbox_fill_rectangle(0); break; case 14: - sub_807A320(0); - sub_8079BE0(0); - gUnknown_0203229C->unk_0 = 0; - gUnknown_0203229C->unk_1 = 0; - sub_8078388(); + SetTradePartyLiveStatuses(TRADE_PLAYER); + PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); + sTradeMenuData->bg2hofs = 0; + sTradeMenuData->bg3hofs = 0; + SetTradePartyMonsVisible(); gMain.state++; PlayBGM(MUS_P_SCHOOL); break; case 15: - sub_807A320(1); - sub_8079BE0(1); + SetTradePartyLiveStatuses(TRADE_PARTNER); + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); gMain.state++; // fallthrough case 16: - sub_80782B8(0); + LoadTradeBgGfx(0); gMain.state++; break; case 17: - sub_80782B8(1); + LoadTradeBgGfx(1); gMain.state++; break; case 18: @@ -1761,23 +590,23 @@ static void sub_80773D0(void) break; case 19: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); - sub_80782B8(2); + LoadTradeBgGfx(2); gMain.state++; break; case 20: - sub_807A468(0); + GetTradePartyHPBarLevels(TRADE_PLAYER); gMain.state++; break; case 21: - sub_807A468(1); - sub_807A53C(); + GetTradePartyHPBarLevels(TRADE_PARTNER); + SetTradePartyHPBarSprites(); gMain.state++; break; case 22: if (!gPaletteFade.active) { - gMain.callback1 = sub_8078C34; - SetMainCallback2(sub_807825C); + gMain.callback1 = CB1_SendOrReactToLinkTradeData; + SetMainCallback2(CB2_TradeMenu); } break; } @@ -1789,7 +618,7 @@ static void sub_80773D0(void) UpdatePaletteFade(); } -static void sub_8077B74(void) +static void CB2_ReturnToTradeMenu(void) { int i; struct SpriteTemplate temp; @@ -1799,12 +628,12 @@ static void sub_8077B74(void) switch (gMain.state) { case 0: - sub_80772A4(); + InitTradeMenu(); gMain.state++; break; case 1: gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 2: gMain.state++; @@ -1829,31 +658,31 @@ static void sub_8077B74(void) break; case 7: CalculateEnemyPartyCount(); - gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; - gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount; + sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount; ClearWindowTilemap(0); - sub_8079BE0(0); - sub_8079BE0(1); + PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i][0] * 8) + 14, - (gTradeMonSpriteCoords[i][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + UpdateTradeMonIconFrame, + (sTradeMonSpriteCoords[i][0] * 8) + 14, + (sTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); } - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, - (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + UpdateTradeMonIconFrame, + (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -1862,24 +691,24 @@ static void sub_8077B74(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER); gMain.state++; break; case 10: - sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3); id = GetMultiplayerId(); - sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); - sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); - sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3); + DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 11: - if (sub_807A1F0()) + if (LoadTradeMenuSpriteSheetsAndPalettes()) gMain.state++; break; case 12: @@ -1915,23 +744,23 @@ static void sub_8077B74(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) - gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex; + if (sTradeMenuData->cursorPosition < PARTY_SIZE) + sTradeMenuData->cursorPosition = gLastViewedMonIndex; else - gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex + PARTY_SIZE; + sTradeMenuData->cursorPosition = gLastViewedMonIndex + PARTY_SIZE; - gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2); + sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][0] * 8 + 32, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][1] * 8, 2); gMain.state = 16; break; case 16: - sub_80782B8(0); + LoadTradeBgGfx(0); gMain.state++; break; case 17: - sub_80782B8(1); - gUnknown_0203229C->unk_0 = 0; - gUnknown_0203229C->unk_1 = 0; - sub_8078388(); + LoadTradeBgGfx(1); + sTradeMenuData->bg2hofs = 0; + sTradeMenuData->bg3hofs = 0; + SetTradePartyMonsVisible(); gMain.state++; break; case 18: @@ -1942,20 +771,20 @@ static void sub_8077B74(void) break; case 19: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); - sub_80782B8(2); + LoadTradeBgGfx(2); gMain.state++; break; case 20: gMain.state++; break; case 21: - sub_807A53C(); + SetTradePartyHPBarSprites(); gMain.state++; break; case 22: if (!gPaletteFade.active) { - SetMainCallback2(sub_807825C); + SetMainCallback2(CB2_TradeMenu); } break; } @@ -1966,81 +795,81 @@ static void sub_8077B74(void) UpdatePaletteFade(); } -static void sub_807811C(void) +static void VBlankCB_TradeMenu(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_8078130(void) +static void LinkTradeFadeOut(void) { - if (++gUnknown_0203229C->unk_A8 > 15) + if (++sTradeMenuData->timer > 15) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 10; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE; } } -static void sub_807816C(void) +static void LinkTradeWaitForFade(void) { if (!gPaletteFade.active) { - gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition; - gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; + gSelectedTradeMonPositions[TRADE_PLAYER] = sTradeMenuData->cursorPosition; + gSelectedTradeMonPositions[TRADE_PARTNER] = sTradeMenuData->partnerCursorPosition; if (gWirelessCommType) { - gUnknown_0203229C->unk_6F = 16; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE; } else { sub_800ABF4(32); - gUnknown_0203229C->unk_6F = 13; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE; } } } -static void sub_80781C8(void) +static void SetLinkTradeCallbacks(void) { - gMain.savedCallback = sub_80773AC; + gMain.savedCallback = CB2_StartCreateTradeMenu; + // Wireless Link Trade if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { - Free(gUnknown_02032184); + Free(sMessageBoxAllocBuffer); FreeAllWindowBuffers(); - Free(gUnknown_0203229C); + Free(sTradeMenuData); gMain.callback1 = NULL; DestroyWirelessStatusIndicatorSprite(); - SetMainCallback2(sub_807AE50); + SetMainCallback2(CB2_LinkTrade); } } + // Cable Link Trade else { if (!gReceivedRemoteLinkPlayers) { - Free(gUnknown_02032184); + Free(sMessageBoxAllocBuffer); FreeAllWindowBuffers(); - Free(gUnknown_0203229C); + Free(sTradeMenuData); gMain.callback1 = NULL; - SetMainCallback2(sub_807AE50); + SetMainCallback2(CB2_LinkTrade); } } } -static void sub_807825C(void) +static void CB2_TradeMenu(void) { - u8 temp; + CallTradeMenuFunc(); + DoQueuedActions(); + DrawTradeMenuParty(TRADE_PLAYER); + DrawTradeMenuParty(TRADE_PARTNER); - sub_80795AC(); - sub_807A0C4(); - sub_80796B4(0); - sub_80796B4(1); - - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++); - SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--); + SetGpuReg(REG_OFFSET_BG2HOFS, sTradeMenuData->bg2hofs++); + SetGpuReg(REG_OFFSET_BG3HOFS, sTradeMenuData->bg3hofs--); RunTextPrintersAndIsPrinter0Active(); RunTasks(); @@ -2049,22 +878,22 @@ static void sub_807825C(void) UpdatePaletteFade(); } -static void sub_80782B8(u8 a0) +static void LoadTradeBgGfx(u8 state) { int i; - switch (a0) + switch (state) { case 0: - LoadPalette(gUnknown_08DDB3E4, 0, 0x60); - LoadBgTiles(1, gUnknown_08DDB464, 0x1280, 0); + LoadPalette(gTradeMenu_Pal, 0, 0x60); + LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0); CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDCF04, 0, 0, 32, 20, 0); - LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0); + LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0); break; case 1: - LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0); - sub_8079E44(0); - sub_8079E44(1); + LoadBgTilemap(3, sTradeStripesBG3Tilemap, 0x800, 0); + DrawTradeMenuPartyInfo(TRADE_PLAYER); + DrawTradeMenuPartyInfo(TRADE_PARTNER); CopyBgTilemapBufferToVram(1); break; case 2: @@ -2080,34 +909,34 @@ static void sub_80782B8(u8 a0) } } -static void sub_8078388(void) +static void SetTradePartyMonsVisible(void) { int i; for (i = 0; i < PARTY_SIZE; i++) { - if (i < gUnknown_0203229C->partyCounts[0]) + if (i < sTradeMenuData->partyCounts[TRADE_PLAYER]) { - gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE; - gUnknown_0203229C->tradeMenuOptionsActive[i] = TRUE; + gSprites[sTradeMenuData->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE; + sTradeMenuData->monPresent[i] = TRUE; } else { - gUnknown_0203229C->tradeMenuOptionsActive[i] = FALSE; + sTradeMenuData->monPresent[i] = FALSE; } - if (i < gUnknown_0203229C->partyCounts[1]) + if (i < sTradeMenuData->partyCounts[TRADE_PARTNER]) { - gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE; - gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = TRUE; + gSprites[sTradeMenuData->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE; + sTradeMenuData->monPresent[i + PARTY_SIZE] = TRUE; } else { - gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = FALSE; + sTradeMenuData->monPresent[i + PARTY_SIZE] = FALSE; } } - gUnknown_0203229C->unk_44 = 1; + sTradeMenuData->neverRead_44 = TRUE; } // why not just use memcpy? @@ -2123,30 +952,30 @@ static void Trade_Memcpy(void *dataDest, const void *dataSrc, u32 count) } } -static bool8 shedinja_maker_maybe(void) +static bool8 BufferTradeParties(void) { u8 id = GetMultiplayerId(); int i; struct Pokemon *mon; - switch (gUnknown_0203229C->unk_69) + switch (sTradeMenuData->bufferPartyState) { case 0: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); - gUnknown_0203229C->unk_69++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->bufferPartyState++; + sTradeMenuData->timer = 0; break; case 1: if (sub_80771BC()) { if (_GetBlockReceivedStatus() == 0) { - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; } else { - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } } break; @@ -2155,90 +984,90 @@ static bool8 shedinja_maker_maybe(void) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 4: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon)); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 5: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 7: if (id == 0) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 8: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 9: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 11: if (id == 0) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 12: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 13: Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 15: if (id == 0) { sub_80771AC(3); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 16: if (_GetBlockReceivedStatus() == 3) { - Trade_Memcpy(gUnknown_020321C0, gBlockRecvBuffer[id ^ 1], 216); - sub_8077210(); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(gTradeMail, gBlockRecvBuffer[id ^ 1], 216); + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 17: - Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, ARRAY_COUNT(sTradeMenuData->giftRibbons)); + sTradeMenuData->bufferPartyState++; break; case 19: if (id == 0) { sub_80771AC(4); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 20: if (_GetBlockReceivedStatus() == 3) { - Trade_Memcpy(gUnknown_0203229C->unk_A9, gBlockRecvBuffer[id ^ 1], 11); - sub_8077210(); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(sTradeMenuData->giftRibbons, gBlockRecvBuffer[id ^ 1], ARRAY_COUNT(sTradeMenuData->giftRibbons)); + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 21: @@ -2253,7 +1082,7 @@ static bool8 shedinja_maker_maybe(void) { GetMonData(mon, MON_DATA_NICKNAME, name); - if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja)) + if (!StringCompareWithoutExtCtrlCodes(name, sJPText_Shedinja)) { SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); } @@ -2261,189 +1090,198 @@ static bool8 shedinja_maker_maybe(void) } } return TRUE; + // Delay until next state case 2: case 6: case 10: case 14: case 18: - gUnknown_0203229C->unk_A8++; - if (gUnknown_0203229C->unk_A8 > 10) + sTradeMenuData->timer++; + if (sTradeMenuData->timer > 10) { - gUnknown_0203229C->unk_A8 = 0; - gUnknown_0203229C->unk_69++; + sTradeMenuData->timer = 0; + sTradeMenuData->bufferPartyState++; } break; } return FALSE; } -static void sub_80787B8(void) +static void PrintAndBufferIsThisTradeOkay(void) { - sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); + DrawTextWindowAndBuffer6Bytes(sText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24); } -static void sub_80787E0(u8 a0, u8 a1) +// mpId is unused +static void UpdateLinkTradeFlags(u8 mpId, u8 status) { - if (a1 & 1) + if (status & 1) { switch (gBlockRecvBuffer[0][0]) { - case 0xEEAA: - gUnknown_0203229C->unk_78 = 2; + case LINKCMD_REQUEST_CANCEL: + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_CANCEL; break; - case 0xAABB: - gUnknown_0203229C->unk_78 = 1; + case LINKCMD_READY_TO_TRADE: + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE; break; - case 0xBBBB: - gUnknown_0203229C->unk_7A = 1; + case LINKCMD_INIT_BLOCK: + sTradeMenuData->playerLinkFlagStatus = INITIATE_TRADE; break; - case 0xBBCC: - gUnknown_0203229C->unk_7A = 2; + case LINKCMD_READY_CANCEL_TRADE: + sTradeMenuData->playerLinkFlagStatus = CANCEL_TRADE; break; } - sub_8077234(0); + TradeResetReceivedFlag(0); } - if (a1 & 2) + if (status & 2) { switch (gBlockRecvBuffer[1][0]) { - case 0xEEAA: - gUnknown_0203229C->unk_79 = 2; + case LINKCMD_REQUEST_CANCEL: + sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_CANCEL; break; - case 0xAABB: - gUnknown_0203229C->unk_7E = gBlockRecvBuffer[1][1] + 6; - gUnknown_0203229C->unk_79 = 1; + case LINKCMD_READY_TO_TRADE: + sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[1][1] + 6; + sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_TRADE; break; - case 0xBBBB: - gUnknown_0203229C->unk_7B = 1; + case LINKCMD_INIT_BLOCK: + sTradeMenuData->partnerLinkFlagStatus = INITIATE_TRADE; break; - case 0xBBCC: - gUnknown_0203229C->unk_7B = 2; + case LINKCMD_READY_CANCEL_TRADE: + sTradeMenuData->partnerLinkFlagStatus = CANCEL_TRADE; break; } - sub_8077234(1); + TradeResetReceivedFlag(1); } } -static void sub_8078900(u8 a0, u8 a1) +// mpId is unused +static void ReactToLinkTradeData(u8 mpId, u8 status) { - if (a1 & 1) + if (status & 1) { switch (gBlockRecvBuffer[0][0]) { - case 0xEEBB: + case LINKCMD_CANCEL_TRADE: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sub_807A19C(4); - gUnknown_0203229C->unk_6F = 11; + PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1; break; - case 0xEECC: - sub_807A19C(5); - gUnknown_0203229C->unk_6F = 8; + case LINKCMD_0xEECC: + PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 0xDDDD: - gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6; + case LINKCMD_SET_MONS_TO_TRADE: + sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[0][1] + 6; rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); - sub_807967C(gUnknown_0203229C->unk_7E); - gUnknown_0203229C->unk_6F = 7; + SetSelectedMon(sTradeMenuData->cursorPosition); + SetSelectedMon(sTradeMenuData->partnerCursorPosition); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT; break; - case 0xCCDD: + case LINKCMD_START_TRADE: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 10; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE; break; - case 0xDDEE: - sub_807A19C(1); - gUnknown_0203229C->unk_6F = 8; + case LINKCMD_0xDDEE: + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - sub_8077234(0); + TradeResetReceivedFlag(0); } - if (a1 & 2) - sub_8077234(1); + if (status & 2) + TradeResetReceivedFlag(1); } -static void sub_80789FC(void) +static void QueueLinkTradeData(void) { - if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) + if (sTradeMenuData->playerLinkFlagChoseAction && sTradeMenuData->partnerLinkFlagChoseAction) { - if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1) + if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE) { - gUnknown_0203229C->unk_6F = 6; - gUnknown_0203229C->linkData[0] = 0xDDDD; - gUnknown_0203229C->linkData[1] = gUnknown_0203229C->tradeMenuCursorPosition; - sub_807A048(5, 0); - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_BOTH_MONS_SELECTED; + sTradeMenuData->linkData[0] = LINKCMD_SET_MONS_TO_TRADE; + sTradeMenuData->linkData[1] = sTradeMenuData->cursorPosition; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; } - else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL) { - sub_807A19C(1); - gUnknown_0203229C->linkData[0] = 0xEECC; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->linkData[0] = LINKCMD_0xEECC; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE) { - sub_807A19C(5); - gUnknown_0203229C->linkData[0] = 0xDDEE; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE); + sTradeMenuData->linkData[0] = LINKCMD_0xDDEE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL) { - gUnknown_0203229C->linkData[0] = 0xEEBB; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); + sTradeMenuData->linkData[0] = LINKCMD_CANCEL_TRADE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 11; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1; } } - if (gUnknown_0203229C->unk_7A && gUnknown_0203229C->unk_7B) + if (sTradeMenuData->playerLinkFlagStatus && sTradeMenuData->partnerLinkFlagStatus) { - if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1) + if (sTradeMenuData->playerLinkFlagStatus == INITIATE_TRADE + && sTradeMenuData->partnerLinkFlagStatus == INITIATE_TRADE) { - gUnknown_0203229C->linkData[0] = 0xCCDD; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_6F = 9; + sTradeMenuData->linkData[0] = LINKCMD_START_TRADE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_FADE_OUT; } - if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2) + if (sTradeMenuData->playerLinkFlagStatus == CANCEL_TRADE + || sTradeMenuData->partnerLinkFlagStatus == CANCEL_TRADE) { - sub_807A19C(1); - gUnknown_0203229C->linkData[0] = 0xDDEE; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->linkData[0] = LINKCMD_0xDDEE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } } } -static void sub_8078BFC(u16 *a0, u16 a1, u16 a2) +static void _SetLinkData(u16 *linkData, u16 linkCmd, u16 cursorPosition) { - a0[0] = a1; - a0[1] = a2; - sub_807A048(5, 0); + linkData[0] = linkCmd; + linkData[1] = cursorPosition; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); } -static void sub_8078C10(u16 a0, u16 a1) +static void SetLinkData(u16 linkCmd, u16 cursorPosition) { - sub_8078BFC(gUnknown_0203229C->linkData, a0, a1); + _SetLinkData(sTradeMenuData->linkData, linkCmd, cursorPosition); } -static void sub_8078C34(void) +static void CB1_SendOrReactToLinkTradeData(void) { u8 mpId = GetMultiplayerId(); u8 status; @@ -2451,25 +1289,25 @@ static void sub_8078C34(void) if ((status = _GetBlockReceivedStatus())) { if (mpId == 0) - sub_80787E0(mpId, status); + UpdateLinkTradeFlags(mpId, status); else - sub_8078900(mpId, status); + ReactToLinkTradeData(mpId, status); } if (mpId == 0) - sub_80789FC(); + QueueLinkTradeData(); } -static u8 sub_8078C6C(u8 oldPosition, u8 direction) +static u8 GetNewTradeMenuPosition(u8 oldPosition, u8 direction) { int i; u8 newPosition = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (gUnknown_0203229C->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) + if (sTradeMenuData->monPresent[sTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) { - newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i]; + newPosition = sTradeNextSelectedMonTable[oldPosition][direction][i]; break; } } @@ -2477,258 +1315,247 @@ static u8 sub_8078C6C(u8 oldPosition, u8 direction) return newPosition; } -static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) +static void TradeMenuMoveCursor(u8 *cursorPosition, u8 direction) { - u8 newPosition = sub_8078C6C(*tradeMenuCursorPosition, direction); + u8 newPosition = GetNewTradeMenuPosition(*cursorPosition, direction); - if (newPosition == 12) // CANCEL + if (newPosition == (PARTY_SIZE * 2)) // CANCEL { - StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = 160; + StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 1); + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = 224; + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = 160; } else { - StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8; + StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 0); + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32; + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = sTradeMonSpriteCoords[newPosition][1] * 8; } - if (*tradeMenuCursorPosition != newPosition) + if (*cursorPosition != newPosition) { PlaySE(SE_SELECT); } - *tradeMenuCursorPosition = newPosition; + *cursorPosition = newPosition; } -static void sub_8078D78(void) +static void SetReadyToTrade(void) { - sub_807A19C(0); - gUnknown_0203229C->unk_6F = 100; + PrintTradeMessage(TRADE_MSG_STANDBY); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; if (GetMultiplayerId() == 1) - { - sub_8078C10(0xAABB, gUnknown_0203229C->tradeMenuCursorPosition); - } + SetLinkData(LINKCMD_READY_TO_TRADE, sTradeMenuData->cursorPosition); else - { - gUnknown_0203229C->unk_78 = 1; - } + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE; } -static void sub_8078DBC(void) +static void TradeMenuProcessInput(void) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 0); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 0); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 1); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 1); } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 2); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 2); } else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 3); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 3); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0203229C->tradeMenuCursorPosition < 6) + // Cursor is in player's party + if (sTradeMenuData->cursorPosition < PARTY_SIZE) { DrawTextBorderOuter(1, 1, 14); FillWindowPixelBuffer(1, PIXEL_FILL(1)); - PrintMenuTable(1, 2, gUnknown_0832DEAC); + PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0); PutWindowTilemap(1); CopyWindowToVram(1, 3); - gUnknown_0203229C->unk_6F = 1; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SELECTED_MON; } - else if (gUnknown_0203229C->tradeMenuCursorPosition < 12) + // Cursor is in partner's party + else if (sTradeMenuData->cursorPosition < PARTY_SIZE * 2) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 2; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY; } - else if (gUnknown_0203229C->tradeMenuCursorPosition == 12) + // Cursor is on Cancel + else if (sTradeMenuData->cursorPosition == PARTY_SIZE * 2) { - CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); - gUnknown_0203229C->unk_6F = 4; - sub_807A308(gUnknown_0832DE94[4], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_PROMPT; + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CANCEL_TRADE], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24); } } } -static void sub_8078EF8(void) +static void TradeMenuChooseMon(void) { - sub_8079F74(); - gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; - sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + PrintNicknamesForTradeMenu(); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU; + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE; + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24); } -static void sub_8078F50(void) +static void TradeMenuProcessInput_SelectedMon(void) { switch (Menu_ProcessInputNoWrap()) { - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_8078EF8(); + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + TradeMenuChooseMon(); + break; + case MENU_NOTHING_CHOSEN: + break; + case 0: // Summary + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY; + break; + case 1: // Trade + switch (CanTradeSelectedMon(gPlayerParty, gPlayerPartyCount, sTradeMenuData->cursorPosition)) + { + case CAN_TRADE_MON: + SetReadyToTrade(); + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE; break; - case MENU_NOTHING_CHOSEN: + case CANT_TRADE_LAST_MON: + QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 2; + case CANT_TRADE_NATIONAL: + case CANT_TRADE_INVALID_MON: + QueueAction(QUEUE_DELAY_MSG, QUEUE_MON_CANT_BE_TRADED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 1: - switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->tradeMenuCursorPosition)) - { - case 0: - sub_8078D78(); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; - break; - case 1: - sub_807A048(3, 3); - gUnknown_0203229C->unk_6F = 8; - break; - case 2: - case 4: - sub_807A048(3, 6); - gUnknown_0203229C->unk_6F = 8; - break; - case 3: - case 5: - sub_807A048(3, 7); - gUnknown_0203229C->unk_6F = 8; - break; - } + case CANT_TRADE_EGG: + case CANT_TRADE_EGG2: + QueueAction(QUEUE_DELAY_MSG, QUEUE_EGG_CANT_BE_TRADED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; + } + break; } } -static void sub_8079034(void) +static void ChooseMonAfterButtonPress(void) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { PlaySE(SE_SELECT); - sub_8078EF8(); + TradeMenuChooseMon(); } } -static void sub_807905C(void) +static void TradeMenuShowMonSummaryScreen(void) { if (!gPaletteFade.active) { - if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) - { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); - } + // Player's party + if (sTradeMenuData->cursorPosition < PARTY_SIZE) + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, sTradeMenuData->cursorPosition, sTradeMenuData->partyCounts[TRADE_PLAYER] - 1, CB2_ReturnToTradeMenu); + // Partner's party else - { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->tradeMenuCursorPosition - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); - } + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, sTradeMenuData->cursorPosition - PARTY_SIZE, sTradeMenuData->partyCounts[TRADE_PARTNER] - 1, CB2_ReturnToTradeMenu); FreeAllWindowBuffers(); } } -static u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) +static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 playerMonIdx, u8 partnerMonIdx) { int i; - u16 species; - u8 res = 0; + u16 partnerSpecies; + u8 hasLiveMon = 0; - for (i = 0; i < a1; i++) + // Make sure mon to be traded isn't player's last alive mon + for (i = 0; i < playerPartyCount; i++) { - if (a2 != i) - { - res += a0[i]; - } - } - - a3 %= PARTY_SIZE; - species = GetMonData(&gEnemyParty[a3], MON_DATA_SPECIES); - - if (species == SPECIES_DEOXYS || species == SPECIES_MEW) - { - if (!GetMonData(&gEnemyParty[a3], MON_DATA_OBEDIENCE)) - { - return 2; - } + if (playerMonIdx != i) + hasLiveMon += aliveMons[i]; + } + partnerMonIdx %= PARTY_SIZE; + partnerSpecies = GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_SPECIES); + + // Partner cant trade illegitimate Deoxys or Mew + if (partnerSpecies == SPECIES_DEOXYS || partnerSpecies == SPECIES_MEW) + { + if (!GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_OBEDIENCE)) + return PARTNER_MON_INVALID; } + // Partner cant trade Egg or non-Hoenn mon if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { - if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species)) - { - return 2; - } + if (sTradeMenuData->isEgg[TRADE_PARTNER][partnerMonIdx] || !IsSpeciesInHoennDex(partnerSpecies)) + return PARTNER_MON_INVALID; } - if (res) - { - res = 1; - } + if (hasLiveMon) + hasLiveMon = BOTH_MONS_VALID; - return res; + return hasLiveMon; //PLAYER_MON_INVALID or BOTH_MONS_VALID } -static bool32 sub_8079174(void) +// Returns TRUE if the partner's selected mon is invalid, FALSE otherwise +static bool32 CheckMonsBeforeTrade(void) { int i; - u8 arr[12]; + u8 aliveMons[PARTY_SIZE * 2]; - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { - arr[i] = gUnknown_0203229C->unk_45[0][i]; + aliveMons[i] = sTradeMenuData->isLiveMon[TRADE_PLAYER][i]; } - switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->unk_7E)) + switch (CheckValidityOfTradeMons(aliveMons, sTradeMenuData->partyCounts[TRADE_PLAYER], sTradeMenuData->cursorPosition, sTradeMenuData->partnerCursorPosition)) { - case 0: - sub_807A048(3, 3); - sub_8078C10(0xBBCC, 0); - break; - case 1: - sub_807A048(3, 1); - sub_8078C10(0xBBBB, 0); - break; - case 2: - sub_807A048(3, 8); - return TRUE; + case PLAYER_MON_INVALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2); + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + break; + case BOTH_MONS_VALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY); + SetLinkData(LINKCMD_INIT_BLOCK, 0); + break; + case PARTNER_MON_INVALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_FRIENDS_MON_CANT_BE_TRADED); + return TRUE; } return FALSE; } -static void sub_8079218(void) +static void ConfirmOrCancelTrade(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - if (!sub_8079174()) - { - gUnknown_0203229C->unk_6F = 100; - } - else - { - gUnknown_0203229C->unk_6F = 17; - } - PutWindowTilemap(17); - break; - case 1: - case MENU_B_PRESSED: - sub_807A048(3, 1); - if (sub_80771BC()) - sub_8078C10(0xBBCC, 0); - gUnknown_0203229C->unk_6F = 100; - PutWindowTilemap(17); - break; + case 0: // Confirm Trade + if (!CheckMonsBeforeTrade()) + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + else + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_PARTNER_MON_INVALID; + + PutWindowTilemap(17); + break; + case 1: // Cancel Trade + case MENU_B_PRESSED: + QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY); + if (sub_80771BC()) + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + PutWindowTilemap(17); + break; } } @@ -2736,65 +1563,66 @@ static void sub_807929C(void) { int i; - for (i = 0; i < gUnknown_0203229C->partyCounts[1] - 4; i++) + for (i = 0; i < sTradeMenuData->partyCounts[1] - 4; i++) { PutWindowTilemap(i + 12); CopyWindowToVram(i + 12, 1); } } -static void sub_80792E4(void) +static void CancelTradeYesNo(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - sub_807A19C(4); - sub_8078C10(0xEEAA, 0); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; - gUnknown_0203229C->unk_6F = 100; - sub_807929C(); - break; - case 1: - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_8078EF8(); - break; + case 0: // YES, Cancel + PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND); + SetLinkData(LINKCMD_REQUEST_CANCEL, 0); + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + sub_807929C(); + break; + case 1: // NO, Continue + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + TradeMenuChooseMon(); + break; } } -static void sub_807935C(void) +static void SetBothSelectedMons(void) { if (GetMultiplayerId() == 0) { rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); - sub_807967C(gUnknown_0203229C->unk_7E); + SetSelectedMon(sTradeMenuData->cursorPosition); + SetSelectedMon(sTradeMenuData->partnerCursorPosition); } - gUnknown_0203229C->unk_6F = 7; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT; } -static void sub_8079398(void) +static void ConfirmTradePrompt(void) { - if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5) + if (sTradeMenuData->drawPartyState[TRADE_PLAYER] == DRAW_PARTY_FINISH + && sTradeMenuData->drawPartyState[TRADE_PARTNER] == DRAW_PARTY_FINISH) { - sub_80787B8(); - gUnknown_0203229C->unk_6F = 14; + PrintAndBufferIsThisTradeOkay(); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_DELAY_TRADE_CONFIRM; } } -static void Wait2SecondsAndCreateYesNoMenu(void) +static void DelayTradeConfirmation(void) { - gUnknown_0203229C->unk_A8++; + sTradeMenuData->timer++; - if (gUnknown_0203229C->unk_A8 > 120) + if (sTradeMenuData->timer > 120) { - CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); - gUnknown_0203229C->unk_A8 = 0; - gUnknown_0203229C->unk_6F = 3; + CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0); + sTradeMenuData->timer = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE; } } -static void sub_8079408(void) +static void RedrawTradeMenuAfterPressA(void) { int i; @@ -2810,14 +1638,14 @@ static void sub_8079408(void) rbox_fill_rectangle(i + 14); } - sub_8079F88(0); - sub_8079F88(1); - gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; + RedrawTradeMenuParty(TRADE_PLAYER); + RedrawTradeMenuParty(TRADE_PARTNER); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU; + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE; } } -static void sub_8079490(void) +static void CancelTrade_1(void) { if (!gPaletteFade.active) { @@ -2830,18 +1658,18 @@ static void sub_8079490(void) sub_800ABF4(12); } - gUnknown_0203229C->unk_6F = 12; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_2; } } -static void sub_80794CC(void) +static void CancelTrade_2(void) { if (gWirelessCommType) { - if (sub_80771BC() && sub_807A09C() == 0) + if (sub_80771BC() && GetNumQueuedActions() == 0) { - Free(gUnknown_02032184); - Free(gUnknown_0203229C); + Free(sMessageBoxAllocBuffer); + Free(sTradeMenuData); FreeAllWindowBuffers(); DestroyWirelessStatusIndicatorSprite(); SetMainCallback2(CB2_ReturnToFieldFromMultiplayer); @@ -2851,177 +1679,183 @@ static void sub_80794CC(void) { if (!gReceivedRemoteLinkPlayers) { - Free(gUnknown_02032184); - Free(gUnknown_0203229C); + Free(sMessageBoxAllocBuffer); + Free(sTradeMenuData); FreeAllWindowBuffers(); SetMainCallback2(CB2_ReturnToFieldFromMultiplayer); } } } -static void sub_8079550(void) +static void LinkTradeWaitForQueue(void) { - if (!sub_801048C(FALSE) && sub_807A09C() == 0) + if (!sub_801048C(FALSE) && GetNumQueuedActions() == 0) { sub_800ADF8(); - gUnknown_0203229C->unk_6F = 13; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE; } } -static void sub_807957C(void) +static void PartnersMonWasInvalid(void) { if (gMain.newKeys & A_BUTTON) { - sub_8078C10(0xBBCC, 0); - gUnknown_0203229C->unk_6F = 100; + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; } } -static void sub_80795AC(void) +static void CallTradeMenuFunc(void) { - switch (gUnknown_0203229C->unk_6F) + switch (sTradeMenuData->tradeMenuFunc) { - case 0: - sub_8078DBC(); - break; - case 1: - sub_8078F50(); - break; - case 2: - sub_807905C(); - break; - case 3: - sub_8079218(); - break; - case 4: - sub_80792E4(); - break; - case 6: - sub_807935C(); - break; - case 7: - sub_8079398(); - break; - case 8: - sub_8079408(); - break; - case 9: - sub_8078130(); - break; - case 10: - sub_807816C(); - break; - case 11: - sub_8079490(); - break; - case 12: - sub_80794CC(); - break; - case 13: - sub_80781C8(); - break; - case 14: - Wait2SecondsAndCreateYesNoMenu(); - break; - case 15: - sub_8079034(); - break; - case 16: - sub_8079550(); - break; - case 17: - sub_807957C(); - break; + case TRADEMENUFUNC_MAIN_MENU: + TradeMenuProcessInput(); + break; + case TRADEMENUFUNC_SELECTED_MON: + TradeMenuProcessInput_SelectedMon(); + break; + case TRADEMENUFUNC_SHOW_MON_SUMMARY: + TradeMenuShowMonSummaryScreen(); + break; + case TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE: + ConfirmOrCancelTrade(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_PROMPT: + CancelTradeYesNo(); + break; + case TRADEMENUFUNC_BOTH_MONS_SELECTED: + SetBothSelectedMons(); + break; + case TRADEMENUFUNC_CONFIRM_TRADE_PROMPT: + ConfirmTradePrompt(); + break; + case TRADEMENUFUNC_REDRAW_MAIN_MENU: + RedrawTradeMenuAfterPressA(); + break; + case TRADEMENUFUNC_LINK_TRADE_FADE_OUT: + LinkTradeFadeOut(); + break; + case TRADEMENUFUNC_LINK_TRADE_WAIT_FADE: + LinkTradeWaitForFade(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_1: + CancelTrade_1(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_2: + CancelTrade_2(); + break; + case TRADEMENUFUNC_START_LINK_TRADE: + SetLinkTradeCallbacks(); + break; + case TRADEMENUFUNC_DELAY_TRADE_CONFIRM: + DelayTradeConfirmation(); + break; + case TRADEMENUFUNC_UNUSED_15: + ChooseMonAfterButtonPress(); + break; + case TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE: + LinkTradeWaitForQueue(); + break; + case TRADEMENUFUNC_PARTNER_MON_INVALID: + PartnersMonWasInvalid(); + break; + //case TRADEMENUFUNC_STANDBY: is nop } } -static void sub_807967C(u8 a0) +static void SetSelectedMon(u8 cursorPosition) { - u8 whichParty = a0 / PARTY_SIZE; + //cursorPosition 0-5 are the player's mons, 6-11 are the partner's + u8 whichParty = cursorPosition / PARTY_SIZE; - if (gUnknown_0203229C->unk_74[whichParty] == 0) + if (sTradeMenuData->drawPartyState[whichParty] == 0) { - gUnknown_0203229C->unk_74[whichParty] = 1; - gUnknown_0203229C->unk_76[whichParty] = a0; + sTradeMenuData->drawPartyState[whichParty] = 1; + sTradeMenuData->selectedMonIdx[whichParty] = cursorPosition; } } -static void sub_80796B4(u8 a0) +static void DrawTradeMenuParty(u8 whichParty) { s8 nameStringWidth; u8 nickname[20]; u8 movesString[56]; u8 i; u8 partyIdx; - u8 whichParty; - u8 monIdx = gUnknown_0203229C->unk_76[a0]; + u8 selectedMonParty; + u8 selectedMonIdx = sTradeMenuData->selectedMonIdx[whichParty]; - whichParty = 1; - if (gUnknown_0203229C->unk_76[a0] < PARTY_SIZE) - whichParty = 0; - partyIdx = monIdx % PARTY_SIZE; + selectedMonParty = TRADE_PARTNER; + if (sTradeMenuData->selectedMonIdx[whichParty] < PARTY_SIZE) + selectedMonParty = TRADE_PLAYER; + partyIdx = selectedMonIdx % PARTY_SIZE; nameStringWidth = 0; - switch (gUnknown_0203229C->unk_74[a0]) + switch (sTradeMenuData->drawPartyState[whichParty]) { case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - gSprites[gUnknown_0203229C->partyIcons[0][i + (whichParty * PARTY_SIZE)]].invisible = TRUE; + gSprites[sTradeMenuData->partySpriteIds[0][i + (selectedMonParty * PARTY_SIZE)]].invisible = TRUE; } for (i = 0; i < 6; i++) { - ClearWindowTilemap(i + (a0 * 6 + 2)); + ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2)); } - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], sub_80D3014); - gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]); - CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].invisible = FALSE; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[0] = 20; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]], UpdateTradeMonIconFrame); + sTradeMenuData->drawPartyState[whichParty]++; + TradeMenuBouncePartySprites(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]]); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(0); - if (whichParty == 0) - sub_8079F74(); + if (selectedMonParty == TRADE_PLAYER) + PrintNicknamesForTradeMenu(); break; case 2: - if (gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].callback == sub_80D3014) - gUnknown_0203229C->unk_74[a0] = 3; + if (gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].callback == UpdateTradeMonIconFrame) + sTradeMenuData->drawPartyState[whichParty] = 3; break; case 3: - CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradeMovesBoxTilemap, selectedMonParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0; - nameStringWidth = sub_8079A3C(nickname, whichParty, partyIdx); - AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, gUnknown_0832DEE0, 0, nickname); - sub_8079AA4(movesString, whichParty, partyIdx); - AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, movesString); - PutWindowTilemap((a0 * 2) + 14); - CopyWindowToVram((a0 * 2) + 14, 3); - PutWindowTilemap((a0 * 2) + 15); - CopyWindowToVram((a0 * 2) + 15, 3); - gUnknown_0203229C->unk_74[a0]++; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.x = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.y = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.x = 0; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.y = 0; + nameStringWidth = GetMonNicknameWidth(nickname, selectedMonParty, partyIdx); + AddTextPrinterParameterized3((whichParty * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, sTradeTextColors, 0, nickname); + BufferTradeMonMoves(movesString, selectedMonParty, partyIdx); + AddTextPrinterParameterized4((whichParty * 2) + 15, 1, 0, 0, 0, 0, sTradeTextColors, 0, movesString); + PutWindowTilemap((whichParty * 2) + 14); + CopyWindowToVram((whichParty * 2) + 14, 3); + PutWindowTilemap((whichParty * 2) + 15); + CopyWindowToVram((whichParty * 2) + 15, 3); + sTradeMenuData->drawPartyState[whichParty]++; break; case 4: - sub_8079C4C(a0, partyIdx, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); - gUnknown_0203229C->unk_74[a0]++; + DrawTradeMenuPartyMonInfo(whichParty, partyIdx, + sTradeMenuPartyMonBoxDimensions[whichParty][0] + 4, + sTradeMenuPartyMonBoxDimensions[whichParty][1] + 1, + sTradeMenuPartyMonBoxDimensions[whichParty][0], + sTradeMenuPartyMonBoxDimensions[whichParty][1]); + sTradeMenuData->drawPartyState[whichParty]++; break; } } -static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) +static u8 GetMonNicknameWidth(u8 *str, u8 whichParty, u8 monIdx) { u8 nickname[12]; - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); else GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); @@ -3030,104 +1864,104 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) return GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); } -static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) +static void BufferTradeMonMoves(u8 *str, u8 whichParty, u8 partyIdx) { u16 moves[MAX_MON_MOVES]; u16 i; - if (!gUnknown_0203229C->unk_51[a1][a2]) + if (!sTradeMenuData->isEgg[whichParty][partyIdx]) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (!a1) + if (whichParty == TRADE_PLAYER) { - moves[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gPlayerParty[partyIdx], i + MON_DATA_MOVE1, NULL); } else { - moves[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gEnemyParty[partyIdx], i + MON_DATA_MOVE1, NULL); } } - StringCopy(a0, gText_EmptyString7); + StringCopy(str, sText_EmptyString); for (i = 0; i < MAX_MON_MOVES; i++) { if (moves[i] != MOVE_NONE) { - StringAppend(a0, gMoveNames[moves[i]]); + StringAppend(str, gMoveNames[moves[i]]); } - StringAppend(a0, gText_NewLine3); + StringAppend(str, sText_NewLine); } } else { - StringCopy(a0, gText_EmptyString7); - StringAppend(a0, gText_FourQuestionMarks); + StringCopy(str, sText_EmptyString); + StringAppend(str, sText_FourQuestionMarks); } } -static void sub_8079B84(u8 whichParty, u8 windowId, u8 *str) +static void PrintMonNicknameForTradeMenu(u8 whichParty, u8 windowId, u8 *nickname) { u8 xPos; windowId += (whichParty * PARTY_SIZE) + 2; - xPos = GetStringCenterAlignXOffset(0, str, 64); - AddTextPrinterParameterized3(windowId, 0, xPos, 4, gUnknown_0832DEE0, 0, str); + xPos = GetStringCenterAlignXOffset(0, nickname, 64); + AddTextPrinterParameterized3(windowId, 0, xPos, 4, sTradeTextColors, 0, nickname); PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -static void sub_8079BE0(u8 whichParty) +static void PrintPartyNicknamesForTradeMenu(u8 whichParty) { u8 i; - u8 sp[20]; - u8 sp14[32]; - struct Pokemon *mons = whichParty == 0 ? gPlayerParty : gEnemyParty; + u8 nickname[20]; + u8 str[32]; + struct Pokemon *party = (whichParty == TRADE_PLAYER) ? gPlayerParty : gEnemyParty; - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - GetMonData(&mons[i], MON_DATA_NICKNAME, sp); - StringCopy10(sp14, sp); - sub_8079B84(whichParty, i, sp14); + GetMonData(&party[i], MON_DATA_NICKNAME, nickname); + StringCopy10(str, nickname); + PrintMonNicknameForTradeMenu(whichParty, i, str); } } -static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) +static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 width, u8 height) { u8 level; - u32 r2; + u32 symbolTile; u8 gender; u8 nickname[12]; - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenuMonBox_Tilemap, width, height, 6, 3, 0); CopyBgTilemapBufferToVram(1); - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) level = GetMonData(&gPlayerParty[monIdx], MON_DATA_LEVEL, NULL); else level = GetMonData(&gEnemyParty[monIdx], MON_DATA_LEVEL, NULL); - if (gUnknown_0203229C->unk_51[whichParty][monIdx] == 0) + if (!sTradeMenuData->isEgg[whichParty][monIdx]) { if (level / 10 != 0) - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (level / 10) + 0x60; + sTradeMenuData->tilemapBuffer[x + (y * 32)] = (level / 10) + 0x60; - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (level % 10) + 0x70; + sTradeMenuData->tilemapBuffer[x + (y * 32) + 1] = (level % 10) + 0x70; } else { - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 32] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 33]; - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400; + sTradeMenuData->tilemapBuffer[x + (y * 32) - 32] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 33]; + sTradeMenuData->tilemapBuffer[x + (y * 32) - 31] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 36] | 0x400; } - if (gUnknown_0203229C->unk_51[whichParty][monIdx] != 0) + if (sTradeMenuData->isEgg[whichParty][monIdx]) { - r2 = 0x480; + symbolTile = 0x480; } else { - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) { gender = GetMonGender(&gPlayerParty[monIdx]); GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); @@ -3140,41 +1974,45 @@ static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) switch (gender) { - case MON_MALE: - r2 = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; - break; - case MON_FEMALE: - r2 = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; - break; - default: - r2 = 0x83; - break; + case MON_MALE: + symbolTile = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; + break; + case MON_FEMALE: + symbolTile = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; + break; + default: + symbolTile = 0x83; + break; } } - gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; + sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile; } // Very close but loop preamble not working. #ifdef NONMATCHING -static void sub_8079E44(u8 whichParty) +static void DrawTradeMenuPartyInfo(u8 whichParty) { int i; - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - sub_8079C4C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]); + DrawTradeMenuPartyMonInfo(whichParty, i, + sTradeMonLevelCoords[whichParty][i][0], + sTradeMonLevelCoords[whichParty][i][1], + sTradeMonBoxCoords[whichParty][i][0], + sTradeMonBoxCoords[whichParty][i][1]); } } #else NAKED -static void sub_8079E44(u8 whichParty) +static void DrawTradeMenuPartyInfo(u8 whichParty) { asm_unified("push {r4-r7,lr}\n\ sub sp, 0x8\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ movs r7, 0\n\ - ldr r0, =gUnknown_0203229C\n\ + ldr r0, =sTradeMenuData\n\ ldr r0, [r0]\n\ adds r0, 0x36\n\ adds r0, r6\n\ @@ -3183,10 +2021,10 @@ static void sub_8079E44(u8 whichParty) bge _08079E94\n\ lsls r0, r6, 1\n\ adds r0, r6\n\ - ldr r1, =gTradeLevelDisplayCoords\n\ + ldr r1, =sTradeMonLevelCoords\n\ lsls r0, 2\n\ adds r5, r0, r1\n\ - ldr r1, =gTradeMonBoxCoords\n\ + ldr r1, =sTradeMonBoxCoords\n\ adds r4, r0, r1\n\ _08079E6A:\n\ lsls r1, r7, 24\n\ @@ -3198,11 +2036,11 @@ _08079E6A:\n\ ldrb r0, [r4, 0x1]\n\ str r0, [sp, 0x4]\n\ adds r0, r6, 0\n\ - bl sub_8079C4C\n\ + bl DrawTradeMenuPartyMonInfo\n\ adds r5, 0x2\n\ adds r4, 0x2\n\ adds r7, 0x1\n\ - ldr r0, =gUnknown_0203229C\n\ + ldr r0, =sTradeMenuData\n\ ldr r0, [r0]\n\ adds r0, 0x36\n\ adds r0, r6\n\ @@ -3218,405 +2056,388 @@ _08079E94:\n\ } #endif // NONMATCHING -static void sub_8079EA8(u8 whichParty) +static void ResetTradeMenuPartyPositions(u8 whichParty) { int i; - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.y = 0; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].invisible = FALSE; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.x = 0; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.y = 0; } } -static void sub_8079F74(void) +static void PrintNicknamesForTradeMenu(void) { rbox_fill_rectangle(1); - sub_8079BE0(1); + //PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); ? + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); } -static void sub_8079F88(u8 a0) +static void RedrawTradeMenuParty(u8 whichParty) { - CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - sub_8079E44(a0); - sub_8079BE0(a0); - sub_8079EA8(a0); - sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); - gUnknown_0203229C->unk_74[a0] = 0; + DrawTradeMenuPartyInfo(whichParty); + PrintPartyNicknamesForTradeMenu(whichParty); + ResetTradeMenuPartyPositions(whichParty); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24); + sTradeMenuData->drawPartyState[whichParty] = 0; } -static void sub_807A000(u8 taskId) +static void Task_DrawSelectionSummary(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -static void sub_807A024(u8 taskId) +static void Task_DrawSelectionTrade(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -static void sub_807A048(u16 a0, u8 a1) +static void QueueAction(u16 delay, u8 actionId) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - if (!gUnknown_0203229C->unk_8D0[i].unk_0) + if (!sTradeMenuData->queuedActions[i].queued) { - gUnknown_0203229C->unk_8D0[i].unk_2 = a0; - gUnknown_0203229C->unk_8D0[i].unk_4 = a1; - gUnknown_0203229C->unk_8D0[i].unk_0 = TRUE; + sTradeMenuData->queuedActions[i].queueDelay = delay; + sTradeMenuData->queuedActions[i].actionId = actionId; + sTradeMenuData->queuedActions[i].queued = TRUE; break; } } } -static u32 sub_807A09C(void) +static u32 GetNumQueuedActions(void) { - u32 acc = 0; + u32 numActions = 0; int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - acc += gUnknown_0203229C->unk_8D0[i].unk_0; + numActions += sTradeMenuData->queuedActions[i].queued; } - return acc; + return numActions; } -static void sub_807A0C4(void) +static void DoQueuedActions(void) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - if (gUnknown_0203229C->unk_8D0[i].unk_0) + if (sTradeMenuData->queuedActions[i].queued) { - if (gUnknown_0203229C->unk_8D0[i].unk_2) + if (sTradeMenuData->queuedActions[i].queueDelay) { - gUnknown_0203229C->unk_8D0[i].unk_2--; + sTradeMenuData->queuedActions[i].queueDelay--; } else { - switch (gUnknown_0203229C->unk_8D0[i].unk_4) + switch (sTradeMenuData->queuedActions[i].actionId) { - case 0: - sub_8077170(gUnknown_0203229C->linkData, 20); - break; - case 1: - sub_807A19C(0); - break; - case 2: - sub_807A19C(2); - break; - case 3: - case 4: - case 5: - sub_807A19C(3); - break; - case 6: - sub_807A19C(6); - break; - case 7: - sub_807A19C(7); - break; - case 8: - sub_807A19C(8); - break; + case QUEUE_SEND_DATA: + SendLinkData(sTradeMenuData->linkData, 20); + break; + case QUEUE_STANDBY: + PrintTradeMessage(TRADE_MSG_STANDBY); + break; + case QUEUE_ONLY_MON1: + PrintTradeMessage(TRADE_MSG_ONLY_MON1); + break; + case QUEUE_ONLY_MON2: + case QUEUE_UNUSED1: + case QUEUE_UNUSED2: + PrintTradeMessage(TRADE_MSG_ONLY_MON2); + break; + case QUEUE_MON_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_MON_CANT_BE_TRADED); + break; + case QUEUE_EGG_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_EGG_CANT_BE_TRADED); + break; + case QUEUE_FRIENDS_MON_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED); + break; } - gUnknown_0203229C->unk_8D0[i].unk_0 = 0; + sTradeMenuData->queuedActions[i].queued = FALSE; } } } } -static void sub_807A19C(u8 a0) +static void PrintTradeMessage(u8 messageId) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 1, sTradeMessages[messageId], 0, 1, TEXT_SPEED_FF, NULL); DrawTextBorderOuter(0, 20, 12); PutWindowTilemap(0); CopyWindowToVram(0, 3); } -static bool8 sub_807A1F0(void) +static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void) { struct SpriteSheet sheet; - if (gUnknown_0203229C->unk_A8 < 14) + if (sTradeMenuData->timer < (int)ARRAY_COUNT(sMessageBoxTileBuffers)) { - sheet.data = gUnknown_02032188[gUnknown_0203229C->unk_A8]; + sheet.data = sMessageBoxTileBuffers[sTradeMenuData->timer]; sheet.size = 0x100; - sheet.tag = 200 + gUnknown_0203229C->unk_A8; + sheet.tag = 200 + sTradeMenuData->timer; } - switch (gUnknown_0203229C->unk_A8) + switch (sTradeMenuData->timer) { - case 0 ... 7: - LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 8: - gUnknown_0203229C->unk_72 = LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 9 ... 13: - LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 14: - LoadSpritePalette(&gSpritePalette_TradeScreenText); - gUnknown_0203229C->unk_A8++; - break; - case 15: - LoadSpritePalette(&gUnknown_0832DC44); - gUnknown_0203229C->unk_A8++; - break; - case 16: - LoadSpriteSheet(&gUnknown_0832DC3C); - gUnknown_0203229C->unk_A8++; - break; - case 17: - gUnknown_0203229C->unk_A8 = 0; - return TRUE; + case 0 ... 7: + LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 8: + sTradeMenuData->bottomTextTileStart = LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 9 ... 13: + LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 14: + LoadSpritePalette(&gSpritePalette_TradeScreenText); + sTradeMenuData->timer++; + break; + case 15: + LoadSpritePalette(&gUnknown_0832DC44); + sTradeMenuData->timer++; + break; + case 16: + LoadSpriteSheet(&sTradeButtonsSpriteSheet); + sTradeMenuData->timer++; + break; + case 17: + sTradeMenuData->timer = 0; + return TRUE; } return FALSE; } -static void sub_807A308(const u8 *a0, u8 *a1, u8 unused) +static void DrawTextWindowAndBuffer6Bytes(const u8 *str, u8 *dest, u8 unused) { - sub_80C6D80(a0, a1, 0, 0, 6); + DrawTextWindowAndBufferTiles(str, dest, 0, 0, 6); } -static void sub_807A320(u8 who) +static void SetTradePartyLiveStatuses(u8 whichParty) { int i; - switch (who) + switch (whichParty) { - case 0: - for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + case TRADE_PLAYER: + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) { - if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 1; - } - else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 0; - } - else - { - gUnknown_0203229C->unk_45[who][i] = 1; - gUnknown_0203229C->unk_51[who][i] = 0; - } + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = TRUE; } - break; - case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 1; - } - else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 0; - } - else - { - gUnknown_0203229C->unk_45[who][i] = 1; - gUnknown_0203229C->unk_51[who][i] = 0; - } + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; } - break; + else + { + sTradeMenuData->isLiveMon[whichParty][i] = TRUE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + } + break; + case TRADE_PARTNER: + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) + { + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = TRUE; + } + else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + { + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + else + { + sTradeMenuData->isLiveMon[whichParty][i] = TRUE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + } + break; } } -static void sub_807A468(u8 who) +static void GetTradePartyHPBarLevels(u8 who) { u16 i, curHp, maxHp; switch (who) { - case 0: - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) - { - curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_5D[0][i] = GetHPBarLevel(curHp, maxHp); - } - break; - case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) - { - curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); - maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_5D[1][i] = GetHPBarLevel(curHp, maxHp); - } - break; + case TRADE_PLAYER: + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) + { + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + sTradeMenuData->hpBarLevels[TRADE_PLAYER][i] = GetHPBarLevel(curHp, maxHp); + } + break; + case TRADE_PARTNER: + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) + { + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + sTradeMenuData->hpBarLevels[TRADE_PARTNER][i] = GetHPBarLevel(curHp, maxHp); + } + break; } } -static void sub_807A53C(void) +static void SetTradePartyHPBarSprites(void) { int i, j; for (i = 0; i < 2; i++) { - for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++) + for (j = 0; j < sTradeMenuData->partyCounts[i]; j++) { - sub_80D32C8(&gSprites[gUnknown_0203229C->partyIcons[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); + SetPartyHPBarSprite(&gSprites[sTradeMenuData->partySpriteIds[i][j]], 4 - sTradeMenuData->hpBarLevels[i][j]); } } } -static void sub_807A5B0(void) +static void SaveTradeGiftRibbons(void) { int i; - for (i = 0; i < 11; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->giftRibbons); i++) { - if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0) + if (gSaveBlock1Ptr->giftRibbons[i] == 0 && sTradeMenuData->giftRibbons[i] != 0) { - if (gUnknown_0203229C->unk_A9[i] < 64) - gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i]; + if (sTradeMenuData->giftRibbons[i] < 64) + gSaveBlock1Ptr->giftRibbons[i] = sTradeMenuData->giftRibbons[i]; } } } -static u32 sub_807A5F4(struct Pokemon *monList, int a1, int monIdx) +static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int monIdx) { - int i, sum; + int i, numMonsLeft; struct LinkPlayer *player; - u32 species[6]; - u32 species2[6]; + u32 species[PARTY_SIZE]; + u32 species2[PARTY_SIZE]; - for (i = 0; i < a1; i++) + for (i = 0; i < partyCount; i++) { - species2[i] = GetMonData(&monList[i], MON_DATA_SPECIES2); - species[i] = GetMonData(&monList[i], MON_DATA_SPECIES); + species2[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES2); + species[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES); } + // Cant trade Eggs or non-Hoenn mons if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { if (species2[monIdx] == SPECIES_EGG) - { - return 3; - } + return CANT_TRADE_EGG; if (!IsSpeciesInHoennDex(species2[monIdx])) - { - return 2; - } + return CANT_TRADE_NATIONAL; } player = &gLinkPlayers[GetMultiplayerId() ^ 1]; if ((player->version & 0xFF) != VERSION_RUBY && (player->version & 0xFF) != VERSION_SAPPHIRE) { - if ((player->name[10] & 0xF) == 0) + // Does partner not have National Dex + if (!(player->progressFlagsCopy & 0xF)) { if (species2[monIdx] == SPECIES_EGG) - { - return 5; - } + return CANT_TRADE_EGG2; if (!IsSpeciesInHoennDex(species2[monIdx])) - { - return 4; - } + return CANT_TRADE_INVALID_MON; } } if (species[monIdx] == SPECIES_DEOXYS || species[monIdx] == SPECIES_MEW) { - if (!GetMonData(&monList[monIdx], MON_DATA_OBEDIENCE)) - { - return 4; - } + if (!GetMonData(&playerParty[monIdx], MON_DATA_OBEDIENCE)) + return CANT_TRADE_INVALID_MON; } - for (i = 0; i < a1; i++) + // Make Eggs not count for numMonsLeft + for (i = 0; i < partyCount; i++) { if (species2[i] == SPECIES_EGG) - { species2[i] = SPECIES_NONE; - } } - for (sum = 0, i = 0; i < a1; i++) + // Count alive mons in party, excluding selected trade mon + for (numMonsLeft = 0, i = 0; i < partyCount; i++) { if (i != monIdx) - { - sum += species2[i]; - } + numMonsLeft += species2[i]; } - if (sum != 0) - { - return 0; - } + if (numMonsLeft != 0) + return CAN_TRADE_MON; else - { - return 1; - } + return CANT_TRADE_LAST_MON; } -s32 sub_807A728(void) +s32 GetGameProgressForLinkTrade(void) { - s32 val; + // isGameFrLg could have been a bool but they use 2 and > 0 instead + // possible other checks (for other game versions?) were planned/removed + s32 isGameFrLg; u16 version; if (gReceivedRemoteLinkPlayers != 0) { - val = 0; + isGameFrLg = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); if (version == VERSION_RUBY || version == VERSION_SAPPHIRE || version == VERSION_EMERALD) - { - // this value could actually be anything 0 or less - val = 0; - } + isGameFrLg = 0; else if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN) - { - val = 2; - } + isGameFrLg = 2; - if (val > 0) + // If trading with FRLG, both players must be champion + if (isGameFrLg > 0) { - if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0) + // Is player champion + if (gLinkPlayers[GetMultiplayerId()].progressFlagsCopy & 0xF0) { - if (val == 2) + if (isGameFrLg == 2) //unnecessary check, isGameFrLg always 2 here { - if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0) - { - return 0; - } + // Is partner champion + if (gLinkPlayers[GetMultiplayerId() ^ 1].progressFlagsCopy & 0xF0) + return TRADE_BOTH_PLAYERS_READY; else - { - return 2; - } + return TRADE_PARTNER_NOT_READY; } } else { - return 1; + return TRADE_PLAYER_NOT_READY; } } } - return 0; + return TRADE_BOTH_PLAYERS_READY; } static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) @@ -3629,122 +2450,116 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) return FALSE; } -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) +int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, struct UnkLinkRfuStruct_02022B14Substruct rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet) { - u8 r9 = a0.unk_01_0; - u8 r2 = a0.unk_00_7; - u8 r10 = a1.unk_01_0; - u8 r0 = a1.unk_00_7; - u8 r1 = a1.unk_01_2; + bool8 playerHasNationalDex = rfuPlayer.hasNationalDex; + bool8 playerIsChampion = rfuPlayer.isChampion; + bool8 partnerHasNationalDex = rfuPartner.hasNationalDex; + bool8 partnerIsChampion = rfuPartner.isChampion; + u8 r1 = rfuPartner.unk_01_2; if (r1 != 3) { - if (!r2) + if (!playerIsChampion) { - return 8; + return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1; } - else if (!r0) + else if (!partnerIsChampion) { - return 9; + return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2; } } - if (IsDeoxysOrMewUntradable(species3, isObedientBitSet)) + if (IsDeoxysOrMewUntradable(playerSpecies, isObedientBitSet)) { - return 4; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; } - if (species2 == SPECIES_EGG) + if (partnerSpecies == SPECIES_EGG) { - if (species1 != species2) + if (playerSpecies2 != partnerSpecies) { - return 2; + return UR_TRADE_MSG_NOT_EGG; } } else { - if (gBaseStats[species1].type1 != type && gBaseStats[species1].type2 != type) + if (gBaseStats[playerSpecies2].type1 != requestedType && gBaseStats[playerSpecies2].type2 != requestedType) { - return 1; + return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } } - if (species1 == SPECIES_EGG && species1 != species2) + if (playerSpecies2 == SPECIES_EGG && playerSpecies2 != partnerSpecies) { - return 3; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_1; } - if (!r9) + if (!playerHasNationalDex) { - if (species1 == SPECIES_EGG) + if (playerSpecies2 == SPECIES_EGG) { - return 6; + return UR_TRADE_MSG_EGG_CANT_BE_TRADED; } - if (!IsSpeciesInHoennDex(species1)) + if (!IsSpeciesInHoennDex(playerSpecies2)) { - return 4; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; } - if (!IsSpeciesInHoennDex(species2)) + if (!IsSpeciesInHoennDex(partnerSpecies)) { - return 5; + return UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED; } } - if (!r10 && !IsSpeciesInHoennDex(species1)) + if (!partnerHasNationalDex && !IsSpeciesInHoennDex(playerSpecies2)) { - return 7; + return UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON; } - return 0; + return UR_TRADE_MSG_NONE; } -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3) +int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet) { - u8 unk = a0.unk_01_0; + bool8 hasNationalDex = rfuPlayer.hasNationalDex; - if (IsDeoxysOrMewUntradable(a2, a3)) - { - return 1; - } + if (IsDeoxysOrMewUntradable(species, isObedientBitSet)) + return CANT_REGISTER_MON; - if (unk) - { - return 0; - } + if (hasNationalDex) + return CAN_REGISTER_MON; - if (species == SPECIES_EGG) - { - return 2; - } + // Eggs can only be traded if the player has the National Dex + if (species2 == SPECIES_EGG) + return CANT_REGISTER_EGG; - if (IsSpeciesInHoennDex(species)) - { - return 0; - } + if (IsSpeciesInHoennDex(species2)) + return CAN_REGISTER_MON; - return 1; + return CANT_REGISTER_MON; } // r6/r7 flip. Ugh. #ifdef NONMATCHING -int sub_807A918(struct Pokemon *mon, u16 monIdx) +int CanTradeSelectedPartyMenuMon(struct Pokemon *mon, u16 monIdx) { - int i, version, versions, unk, unk2; + int i, version, versions, canTradeAnyMon, numMonsLeft; int speciesArray[PARTY_SIZE]; + // Make Eggs not count for numMonsLeft for (i = 0; i < gPlayerPartyCount; i++) { speciesArray[i] = GetMonData(&mon[i], MON_DATA_SPECIES2); if (speciesArray[i] == SPECIES_EGG) { - speciesArray[i] = 0; + speciesArray[i] = SPECIES_NONE; } } + canTradeAnyMon = TRUE; versions = 0; - unk = 1; for (i = 0; i < GetLinkPlayerCount(); i++) { version = gLinkPlayers[i].version & 0xFF; @@ -3762,51 +2577,41 @@ int sub_807A918(struct Pokemon *mon, u16 monIdx) for (i = 0; i < GetLinkPlayerCount(); i++) { struct LinkPlayer *player = &gLinkPlayers[i]; - if ((player->name[8] & 0xF) == 0) - { - unk = 0; - } - if (versions && (player->name[8] / 16)) - { - unk = 0; - } + // Does player not have National Dex + if (!(player->progressFlags & 0xF)) + canTradeAnyMon = FALSE; + + if (versions && (player->progressFlags / 16)) + canTradeAnyMon = FALSE; } - if (unk == 0) + if (canTradeAnyMon == FALSE) { if (!IsSpeciesInHoennDex(speciesArray[monIdx])) - { - return 2; - } + return CANT_TRADE_NATIONAL; if (speciesArray[monIdx] == SPECIES_NONE) - { - return 3; - } + return CANT_TRADE_EGG; } - unk2 = 0; + numMonsLeft = 0; for (i = 0; i < gPlayerPartyCount; i++) { if (monIdx != i) { - unk2 += speciesArray[i]; + numMonsLeft += speciesArray[i]; } } - if (!unk2) - { - return 1; - } + if (!numMonsLeft) + return CANT_TRADE_LAST_MON; else - { - return 0; - } + return CAN_TRADE_MON; } #else NAKED -int sub_807A918(struct Pokemon *mon, u16 a1) +int CanTradeSelectedPartyMenuMon(struct Pokemon *mon, u16 a1) { asm_unified("push {r4-r7,lr}\n\ mov r7, r8\n\ @@ -4009,11 +2814,11 @@ static void sub_807AB04(struct Sprite *sprite) } } -static void sub_807AB28(void) +static void SetTradeBGAffine(void) { struct BgAffineDstData affine; - DoBgAffineSet(&affine, gUnknown_020322A0->unk_D4 * 0x100, gUnknown_020322A0->unk_D6 * 0x100, gUnknown_020322A0->unk_DC, gUnknown_020322A0->unk_DE, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_EC); + DoBgAffineSet(&affine, sTradeData->texX * 0x100, sTradeData->texY * 0x100, sTradeData->scrX, sTradeData->scrY, sTradeData->sXY, sTradeData->sXY, sTradeData->alpha); SetGpuReg(REG_OFFSET_BG2PA, affine.pa); SetGpuReg(REG_OFFSET_BG2PB, affine.pb); SetGpuReg(REG_OFFSET_BG2PC, affine.pc); @@ -4024,233 +2829,233 @@ static void sub_807AB28(void) SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16); } -static void sub_807ABCC(void) +static void SetTradeGpuRegs(void) { u16 dispcnt; - SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->bg1vofs); - SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs); + SetGpuReg(REG_OFFSET_BG1VOFS, sTradeData->bg1vofs); + SetGpuReg(REG_OFFSET_BG1HOFS, sTradeData->bg1hofs); dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); if ((dispcnt & 7) == DISPCNT_MODE_0) { - SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs); - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs); + SetGpuReg(REG_OFFSET_BG2VOFS, sTradeData->bg2vofs); + SetGpuReg(REG_OFFSET_BG2HOFS, sTradeData->bg2hofs); } else { - sub_807AB28(); + SetTradeBGAffine(); } } -static void sub_807AC24(void) +static void VBlankCB_Trade(void) { - sub_807ABCC(); + SetTradeGpuRegs(); LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_807AC3C(void) +static void ClearLinkTimeoutCounter(void) { - gUnknown_020322A0->unk_8A = 0; - gUnknown_020322A0->unk_88 = 0; - gUnknown_020322A0->unk_89 = 0; + sTradeData->linkTimeoutCounter = 0; + sTradeData->alwaysZero_88 = 0; + sTradeData->alwaysZero_89 = 0; } -static void sub_807AC64(void) +static void CheckForLinkTimeout(void) { - if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) - gUnknown_020322A0->unk_8A++; + if (sTradeData->alwaysZero_88 == sTradeData->alwaysZero_89) + sTradeData->linkTimeoutCounter++; else - gUnknown_020322A0->unk_8A = 0; + sTradeData->linkTimeoutCounter = 0; - if (gUnknown_020322A0->unk_8A > 300) + if (sTradeData->linkTimeoutCounter > LINK_TRADE_TIMEOUT) { CloseLink(); SetMainCallback2(CB2_LinkError); - gUnknown_020322A0->unk_8A = 0; - gUnknown_020322A0->unk_89 = 0; - gUnknown_020322A0->unk_88 = 0; + sTradeData->linkTimeoutCounter = 0; + sTradeData->alwaysZero_89 = 0; + sTradeData->alwaysZero_88 = 0; } - gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88; + sTradeData->alwaysZero_89 = sTradeData->alwaysZero_88; } -static u32 sub_807ACDC(void) +static u32 TradeGetMultiplayerId(void) { if (gReceivedRemoteLinkPlayers) return GetMultiplayerId(); return 0; } -static void sub_807ACFC(u8 whichParty, u8 a1) +static void LoadTradeMonPic(u8 whichParty, u8 state) { int pos = 0; struct Pokemon *mon = NULL; u16 species; u32 personality; - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) { - mon = &gPlayerParty[gUnknown_02032298[0]]; - pos = 1; + mon = &gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]]; + pos = B_POSITION_OPPONENT_LEFT; } - if (whichParty == 1) + if (whichParty == TRADE_PARTNER) { - mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE]; - pos = 3; + mon = &gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE]; + pos = B_POSITION_OPPONENT_RIGHT; } - switch (a1) + switch (state) { - case 0: - species = GetMonData(mon, MON_DATA_SPECIES2); - personality = GetMonData(mon, MON_DATA_PERSONALITY); + case 0: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); - if (whichParty == 0) - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); - else - HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); + if (whichParty == TRADE_PLAYER) + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); + else + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); - LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); - gUnknown_020322A0->tradeSpecies[whichParty] = species; - gUnknown_020322A0->unk_68[whichParty] = personality; - break; - case 1: - SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); - gUnknown_020322A0->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; - break; + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); + sTradeData->monSpecies[whichParty] = species; + sTradeData->monPersonalities[whichParty] = personality; + break; + case 1: + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); + sTradeData->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; + break; } } -void sub_807AE50(void) +void CB2_LinkTrade(void) { switch (gMain.state) { - case 0: - if (!gReceivedRemoteLinkPlayers) - { - gLinkType = 0x1144; - CloseLink(); - } - gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); - AllocateMonSpritesGfx(); - ResetTasks(); - ResetSpriteData(); - FreeAllSpritePalettes(); - SetVBlankCallback(sub_807AC24); - sub_807B170(); - sub_807AC3C(); + case 0: + if (!gReceivedRemoteLinkPlayers) + { + gLinkType = LINKTYPE_0x1144; + CloseLink(); + } + sTradeData = AllocZeroed(sizeof(*sTradeData)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(VBlankCB_Trade); + InitTradeBgInternal(); + ClearLinkTimeoutCounter(); + gMain.state++; + sTradeData->neverRead_8C = 0; + sTradeData->state = 0; + sTradeData->isLinkTrade = TRUE; + sTradeData->texX = 64; + sTradeData->texY = 64; + sTradeData->neverRead_D8 = 0; + sTradeData->neverRead_DA = 0; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->sXY = 256; + sTradeData->alpha = 0; + break; + case 1: + if (!gReceivedRemoteLinkPlayers) + { + sTradeData->isCableTrade = TRUE; + OpenLink(); gMain.state++; - gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->state = 0; - gUnknown_020322A0->isLinkTrade = TRUE; - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 64; - gUnknown_020322A0->unk_D8 = 0; - gUnknown_020322A0->unk_DA = 0; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EC = 0; - break; - case 1: - if (!gReceivedRemoteLinkPlayers) + sTradeData->timer = 0; + } + else + { + gMain.state = 4; + } + break; + case 2: + if (++sTradeData->timer > 60) + { + sTradeData->timer = 0; + gMain.state++; + } + break; + case 3: + if (IsLinkMaster()) + { + if (GetLinkPlayerCount_2() >= GetSavedPlayerCount()) { - gUnknown_020322A0->unk_FA = 1; - OpenLink(); - gMain.state++; - gUnknown_020322A0->timer = 0; - } - else - { - gMain.state = 4; - } - break; - case 2: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->timer = 0; - gMain.state++; - } - break; - case 3: - if (IsLinkMaster()) - { - if (GetLinkPlayerCount_2() >= GetSavedPlayerCount()) + if (++sTradeData->timer > 30) { - if (++gUnknown_020322A0->timer > 30) - { - CheckShouldAdvanceLinkState(); - gMain.state++; - } - } - else - { - sub_807AC64(); + CheckShouldAdvanceLinkState(); + gMain.state++; } } else { - gMain.state++; + CheckForLinkTimeout(); } - break; - case 4: - sub_807AC64(); - if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) - gMain.state++; - break; - case 5: - gUnknown_020322A0->unk_72 = 0; - gUnknown_020322A0->unk_73 = 0; - gUnknown_020322A0->unk_93 = 0; - sub_807ACFC(0, 0); + } + else + { gMain.state++; - break; - case 6: - sub_807ACFC(0, 1); + } + break; + case 4: + CheckForLinkTimeout(); + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) gMain.state++; - break; - case 7: - sub_807ACFC(1, 0); - gMain.state++; - break; - case 8: - sub_807ACFC(1, 1); - sub_807B154(); - gMain.state++; - break; - case 9: - sub_807BA94(); - LoadSpriteSheet(&gUnknown_08338D18); - LoadSpritePalette(&gUnknown_08338D20); - gMain.state++; - break; - case 10: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - ShowBg(0); - gMain.state++; - break; - case 11: - sub_807B140(); - SetTradeSceneStrings(); - gMain.state++; - break; - case 12: - if (!gPaletteFade.active) + break; + case 5: + sTradeData->playerLinkFlagFinishTrade = 0; + sTradeData->partnerLinkFlagFinishTrade = 0; + sTradeData->sendTradeFinishState = 0; + LoadTradeMonPic(TRADE_PLAYER, 0); + gMain.state++; + break; + case 6: + LoadTradeMonPic(TRADE_PLAYER, 1); + gMain.state++; + break; + case 7: + LoadTradeMonPic(TRADE_PARTNER, 0); + gMain.state++; + break; + case 8: + LoadTradeMonPic(TRADE_PARTNER, 1); + LinkTradeDrawWindow(); + gMain.state++; + break; + case 9: + LoadTradeSequenceSpriteSheetsAndPalettes(); + LoadSpriteSheet(&sPokeBallSpriteSheet); + LoadSpritePalette(&sPokeBallSpritePalette); + gMain.state++; + break; + case 10: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + ShowBg(0); + gMain.state++; + break; + case 11: + InitTradeSequenceBgGpuRegs(); + BufferTradeSceneStrings(); + gMain.state++; + break; + case 12: + if (!gPaletteFade.active) + { + if (gWirelessCommType) { - if (gWirelessCommType) - { - LoadWirelessStatusIndicatorSpriteGfx(); - CreateWirelessStatusIndicatorSprite(0, 0); - } - SetMainCallback2(sub_807EA2C); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); } - break; + SetMainCallback2(CB2_UpdateLinkTrade); + } + break; } RunTasks(); RunTextPrinters(); @@ -4259,24 +3064,24 @@ void sub_807AE50(void) UpdatePaletteFade(); } -void sub_807B140(void) +void InitTradeSequenceBgGpuRegs(void) { - sub_807B62C(5); - sub_807B62C(0); + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(0); } -void sub_807B154(void) +void LinkTradeDrawWindow(void) { FillWindowPixelBuffer(0, PIXEL_FILL(15)); PutWindowTilemap(0); CopyWindowToVram(0, 3); } -static void sub_807B170(void) +static void InitTradeBgInternal(void) { SetGpuReg(REG_OFFSET_DISPCNT, 0); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08339014, ARRAY_COUNT(gUnknown_08339014)); + InitBgsFromTemplates(0, sTradeSequenceBgTemplates, ARRAY_COUNT(sTradeSequenceBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); SetBgTilemapBuffer(0, Alloc(0x800)); @@ -4287,88 +3092,87 @@ static void sub_807B170(void) LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); - InitWindows(gUnknown_08338FFC); + InitWindows(sTradeSequenceWindowTemplates); DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); } -// In-game trade init -static void sub_807B270(void) +static void CB2_InGameTrade(void) { u8 otName[11]; switch (gMain.state) { - case 0: - gUnknown_02032298[0] = gSpecialVar_0x8005; - gUnknown_02032298[1] = 6; - StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); - GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); - StringCopy(gLinkPlayers[1].name, otName); - gLinkPlayers[0].language = LANGUAGE_ENGLISH; - gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); - gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); - AllocateMonSpritesGfx(); - ResetTasks(); - ResetSpriteData(); - FreeAllSpritePalettes(); - SetVBlankCallback(sub_807AC24); - sub_807B170(); - gUnknown_020322A0->isLinkTrade = FALSE; - gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->state = 0; - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 64; - gUnknown_020322A0->unk_D8 = 0; - gUnknown_020322A0->unk_DA = 0; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EC = 0; - gUnknown_020322A0->timer = 0; - gMain.state = 5; - break; - case 5: - sub_807ACFC(0, 0); - gMain.state++; - break; - case 6: - sub_807ACFC(0, 1); - gMain.state++; - break; - case 7: - sub_807ACFC(1, 0); - ShowBg(0); - gMain.state++; - break; - case 8: - sub_807ACFC(1, 1); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - PutWindowTilemap(0); - CopyWindowToVram(0, 3); - gMain.state++; - break; - case 9: - sub_807BA94(); - LoadSpriteSheet(&gUnknown_08338D18); - LoadSpritePalette(&gUnknown_08338D20); - gMain.state++; - break; - case 10: - ShowBg(0); - gMain.state++; - break; - case 11: - sub_807B62C(5); - sub_807B62C(0); - SetTradeSceneStrings(); - gMain.state++; - break; - case 12: - SetMainCallback2(sub_807B60C); - break; + case 0: + gSelectedTradeMonPositions[TRADE_PLAYER] = gSpecialVar_0x8005; + gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); + StringCopy(gLinkPlayers[1].name, otName); + gLinkPlayers[0].language = LANGUAGE_ENGLISH; + gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); + sTradeData = AllocZeroed(sizeof(*sTradeData)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(VBlankCB_Trade); + InitTradeBgInternal(); + sTradeData->isLinkTrade = FALSE; + sTradeData->neverRead_8C = 0; + sTradeData->state = 0; + sTradeData->texX = 64; + sTradeData->texY = 64; + sTradeData->neverRead_D8 = 0; + sTradeData->neverRead_DA = 0; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->sXY = 256; + sTradeData->alpha = 0; + sTradeData->timer = 0; + gMain.state = 5; + break; + case 5: + LoadTradeMonPic(TRADE_PLAYER, 0); + gMain.state++; + break; + case 6: + LoadTradeMonPic(TRADE_PLAYER, 1); + gMain.state++; + break; + case 7: + LoadTradeMonPic(TRADE_PARTNER, 0); + ShowBg(0); + gMain.state++; + break; + case 8: + LoadTradeMonPic(TRADE_PARTNER, 1); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + gMain.state++; + break; + case 9: + LoadTradeSequenceSpriteSheetsAndPalettes(); + LoadSpriteSheet(&sPokeBallSpriteSheet); + LoadSpritePalette(&sPokeBallSpritePalette); + gMain.state++; + break; + case 10: + ShowBg(0); + gMain.state++; + break; + case 11: + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(0); + BufferTradeSceneStrings(); + gMain.state++; + break; + case 12: + SetMainCallback2(CB2_UpdateInGameTrade); + break; } RunTasks(); @@ -4378,7 +3182,7 @@ static void sub_807B270(void) UpdatePaletteFade(); } -static void sub_807B464(u8 partyIdx) +static void UpdatePokedexForReceivedMon(u8 partyIdx) { struct Pokemon *mon = &gPlayerParty[partyIdx]; @@ -4392,7 +3196,8 @@ static void sub_807B464(u8 partyIdx) } } -static void sub_807B4C4(void) +// Functionally nop after commented code +static void TryEnableNationalDexFromLinkPartner(void) { u8 mpId = GetMultiplayerId(); // Originally in Ruby but commented out @@ -4400,56 +3205,55 @@ static void sub_807B4C4(void) EnableNationalPokedex();*/ } -static void sub_807B4D0(u8 a0, u8 a1) +static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx) { u8 friendship; - struct Pokemon *playerMon = &gPlayerParty[a0]; + struct Pokemon *playerMon = &gPlayerParty[playerPartyIdx]; u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL); - struct Pokemon *partnerMon = &gEnemyParty[a1]; + struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx]; u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); if (playerMail != 0xFF) ClearMailStruct(&gSaveBlock1Ptr->mail[playerMail]); - // This is where the actual trade happens!! - gUnknown_020322A0->mon = *playerMon; + sTradeData->mon = *playerMon; *playerMon = *partnerMon; - *partnerMon = gUnknown_020322A0->mon; + *partnerMon = sTradeData->mon; friendship = 70; if (!GetMonData(playerMon, MON_DATA_IS_EGG)) SetMonData(playerMon, MON_DATA_FRIENDSHIP, &friendship); if (partnerMail != 0xFF) - GiveMailToMon2(playerMon, &gUnknown_020321C0[partnerMail]); + GiveMailToMon2(playerMon, &gTradeMail[partnerMail]); - sub_807B464(a0); + UpdatePokedexForReceivedMon(playerPartyIdx); if (gReceivedRemoteLinkPlayers) - sub_807B4C4(); + TryEnableNationalDexFromLinkPartner(); } -static void sub_807B5B8(void) +static void TrySendTradeFinishData(void) { - switch (gUnknown_020322A0->unk_93) + switch (sTradeData->sendTradeFinishState) { - case 1: - if (IsLinkTaskFinished()) - { - Trade_SendData(gUnknown_020322A0); - gUnknown_020322A0->unk_93++; - } - // fallthrough - case 2: - gUnknown_020322A0->unk_93 = 0; - break; + case 1: + if (IsLinkTaskFinished()) + { + Trade_SendData(sTradeData); + sTradeData->sendTradeFinishState++; + } + // fallthrough + case 2: + sTradeData->sendTradeFinishState = 0; + break; } } -static void sub_807B60C(void) +static void CB2_UpdateInGameTrade(void) { - sub_807BBC8(); + AnimateTradeSequence(); RunTasks(); RunTextPrinters(); AnimateSprites(); @@ -4457,1244 +3261,1238 @@ static void sub_807B60C(void) UpdatePaletteFade(); } -static void sub_807B62C(u8 a0) +static void SetTradeSequenceBgGpuRegs(u8 state) { - switch (a0) + switch (state) { - case 0: - gUnknown_020322A0->bg2vofs = 0; - gUnknown_020322A0->bg2hofs = 180; - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); - break; - case 1: - gUnknown_020322A0->bg1hofs = 0; - gUnknown_020322A0->bg1vofs = 348; - SetGpuReg(REG_OFFSET_BG1VOFS, 348); - SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(0) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(5) | - BGCNT_TXT256x512); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT256x512); + case 0: + sTradeData->bg2vofs = 0; + sTradeData->bg2hofs = 180; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + case 1: + sTradeData->bg1hofs = 0; + sTradeData->bg1vofs = 348; + SetGpuReg(REG_OFFSET_BG1VOFS, 348); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(0) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(5) | + BGCNT_TXT256x512); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT256x512); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083369A0, (void *) BG_SCREEN_ADDR(5), 0x1000); - } - else - { - DmaCopy16Defvars(3, gUnknown_083359A0, (void *) BG_SCREEN_ADDR(5), 0x1000); - } + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeTilemap_GbaCable, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + else + { + DmaCopy16Defvars(3, sTradeTilemap_GbaWireless, (void *) BG_SCREEN_ADDR(5), 0x1000); + } - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 2: + sTradeData->bg1vofs = 0; + sTradeData->bg1hofs = 0; + if (!sTradeData->isCableTrade) + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON); - break; - case 2: - gUnknown_020322A0->bg1vofs = 0; - gUnknown_020322A0->bg1hofs = 0; - if (!gUnknown_020322A0->unk_FA) - { - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); - BlendPalettes(0x8, 16, RGB_BLACK); - } - else - { - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - DmaCopy16Defvars(3, gUnknown_0832FFC0, (void *) BG_SCREEN_ADDR(5), 0x800); - BlendPalettes(0x1, 16, RGB_BLACK); - } - break; - case 3: - LoadPalette(gUnknown_08337EA0, 48, 0x20); - LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1)); - LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18)); - gUnknown_020322A0->bg2vofs = 80; - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); + BlendPalettes(0x8, 16, RGB_BLACK); + } + else + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | - DISPCNT_BG2_ON | DISPCNT_OBJ_ON); - break; - case 4: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | - BGCNT_CHARBASE(1) | - BGCNT_256COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_AFF128x128); - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 92; - gUnknown_020322A0->unk_E8 = 32; - gUnknown_020322A0->unk_EA = 1024; - gUnknown_020322A0->unk_EC = 0; + DmaCopy16Defvars(3, sTradeTilemap_Cable, (void *) BG_SCREEN_ADDR(5), 0x800); + BlendPalettes(0x1, 16, RGB_BLACK); + } + break; + case 3: + LoadPalette(sTradePal_Black, 48, 0x20); + LZ77UnCompVram(sTradeGfx_WirelessSignal, (void *) BG_CHAR_ADDR(1)); + LZ77UnCompVram(sTradeTilemap_WirelessSignal, (void *) BG_SCREEN_ADDR(18)); + sTradeData->bg2vofs = 80; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + break; + case 4: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + sTradeData->texX = 64; + sTradeData->texY = 92; + sTradeData->sXY = 32; + sTradeData->unk_EA = 1024; + sTradeData->alpha = 0; - DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - else - { - DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - break; - case 5: - gUnknown_020322A0->bg1vofs = 0; - gUnknown_020322A0->bg1hofs = 0; - break; - case 6: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | - BGCNT_CHARBASE(1) | - BGCNT_256COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_AFF128x128); - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 92; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EA = 128; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_EC = 0; + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 5: + sTradeData->bg1vofs = 0; + sTradeData->bg1hofs = 0; + break; + case 6: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + sTradeData->texX = 64; + sTradeData->texY = 92; + sTradeData->sXY = 256; + sTradeData->unk_EA = 128; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->alpha = 0; - DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - else - { - DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - break; - case 7: - gUnknown_020322A0->bg2vofs = 0; - gUnknown_020322A0->bg2hofs = 0; - SetGpuReg(REG_OFFSET_BLDCNT, 0); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); - break; + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 7: + sTradeData->bg2vofs = 0; + sTradeData->bg2hofs = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; } } -static void sub_807BA94(void) +static void LoadTradeSequenceSpriteSheetsAndPalettes(void) { - LoadSpriteSheet(&gUnknown_08338D70); - LoadSpriteSheet(&gUnknown_08338DC0); - LoadSpriteSheet(&gUnknown_08338DF4); - LoadSpriteSheet(&gUnknown_08338E6C); - LoadSpritePalette(&gUnknown_08338D78); - LoadSpritePalette(&gUnknown_08338D80); + LoadSpriteSheet(&sGlow1SpriteSheet); + LoadSpriteSheet(&sGlow2SpriteSheet); + LoadSpriteSheet(&sCableEndSpriteSheet); + LoadSpriteSheet(&sGbaScreenSpriteSheet); + LoadSpritePalette(&sMiscTradeSpritePalette); + LoadSpritePalette(&sGbaSpritePalette); } -static void SetTradeSceneStrings(void) +// Buffers "[Pokemon] will be sent to [Trainer]" strings +static void BufferTradeSceneStrings(void) { - /*Sets the variable strings printed on the - *actual trading screen. For use in strings - *like "[Pokemon] will be sent to [Trainer]." - */ u8 mpId; u8 name[20]; const struct InGameTrade *ingameTrade; - if (gUnknown_020322A0->isLinkTrade) + if (sTradeData->isLinkTrade) { mpId = GetMultiplayerId(); StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name); - GetMonData(&gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE], MON_DATA_NICKNAME, name); + GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_NICKNAME, name); StringCopy10(gStringVar3, name); - GetMonData(&gPlayerParty[gUnknown_02032298[0]], MON_DATA_NICKNAME, name); + GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], MON_DATA_NICKNAME, name); StringCopy10(gStringVar2, name); } else { - ingameTrade = &gIngameTrades[gSpecialVar_0x8004]; + ingameTrade = &sIngameTrades[gSpecialVar_0x8004]; StringCopy(gStringVar1, ingameTrade->otName); - StringCopy10(gStringVar3, ingameTrade->name); + StringCopy10(gStringVar3, ingameTrade->nickname); GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); StringCopy10(gStringVar2, name); } } -static u8 sub_807BBC8(void) +// returns TRUE if it was a link trade, FALSE if it was an in-game trade +static bool8 AnimateTradeSequence(void) { - if (gUnknown_020322A0->unk_FA) - { - return sub_807BBEC(); - } + if (sTradeData->isCableTrade) + return AnimateTradeSequenceCable(); else - { - return sub_807CFC8(); - } + return AnimateTradeSequenceWireless(); } -static bool8 sub_807BBEC(void) +static bool8 AnimateTradeSequenceCable(void) { u16 evoTarget; - switch (gUnknown_020322A0->state) + switch (sTradeData->state) { - case 0: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->state++; - gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); - PlayNewMapMusic(MUS_SHINKA); - break; - case 1: - if (gUnknown_020322A0->bg2hofs > 0) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; - gUnknown_020322A0->bg2hofs -= 3; - } - else - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; - gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->state = 10; - } - break; - case 10: - StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); - sub_807F1A8(0, gStringVar4, 0); + case 0: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset; + sTradeData->state++; + sTradeData->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (sTradeData->bg2hofs > 0) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3; + sTradeData->bg2hofs -= 3; + } + else + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0; + sTradeData->bg2hofs = 0; + sTradeData->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + DrawTextOnTradeWindow(0, gStringVar4, 0); - if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) - { - PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); - } + if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG) + { + PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0); + } - gUnknown_020322A0->state = 11; - gUnknown_020322A0->timer = 0; - break; - case 11: - if (++gUnknown_020322A0->timer == 80) - { - gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); - sub_807F1A8(0, gStringVar4, 0); - } - break; - case 12: - if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) - { - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; - DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->state++; - } - break; - case 13: - // The game waits here for the sprite to finish its animation sequence. - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 20; - break; - case 20: - if (!gPaletteFade.active) - { - sub_807B62C(4); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - CopyWindowToVram(0, 3); - gUnknown_020322A0->state++; - } - break; - case 21: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 22: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state = 23; - } - break; - case 23: - if (gUnknown_020322A0->unk_EA > 0x100) - { - gUnknown_020322A0->unk_EA -= 0x34; - } - else - { - sub_807B62C(1); - gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 24: - if (++gUnknown_020322A0->timer > 20) - { - sub_807AB28(); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state++; - } - break; - case 25: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | - BLDCNT_TGT2_BG1 | - BLDCNT_TGT2_BG2); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); - gUnknown_020322A0->state++; - } - break; - case 26: - if (--gUnknown_020322A0->bg1vofs == 316) - { - gUnknown_020322A0->state++; - } - if (gUnknown_020322A0->bg1vofs == 328) - { - gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); - } - break; - case 27: - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->state++; - break; - case 28: - if ((gUnknown_020322A0->bg1vofs -= 2) == 166) - { - gUnknown_020322A0->state = 200; - } - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - break; - case 200: - gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; - gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; - if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) - { - gUnknown_020322A0->state = 29; - } - break; - case 29: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 30; - break; - case 30: - if (!gPaletteFade.active) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(2); - gUnknown_020322A0->state++; - } - break; - case 31: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->state++; - break; - case 32: - if (!gPaletteFade.active) - { - PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->state++; - } - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - break; - case 33: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 1; - gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->state++; - } - break; - case 34: - BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 35: + sTradeData->state = 11; + sTradeData->timer = 0; + break; + case 11: + if (++sTradeData->timer == 80) + { + sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + DrawTextOnTradeWindow(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy) + { + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[sTradeData->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[sTradeData->pokeballSpriteId]); + sTradeData->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(4); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + CopyWindowToVram(0, 3); + sTradeData->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 22: + if (!gPaletteFade.active) + { + sTradeData->state = 23; + } + break; + case 23: + if (sTradeData->unk_EA > 0x100) + { + sTradeData->unk_EA -= 0x34; + } + else + { + SetTradeSequenceBgGpuRegs(1); + sTradeData->unk_EA = 0x80; + sTradeData->state++; + sTradeData->timer = 0; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 24: + if (++sTradeData->timer > 20) + { + SetTradeBGAffine(); + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state++; + } + break; + case 25: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG1 | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); + sTradeData->state++; + } + break; + case 26: + if (--sTradeData->bg1vofs == 316) + { + sTradeData->state++; + } + if (sTradeData->bg1vofs == 328) + { + sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + } + break; + case 27: + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, 80, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + sTradeData->state++; + break; + case 28: + if ((sTradeData->bg1vofs -= 2) == 166) + { + sTradeData->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[sTradeData->unk_90].pos1.y -= 2; + gSprites[sTradeData->unk_91].pos1.y -= 2; + if (gSprites[sTradeData->unk_90].pos1.y < -8) + { + sTradeData->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(2); + sTradeData->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0); + sTradeData->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + sTradeData->state++; + } + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + break; + case 33: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -90) + { + gSprites[sTradeData->unk_90].data[1] = 1; + gSprites[sTradeData->unk_91].data[1] = 1; + sTradeData->state++; + } + break; + case 34: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 35: + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 36: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER])) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE; + sTradeData->state++; + break; + case 38: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3; + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222) + { + gSprites[sTradeData->unk_90].data[1] = 0; + gSprites[sTradeData->unk_91].data[1] = 0; + sTradeData->state++; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE; BlendPalettes(0x1, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 36: - BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 37: - if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; - CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - else - { - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->state++; - break; - case 38: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) - { - PlaySE(SE_TK_WARPIN); - } - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 0; - gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->state++; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; - BlendPalettes(0x1, 0, RGB_WHITEALPHA); - } - break; - case 39: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) - { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - } - break; - case 40: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - sub_807B62C(1); - gUnknown_020322A0->bg1vofs = 166; - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, -20, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - } - break; - case 41: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 42: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 43: - gSprites[gUnknown_020322A0->unk_90].pos2.y += 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) - { - gUnknown_020322A0->state++; - } - break; - case 44: - if ((gUnknown_020322A0->bg1vofs += 2) > 316) - { - gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->state++; - } - break; - case 45: - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 46: - if (++gUnknown_020322A0->timer == 10) - { - gUnknown_020322A0->state++; - } - break; - case 47: - if (++gUnknown_020322A0->bg1vofs > 348) - { - gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->state++; - } - if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA) - { - gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); - gSprites[gUnknown_020322A0->unk_92].callback = sub_807AAE0; - } - break; - case 48: - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state = 50; - break; - case 50: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(6); - gUnknown_020322A0->state++; - PlaySE(SE_W028); - } - break; - case 51: - if (gUnknown_020322A0->unk_EA < 0x400) - { - gUnknown_020322A0->unk_EA += 0x34; - } - else - { - gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->state++; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 52: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 60; - break; + } + break; + case 39: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state++; + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + sTradeData->state++; + SetTradeSequenceBgGpuRegs(1); + sTradeData->bg1vofs = 166; + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, -20, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 43: + gSprites[sTradeData->unk_90].pos2.y += 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64) + { + sTradeData->state++; + } + break; + case 44: + if ((sTradeData->bg1vofs += 2) > 316) + { + sTradeData->bg1vofs = 316; + sTradeData->state++; + } + break; + case 45: + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 46: + if (++sTradeData->timer == 10) + { + sTradeData->state++; + } + break; + case 47: + if (++sTradeData->bg1vofs > 348) + { + sTradeData->bg1vofs = 348; + sTradeData->state++; + } + if (sTradeData->bg1vofs == 328 && sTradeData->isCableTrade) + { + sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + gSprites[sTradeData->unk_92].callback = sub_807AAE0; + } + break; + case 48: + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state = 50; + break; + case 50: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(6); + sTradeData->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (sTradeData->unk_EA < 0x400) + { + sTradeData->unk_EA += 0x34; + } + else + { + sTradeData->unk_EA = 0x400; + sTradeData->state++; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 60; + break; - case 60: - if (!gPaletteFade.active) + case 60: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(7); + gPaletteFade.bufferTransferDisabled = TRUE; + sTradeData->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 63: + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[sTradeData->unk_D3].data[3] = 74; + gSprites[sTradeData->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 65: + if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]); + sTradeData->state++; + } + break; + case 66: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0; + StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]); + FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]); + DestroySprite(&gSprites[sTradeData->unk_D3]); + sTradeData->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->state = 167; + sTradeData->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++sTradeData->timer > 60) + { + sTradeData->state = 267; + sTradeData->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + sTradeData->state = 68; + } + break; + case 68: + if (++sTradeData->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (sTradeData->timer == 250) + { + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->timer = 0; + } + break; + case 69: + if (++sTradeData->timer == 60) + { + sTradeData->state++; + } + break; + case 70: + CheckPartnersMonForRibbons(); + sTradeData->state++; + break; + case 71: + if (sTradeData->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + sTradeData->state++; + } + break; + case 72: // Only if in-game trade + TradeMons(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = CB2_UpdateInGameTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + } + sTradeData->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(sTradeData->cachedMapMusic); + if (sTradeData) { - sub_807B62C(5); - sub_807B62C(7); - gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->state++; + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(sTradeData); } - break; - case 61: - gPaletteFade.bufferTransferDisabled = FALSE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 62: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 63: - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); - gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); - BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 64: - BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 65: - if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) - { - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->state++; - } - break; - case 66: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; - StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->state++; - break; - case 67: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - StringExpandPlaceholders(gStringVar4, gText_XSentOverY); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->state = 167; - gUnknown_020322A0->timer = 0; - break; - // 167 and 267 are extra cases added in for animations - case 167: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->state = 267; - gUnknown_020322A0->timer = 0; - } - break; - case 267: - if (IsCryFinished()) - { - gUnknown_020322A0->state = 68; - } - break; - case 68: - if (++gUnknown_020322A0->timer == 10) - { - PlayFanfare(MUS_FANFA5); - } - if (gUnknown_020322A0->timer == 250) - { - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->timer = 0; - } - break; - case 69: - if (++gUnknown_020322A0->timer == 60) - { - gUnknown_020322A0->state++; - } - break; - case 70: - sub_807F14C(); - gUnknown_020322A0->state++; - break; - case 71: - if (gUnknown_020322A0->isLinkTrade) - { - return TRUE; - } - else if (gMain.newKeys & A_BUTTON) - { - gUnknown_020322A0->state++; - } - break; - case 72: // Only if in-game trade - sub_807B4D0(gSpecialVar_0x8005, 0); - gCB2_AfterEvolution = sub_807B60C; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - { - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - } - gUnknown_020322A0->state++; - break; - case 73: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 74: - if (!gPaletteFade.active) - { - PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); - if (gUnknown_020322A0) - { - FreeAllWindowBuffers(); - Free(GetBgTilemapBuffer(3)); - Free(GetBgTilemapBuffer(1)); - Free(GetBgTilemapBuffer(0)); - FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); - } - SetMainCallback2(CB2_ReturnToField); - sub_807E784(); - } - break; + SetMainCallback2(CB2_ReturnToField); + BuffeInGameTradeMonName(); + } + break; } return FALSE; } -static bool8 sub_807CFC8(void) +static bool8 AnimateTradeSequenceWireless(void) { u16 evoTarget; - switch (gUnknown_020322A0->state) + switch (sTradeData->state) { - case 0: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->state++; - gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); - PlayNewMapMusic(MUS_SHINKA); - break; - case 1: - if (gUnknown_020322A0->bg2hofs > 0) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; - gUnknown_020322A0->bg2hofs -= 3; - } - else - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; - gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->state = 10; - } - break; - case 10: - StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); - sub_807F1A8(0, gStringVar4, 0); + case 0: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset; + sTradeData->state++; + sTradeData->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (sTradeData->bg2hofs > 0) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3; + sTradeData->bg2hofs -= 3; + } + else + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0; + sTradeData->bg2hofs = 0; + sTradeData->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + DrawTextOnTradeWindow(0, gStringVar4, 0); - if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) - { - PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); - } + if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG) + { + PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0); + } - gUnknown_020322A0->state = 11; - gUnknown_020322A0->timer = 0; - break; - case 11: - if (++gUnknown_020322A0->timer == 80) - { - gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); - sub_807F1A8(0, gStringVar4, 0); - } - break; - case 12: - if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) - { - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; - DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->state++; - } - break; - case 13: - // The game waits here for the sprite to finish its animation sequence. - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 20; - break; - case 20: - if (!gPaletteFade.active) - { - sub_807B62C(4); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - CopyWindowToVram(0, 3); - gUnknown_020322A0->state++; - } - break; - case 21: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 22: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state = 23; - } - break; - case 23: - if (gUnknown_020322A0->unk_EA > 0x100) - { - gUnknown_020322A0->unk_EA -= 0x34; - } - else - { - sub_807B62C(1); - gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->state = 124; - gUnknown_020322A0->timer = 0; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 124: - if (++gUnknown_020322A0->timer > 20) - { - sub_807B62C(3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); - gUnknown_020322A0->state++; - } - break; - case 125: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | - BLDCNT_TGT1_OBJ | - BLDCNT_EFFECT_BLEND | - BLDCNT_TGT2_BG2); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); - CreateTask(c3_08054588, 5); - gUnknown_020322A0->state++; - } - break; - case 126: - if (!FuncIsActiveTask(c3_08054588)) - { - gUnknown_020322A0->state = 26; - } - break; - case 26: - if (--gUnknown_020322A0->bg1vofs == 316) - { - gUnknown_020322A0->state++; - } - break; - case 27: - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); - gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->state++; - break; - case 28: - if ((gUnknown_020322A0->bg1vofs -= 3) == 166) - { - gUnknown_020322A0->state = 200; - } - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - break; - case 200: - gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; - gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; - if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) - { - gUnknown_020322A0->state = 29; - } - break; - case 29: + sTradeData->state = 11; + sTradeData->timer = 0; + break; + case 11: + if (++sTradeData->timer == 80) + { + sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + DrawTextOnTradeWindow(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy) + { + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[sTradeData->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[sTradeData->pokeballSpriteId]); + sTradeData->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(4); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + CopyWindowToVram(0, 3); + sTradeData->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 22: + if (!gPaletteFade.active) + { + sTradeData->state = 23; + } + break; + case 23: + if (sTradeData->unk_EA > 0x100) + { + sTradeData->unk_EA -= 0x34; + } + else + { + SetTradeSequenceBgGpuRegs(1); + sTradeData->unk_EA = 0x80; + sTradeData->state = 124; + sTradeData->timer = 0; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 124: + if (++sTradeData->timer > 20) + { + SetTradeSequenceBgGpuRegs(3); + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); + sTradeData->state++; + } + break; + case 125: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | + BLDCNT_TGT1_OBJ | + BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); + CreateTask(Task_AnimateWirelessSignal, 5); + sTradeData->state++; + } + break; + case 126: + if (!FuncIsActiveTask(Task_AnimateWirelessSignal)) + { + sTradeData->state = 26; + } + break; + case 26: + if (--sTradeData->bg1vofs == 316) + { + sTradeData->state++; + } + break; + case 27: + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); + gSprites[sTradeData->unk_90].callback = sub_807AA4C; + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, 80, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + sTradeData->state++; + break; + case 28: + if ((sTradeData->bg1vofs -= 3) == 166) + { + sTradeData->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[sTradeData->unk_90].pos1.y -= 2; + gSprites[sTradeData->unk_91].pos1.y -= 2; + if (gSprites[sTradeData->unk_90].pos1.y < -8) + { + sTradeData->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(2); + sTradeData->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0); + sTradeData->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + sTradeData->state++; + } + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + break; + case 33: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -90) + { + gSprites[sTradeData->unk_90].data[1] = 1; + gSprites[sTradeData->unk_91].data[1] = 1; + sTradeData->state++; + CreateTask(c3_0805465C, 5); + } + break; + case 34: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 35: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 36: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER])) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 40; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 200; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE; + sTradeData->state++; + break; + case 38: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3; + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222) + { + gSprites[sTradeData->unk_90].data[1] = 0; + gSprites[sTradeData->unk_91].data[1] = 0; + sTradeData->state++; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE; + CreateTask(sub_807F39C, 5); + } + break; + case 39: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -222) + { BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 30; - break; - case 30: - if (!gPaletteFade.active) + sTradeData->state++; + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + sTradeData->state++; + SetTradeSequenceBgGpuRegs(1); + sTradeData->bg1vofs = 166; + SetTradeSequenceBgGpuRegs(3); + sTradeData->bg2vofs = 412; + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); + gSprites[sTradeData->unk_90].callback = sub_807AA4C; + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, -20, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 43: + gSprites[sTradeData->unk_90].pos2.y += 4; + gSprites[sTradeData->unk_91].pos2.y += 4; + if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64) + { + sTradeData->state = 144; + sTradeData->timer = 0; + } + break; + case 144: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + sTradeData->bg1vofs += 3; + sTradeData->bg2vofs += 3; + if (++sTradeData->timer == 10) + { + u8 taskId = CreateTask(Task_AnimateWirelessSignal, 5); + gTasks[taskId].data[2] = TRUE; + } + if (sTradeData->bg1vofs > 316) + { + sTradeData->bg1vofs = 316; + sTradeData->state++; + } + break; + case 145: + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 146: + if (!FuncIsActiveTask(Task_AnimateWirelessSignal)) + { + sTradeData->state = 46; + sTradeData->timer = 0; + } + break; + case 46: + if (++sTradeData->timer == 10) + { + sTradeData->state++; + } + break; + case 47: + if (++sTradeData->bg1vofs > 348) + { + sTradeData->bg1vofs = 348; + sTradeData->state++; + } + break; + case 48: + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state = 50; + break; + case 50: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(6); + sTradeData->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (sTradeData->unk_EA < 0x400) + { + sTradeData->unk_EA += 0x34; + } + else + { + sTradeData->unk_EA = 0x400; + sTradeData->state++; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 60; + break; + case 60: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(7); + gPaletteFade.bufferTransferDisabled = TRUE; + sTradeData->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 63: + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[sTradeData->unk_D3].data[3] = 74; + gSprites[sTradeData->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 65: + if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]); + sTradeData->state++; + } + break; + case 66: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0; + StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]); + FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]); + DestroySprite(&gSprites[sTradeData->unk_D3]); + sTradeData->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->state = 167; + sTradeData->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++sTradeData->timer > 60) + { + sTradeData->state = 267; + sTradeData->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + sTradeData->state = 68; + } + break; + case 68: + if (++sTradeData->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (sTradeData->timer == 250) + { + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->timer = 0; + } + break; + case 69: + if (++sTradeData->timer == 60) + { + sTradeData->state++; + } + break; + case 70: + CheckPartnersMonForRibbons(); + sTradeData->state++; + break; + case 71: + if (sTradeData->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + sTradeData->state++; + } + break; + case 72: // Only if in-game trade + TradeMons(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = CB2_UpdateInGameTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + } + sTradeData->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(sTradeData->cachedMapMusic); + if (sTradeData) { - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(2); - gUnknown_020322A0->state++; + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(sTradeData); } - break; - case 31: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->state++; - break; - case 32: - if (!gPaletteFade.active) - { - PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->state++; - } - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - break; - case 33: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 1; - gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->state++; - CreateTask(c3_0805465C, 5); - } - break; - case 34: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 35: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 36: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 37: - if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; - CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - else - { - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 40; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 200; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->state++; - break; - case 38: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) - { - PlaySE(SE_TK_WARPIN); - } - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 0; - gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->state++; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; - CreateTask(sub_807F39C, 5); - } - break; - case 39: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) - { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - } - break; - case 40: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - sub_807B62C(1); - gUnknown_020322A0->bg1vofs = 166; - sub_807B62C(3); - gUnknown_020322A0->bg2vofs = 412; - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); - gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, -20, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - } - break; - case 41: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 42: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 43: - gSprites[gUnknown_020322A0->unk_90].pos2.y += 4; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 4; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) - { - gUnknown_020322A0->state = 144; - gUnknown_020322A0->timer = 0; - } - break; - case 144: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - gUnknown_020322A0->bg1vofs += 3; - gUnknown_020322A0->bg2vofs += 3; - if (++gUnknown_020322A0->timer == 10) - { - u8 taskId = CreateTask(c3_08054588, 5); - gTasks[taskId].data[2] = 1; - } - if (gUnknown_020322A0->bg1vofs > 316) - { - gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->state++; - } - break; - case 145: - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 146: - if (!FuncIsActiveTask(c3_08054588)) - { - gUnknown_020322A0->state = 46; - gUnknown_020322A0->timer = 0; - } - break; - case 46: - if (++gUnknown_020322A0->timer == 10) - { - gUnknown_020322A0->state++; - } - break; - case 47: - if (++gUnknown_020322A0->bg1vofs > 348) - { - gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->state++; - } - break; - case 48: - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state = 50; - break; - case 50: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(6); - gUnknown_020322A0->state++; - PlaySE(SE_W028); - } - break; - case 51: - if (gUnknown_020322A0->unk_EA < 0x400) - { - gUnknown_020322A0->unk_EA += 0x34; - } - else - { - gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->state++; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 52: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 60; - break; - case 60: - if (!gPaletteFade.active) - { - sub_807B62C(5); - sub_807B62C(7); - gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->state++; - } - break; - case 61: - gPaletteFade.bufferTransferDisabled = FALSE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 62: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 63: - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); - gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); - BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 64: - BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 65: - if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) - { - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->state++; - } - break; - case 66: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; - StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->state++; - break; - case 67: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - StringExpandPlaceholders(gStringVar4, gText_XSentOverY); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->state = 167; - gUnknown_020322A0->timer = 0; - break; - // 167 and 267 are extra cases added in for animations - case 167: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->state = 267; - gUnknown_020322A0->timer = 0; - } - break; - case 267: - if (IsCryFinished()) - { - gUnknown_020322A0->state = 68; - } - break; - case 68: - if (++gUnknown_020322A0->timer == 10) - { - PlayFanfare(MUS_FANFA5); - } - if (gUnknown_020322A0->timer == 250) - { - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->timer = 0; - } - break; - case 69: - if (++gUnknown_020322A0->timer == 60) - { - gUnknown_020322A0->state++; - } - break; - case 70: - sub_807F14C(); - gUnknown_020322A0->state++; - break; - case 71: - if (gUnknown_020322A0->isLinkTrade) - { - return TRUE; - } - else if (gMain.newKeys & A_BUTTON) - { - gUnknown_020322A0->state++; - } - break; - case 72: // Only if in-game trade - sub_807B4D0(gSpecialVar_0x8005, 0); - gCB2_AfterEvolution = sub_807B60C; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - { - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - } - gUnknown_020322A0->state++; - break; - case 73: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 74: - if (!gPaletteFade.active) - { - PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); - if (gUnknown_020322A0) - { - FreeAllWindowBuffers(); - Free(GetBgTilemapBuffer(3)); - Free(GetBgTilemapBuffer(1)); - Free(GetBgTilemapBuffer(0)); - FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); - } - SetMainCallback2(CB2_ReturnToField); - sub_807E784(); - } - break; + SetMainCallback2(CB2_ReturnToField); + BuffeInGameTradeMonName(); + } + break; } return FALSE; } -static void c2_08053788(void) +static void CB2_TryTradeEvolution(void) { u16 evoTarget; switch (gMain.state) { - case 0: - gMain.state = 4; - gSoftResetDisabled = TRUE; - break; - case 4: - gCB2_AfterEvolution = sub_807EB50; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - else if (sub_8077260()) - SetMainCallback2(sub_807F464); - else - SetMainCallback2(sub_807EB50); - gUnknown_02032298[0] = 255; - break; + case 0: + gMain.state = 4; + gSoftResetDisabled = TRUE; + break; + case 4: + gCB2_AfterEvolution = CB2_SaveAndEndTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + else if (IsWirelessTrade()) + SetMainCallback2(CB2_SaveAndEndWirelessTrade); + else + SetMainCallback2(CB2_SaveAndEndTrade); + gSelectedTradeMonPositions[TRADE_PLAYER] = 255; + break; } if (!HasLinkErrorOccurred()) RunTasks(); @@ -5703,29 +4501,26 @@ static void c2_08053788(void) UpdatePaletteFade(); } -static void sub_807E4DC(void) +static void UpdateTradeFinishFlags(void) { u8 blockReceivedStatus; - sub_807ACDC(); + TradeGetMultiplayerId(); // no effect call, ret val ignored blockReceivedStatus = GetBlockReceivedStatus(); if (blockReceivedStatus & 0x01) { - if (gBlockRecvBuffer[0][0] == 0xDCBA) - { - SetMainCallback2(c2_08053788); - } - if (gBlockRecvBuffer[0][0] == 0xABCD) - { - gUnknown_020322A0->unk_72 = 1; - } + if (gBlockRecvBuffer[0][0] == LINKCMD_CONFIRM_FINISH_TRADE) + SetMainCallback2(CB2_TryTradeEvolution); + + if (gBlockRecvBuffer[0][0] == LINKCMD_READY_FINISH_TRADE) + sTradeData->playerLinkFlagFinishTrade = READY_FINISH_TRADE; + ResetBlockReceivedFlag(0); } if (blockReceivedStatus & 0x02) { - if (gBlockRecvBuffer[1][0] == 0xABCD) - { - gUnknown_020322A0->unk_73 = 1; - } + if (gBlockRecvBuffer[1][0] == LINKCMD_READY_FINISH_TRADE) + sTradeData->partnerLinkFlagFinishTrade = READY_FINISH_TRADE; + ResetBlockReceivedFlag(1); } } @@ -5753,7 +4548,7 @@ static void sub_807E55C(struct Sprite *sprite) static void sub_807E5D8(struct Sprite *sprite) { - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]]; if (sprite->data[0] == 22) PlaySE(SE_KON); if (++ sprite->data[0] == 44) @@ -5771,11 +4566,11 @@ static void sub_807E64C(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 1); if (++ sprite->data[1] > 20) { - sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y -= sTradeBallVerticalVelocityTable[sprite->data[0]]; if (++ sprite->data[0] == 23) { DestroySprite(sprite); - gUnknown_020322A0->state = 14; // Resume the master trade animation + sTradeData->state = 14; // Resume the master trade animation } } } @@ -5799,7 +4594,7 @@ static void sub_807E6AC(struct Sprite *sprite) PlaySE(SE_KON3); if (sprite->data[0] == 0x6b) PlaySE(SE_KON4); - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]]; if (++sprite->data[0] == 0x6c) sprite->callback = SpriteCallbackDummy; } @@ -5807,16 +4602,16 @@ static void sub_807E6AC(struct Sprite *sprite) u16 GetInGameTradeSpeciesInfo(void) { - const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; - StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]); + const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, gSpeciesNames[inGameTrade->requestedSpecies]); StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); - return inGameTrade->playerSpecies; + return inGameTrade->requestedSpecies; } -static void sub_807E784(void) +static void BuffeInGameTradeMonName(void) { u8 nickname[32]; - const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); StringCopy10(gStringVar1, nickname); StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); @@ -5824,11 +4619,11 @@ static void sub_807E784(void) static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) { - const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; + const struct InGameTrade *inGameTrade = &sIngameTrades[whichInGameTrade]; u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); struct MailStruct mail; - u8 metLocation = 0xFE; + u8 metLocation = METLOC_IN_GAME_TRADE; u8 isMail; struct Pokemon *pokemon = &gEnemyParty[0]; @@ -5840,15 +4635,15 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]); SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]); SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]); - SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); + SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->nickname); SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); - SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->secondAbility); - SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); - SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); - SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); - SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]); - SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]); + SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->abilityNum); + SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->conditions[1]); + SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->conditions[2]); + SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->conditions[0]); + SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->conditions[3]); + SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->conditions[4]); SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen); SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation); @@ -5857,8 +4652,8 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) { if (ItemIsMail(inGameTrade->heldItem)) { - sub_807E974(&mail, inGameTrade); - gUnknown_020321C0[0] = mail; + SetInGameTradeMail(&mail, inGameTrade); + gTradeMail[0] = mail; SetMonData(pokemon, MON_DATA_MAIL, &isMail); SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); } @@ -5870,12 +4665,12 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) CalculateMonStats(&gEnemyParty[0]); } -static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { +static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade) { s32 i; - for (i = 0; i < 9; i++) + for (i = 0; i < MAIL_WORDS_COUNT; i++) { - mail->words[i] = gIngameTradeMail[trade->mailNum][i]; + mail->words[i] = sIngameTradeMail[trade->mailNum][i]; } StringCopy(mail->playerName, trade->otName); @@ -5901,22 +4696,22 @@ void CreateInGameTradePokemon(void) _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004); } -static void sub_807EA2C(void) +static void CB2_UpdateLinkTrade(void) { - if (sub_807BBC8() == TRUE) + if (AnimateTradeSequence() == TRUE) { - DestroySprite(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]]); - sub_807B4D0(gUnknown_02032298[0], gUnknown_02032298[1] % 6); - if (!sub_8077260()) + DestroySprite(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]]); + FreeSpriteOamMatrix(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]]); + TradeMons(gSelectedTradeMonPositions[TRADE_PLAYER], gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE); + if (!IsWirelessTrade()) { - gUnknown_020322A0->linkData[0] = 0xABCD; - gUnknown_020322A0->unk_93 = 1; + sTradeData->linkData[0] = LINKCMD_READY_FINISH_TRADE; + sTradeData->sendTradeFinishState = 1; } - SetMainCallback2(sub_807EACC); + SetMainCallback2(CB2_TryFinishTrade); } - sub_807B5B8(); - sub_807E4DC(); + TrySendTradeFinishData(); + UpdateTradeFinishFlags(); RunTasks(); RunTextPrinters(); AnimateSprites(); @@ -5924,22 +4719,24 @@ static void sub_807EA2C(void) UpdatePaletteFade(); } -static void sub_807EACC(void) +static void CB2_TryFinishTrade(void) { - u8 mpId = sub_807ACDC(); - if (sub_8077260()) + u8 mpId = TradeGetMultiplayerId(); + if (IsWirelessTrade()) { - SetMainCallback2(c2_08053788); + SetMainCallback2(CB2_TryTradeEvolution); } else { - sub_807E4DC(); - if (mpId == 0 && gUnknown_020322A0->unk_72 == 1 && gUnknown_020322A0->unk_73 == 1) + UpdateTradeFinishFlags(); + if (mpId == 0 + && sTradeData->playerLinkFlagFinishTrade == READY_FINISH_TRADE + && sTradeData->partnerLinkFlagFinishTrade == READY_FINISH_TRADE) { - gUnknown_020322A0->linkData[0] = 0xDCBA; - Trade_SendData(gUnknown_020322A0); - gUnknown_020322A0->unk_72 = 2; - gUnknown_020322A0->unk_73 = 2; + sTradeData->linkData[0] = LINKCMD_CONFIRM_FINISH_TRADE; + Trade_SendData(sTradeData); + sTradeData->playerLinkFlagFinishTrade = FINISH_TRADE; + sTradeData->partnerLinkFlagFinishTrade = FINISH_TRADE; } } RunTasks(); @@ -5948,159 +4745,159 @@ static void sub_807EACC(void) UpdatePaletteFade(); } -static void sub_807EB50(void) +static void CB2_SaveAndEndTrade(void) { switch (gMain.state) { - case 0: + case 0: + gMain.state++; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 100; + sTradeData->timer = 0; + break; + case 100: + if (++sTradeData->timer > 180) + { + gMain.state = 101; + sTradeData->timer = 0; + } + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 101: + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 2: + gMain.state = 50; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 50: + if (!InUnionRoom()) + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + if (gWirelessCommType) + { + sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + } + SetContinueGameWarpStatusToDynamicWarp(); + sub_8153380(); + gMain.state++; + sTradeData->timer = 0; + break; + case 51: + if (++sTradeData->timer == 5) + { gMain.state++; - StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); - sub_807F1A8(0, gStringVar4, 0); - break; - case 1: - sub_8077288(0); - gMain.state = 100; - gUnknown_020322A0->timer = 0; - break; - case 100: - if (++gUnknown_020322A0->timer > 180) + } + break; + case 52: + if (sub_81533AC()) + { + ClearContinueGameWarpStatus2(); + gMain.state = 4; + } + else + { + sTradeData->timer = 0; + gMain.state = 51; + } + break; + case 4: + sub_81533E0(); + gMain.state = 40; + sTradeData->timer = 0; + break; + case 40: + if (++sTradeData->timer > 50) + { + if (GetMultiplayerId() == 0) { - gMain.state = 101; - gUnknown_020322A0->timer = 0; - } - if (_IsLinkTaskFinished()) - { - gMain.state = 2; - } - break; - case 101: - if (_IsLinkTaskFinished()) - { - gMain.state = 2; - } - break; - case 2: - gMain.state = 50; - StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); - sub_807F1A8(0, gStringVar4, 0); - break; - case 50: - if (!InUnionRoom()) - IncrementGameStat(GAME_STAT_POKEMON_TRADES); - if (gWirelessCommType) - { - sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); - } - SetContinueGameWarpStatusToDynamicWarp(); - sub_8153380(); - gMain.state++; - gUnknown_020322A0->timer = 0; - break; - case 51: - if (++gUnknown_020322A0->timer == 5) - { - gMain.state++; - } - break; - case 52: - if (sub_81533AC()) - { - ClearContinueGameWarpStatus2(); - gMain.state = 4; + sTradeData->timer = Random() % 30; } else { - gUnknown_020322A0->timer = 0; - gMain.state = 51; + sTradeData->timer = 0; } - break; - case 4: - sub_81533E0(); - gMain.state = 40; - gUnknown_020322A0->timer = 0; - break; - case 40: - if (++gUnknown_020322A0->timer > 50) + gMain.state = 41; + } + break; + case 41: + if (sTradeData->timer == 0) + { + sub_8077288(1); + gMain.state = 42; + } + else + { + sTradeData->timer--; + } + break; + case 42: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 5; + } + break; + case 5: + if (++sTradeData->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 6: + if (_IsLinkTaskFinished()) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state ++; + } + break; + case 7: + if (!gPaletteFade.active) + { + FadeOutBGM(3); + gMain.state++; + } + break; + case 8: + if (IsBGMStopped() == TRUE) + { + if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu) { - if (GetMultiplayerId() == 0) - { - gUnknown_020322A0->timer = Random() % 30; - } - else - { - gUnknown_020322A0->timer = 0; - } - gMain.state = 41; - } - break; - case 41: - if (gUnknown_020322A0->timer == 0) - { - sub_8077288(1); - gMain.state = 42; + sub_8077288(3); } else { - gUnknown_020322A0->timer--; + sub_800AC34(); } - break; - case 42: + gMain.state++; + } + break; + case 9: + if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu) + { if (_IsLinkTaskFinished()) - { - sub_8153408(); - gMain.state = 5; - } - break; - case 5: - if (++gUnknown_020322A0->timer > 60) - { - gMain.state++; - sub_8077288(2); - } - break; - case 6: - if (_IsLinkTaskFinished()) - { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gMain.state ++; - } - break; - case 7: - if (!gPaletteFade.active) - { - FadeOutBGM(3); - gMain.state++; - } - break; - case 8: - if (IsBGMStopped() == TRUE) - { - if (gWirelessCommType && gMain.savedCallback == sub_80773AC) - { - sub_8077288(3); - } - else - { - sub_800AC34(); - } - gMain.state++; - } - break; - case 9: - if (gWirelessCommType && gMain.savedCallback == sub_80773AC) - { - if (_IsLinkTaskFinished()) - { - gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); - } - } - else if (!gReceivedRemoteLinkPlayers) { gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); + SetMainCallback2(CB2_FreeTradeData); } - break; + } + else if (!gReceivedRemoteLinkPlayers) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(CB2_FreeTradeData); + } + break; } if (!HasLinkErrorOccurred()) { @@ -6111,7 +4908,7 @@ static void sub_807EB50(void) UpdatePaletteFade(); } -static void c2_080543C4(void) +static void CB2_FreeTradeData(void) { if (!gPaletteFade.active) { @@ -6120,7 +4917,7 @@ static void c2_080543C4(void) Free(GetBgTilemapBuffer(1)); Free(GetBgTilemapBuffer(0)); FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); + FREE_AND_SET_NULL(sTradeData); if (gWirelessCommType) DestroyWirelessStatusIndicatorSprite(); SetMainCallback2(gMain.savedCallback); @@ -6134,95 +4931,103 @@ static void c2_080543C4(void) void DoInGameTradeScene(void) { ScriptContext2_Enable(); - CreateTask(sub_807F110, 10); + CreateTask(Task_InGameTrade, 10); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } -static void sub_807F110(u8 taskId) +static void Task_InGameTrade(u8 taskId) { if (!gPaletteFade.active) { - SetMainCallback2(sub_807B270); + SetMainCallback2(CB2_InGameTrade); gFieldCallback = FieldCallback_ReturnToEventScript2; DestroyTask(taskId); } } -static void sub_807F14C(void) +static void CheckPartnersMonForRibbons(void) { u8 i; u8 numRibbons = 0; for (i = 0; i < 12; i ++) { - numRibbons += GetMonData(&gEnemyParty[gUnknown_02032298[1] % 6], MON_DATA_CHAMPION_RIBBON + i); + numRibbons += GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_CHAMPION_RIBBON + i); } if (numRibbons != 0) FlagSet(FLAG_SYS_RIBBON_GET); } -void sub_807F19C(void) +void InitTradeBg(void) { - sub_807B170(); + InitTradeBgInternal(); } -void sub_807F1A8(u8 windowId, const u8 *str, u8 speed) +void DrawTextOnTradeWindow(u8 windowId, const u8 *str, u8 speed) { FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); - gUnknown_020322A0->unk_F6[0] = 15; - gUnknown_020322A0->unk_F6[1] = 1; - gUnknown_020322A0->unk_F6[2] = 6; - AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, gUnknown_020322A0->unk_F6, speed, str); + sTradeData->textColors[0] = TEXT_DYNAMIC_COLOR_6; + sTradeData->textColors[1] = TEXT_COLOR_WHITE; + sTradeData->textColors[2] = TEXT_COLOR_GREEN; + AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, sTradeData->textColors, speed, str); CopyWindowToVram(windowId, 3); } -static void c3_08054588(u8 taskId) +#define idx data[0] +#define counter data[1] +#define signalComingBack data[2] + +static void Task_AnimateWirelessSignal(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 unk = gUnknown_08339090[data[0]][0] * 16; + u16 paletteIdx = sWirelessSignalTiming[idx][0] * 16; - if (!data[2]) + if (!signalComingBack) { - if (unk == 0x100) - LoadPalette(gUnknown_08337EA0, 0x30, 32); + if (paletteIdx == 256) + LoadPalette(sTradePal_Black, 0x30, 32); else - LoadPalette(&gUnknown_08337AA0[unk], 0x30, 32); + LoadPalette(&sTradePal_WirelessSignalSend[paletteIdx], 0x30, 32); } else { - if (unk == 0x100) - LoadPalette(gUnknown_08337EA0, 0x30, 32); + if (paletteIdx == 256) + LoadPalette(sTradePal_Black, 0x30, 32); else - LoadPalette(&gUnknown_08337CA0[unk], 0x30, 32); + LoadPalette(&sTradePal_WirelessSignalReceive[paletteIdx], 0x30, 32); } - if (gUnknown_08339090[data[0]][0] == 0 && data[1] == 0) + if (sWirelessSignalTiming[idx][0] == 0 && counter == 0) PlaySE(SE_W215); - if (data[1] == gUnknown_08339090[data[0]][1]) + if (counter == sWirelessSignalTiming[idx][1]) { - data[0]++; - data[1] = 0; - if (gUnknown_08339090[data[0]][1] == 0xFF) + idx++; + counter = 0; + if (sWirelessSignalTiming[idx][1] == 0xFF) { DestroyTask(taskId); } } else { - data[1]++; + counter++; } } +#undef idx +#undef counter +#undef signalComingBack + static void c3_0805465C(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - gUnknown_020322A0->unk_FB = gUnknown_020322A0->unk_FD = 120; - gUnknown_020322A0->unk_FC = 0; - gUnknown_020322A0->unk_FE = 160; + sTradeData->wirelessWinLeft = sTradeData->wirelessWinRight = 120; + sTradeData->wirelessWinTop = 0; + sTradeData->wirelessWinBottom = 160; SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | @@ -6230,14 +5035,14 @@ static void c3_0805465C(u8 taskId) WININ_WIN0_OBJ); } - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); - SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom)); data[0]++; - gUnknown_020322A0->unk_FB -= 5; - gUnknown_020322A0->unk_FD += 5; + sTradeData->wirelessWinLeft -= 5; + sTradeData->wirelessWinRight += 5; - if (gUnknown_020322A0->unk_FB < 80) + if (sTradeData->wirelessWinLeft < 80) { DestroyTask(taskId); } @@ -6249,24 +5054,24 @@ static void sub_807F39C(u8 taskId) if (data[0] == 0) { - gUnknown_020322A0->unk_FB = 80; - gUnknown_020322A0->unk_FD = 160; + sTradeData->wirelessWinLeft = 80; + sTradeData->wirelessWinRight = 160; SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_OBJ); } - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); - SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom)); - if (gUnknown_020322A0->unk_FB != 120) + if (sTradeData->wirelessWinLeft != 120) { data[0]++; - gUnknown_020322A0->unk_FB += 5; - gUnknown_020322A0->unk_FD -= 5; + sTradeData->wirelessWinLeft += 5; + sTradeData->wirelessWinRight -= 5; - if (gUnknown_020322A0->unk_FB >= 116) + if (sTradeData->wirelessWinLeft >= 116) BlendPalettes(0x8, 0, RGB_WHITEALPHA); } else @@ -6276,114 +5081,108 @@ static void sub_807F39C(u8 taskId) } } -static void sub_807F464(void) +static void CB2_SaveAndEndWirelessTrade(void) { switch (gMain.state) { - case 0: - gMain.state = 1; - StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); - sub_807F1A8(0, gStringVar4, 0); - break; - case 1: - sub_8077288(0); - gMain.state = 2; - gUnknown_020322A0->timer = 0; - break; - case 2: - if (_IsLinkTaskFinished()) - { - gMain.state = 3; - StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); - sub_807F1A8(0, gStringVar4, 0); - IncrementGameStat(GAME_STAT_POKEMON_TRADES); - sub_8153380(); - gUnknown_020322A0->timer = 0; - } - break; - case 3: - if (++gUnknown_020322A0->timer == 5) - { - gMain.state = 4; - } - break; - case 4: - if (sub_81533AC()) - { - gMain.state = 5; - } + case 0: + gMain.state = 1; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 2; + sTradeData->timer = 0; + break; + case 2: + if (_IsLinkTaskFinished()) + { + gMain.state = 3; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + DrawTextOnTradeWindow(0, gStringVar4, 0); + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + sub_8153380(); + sTradeData->timer = 0; + } + break; + case 3: + if (++sTradeData->timer == 5) + gMain.state = 4; + break; + case 4: + if (sub_81533AC()) + { + gMain.state = 5; + } + else + { + sTradeData->timer = 0; + gMain.state = 3; + } + break; + case 5: + sub_81533E0(); + gMain.state = 6; + sTradeData->timer = 0; + break; + case 6: + if (++sTradeData->timer > 10) + { + if (GetMultiplayerId() == 0) + sTradeData->timer = Random() % 30; else - { - gUnknown_020322A0->timer = 0; - gMain.state = 3; - } - break; - case 5: - sub_81533E0(); - gMain.state = 6; - gUnknown_020322A0->timer = 0; - break; - case 6: - if (++gUnknown_020322A0->timer > 10) - { - if (GetMultiplayerId() == 0) - { - gUnknown_020322A0->timer = Random() % 30; - } - else - { - gUnknown_020322A0->timer = 0; - } - gMain.state = 7; - } - break; - case 7: - if (gUnknown_020322A0->timer == 0) - { - sub_8077288(1); - gMain.state = 8; - } - else - { - gUnknown_020322A0->timer--; - } - break; - case 8: - if (_IsLinkTaskFinished()) - { - sub_8153408(); - gMain.state = 9; - } - break; - case 9: - if (++gUnknown_020322A0->timer > 60) - { - gMain.state++; - sub_8077288(2); - } - break; - case 10: - if (_IsLinkTaskFinished()) - { - FadeOutBGM(3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gMain.state = 11; - } - break; - case 11: - if (!gPaletteFade.active && IsBGMStopped() == TRUE) - { - sub_8077288(3); - gMain.state = 12; - } - break; - case 12: - if (_IsLinkTaskFinished()) - { - gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); - } - break; + sTradeData->timer = 0; + gMain.state = 7; + } + break; + case 7: + if (sTradeData->timer == 0) + { + sub_8077288(1); + gMain.state = 8; + } + else + { + sTradeData->timer--; + } + break; + case 8: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 9; + } + break; + case 9: + if (++sTradeData->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 10: + if (_IsLinkTaskFinished()) + { + FadeOutBGM(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state = 11; + } + break; + case 11: + if (!gPaletteFade.active && IsBGMStopped() == TRUE) + { + sub_8077288(3); + gMain.state = 12; + } + break; + case 12: + if (_IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(CB2_FreeTradeData); + } + break; } if (!HasLinkErrorOccurred()) diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 995dc164ac..af6b0621da 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -63,7 +63,7 @@ static void TrainerHillGetChallengeStatus(void); static void sub_81D5B2C(void); static void sub_81D5BBC(void); static void sub_81D5C00(void); -static void sub_81D5C5C(void); +static void GetInTrainerHill(void); static void sub_81D62B4(void); static void sub_81D64AC(void); static void sub_81D64DC(void); @@ -231,7 +231,7 @@ static void (* const sHillFunctions[])(void) = sub_81D5B2C, sub_81D5BBC, sub_81D5C00, - sub_81D5C5C, + GetInTrainerHill, sub_81D62B4, sub_81D64AC, sub_81D64DC, @@ -534,7 +534,7 @@ static void sub_81D5C00(void) FreeDataStruct(); } -bool8 sub_81D5C18(void) +bool8 InTrainerHillChallenge(void) { if (VarGet(VAR_TRAINER_HILL_IS_ACTIVE) == 0) return FALSE; @@ -546,9 +546,9 @@ bool8 sub_81D5C18(void) return FALSE; } -static void sub_81D5C5C(void) +static void GetInTrainerHill(void) { - if (!sub_81D5C18()) + if (!InTrainerHillChallenge()) gSpecialVar_Result = 0; else gSpecialVar_Result = 1; @@ -997,7 +997,7 @@ static void sub_81D6518(void) bool32 sub_81D6534(void) { - if (!sub_81D5C18() || GetCurrentTrainerHillMapId() == 6) + if (!InTrainerHillChallenge() || GetCurrentTrainerHillMapId() == 6) return FALSE; sub_81D5C00(); diff --git a/src/tv.c b/src/tv.c index 4696a25e39..0537807d09 100644 --- a/src/tv.c +++ b/src/tv.c @@ -42,6 +42,7 @@ #include "constants/layouts.h" #include "constants/metatile_behaviors.h" #include "constants/script_menu.h" +#include "constants/tv.h" // Static type declarations @@ -1595,7 +1596,7 @@ void SaveRecordedItemPurchasesForTVShow(void) show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId; show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity; } - show->smartshopperShow.priceReduced = GetPriceReduction(1); + show->smartshopperShow.priceReduced = GetPriceReduction(POKENEWS_SLATEPORT); StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->smartshopperShow.language = gGameLanguage; @@ -1955,11 +1956,11 @@ void sub_80EDB44(void) show->rivalTrainer.badgeCount = nBadges; if (IsNationalPokedexEnabled()) { - show->rivalTrainer.dexCount = GetNationalPokedexCount(0x01); + show->rivalTrainer.dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); } else { - show->rivalTrainer.dexCount = GetHoennPokedexCount(0x01); + show->rivalTrainer.dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); } show->rivalTrainer.location = gMapHeader.regionMapSectionId; show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId; diff --git a/src/union_room.c b/src/union_room.c index 8ae1119260..f259a38f0d 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -44,6 +44,7 @@ #include "union_room_player_avatar.h" #include "window.h" #include "constants/battle_frontier.h" +#include "constants/cable_club.h" #include "constants/game_stat.h" #include "constants/maps.h" #include "constants/rgb.h" @@ -56,9 +57,9 @@ EWRAM_DATA u8 gUnknown_02022C2D = 0; EWRAM_DATA union UnkUnion_Main gUnknown_02022C30 = {}; EWRAM_DATA u32 gFiller_02022C34 = 0; EWRAM_DATA struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38 = {}; -EWRAM_DATA u16 gUnknown_02022C3C = 0; -EWRAM_DATA u8 gUnknown_02022C3E = 0; -EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {}; +EWRAM_DATA u16 gUnionRoomOfferedSpecies = 0; +EWRAM_DATA u8 gUnionRoomRequestedMonType = 0; +static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {}; // IWRAM vars static struct UnkStruct_Leader *gUnknown_03000DA0; @@ -96,8 +97,8 @@ void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id); void sub_80173D4(void); void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id); bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1); -u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); -void sub_801807C(struct TradeUnkStruct *arg0); +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *arg0, u8 multiplayerId); +static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0); void sub_801AC54(void); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); @@ -105,8 +106,8 @@ s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u8 *arg1, u8 arg2, cons bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1); u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2); void sub_8019F2C(void); -bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1); -void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1); +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade); +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *arg1); void sub_80181CC(void); bool32 sub_8017940(void); u8 sub_8016B00(void); @@ -122,7 +123,7 @@ void sub_801818C(bool32 arg0); s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate); s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6); s32 sub_8017CB0(struct UnkStruct_x20 * arg, s32 arg1); -bool32 sub_8018024(void); +bool32 HasAtLeastTwoMonsOfLevel30OrLower(void); u32 sub_8017984(s32 arg0); void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2); void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender); @@ -140,1045 +141,7 @@ void sub_8013DF4(u8 windowId, s32 itemId, u8 y); void sub_8017BE8(u8 windowId, s32 itemId, u8 y); void nullsub_14(u8 windowId, s32 itemId, u8 y); -// const rom data - -ALIGNED(4) const u8 gText_EmptyString[] = _(""); -ALIGNED(4) const u8 gText_Colon[] = _(":"); -ALIGNED(4) const u8 gText_UnkCtrlCodeF907[] = _("{ID}"); -ALIGNED(4) const u8 gText_PleaseStartOver[] = _("Please start over from the beginning."); -ALIGNED(4) const u8 gText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); -ALIGNED(4) const u8 unref_text_union_room_0[] = _("Awaiting communication\nfrom another player."); -ALIGNED(4) const u8 gText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player."); -ALIGNED(4) const u8 gText_AwaitingLink[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready."); -ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする"); -ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする"); -ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる"); -ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる"); -ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする"); - -const u8 *const unref_text_ptrs_union_room_0[] = { - gJPText_SingleBattle, - gJPText_DoubleBattle, - gJPText_MultiBattle, - gJPText_TradePokemon, - gJPText_Chat, - gJPText_DistWonderCard, - gJPText_DistWonderNews, - gJPText_DistWonderCard, - gJPText_HoldPokemonJump, - gJPText_HoldBerryCrush, - gJPText_HoldBerryPicking, - gJPText_HoldBerryPicking, - gJPText_HoldSpinTrade, - gJPText_HoldSpinShop -}; - -const u8 gText_1PlayerNeeded[] = _("1 player\nneeded."); -const u8 gText_2PlayersNeeded[] = _("2 players\nneeded."); -const u8 gText_3PlayersNeeded[] = _("3 players\nneeded."); -const u8 gText_4PlayersNeeded[] = _("4 players\nneeded."); -const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE"); -const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE"); -const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE"); -const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE"); - -const u8 *const gUnknown_082EDB60[][5] = { - { - gText_1PlayerNeeded, - gText_2PlayerMode, - NULL, - NULL, - NULL - }, { - gText_3PlayersNeeded, - gText_2PlayersNeeded, - gText_1PlayerNeeded, - gText_4PlayerMode, - NULL - }, { - gText_1PlayerNeeded, - gText_2PlayerMode, - gText_3PlayerMode, - gText_4PlayerMode, - gText_5PlayerMode - }, { - gText_2PlayersNeeded, - gText_1PlayerNeeded, - gText_3PlayerMode, - gText_4PlayerMode, - gText_5PlayerMode - }, { - gText_1PlayerNeeded, - gText_2PlayerMode, - gText_3PlayerMode, - gText_4PlayerMode, - NULL - } -}; - -ALIGNED(4) const u8 gUnknown_082EDBC4[] = _("{B_BUTTON}CANCEL"); -ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); -ALIGNED(4) const u8 gUnknown_082EDBE8[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?"); -ALIGNED(4) const u8 gUnknown_082EDC0C[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?"); -ALIGNED(4) const u8 gUnknown_082EDC34[] = _("{STR_VAR_2} contacted you.\nAdd to the members?"); -ALIGNED(4) const u8 gUnknown_082EDC5C[] = _("{STR_VAR_1}!\nAre these members OK?"); -ALIGNED(4) const u8 gUnknown_082EDC78[] = _("Cancel {STR_VAR_1} MODE\nwith these members?"); -ALIGNED(4) const u8 gUnknown_082EDC9C[] = _("An “OK” was sent\nto {STR_VAR_1}."); -ALIGNED(4) const u8 gUnknown_082EDCB4[] = _("The other TRAINER doesn't appear\nto be available now…\p"); -ALIGNED(4) const u8 gUnknown_082EDCEC[] = _("You can't transmit with a TRAINER\nwho is too far away.\p"); -ALIGNED(4) const u8 gUnknown_082EDD24[] = _("The other TRAINER(S) is/are not\nready yet.\p"); - -const u8 *const gUnknown_082EDD50[] = { - gUnknown_082EDCEC, - gUnknown_082EDD24 -}; - -ALIGNED(4) const u8 gUnknown_082EDD58[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EDD8C[] = _("There is a member who can no\nlonger remain available.\p"); - -const u8 *const gUnknown_082EDDC4[] = { - gUnknown_082EDCB4, - gUnknown_082EDD8C -}; - -ALIGNED(4) const u8 gUnknown_082EDDCC[] = _("The other TRAINER appears\nunavailable…\p"); -ALIGNED(4) const u8 gUnknown_082EDDF4[] = _("{STR_VAR_1} sent back an “OK”!"); -ALIGNED(4) const u8 gUnknown_082EDE0C[] = _("{STR_VAR_1} OK'd your registration as\na member."); -ALIGNED(4) const u8 gUnknown_082EDE34[] = _("{STR_VAR_1} replied, “No…”\p"); -ALIGNED(4) const u8 gUnknown_082EDE48[] = _("{STR_VAR_1}!\nAwaiting other members!"); -ALIGNED(4) const u8 gUnknown_082EDE64[] = _("Quit being a member?"); -ALIGNED(4) const u8 gUnknown_082EDE7C[] = _("You stopped being a member.\p"); - -const u8 *const gUnknown_082EDE9C[] = { - NULL, - gUnknown_082EDD8C, - gUnknown_082EDDCC, - NULL, - NULL, - NULL, - gUnknown_082EDE34, - NULL, - NULL, - gUnknown_082EDE7C -}; - -ALIGNED(4) const u8 gUnknown_082EDEC4[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); -ALIGNED(4) const u8 gUnknown_082EDF04[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); -ALIGNED(4) const u8 gUnknown_082EDF40[] = _("The link with your friend has been\ndropped…"); -ALIGNED(4) const u8 gUnknown_082EDF6C[] = _("{STR_VAR_1} replied, “No…”"); - -const u8 *const gUnknown_082EDF80[] = { - NULL, - gUnknown_082EDF40, - gUnknown_082EDF40, - NULL, - NULL, - NULL, - gUnknown_082EDF6C, - NULL, - NULL, - NULL -}; - -ALIGNED(4) const u8 gUnknown_082EDFA8[] = _("Do you want the {STR_VAR_2}\nMODE?"); -ALIGNED(4) const u8 gUnknown_082EDFC4[] = _("Do you want the {STR_VAR_2}\nMODE?"); - -const u8 *const unref_text_ptrs_union_room_1[] = { - gUnknown_082EDFA8, - gUnknown_082EDFC4 -}; - -ALIGNED(4) const u8 unref_text_union_room_3[] = _("Communicating…\nPlease wait."); -ALIGNED(4) const u8 gUnknown_082EE004[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); -ALIGNED(4) const u8 gUnknown_082EE02C[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); -ALIGNED(4) const u8 gUnknown_082EE098[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); -ALIGNED(4) const u8 gUnknown_082EE104[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); - -const u8 *const gUnknown_082EE17C[] = { - gUnknown_082EE02C, - gUnknown_082EE098, - gUnknown_082EE104 -}; - -ALIGNED(4) const u8 gUnknown_082EE188[] = _("Hiya! Is there something that you\nwanted to do?"); -ALIGNED(4) const u8 gUnknown_082EE1B8[] = _("Hello!\nWould you like to do something?"); -ALIGNED(4) const u8 gUnknown_082EE1E0[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); -ALIGNED(4) const u8 gUnknown_082EE218[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); - -const u8 *const gUnknown_082EE24C[][2] = { - { - gUnknown_082EE188, - gUnknown_082EE1B8 - }, { - gUnknown_082EE1E0, - gUnknown_082EE218 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE25C[] = _("Want to do something?"); -ALIGNED(4) const u8 gUnknown_082EE274[] = _("Would you like to do something?"); -ALIGNED(4) const u8 gUnknown_082EE294[] = _("{STR_VAR_1}: What would you like to\ndo now?"); -ALIGNED(4) const u8 unref_text_union_room_4[] = _("{STR_VAR_1}: Want to do anything else?"); - -const u8 *const unref_text_ptrs_union_room_2[][2] = { - { - gUnknown_082EE25C, - gUnknown_082EE274 - }, { - gUnknown_082EE294, - gUnknown_082EE294 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE2E8[] = _("Somebody has contacted you.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE308[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}"); - -const u8 *const gUnknown_082EE324[] = { - gUnknown_082EE2E8, - gUnknown_082EE308 -}; - -ALIGNED(4) const u8 gUnknown_082EE32C[] = _("Awaiting a response from\nthe other TRAINER…"); -ALIGNED(4) const u8 gUnknown_082EE358[] = _("Awaiting a response from\n{STR_VAR_1}…"); - -const u8 *const gUnknown_082EE378[] = { - gUnknown_082EE32C, - gUnknown_082EE358 -}; - -ALIGNED(4) const u8 gUnknown_082EE380[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?"); -ALIGNED(4) const u8 gUnknown_082EE3DC[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?"); -ALIGNED(4) const u8 gUnknown_082EE430[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?"); -ALIGNED(4) const u8 gUnknown_082EE47C[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?"); -ALIGNED(4) const u8 gUnknown_082EE4F0[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?"); -ALIGNED(4) const u8 gUnknown_082EE544[] = _("The chat has been dropped.\p"); -ALIGNED(4) const u8 gUnknown_082EE560[] = _("You declined the offer.\p"); -ALIGNED(4) const u8 gUnknown_082EE57C[] = _("You declined the offer.\p"); -ALIGNED(4) const u8 gUnknown_082EE598[] = _("The chat was ended.\p"); - -const u8 *const unref_text_ptrs_union_room_3[] = { - gUnknown_082EE380, - gUnknown_082EE3DC, - gUnknown_082EE430, - gUnknown_082EE47C -}; - -ALIGNED(4) const u8 gUnknown_082EE5C0[] = _("Oh, hey! We're in a chat right now.\nWant to join us?"); -ALIGNED(4) const u8 gUnknown_082EE5F8[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?"); -ALIGNED(4) const u8 gUnknown_082EE638[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?"); -ALIGNED(4) const u8 gUnknown_082EE674[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?"); - -const u8 *const gUnknown_082EE6B8[][2] = { - { - gUnknown_082EE5C0, - gUnknown_082EE638 - }, { - gUnknown_082EE5F8, - gUnknown_082EE674 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE6C8[] = _("……\nThe TRAINER appears to be busy…\p"); -ALIGNED(4) const u8 gUnknown_082EE6EC[] = _("A battle, huh?\nAll right, just give me some time."); -ALIGNED(4) const u8 gUnknown_082EE720[] = _("You want to chat, huh?\nSure, just wait a little."); -ALIGNED(4) const u8 gUnknown_082EE754[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); -ALIGNED(4) const u8 gUnknown_082EE78C[] = _("A battle? Of course, but I need\ntime to get ready."); -ALIGNED(4) const u8 gUnknown_082EE7C0[] = _("Did you want to chat?\nOkay, but please wait a moment."); -ALIGNED(4) const u8 gUnknown_082EE7F8[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); - -const u8 *const gUnknown_082EE82C[][4] = { - { - gUnknown_082EE6EC, - gUnknown_082EE720, - NULL, - gUnknown_082EE754 - }, { - gUnknown_082EE78C, - gUnknown_082EE7C0, - NULL, - gUnknown_082EE7F8 - } -}; - -ALIGNED(4) const u8 unref_text_union_room_5[] = _("You want to chat, huh?\nSure, just wait a little."); -ALIGNED(4) const u8 gUnknown_082EE880[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE8B8[] = _("All right!\nLet's chat!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE8D4[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE904[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE92C[] = _("The trade will be started.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE94C[] = _("The battle will be started.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE96C[] = _("Entering the chat…{PAUSE 60}"); - -const u8 *const gUnknown_082EE984[][2][3] = { - { - { - gUnknown_082EE94C, - gUnknown_082EE96C, - gUnknown_082EE92C - }, { - gUnknown_082EE94C, - gUnknown_082EE96C, - gUnknown_082EE92C - } - }, { - { - gUnknown_082EE880, - gUnknown_082EE8B8, - gUnknown_082EE92C - }, { - gUnknown_082EE8D4, - gUnknown_082EE904, - gUnknown_082EE92C - } - } -}; - -ALIGNED(4) const u8 gUnknown_082EE9B4[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p"); -ALIGNED(4) const u8 gUnknown_082EEA14[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p"); - -const u8 *const gUnknown_082EEA68[] = { - gUnknown_082EE9B4, - gUnknown_082EEA14 -}; - -ALIGNED(4) const u8 gUnknown_082EEA70[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p"); -ALIGNED(4) const u8 gUnknown_082EEAC0[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p"); - -const u8 *const gUnknown_082EEB08[] = { - gUnknown_082EEA70, - gUnknown_082EEAC0 -}; - -ALIGNED(4) const u8 gUnknown_082EEB10[] = _("If you want to do something with\nme, just give me a shout!\p"); -ALIGNED(4) const u8 gUnknown_082EEB4C[] = _("If you want to do something with\nme, don't be shy.\p"); - -const u8 *const gUnknown_082EEB80[] = { - gUnknown_082EEB10, - gUnknown_082EEB4C -}; - -ALIGNED(4) const u8 gUnknown_082EEB88[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p"); -ALIGNED(4) const u8 gUnknown_082EEBD0[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p"); -ALIGNED(4) const u8 gUnknown_082EEC14[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p"); -ALIGNED(4) const u8 gUnknown_082EEC50[] = _("Oh, all right.\nCome see me anytime, okay?\p"); -ALIGNED(4) const u8 gUnknown_082EEC7C[] = _("Oh…\nPlease come by anytime.\p"); - -const u8 *const gUnknown_082EEC9C[] = { - gUnknown_082EEC50, - gUnknown_082EEC7C -}; - -ALIGNED(4) const u8 gUnknown_082EECA4[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p"); -ALIGNED(4) const u8 gUnknown_082EECEC[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p"); - -const u8 *const gUnknown_082EED3C[] = { - gUnknown_082EECA4, - gUnknown_082EECEC -}; - -ALIGNED(4) const u8 gUnknown_082EED44[] = _("Whoa!\nI can tell you're pretty tough!\p"); -ALIGNED(4) const u8 gUnknown_082EED6C[] = _("You used that move?\nThat's good strategy!\p"); -ALIGNED(4) const u8 gUnknown_082EED98[] = _("Way to go!\nThat was an eye-opener!\p"); -ALIGNED(4) const u8 gUnknown_082EEDBC[] = _("Oh! How could you use that\nPOKéMON in that situation?\p"); -ALIGNED(4) const u8 gUnknown_082EEDF4[] = _("That POKéMON…\nIt's been raised really well!\p"); -ALIGNED(4) const u8 gUnknown_082EEE24[] = _("That's it!\nThis is the right move now!\p"); -ALIGNED(4) const u8 gUnknown_082EEE4C[] = _("That's awesome!\nYou can battle that way?\p"); -ALIGNED(4) const u8 gUnknown_082EEE78[] = _("You have exquisite timing for\nswitching POKéMON!\p"); - -const u8 *const gUnknown_082EEEAC[][4] = { - { - gUnknown_082EED44, - gUnknown_082EED6C, - gUnknown_082EED98, - gUnknown_082EEDBC - }, { - gUnknown_082EEDF4, - gUnknown_082EEE24, - gUnknown_082EEE4C, - gUnknown_082EEE78 - } -}; - -ALIGNED(4) const u8 gUnknown_082EEECC[] = _("Oh, I see!\nThis is educational!\p"); -ALIGNED(4) const u8 gUnknown_082EEEF0[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p"); -ALIGNED(4) const u8 gUnknown_082EEF2C[] = _("Oh?\nSomething like that happened.\p"); -ALIGNED(4) const u8 gUnknown_082EEF50[] = _("Hmhm… What?\nSo is this what you're saying?\p"); -ALIGNED(4) const u8 gUnknown_082EEF7C[] = _("Is that right?\nI didn't know that.\p"); -ALIGNED(4) const u8 gUnknown_082EEFA0[] = _("Ahaha!\nWhat is that about?\p"); -ALIGNED(4) const u8 gUnknown_082EEFBC[] = _("Yes, that's exactly it!\nThat's what I meant.\p"); -ALIGNED(4) const u8 gUnknown_082EEFEC[] = _("In other words…\nYes! That's right!\p"); - -const u8 *const gUnknown_082EF010[][4] = { - { - gUnknown_082EEECC, - gUnknown_082EEEF0, - gUnknown_082EEF2C, - gUnknown_082EEF50 - }, { - gUnknown_082EEF7C, - gUnknown_082EEFA0, - gUnknown_082EEFBC, - gUnknown_082EEFEC - } -}; - -ALIGNED(4) const u8 gUnknown_082EF030[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p"); -ALIGNED(4) const u8 gUnknown_082EF06C[] = _("I hope I get to know you better!\p"); -ALIGNED(4) const u8 gUnknown_082EF090[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p"); -ALIGNED(4) const u8 gUnknown_082EF0D0[] = _("Glad to meet you.\nPlease don't be a stranger!\p"); - -const u8 *const gUnknown_082EF100[][2] = { - { - gUnknown_082EF030, - gUnknown_082EF06C - }, { - gUnknown_082EF090, - gUnknown_082EF0D0 - } -}; - -ALIGNED(4) const u8 gUnknown_082EF110[] = _("Yeahah!\nI really wanted this POKéMON!\p"); -ALIGNED(4) const u8 gUnknown_082EF138[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p"); -ALIGNED(4) const u8 gUnknown_082EF178[] = _("I'm trading POKéMON right now.\p"); -ALIGNED(4) const u8 gUnknown_082EF198[] = _("I finally got that POKéMON I\nwanted in a trade!\p"); - -const u8 *const gUnknown_082EF1CC[][4] = { - { - gUnknown_082EF110, - gUnknown_082EF138, - NULL, - NULL - }, { - gUnknown_082EF178, - gUnknown_082EF198, - NULL, - NULL - } -}; - -ALIGNED(4) const u8 gUnknown_082EF1EC[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p"); -ALIGNED(4) const u8 gUnknown_082EF20C[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?"); -ALIGNED(4) const u8 gUnknown_082EF298[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); -ALIGNED(4) const u8 unref_text_union_room_6[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p"); -ALIGNED(4) const u8 unref_text_union_room_7[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n"); -ALIGNED(4) const u8 gUnknown_082EF47C[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); -ALIGNED(4) const u8 gUnknown_082EF4C4[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); -ALIGNED(4) const u8 gUnknown_082EF4FC[] = _("Registration has been canceled.\p"); -ALIGNED(4) const u8 gUnknown_082EF520[] = _("Registration has been completed.\p"); -ALIGNED(4) const u8 gUnknown_082EF544[] = _("The trade has been canceled.\p"); -ALIGNED(4) const u8 gUnknown_082EF564[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); -ALIGNED(4) const u8 gUnknown_082EF590[] = _("Cancel the registration of your\nEGG?"); -ALIGNED(4) const u8 gUnknown_082EF5B8[] = _("The registration has been canceled.\p"); -ALIGNED(4) const u8 unref_text_union_room_8[] = _("TRAINERS wishing to make a trade\nwill be listed."); -ALIGNED(4) const u8 unref_text_union_room_9[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON."); -ALIGNED(4) const u8 gUnknown_082EF65C[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?"); -ALIGNED(4) const u8 unref_text_union_room_10[] = _("Awaiting a response from\nthe other TRAINER…"); -ALIGNED(4) const u8 unref_text_union_room_11[] = _("You have not registered a POKéMON\nfor trading.\p"); -ALIGNED(4) const u8 gUnknown_082EF6E4[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p"); -ALIGNED(4) const u8 gUnknown_082EF718[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p"); -ALIGNED(4) const u8 gUnknown_082EF740[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p"); -ALIGNED(4) const u8 gUnknown_082EF774[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p"); - -const u8 *const unref_text_ptrs_union_room_4[] = { - gUnknown_082EF740, - gUnknown_082EF774 -}; - -ALIGNED(4) const u8 gUnknown_082EF7B0[] = _("Your trade offer was rejected.\p"); -ALIGNED(4) const u8 gUnknown_082EF7D0[] = _("EGG TRADE"); -ALIGNED(4) const u8 gUnknown_082EF7DC[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); -ALIGNED(4) const u8 gUnknown_082EF7F8[] = _("Please choose a TRAINER."); -ALIGNED(4) const u8 gUnknown_082EF814[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF844[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF874[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF8A4[] = _("Please choose the TRAINER to\ntrade with."); -ALIGNED(4) const u8 gUnknown_082EF8D0[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS."); -ALIGNED(4) const u8 gUnknown_082EF908[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS."); -ALIGNED(4) const u8 gUnknown_082EF940[] = _("Jump with mini POKéMON!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF974[] = _("BERRY CRUSH!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF99C[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF9CC[] = _("BERRY BLENDER!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF9F8[] = _("RECORD CORNER!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA24[] = _("COOLNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA50[] = _("BEAUTY CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA7C[] = _("CUTENESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFAA8[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFAD8[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFB08[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFB3C[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER."); - -const u8 *const gUnknown_082EFB70[] = { - gUnknown_082EF814, - gUnknown_082EF844, - gUnknown_082EF874, - gUnknown_082EF8A4, - gUnknown_082EF940, - gUnknown_082EF974, - gUnknown_082EF99C, - gUnknown_082EF8D0, - gUnknown_082EF908, - NULL, - NULL, - NULL, - gUnknown_082EF9F8, - gUnknown_082EF9CC, - NULL, - gUnknown_082EFA24, - gUnknown_082EFA50, - gUnknown_082EFA7C, - gUnknown_082EFAA8, - gUnknown_082EFAD8, - gUnknown_082EFB08, - gUnknown_082EFB3C -}; - -ALIGNED(4) const u8 gUnknown_082EFBC8[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); -ALIGNED(4) const u8 unref_text_union_room_12[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p"); -ALIGNED(4) const u8 gUnknown_082EFC3C[] = _("Awaiting {STR_VAR_1}'s response…"); -ALIGNED(4) const u8 gUnknown_082EFC54[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); -ALIGNED(4) const u8 gUnknown_082EFC90[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); -ALIGNED(4) const u8 unref_text_union_room_13[] = _("Please wait for other TRAINERS to\ngather and get ready."); -ALIGNED(4) const u8 gUnknown_082EFD04[] = _("No CARDS appear to be shared \nright now."); -ALIGNED(4) const u8 gUnknown_082EFD30[] = _("No NEWS appears to be shared\nright now."); - -const u8 *const gUnknown_082EFD58[] = { - gUnknown_082EFD04, - gUnknown_082EFD30 -}; - -ALIGNED(4) const u8 gUnknown_082EFD60[] = _("BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFD68[] = _("CHAT"); -ALIGNED(4) const u8 gUnknown_082EFD70[] = _("GREETINGS"); -ALIGNED(4) const u8 gUnknown_082EFD7C[] = _("EXIT"); -ALIGNED(4) const u8 gUnknown_082EFD84[] = _("EXIT"); -ALIGNED(4) const u8 gUnknown_082EFD8C[] = _("INFO"); -ALIGNED(4) const u8 gUnknown_082EFD94[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); -ALIGNED(4) const u8 gUnknown_082EFDB0[] = _("SINGLE BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDC0[] = _("DOUBLE BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDD0[] = _("MULTI BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDE0[] = _("POKéMON TRADES"); -ALIGNED(4) const u8 gUnknown_082EFDF0[] = _("CHAT"); -ALIGNED(4) const u8 gUnknown_082EFDF8[] = _("CARDS"); -ALIGNED(4) const u8 gUnknown_082EFE00[] = _("WONDER CARDS"); -ALIGNED(4) const u8 gUnknown_082EFE10[] = _("WONDER NEWS"); -ALIGNED(4) const u8 gUnknown_082EFE1C[] = _("POKéMON JUMP"); -ALIGNED(4) const u8 gUnknown_082EFE2C[] = _("BERRY CRUSH"); -ALIGNED(4) const u8 gUnknown_082EFE38[] = _("BERRY-PICKING"); -ALIGNED(4) const u8 gUnknown_082EFE48[] = _("SEARCH"); -ALIGNED(4) const u8 gUnknown_082EFE50[] = _("BERRY BLENDER"); -ALIGNED(4) const u8 gUnknown_082EFE60[] = _("RECORD CORNER"); -ALIGNED(4) const u8 gUnknown_082EFE70[] = _("COOL CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFE80[] = _("BEAUTY CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFE90[] = _("CUTE CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEA0[] = _("SMART CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEB0[] = _("TOUGH CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEC0[] = _("BATTLE TOWER LV. 50"); -ALIGNED(4) const u8 gUnknown_082EFED4[] = _("BATTLE TOWER OPEN LEVEL"); -ALIGNED(4) const u8 gUnknown_082EFEEC[] = _("It's a NORMAL CARD."); -ALIGNED(4) const u8 gUnknown_082EFF00[] = _("It's a BRONZE CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF14[] = _("It's a COPPER CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF28[] = _("It's a SILVER CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF3C[] = _("It's a GOLD CARD!"); - -const u8 *const gUnknown_082EFF50[] = { - gUnknown_082EFEEC, - gUnknown_082EFF00, - gUnknown_082EFF14, - gUnknown_082EFF28, - gUnknown_082EFF3C -}; - -ALIGNED(4) const u8 gUnknown_082EFF64[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); -ALIGNED(4) const u8 gUnknown_082EFFA4[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); -ALIGNED(4) const u8 gUnknown_082EFFDC[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EFFFC[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); - -const u8 *const gUnknown_082F0018[] = { - gUnknown_082EFFDC, - gUnknown_082EFFFC -}; - -ALIGNED(4) const u8 gUnknown_082F0020[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); - -const u8 *const gUnknown_082F0048[] = { - gText_EmptyString, - gUnknown_082EFDB0, - gUnknown_082EFDC0, - gUnknown_082EFDD0, - gUnknown_082EFDE0, - gUnknown_082EFDF0, - gUnknown_082EFE00, - gUnknown_082EFE10, - gUnknown_082EFDF8, - gUnknown_082EFE1C, - gUnknown_082EFE2C, - gUnknown_082EFE38, - gUnknown_082EFE48, - gText_EmptyString, - gUnknown_082EFED4, - gUnknown_082EFE60, - gUnknown_082EFE50, - gText_EmptyString, - gText_EmptyString, - gText_EmptyString, - gText_EmptyString, - gUnknown_082EFE00, - gUnknown_082EFE10, - gUnknown_082EFE70, - gUnknown_082EFE80, - gUnknown_082EFE90, - gUnknown_082EFEA0, - gUnknown_082EFEB0, - gUnknown_082EFEC0 -}; - -const struct WindowTemplate gUnknown_082F00BC = { - .bg = 0x00, - .tilemapLeft = 0x00, - .tilemapTop = 0x00, - .width = 0x1E, - .height = 0x02, - .paletteNum = 0x0F, - .baseBlock = 0x0008 -}; - -const u32 gUnknown_082F00C4[] = { - 0x0201, - 0x0202, - 0x0403, - 0x0204, - 0x2509, - 0x250a, - 0x350b, - 0x0000, - 0x0000, - 0x0000, - 0x0000, - 0x0000, - 0x240f, - 0x2410, - 0x0000, - 0x2417, - 0x2418, - 0x2419, - 0x241a, - 0x241b, - 0x021c, - 0x020e -}; - -const struct WindowTemplate gUnknown_082F011C = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x0d, - .height = 0x08, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F0124 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x0d, - .height = 0x0a, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F012C = { - .bg = 0x00, - .tilemapLeft = 0x10, - .tilemapTop = 0x03, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x00c6 -}; - -const struct ListMenuItem gUnknown_082F0134[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 } -}; - -const struct ListMenuTemplate gUnknown_082F015C = { - .items = gUnknown_082F0134, - .moveCursorFunc = NULL, - .itemPrintFunc = sub_8013278, - .totalItems = 5, - .maxShowed = 5, - .windowId = 0, - .header_X = 0, - .item_X = 0, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 1 -}; - -const struct WindowTemplate gUnknown_082F0174 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x11, - .height = 0x0a, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F017C = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x03, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x00ee -}; - -const struct ListMenuItem gUnknown_082F0184[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gText_EmptyString, 8 }, - { gText_EmptyString, 9 }, - { gText_EmptyString, 10 }, - { gText_EmptyString, 11 }, - { gText_EmptyString, 12 }, - { gText_EmptyString, 13 }, - { gText_EmptyString, 14 }, - { gText_EmptyString, 15 } -}; - -const struct ListMenuTemplate gUnknown_082F0204 = { - .items = gUnknown_082F0184, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_8013DF4, - .totalItems = 16, - .maxShowed = 5, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F021C = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x05, - .width = 0x10, - .height = 0x08, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F0224[] = { - { gUnknown_082EFD70, 0x208 }, - { gUnknown_082EFD60, 0x241 }, - { gUnknown_082EFD68, 0x245 }, - { gUnknown_082EFD7C, 0x040 } -}; - -const struct ListMenuTemplate gUnknown_082F0244 = { - .items = gUnknown_082F0224, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = 4, - .maxShowed = 4, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F025C = { - .bg = 0x00, - .tilemapLeft = 0x12, - .tilemapTop = 0x07, - .width = 0x10, - .height = 0x06, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F0264[] = { - { gText_Register, 1 }, - { gUnknown_082EFD8C, 2 }, - { gUnknown_082EFD7C, 3 } -}; - -const struct ListMenuTemplate gUnknown_082F027C = { - .items = gUnknown_082F0264, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = 3, - .maxShowed = 3, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F0294 = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x01, - .width = 0x10, - .height = 0x0c, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F029C[] = { - { gTypeNames[TYPE_NORMAL], TYPE_NORMAL }, - { gTypeNames[TYPE_FIRE], TYPE_FIRE }, - { gTypeNames[TYPE_WATER], TYPE_WATER }, - { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC }, - { gTypeNames[TYPE_GRASS], TYPE_GRASS }, - { gTypeNames[TYPE_ICE], TYPE_ICE }, - { gTypeNames[TYPE_GROUND], TYPE_GROUND }, - { gTypeNames[TYPE_ROCK], TYPE_ROCK }, - { gTypeNames[TYPE_FLYING], TYPE_FLYING }, - { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC }, - { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING }, - { gTypeNames[TYPE_POISON], TYPE_POISON }, - { gTypeNames[TYPE_BUG], TYPE_BUG }, - { gTypeNames[TYPE_GHOST], TYPE_GHOST }, - { gTypeNames[TYPE_DRAGON], TYPE_DRAGON }, - { gTypeNames[TYPE_STEEL], TYPE_STEEL }, - { gTypeNames[TYPE_DARK], TYPE_DARK }, - { gUnknown_082EFD7C, NUMBER_OF_MON_TYPES } -}; - -const struct ListMenuTemplate gUnknown_082F032C = { - .items = gUnknown_082F029C, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = NUMBER_OF_MON_TYPES, - .maxShowed = 6, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F0344 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x1c, - .height = 0x02, - .paletteNum = 0x0d, - .baseBlock = 0x0001 -}; - -const struct WindowTemplate gUnknown_082F034C = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x05, - .width = 0x1c, - .height = 0x0c, - .paletteNum = 0x0d, - .baseBlock = 0x0039 -}; - -const struct ListMenuItem gUnknown_082F0354[] = { - { gText_EmptyString, -3 }, - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gUnknown_082EFD84, 8 } -}; - -const struct ListMenuTemplate gUnknown_082F03A4 = { - .items = gUnknown_082F0354, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_8017BE8, - .totalItems = 10, - .maxShowed = 6, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 14, - .fillValue = 15, - .cursorShadowPal = 13, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate UnrefWindowTemplate_082F03B4 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x05, - .width = 0x1c, - .height = 0x0c, - .paletteNum = 0x0d, - .baseBlock = 0x0039 -}; - -const struct ListMenuItem gUnknown_082F03C4[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gText_EmptyString, 8 }, - { gText_EmptyString, 9 }, - { gText_EmptyString, 10 }, - { gText_EmptyString, 11 }, - { gText_EmptyString, 12 }, - { gText_EmptyString, 13 }, - { gText_EmptyString, 14 }, - { gText_EmptyString, 15 } -}; - -const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = { - .items = gUnknown_082F03C4, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = nullsub_14, - .totalItems = 16, - .maxShowed = 4, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 -}; - -const struct UnkStruct_Shared gUnknown_082F045C = {0}; - -ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff}; -ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff}; -ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff}; - -const u8 *const gUnknown_082F04D8[] = { - gUnknown_082F0474, - gUnknown_082F0478, - gUnknown_082F047C, - gUnknown_082F0480, - gUnknown_082F0484, - gUnknown_082F0488, - gUnknown_082F048C, - gUnknown_082F0490, - gUnknown_082F0494, - gUnknown_082F0498, - gUnknown_082F04A4, - gUnknown_082F04A8, - gUnknown_082F04B4, - gUnknown_082F04B8, - NULL, - gUnknown_082F04BC, - gUnknown_082F04C0, - gUnknown_082F04C4, - gUnknown_082F04C8, - gUnknown_082F04CC, - gUnknown_082F04D0, - gUnknown_082F04D4 -}; - -const u8 gUnknown_082F0530[] = { - 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, - 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00 -}; +#include "data/union_room.h" // code void nullsub_89(u8 taskId) @@ -1249,7 +212,7 @@ bool32 sub_80126CC(u32 caseId) } } -void BerryBlenderLinkBecomeLeader(void) +void TryBecomeLinkLeader(void) { u8 taskId; struct UnkStruct_Leader *dataPtr; @@ -1639,11 +602,11 @@ void sub_8013078(u8 *dst, u8 caseId) { case 65: case 68: - StringExpandPlaceholders(dst, gUnknown_082EE560); + StringExpandPlaceholders(dst, sText_OfferDeclined1); break; case 69: case 72: - StringExpandPlaceholders(dst, gUnknown_082EE57C); + StringExpandPlaceholders(dst, sText_OfferDeclined2); break; } } @@ -1831,7 +794,7 @@ u8 sub_8013398(struct UnkStruct_Main0 *arg0) return ret; } -void BerryBlenderLinkJoinGroup(void) +void TryJoinLinkGroup(void) { u8 taskId; struct UnkStruct_Group *dataPtr; @@ -2116,7 +1079,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) { if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80)) return 1; - else if (structPtr->unk.field_0.unk_00.unk_00_7) + else if (structPtr->unk.field_0.unk_00.isChampion) return 0; } else @@ -2305,22 +1268,22 @@ u8 sub_8013E44(void) return ret; } -void sub_8013F60(u8 taskId) +static void Task_CreateTradeMenu(u8 taskId) { - sub_80773AC(); + CB2_StartCreateTradeMenu(); DestroyTask(taskId); } u8 sub_8013F78(void) { - u8 taskId = CreateTask(sub_8013F60, 0); + u8 taskId = CreateTask(Task_CreateTradeMenu, 0); return taskId; } void sub_8013F90(u8 taskId) { - u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId()); + u32 monId = GetPartyPositionOfRegisteredMon(&sUnionRoomTrade, GetMultiplayerId()); switch (gTasks[taskId].data[0]) { @@ -2345,13 +1308,13 @@ void sub_8013F90(u8 taskId) case 3: if (GetBlockReceivedStatus() == 3) { - memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); + memcpy(gTradeMail, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); ResetBlockReceivedFlags(); - gUnknown_02032298[0] = monId; - gUnknown_02032298[1] = 6; + gSelectedTradeMonPositions[TRADE_PLAYER] = monId; + gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE; gMain.savedCallback = CB2_ReturnToField; - SetMainCallback2(sub_807AE50); - sub_801807C(&gUnknown_02022C40); + SetMainCallback2(CB2_LinkTrade); + ResetUnionRoomTrade(&sUnionRoomTrade); DestroyTask(taskId); } break; @@ -2421,7 +1384,7 @@ void sub_8014210(u16 battleFlags) HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId(); gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1; gMain.savedCallback = sub_80B360C; @@ -2429,18 +1392,18 @@ void sub_8014210(u16 battleFlags) PlayBattleBGM(); } -void sub_8014290(u16 arg0, u16 x, u16 y) +static void sub_8014290(u16 linkService, u16 x, u16 y) { - VarSet(VAR_CABLE_CLUB_STATE, arg0); + VarSet(VAR_CABLE_CLUB_STATE, linkService); SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); WarpIntoMap(); } -void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) +void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) { - gSpecialVar_0x8004 = arg4; - VarSet(VAR_CABLE_CLUB_STATE, arg4); + gSpecialVar_0x8004 = linkService; + VarSet(VAR_CABLE_CLUB_STATE, linkService); gFieldLinkPlayerCount = GetLinkPlayerCount(); gLocalLinkPlayerId = GetMultiplayerId(); SetCableClubWarp(); @@ -2506,7 +1469,7 @@ void sub_801440C(u8 taskId) HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1); + sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, USING_SINGLE_BATTLE); SetMainCallback2(sub_8014384); break; case 2: @@ -2515,7 +1478,7 @@ void sub_801440C(u8 taskId) SavePlayerParty(); LoadPlayerBag(); sub_80143E4(gBlockSendBuffer, TRUE); - sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2); + sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, USING_DOUBLE_BATTLE); SetMainCallback2(sub_8014384); break; case 3: @@ -2524,19 +1487,19 @@ void sub_801440C(u8 taskId) SavePlayerParty(); LoadPlayerBag(); sub_80143E4(gBlockSendBuffer, TRUE); - sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5); + sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, USING_MULTI_BATTLE); SetMainCallback2(sub_8014384); break; case 4: sub_80143E4(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3); + sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); SetMainCallback2(sub_8014384); break; case 15: sub_80143E4(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4); + sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, USING_RECORD_CORNER); SetMainCallback2(sub_8014384); break; case 68: @@ -2562,15 +1525,15 @@ void sub_801440C(u8 taskId) SetMainCallback2(sub_80141A4); break; case 9: - sub_8014290(8, 5, 1); + sub_8014290(USING_MINIGAME, 5, 1); sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap); break; case 10: - sub_8014290(7, 9, 1); + sub_8014290(USING_BERRY_CRUSH, 9, 1); sub_8020C70(CB2_LoadMap); break; case 11: - sub_8014290(8, 5, 1); + sub_8014290(USING_MINIGAME, 5, 1); sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap); break; } @@ -2594,7 +1557,7 @@ void sub_8014790(u8 taskId) { case 14: case 28: - gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; gLinkPlayers[0].id = 0; gLinkPlayers[1].id = 2; sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES); @@ -2627,7 +1590,7 @@ void sub_8014790(u8 taskId) if (gUnknown_02022C2C == 29) { DestroyTask(taskId); - SetMainCallback2(sub_80773AC); + SetMainCallback2(CB2_StartCreateTradeMenu); } else { @@ -3334,7 +2297,7 @@ void sub_80156E0(u8 taskId) break; case 2: sub_8010F84(0x40, 0, 0); - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); sub_800B488(); OpenLink(); sub_8011C84(); @@ -3345,22 +2308,22 @@ void sub_80156E0(u8 taskId) data->state = 3; break; case 3: - if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0) + if ((sub_81B1360() == 8 || sub_81B1360() == 9) && sUnionRoomTrade.field_0 != 0) { id = GetCursorSelectionMonId(); - switch (gUnknown_02022C40.field_0) + switch (sUnionRoomTrade.field_0) { case 1: sub_8011090(0x54, 0, 1); if (id >= PARTY_SIZE) { - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_8010FCC(0, 0, 0); - sub_801568C(gUnknown_082EF4FC); + sub_801568C(sText_RegistrationCanceled); } - else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40)) + else if (!RegisterTradeMonAndGetIsEgg(GetCursorSelectionMonId(), &sUnionRoomTrade)) { - sub_8015664(0x34, gUnknown_082EF47C); + sub_8015664(0x34, sText_ChooseRequestedMonType); } else { @@ -3369,21 +2332,21 @@ void sub_80156E0(u8 taskId) break; case 2: sub_80156C8(data); - taskData[1] = gUnknown_02022C40.field_8; + taskData[1] = sUnionRoomTrade.field_8; if (id >= PARTY_SIZE) { - sub_801568C(gUnknown_082EF544); + sub_801568C(sText_TradeCanceled); } else { sub_8011090(0x54, 0, 1); gUnknown_02022C2C = 0x44; - sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40); + RegisterTradeMon(GetCursorSelectionMonId(), &sUnionRoomTrade); data->state = 51; } break; } - gUnknown_02022C40.field_0 = 0; + sUnionRoomTrade.field_0 = 0; } else { @@ -3491,9 +2454,9 @@ void sub_80156E0(u8 taskId) case 1: case 2: if (sub_8011B90() == TRUE) - sub_801568C(gUnknown_082EE6C8); + sub_801568C(sText_TrainerAppearsBusy); else - sub_8015664(30, gUnknown_082EE6C8); + sub_8015664(30, sText_TrainerAppearsBusy); gUnknown_02022C2C = 0x40; break; @@ -3551,9 +2514,9 @@ void sub_80156E0(u8 taskId) { gUnknown_02022C2C = var5; gUnknown_02022C2D = (u32)(var5) >> 8; - if (gUnknown_02022C2C == 0x41 && !sub_8018024()) + if (gUnknown_02022C2C == 0x41 && !HasAtLeastTwoMonsOfLevel30OrLower()) { - sub_8015664(5, gUnknown_082EEBD0); + sub_8015664(5, sText_NeedTwoMonsOfLevel30OrLower1); } else { @@ -3566,7 +2529,7 @@ void sub_80156E0(u8 taskId) } break; case 28: - StringCopy(gStringVar4, gUnknown_082EEB88); + StringCopy(gStringVar4, sText_TrainerBattleBusy); data->state = 36; break; case 27: @@ -3585,15 +2548,15 @@ void sub_80156E0(u8 taskId) break; case 31: data->field_4C[0] = 0x44; - data->field_4C[1] = gUnknown_02022C40.species; - data->field_4C[2] = gUnknown_02022C40.level; + data->field_4C[1] = sUnionRoomTrade.species; + data->field_4C[2] = sUnionRoomTrade.level; sub_800FE50(data->field_4C); data->state = 29; break; case 29: if (gReceivedRemoteLinkPlayers == 0) { - StringCopy(gStringVar4, gUnknown_082EEB88); + StringCopy(gStringVar4, sText_TrainerBattleBusy); data->state = 28; } else @@ -3641,7 +2604,7 @@ void sub_80156E0(u8 taskId) { StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name); id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); - StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]); + StringExpandPlaceholders(gStringVar4, sUnionRoomTexts_AwaitingResponse[id]); data->state = 33; } else @@ -3665,7 +2628,7 @@ void sub_80156E0(u8 taskId) case 1: case -1: playerGender = sub_8017CF8(taskData[1], data->field_0); - sub_801568C(gUnknown_082EEC9C[playerGender]); + sub_801568C(sUnionRoomTexts_DeclineBattle[playerGender]); break; } break; @@ -3750,7 +2713,7 @@ void sub_80156E0(u8 taskId) if (sub_80168DC(data) && gMain.newKeys & B_BUTTON) { sub_8011DE0(1); - StringCopy(gStringVar4, gUnknown_082EE598); + StringCopy(gStringVar4, sText_ChatEnded); data->state = 36; } break; @@ -3771,12 +2734,12 @@ void sub_80156E0(u8 taskId) taskData[3] = 0; if (gUnknown_02022C2C == 0x41) { - if (!sub_8018024()) + if (!HasAtLeastTwoMonsOfLevel30OrLower()) { data->field_4C[0] = 0x52; sub_800FE50(data->field_4C); data->state = 10; - StringCopy(gStringVar4, gUnknown_082EEC14); + StringCopy(gStringVar4, sText_NeedTwoMonsOfLevel30OrLower2); } else { @@ -3866,19 +2829,19 @@ void sub_80156E0(u8 taskId) { if (sub_800F7DC()->species == SPECIES_EGG) { - StringCopy(gStringVar4, gUnknown_082EF590); + StringCopy(gStringVar4, sText_CancelRegistrationOfEgg); } else { StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]); - ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gUnknown_082EF564); + ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, sText_CancelRegistrationOfMon); } sub_8015664(44, gStringVar4); } break; case 43: - if (PrintOnTextbox(&data->textState, gUnknown_082EF20C)) + if (PrintOnTextbox(&data->textState, sText_RegisterMonAtTradingBoard)) data->state = 47; break; case 47: @@ -3894,11 +2857,11 @@ void sub_80156E0(u8 taskId) { switch (var5) { - case 1: - sub_8015664(53, gUnknown_082EF4C4); + case 1: // REGISTER + sub_8015664(53, sText_WhichMonWillYouOffer); break; - case 2: - sub_8015664(47, gUnknown_082EF298); + case 2: // INFO + sub_8015664(47, sText_TradingBoardInfo); break; } } @@ -3911,33 +2874,33 @@ void sub_80156E0(u8 taskId) case 54: if (!gPaletteFade.active) { - gUnknown_02022C40.field_0 = 1; + sUnionRoomTrade.field_0 = 1; gFieldCallback = sub_80AF128; sub_81B8904(8, CB2_ReturnToField); } break; case 52: - var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C); + var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &sMenuTemplate_TradingBoardRequestType); if (var5 != -1) { switch (var5) { case -2: case 18: - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_8010FCC(0, 0, 0); - sub_801568C(gUnknown_082EF4FC); + sub_801568C(sText_RegistrationCanceled); break; default: - gUnknown_02022C40.type = var5; + sUnionRoomTrade.type = var5; data->state = 55; break; } } break; case 55: - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); - sub_801568C(gUnknown_082EF520); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + sub_801568C(sText_RegistraionCompleted); break; case 44: switch (sub_80170B8(&data->textState, FALSE)) @@ -3953,16 +2916,16 @@ void sub_80156E0(u8 taskId) } break; case 56: - if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8)) + if (PrintOnTextbox(&data->textState, sText_RegistrationCanceled2)) { sub_8010FCC(0, 0, 0); - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_801818C(TRUE); data->state = 4; } break; case 45: - if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC)) + if (PrintOnTextbox(&data->textState, sText_XCheckedTradingBoard)) data->state = 46; break; case 46: @@ -3986,18 +2949,18 @@ void sub_80156E0(u8 taskId) { case 0: sub_8018404(gStringVar1, &data->field_0->arr[var5]); - sub_8015664(49, gUnknown_082EF65C); + sub_8015664(49, sText_AskTrainerToMakeTrade); taskData[1] = var5; break; case 1: sub_8018404(gStringVar1, &data->field_0->arr[var5]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); - sub_8015664(46, gUnknown_082EF6E4); + sub_8015664(46, sText_DontHaveTypeTrainerWants); break; case 2: sub_8018404(gStringVar1, &data->field_0->arr[var5]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); - sub_8015664(46, gUnknown_082EF718); + sub_8015664(46, sText_DontHaveEggTrainerWants); break; } break; @@ -4018,16 +2981,16 @@ void sub_80156E0(u8 taskId) } break; case 50: - if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4)) + if (PrintOnTextbox(&data->textState, sText_WhichMonWillYouOffer)) { - gUnknown_02022C40.field_0 = 2; + sUnionRoomTrade.field_0 = 2; memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38)); - gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type; - gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species; + gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type; + gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species; gFieldCallback = sub_80AF128; sub_81B8904(9, CB2_ReturnToField); sub_80156B0(data); - gUnknown_02022C40.field_8 = taskData[1]; + sUnionRoomTrade.field_8 = taskData[1]; } break; case 51: @@ -4097,14 +3060,14 @@ bool32 sub_80168DC(struct UnkStruct_URoom *arg0) return TRUE; } -void sub_8016934(void) +void InitUnionRoom(void) { struct UnkStruct_URoom *ptr; sUnionRoomPlayerName[0] = EOS; CreateTask(sub_801697C, 0); gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match. - gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C); + gUnknown_02022C30.uRoom = ptr = AllocZeroed(sizeof(struct UnkStruct_URoom)); gUnknown_03000DA8 = gUnknown_02022C30.uRoom; ptr->state = 0; ptr->textState = 0; @@ -4897,7 +3860,7 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender r2 = sub_800E540(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1); if (r5->unk.field_0.unk_0a_0 == 0x45) { - StringExpandPlaceholders(gStringVar4, gUnknown_082EE6B8[r2][playerGender]); + StringExpandPlaceholders(gStringVar4, sUnionRoomTexts_JoinChat[r2][playerGender]); return 2; } else @@ -4919,7 +3882,7 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender StringExpandPlaceholders(gStringVar4, gUnknown_082EEEAC[playerGender][Random() % 4]); break; case 4: - StringExpandPlaceholders(gStringVar4, gUnknown_082EF1CC[playerGender][Random() % 2]); + StringExpandPlaceholders(gStringVar4, sUnionRoomTexts_Traded[playerGender][Random() % 2]); break; case 5: StringExpandPlaceholders(gStringVar4, gUnknown_082EF010[playerGender][Random() % 4]); @@ -4928,7 +3891,7 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender StringExpandPlaceholders(gStringVar4, gUnknown_082EF100[playerGender][Random() % 2]); break; default: - StringExpandPlaceholders(gStringVar4, gUnknown_082EE6C8); + StringExpandPlaceholders(gStringVar4, sText_TrainerAppearsBusy); break; } return 0; @@ -4945,12 +3908,12 @@ void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, cons u8 sp8[4]; u16 r8 = arg2->species; u8 r7 = arg2->type; - u8 r9 = arg2->unk_0b_1; + u8 r9 = arg2->level; sub_80173E0(arg0, 1, str, 8, arg1, arg4); if (r8 == SPECIES_EGG) { - sub_80173E0(arg0, 1, gUnknown_082EF7D0, 0x44, arg1, arg4); + sub_80173E0(arg0, 1, sText_EggTrade, 0x44, arg1, arg4); } else { @@ -5061,7 +4024,7 @@ void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender) StringExpandPlaceholders(dst, gUnknown_082EED3C[playerGender]); break; case 0x44: - StringExpandPlaceholders(dst, gUnknown_082EF7B0); + StringExpandPlaceholders(dst, sText_TradeOfferRejected); break; case 0x48: StringExpandPlaceholders(dst, gUnknown_082EEB08[playerGender]); @@ -5097,16 +4060,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) switch (arg2[0]) { case 0x41: - StringExpandPlaceholders(dst, gUnknown_082EE3DC); + StringExpandPlaceholders(dst, sText_BattleChallenge); result = 1; break; case 0x45: - StringExpandPlaceholders(dst, gUnknown_082EE430); + StringExpandPlaceholders(dst, sText_ChatInvitation); result = 1; break; case 0x44: - ConvertIntToDecimalStringN(arg3->field_58 + 0x00, gUnknown_02022C40.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(arg3->field_58 + 0x10, gSpeciesNames[gUnknown_02022C40.playerSpecies]); + ConvertIntToDecimalStringN(arg3->field_58 + 0x00, sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->field_58 + 0x10, gSpeciesNames[sUnionRoomTrade.playerSpecies]); for (i = 0; i < 4; i++) { if (gUnknown_03007890->unk_14[i].unk_04 == 2) @@ -5119,7 +4082,7 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) } if (species == SPECIES_EGG) { - StringCopy(dst, gUnknown_082EE4F0); + StringCopy(dst, sText_OfferToTradeEgg); } else { @@ -5127,16 +4090,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) { DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58 + 0x10 * i); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_082EE47C); + DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, sText_OfferToTradeMon); } result = 1; break; case 0x48: - StringExpandPlaceholders(dst, gUnknown_082EE380); + StringExpandPlaceholders(dst, sText_ShowTrainerCard); result = 1; break; case 0x40: - StringExpandPlaceholders(dst, gUnknown_082EE544); + StringExpandPlaceholders(dst, sText_ChatDropped); result = 2; break; } @@ -5169,14 +4132,14 @@ bool32 InUnionRoom(void) ? TRUE : FALSE; } -bool32 sub_8018024(void) +bool32 HasAtLeastTwoMonsOfLevel30OrLower(void) { s32 i; s32 count = 0; for (i = 0; i < gPlayerPartyCount; i++) { - if ( GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30 + if (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30 && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) != SPECIES_EGG) { count++; @@ -5184,16 +4147,12 @@ bool32 sub_8018024(void) } if (count > 1) - { return TRUE; - } else - { return FALSE; - } } -void sub_801807C(struct TradeUnkStruct *arg0) +static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0) { arg0->field_0 = 0; arg0->type = 0; @@ -5205,34 +4164,30 @@ void sub_801807C(struct TradeUnkStruct *arg0) arg0->personality = 0; } -void sub_8018090(void) +void Script_ResetUnionRoomTrade(void) { - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); } -bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1) +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade) { - arg1->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); - arg1->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - arg1->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - if (arg1->playerSpecies == SPECIES_EGG) - { + trade->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); + if (trade->playerSpecies == SPECIES_EGG) return TRUE; - } else - { return FALSE; - } } -void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1) +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *trade) { - arg1->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); - arg1->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - arg1->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); + trade->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); } -u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId) +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *trade, u8 multiplayerId) { u16 response = 0; u16 species; @@ -5241,15 +4196,17 @@ u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId) u16 cur_species; s32 i; + // player if (multiplayerId == 0) { - species = arg0->playerSpecies; - personality = arg0->playerPersonality; + species = trade->playerSpecies; + personality = trade->playerPersonality; } + // partner else { - species = arg0->species; - personality = arg0->personality; + species = trade->species; + personality = trade->personality; } for (i = 0; i < gPlayerPartyCount; i++) @@ -5279,7 +4236,7 @@ void sub_801818C(bool32 arg0) gUnknown_02022C2C = 0; if (arg0) { - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); sub_8011090(0x40, 0, 0); } } diff --git a/src/water.c b/src/water.c index 9d3ecb5fa2..851960c406 100644 --- a/src/water.c +++ b/src/water.c @@ -86,7 +86,7 @@ const struct SpriteTemplate gUnknown_08595020 = { .tileTag = ANIM_TAG_RAIN_DROPS, .paletteTag = ANIM_TAG_RAIN_DROPS, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_0859501C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -122,7 +122,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = { .tileTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_08595064, .images = NULL, .affineAnims = gUnknown_08595050, @@ -164,7 +164,7 @@ const struct SpriteTemplate gUnknown_085950B4 = { .tileTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS, - .oam = &gUnknown_08524A04, + .oam = &gOamData_AffineDouble_ObjNormal_8x16, .anims = gUnknown_08595090, .images = NULL, .affineAnims = gUnknown_085950B0, @@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_085950E4 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -200,7 +200,7 @@ const struct SpriteTemplate gUnknown_085950FC = { .tileTag = ANIM_TAG_BROWN_ORB, .paletteTag = ANIM_TAG_BROWN_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -211,7 +211,7 @@ const struct SpriteTemplate gUnknown_08595114 = { .tileTag = ANIM_TAG_GLOWY_RED_ORB, .paletteTag = ANIM_TAG_GLOWY_RED_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -222,7 +222,7 @@ const struct SpriteTemplate gUnknown_0859512C = { .tileTag = ANIM_TAG_GLOWY_GREEN_ORB, .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08595158 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595154, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -257,7 +257,7 @@ const struct SpriteTemplate gUnknown_08595170 = { .tileTag = ANIM_TAG_BLUE_RING, .paletteTag = ANIM_TAG_BLUE_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08593420, @@ -292,7 +292,7 @@ const struct SpriteTemplate gUnknown_085951C0 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951B8, @@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_085951D8 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951BC, @@ -336,7 +336,7 @@ const struct SpriteTemplate gUnknown_08595208 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_08595200, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -347,7 +347,7 @@ const struct SpriteTemplate gUnknown_08595220 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_08595204, .images = NULL, .affineAnims = gUnknown_08596208, @@ -358,7 +358,7 @@ const struct SpriteTemplate gUnknown_08595238 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -369,7 +369,7 @@ const struct SpriteTemplate gUnknown_08595250 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -380,7 +380,7 @@ const struct SpriteTemplate gUnknown_08595268 = { .tileTag = ANIM_TAG_GLOWY_BLUE_ORB, .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -452,7 +452,7 @@ const struct SpriteTemplate gUnknown_085952F8 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595298, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -463,7 +463,7 @@ const struct SpriteTemplate gUnknown_08595310 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524964, + .oam = &gOamData_AffineNormal_ObjNormal_8x8, .anims = gUnknown_08595298, .images = NULL, .affineAnims = gUnknown_085952EC, @@ -474,7 +474,7 @@ const struct SpriteTemplate gUnknown_08595328 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_085952A0, .images = NULL, .affineAnims = gUnknown_085952F4, @@ -554,7 +554,7 @@ const struct SpriteTemplate gAquaTailKnockOffSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_WATER_IMPACT, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gKnockOffAquaTailAnim, .images = NULL, .affineAnims = gKnockOffAquaTailAffineAnim, @@ -565,7 +565,7 @@ const struct SpriteTemplate gAquaTailHitSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gAquaTailHitAffineAnims, diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b3baf05013..9928f3ff97 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -198,34 +198,35 @@ enum static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; - u8 rand = Random() % ENCOUNTER_CHANCE_FISHING_MONS_TOTAL; + u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL), + ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL); switch (rod) { case OLD_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_0) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0) wildMonIndex = 0; else wildMonIndex = 1; break; case GOOD_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2) wildMonIndex = 2; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3) wildMonIndex = 3; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_4) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4) wildMonIndex = 4; break; case SUPER_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5) wildMonIndex = 5; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6) wildMonIndex = 6; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7) wildMonIndex = 7; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8) wildMonIndex = 8; - if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) + if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8) wildMonIndex = 9; break; } diff --git a/sym_ewram.txt b/sym_ewram.txt index bdbb85d37d..79e89fc9bf 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -129,7 +129,7 @@ .include "src/match_call.o" .include "src/menu.o" .include "src/battle_factory_screen.o" - .include "src/mossdeep_gym.o" + .include "src/rotating_tile_puzzle.o" .include "src/item_menu.o" .include "src/list_menu.o" .include "src/dynamic_placeholder_text_util.o" diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp index 3b72635460..d5bf5bcba4 100755 --- a/tools/jsonproc/inja.hpp +++ b/tools/jsonproc/inja.hpp @@ -517,7 +517,7 @@ public: typedef const_pointer iterator; typedef const_pointer const_iterator; typedef std::reverse_iterator< const_iterator > reverse_iterator; - typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + typedef std::reverse_iterator< const_iterator > const_reverse_iterator; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; @@ -1411,6 +1411,9 @@ enum class ElementNotation { Pointer }; +/*! + * \brief Class for lexer configuration. + */ struct LexerConfig { std::string statement_open {"{%"}; std::string statement_close {"%}"}; @@ -1421,6 +1424,9 @@ struct LexerConfig { std::string comment_close {"#}"}; std::string open_chars {"#{"}; + bool trim_blocks {false}; + bool lstrip_blocks {false}; + void update_open_chars() { open_chars = ""; if (open_chars.find(line_statement[0]) == std::string::npos) { @@ -1438,6 +1444,9 @@ struct LexerConfig { } }; +/*! + * \brief Class for parser configuration. + */ struct ParserConfig { ElementNotation notation {ElementNotation::Dot}; }; @@ -1450,10 +1459,13 @@ struct ParserConfig { #ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP #define PANTOR_INJA_FUNCTION_STORAGE_HPP +#include + // #include "bytecode.hpp" #ifndef PANTOR_INJA_BYTECODE_HPP #define PANTOR_INJA_BYTECODE_HPP +#include #include #include @@ -1464,7 +1476,7 @@ struct ParserConfig { namespace inja { -using namespace nlohmann; +using json = nlohmann::json; struct Bytecode { @@ -1492,6 +1504,7 @@ struct Bytecode { GreaterEqual, Less, LessEqual, + At, Different, DivisibleBy, Even, @@ -1594,6 +1607,9 @@ using namespace nlohmann; using Arguments = std::vector; using CallbackFunction = std::function; +/*! + * \brief Class for builtin functions and user-defined callbacks. + */ class FunctionStorage { public: void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { @@ -1658,6 +1674,9 @@ class FunctionStorage { #define PANTOR_INJA_PARSER_HPP #include +#include +#include +#include // #include "bytecode.hpp" @@ -1678,12 +1697,17 @@ class FunctionStorage { #ifndef PANTOR_INJA_TOKEN_HPP #define PANTOR_INJA_TOKEN_HPP +#include + // #include "string_view.hpp" namespace inja { +/*! + * \brief Helper-class for the inja Parser. + */ struct Token { enum class Kind { Text, @@ -1737,13 +1761,17 @@ struct Token { } -#endif // PANTOR_INJA_TOKEN_HPP +#endif // PANTOR_INJA_TOKEN_HPP // #include "utils.hpp" #ifndef PANTOR_INJA_UTILS_HPP #define PANTOR_INJA_UTILS_HPP +#include +#include #include +#include +#include // #include "string_view.hpp" @@ -1755,11 +1783,22 @@ inline void inja_throw(const std::string& type, const std::string& message) { throw std::runtime_error("[inja.exception." + type + "] " + message); } +inline std::ifstream open_file_or_throw(const std::string& path) { + std::ifstream file; + file.exceptions(std::ifstream::failbit | std::ifstream::badbit); + try { + file.open(path); + } catch(const std::ios_base::failure& e) { + inja_throw("file_error", "failed accessing file at '" + path + "'"); + } + return file; +} + namespace string_view { inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { start = std::min(start, view.size()); end = std::min(std::max(start, end), view.size()); - return view.substr(start, end - start); // StringRef(Data + Start, End - Start); + return view.substr(start, end - start); // StringRef(Data + Start, End - Start); } inline std::pair split(nonstd::string_view view, char Separator) { @@ -1783,6 +1822,9 @@ namespace string_view { namespace inja { +/*! + * \brief Class for lexing an inja Template. + */ class Lexer { enum class State { Text, @@ -1831,12 +1873,15 @@ class Lexer { // try to match one of the opening sequences, and get the close nonstd::string_view open_str = m_in.substr(m_pos); + bool must_lstrip = false; if (inja::string_view::starts_with(open_str, m_config.expression_open)) { m_state = State::ExpressionStart; } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { m_state = State::StatementStart; + must_lstrip = m_config.lstrip_blocks; } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { m_state = State::CommentStart; + must_lstrip = m_config.lstrip_blocks; } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && inja::string_view::starts_with(open_str, m_config.line_statement)) { m_state = State::LineStart; @@ -1844,8 +1889,13 @@ class Lexer { m_pos += 1; // wasn't actually an opening sequence goto again; } - if (m_pos == m_tok_start) goto again; // don't generate empty token - return make_token(Token::Kind::Text); + + nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos); + if (must_lstrip) + text = clear_final_line_if_whitespace(text); + + if (text.empty()) goto again; // don't generate empty token + return Token(Token::Kind::Text, text); } case State::ExpressionStart: { m_state = State::ExpressionBody; @@ -1872,7 +1922,7 @@ class Lexer { case State::LineBody: return scan_body("\n", Token::Kind::LineStatementClose); case State::StatementBody: - return scan_body(m_config.statement_close, Token::Kind::StatementClose); + return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks); case State::CommentBody: { // fast-scan to comment close size_t end = m_in.substr(m_pos).find(m_config.comment_close); @@ -1883,7 +1933,10 @@ class Lexer { // return the entire comment in the close token m_state = State::Text; m_pos += end + m_config.comment_close.size(); - return make_token(Token::Kind::CommentClose); + Token tok = make_token(Token::Kind::CommentClose); + if (m_config.trim_blocks) + skip_newline(); + return tok; } } } @@ -1891,7 +1944,7 @@ class Lexer { const LexerConfig& get_config() const { return m_config; } private: - Token scan_body(nonstd::string_view close, Token::Kind closeKind) { + Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) { again: // skip whitespace (except for \n as it might be a close) if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); @@ -1905,7 +1958,10 @@ class Lexer { if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { m_state = State::Text; m_pos = m_tok_start + close.size(); - return make_token(closeKind); + Token tok = make_token(closeKind); + if (trim) + skip_newline(); + return tok; } // skip \n @@ -2026,6 +2082,34 @@ class Lexer { Token make_token(Token::Kind kind) const { return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); } + + void skip_newline() { + if (m_pos < m_in.size()) { + char ch = m_in[m_pos]; + if (ch == '\n') + m_pos += 1; + else if (ch == '\r') { + m_pos += 1; + if (m_pos < m_in.size() && m_in[m_pos] == '\n') + m_pos += 1; + } + } + } + + static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) + { + nonstd::string_view result = text; + while (!result.empty()) { + char ch = result.back(); + if (ch == ' ' || ch == '\t') + result.remove_suffix(1); + else if (ch == '\n' || ch == '\r') + break; + else + return text; + } + return result; + } }; } @@ -2036,6 +2120,7 @@ class Lexer { #ifndef PANTOR_INJA_TEMPLATE_HPP #define PANTOR_INJA_TEMPLATE_HPP +#include #include #include @@ -2045,6 +2130,9 @@ class Lexer { namespace inja { +/*! + * \brief The main inja Template. + */ struct Template { std::vector bytecodes; std::string content; @@ -2054,7 +2142,7 @@ using TemplateStorage = std::map; } -#endif // PANTOR_INJA_TEMPLATE_HPP +#endif // PANTOR_INJA_TEMPLATE_HPP // #include "token.hpp" @@ -2068,6 +2156,7 @@ namespace inja { class ParserStatic { ParserStatic() { + functions.add_builtin("at", 2, Bytecode::Op::At); functions.add_builtin("default", 2, Bytecode::Op::Default); functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); functions.add_builtin("even", 1, Bytecode::Op::Even); @@ -2107,13 +2196,16 @@ class ParserStatic { FunctionStorage functions; }; +/*! + * \brief Class for parsing an inja Template. + */ class Parser { public: explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } bool parse_expression(Template& tmpl) { if (!parse_expression_and(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != "or") return true; + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("or")) return true; get_next_token(); if (!parse_expression_and(tmpl)) return false; append_function(tmpl, Bytecode::Op::Or, 2); @@ -2122,7 +2214,7 @@ class Parser { bool parse_expression_and(Template& tmpl) { if (!parse_expression_not(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != "and") return true; + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("and")) return true; get_next_token(); if (!parse_expression_not(tmpl)) return false; append_function(tmpl, Bytecode::Op::And, 2); @@ -2130,7 +2222,7 @@ class Parser { } bool parse_expression_not(Template& tmpl) { - if (m_tok.kind == Token::Kind::Id && m_tok.text == "not") { + if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("not")) { get_next_token(); if (!parse_expression_not(tmpl)) return false; append_function(tmpl, Bytecode::Op::Not, 1); @@ -2145,7 +2237,7 @@ class Parser { Bytecode::Op op; switch (m_tok.kind) { case Token::Kind::Id: - if (m_tok.text == "in") + if (m_tok.text == static_cast("in")) op = Bytecode::Op::In; else return true; @@ -2233,7 +2325,9 @@ class Parser { append_callback(tmpl, func_token.text, num_args); return true; } - } else if (m_tok.text == "true" || m_tok.text == "false" || m_tok.text == "null") { + } else if (m_tok.text == static_cast("true") || + m_tok.text == static_cast("false") || + m_tok.text == static_cast("null")) { // true, false, null are json literals if (brace_level == 0 && bracket_level == 0) { json_first = m_tok.text; @@ -2312,7 +2406,7 @@ class Parser { bool parse_statement(Template& tmpl, nonstd::string_view path) { if (m_tok.kind != Token::Kind::Id) return false; - if (m_tok.text == "if") { + if (m_tok.text == static_cast("if")) { get_next_token(); // evaluate expression @@ -2323,7 +2417,7 @@ class Parser { // conditional jump; destination will be filled in by else or endif tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); - } else if (m_tok.text == "endif") { + } else if (m_tok.text == static_cast("endif")) { if (m_if_stack.empty()) { inja_throw("parser_error", "endif without matching if"); } @@ -2342,7 +2436,7 @@ class Parser { // pop if stack m_if_stack.pop_back(); - } else if (m_tok.text == "else") { + } else if (m_tok.text == static_cast("else")) { if (m_if_stack.empty()) inja_throw("parser_error", "else without matching if"); auto& if_data = m_if_stack.back(); @@ -2358,7 +2452,7 @@ class Parser { if_data.prev_cond_jump = std::numeric_limits::max(); // chained else if - if (m_tok.kind == Token::Kind::Id && m_tok.text == "if") { + if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("if")) { get_next_token(); // evaluate expression @@ -2370,7 +2464,7 @@ class Parser { // conditional jump; destination will be filled in by else or endif tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); } - } else if (m_tok.text == "for") { + } else if (m_tok.text == static_cast("for")) { get_next_token(); // options: for a in arr; for a, b in obj @@ -2389,7 +2483,7 @@ class Parser { get_next_token(); } - if (m_tok.kind != Token::Kind::Id || m_tok.text != "in") + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("in")) inja_throw("parser_error", "expected 'in', got '" + m_tok.describe() + "'"); get_next_token(); @@ -2403,7 +2497,7 @@ class Parser { tmpl.bytecodes.back().value = key_token.text; } tmpl.bytecodes.back().str = static_cast(value_token.text); - } else if (m_tok.text == "endfor") { + } else if (m_tok.text == static_cast("endfor")) { get_next_token(); if (m_loop_stack.empty()) { inja_throw("parser_error", "endfor without matching for"); @@ -2415,7 +2509,7 @@ class Parser { tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body m_loop_stack.pop_back(); - } else if (m_tok.text == "include") { + } else if (m_tok.text == static_cast("include")) { get_next_token(); if (m_tok.kind != Token::Kind::String) { @@ -2431,8 +2525,10 @@ class Parser { } // sys::path::remove_dots(pathname, true, sys::path::Style::posix); - Template include_template = parse_template(pathname); - m_included_templates.emplace(pathname, include_template); + if (m_included_templates.find(pathname) == m_included_templates.end()) { + Template include_template = parse_template(pathname); + m_included_templates.emplace(pathname, include_template); + } // generate a reference bytecode tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); @@ -2552,10 +2648,10 @@ class Parser { } std::string load_file(nonstd::string_view filename) { - std::ifstream file(static_cast(filename)); - std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); - return text; - } + std::ifstream file = open_file_or_throw(static_cast(filename)); + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + return text; + } private: const ParserConfig& m_config; @@ -2605,6 +2701,7 @@ class Parser { #if __cplusplus < 201402L #include +#include #include #include @@ -2655,6 +2752,9 @@ namespace stdinja = std; #include #include +#include +#include +#include #include @@ -2679,6 +2779,9 @@ inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, return nonstd::string_view(out.data(), out.size()); } +/*! + * \brief Class for rendering a Template with data. + */ class Renderer { std::vector& get_args(const Bytecode& bc) { m_tmp_args.clear(); @@ -2765,7 +2868,7 @@ class Renderer { LoopLevel& level = m_loop_stack.back(); if (level.loop_type == LoopLevel::Type::Array) { - level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; + level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; auto& loopData = level.data["loop"]; loopData["index"] = level.index; loopData["index1"] = level.index + 1; @@ -2787,8 +2890,8 @@ class Renderer { enum class Type { Map, Array }; Type loop_type; - nonstd::string_view key_name; // variable name for keys - nonstd::string_view value_name; // variable name for values + nonstd::string_view key_name; // variable name for keys + nonstd::string_view value_name; // variable name for values json data; // data with loop info added json values; // values to iterate over @@ -2800,8 +2903,8 @@ class Renderer { // loop over map using KeyValue = std::pair; using MapValues = std::vector; - MapValues map_values; // values to iterate over - MapValues::iterator map_it; // iterator over values + MapValues map_values; // values to iterate over + MapValues::iterator map_it; // iterator over values }; @@ -2835,11 +2938,11 @@ class Renderer { } case Bytecode::Op::PrintValue: { const json& val = *get_args(bc)[0]; - if (val.is_string()) + if (val.is_string()) { os << val.get_ref(); - else + } else { os << val.dump(); - // val.dump(os); + } pop_args(bc); break; } @@ -2870,7 +2973,15 @@ class Renderer { break; } case Bytecode::Op::Length: { - auto result = get_args(bc)[0]->size(); + const json& val = *get_args(bc)[0]; + + int result; + if (val.is_string()) { + result = val.get_ref().length(); + } else { + result = val.size(); + } + pop_args(bc); m_stack.emplace_back(result); break; @@ -2882,6 +2993,13 @@ class Renderer { m_stack.emplace_back(std::move(result)); break; } + case Bytecode::Op::At: { + auto args = get_args(bc); + auto result = args[0]->at(args[1]->get()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } case Bytecode::Op::First: { auto result = get_args(bc)[0]->front(); pop_args(bc); @@ -3091,7 +3209,7 @@ class Renderer { break; } case Bytecode::Op::Include: - Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, data); + Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, *m_data); break; case Bytecode::Op::Callback: { auto callback = m_callbacks.find_callback(bc.str, bc.args); @@ -3216,12 +3334,17 @@ class Renderer { // #include "template.hpp" +// #include "utils.hpp" + namespace inja { using namespace nlohmann; +/*! + * \brief Class for changing the configuration. + */ class Environment { class Impl { public: @@ -3238,7 +3361,7 @@ class Environment { std::unique_ptr m_impl; public: - Environment(): Environment("./") { } + Environment(): Environment("") { } explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { m_impl->input_path = global_path; @@ -3277,6 +3400,16 @@ class Environment { m_impl->lexer_config.update_open_chars(); } + /// Sets whether to remove the first newline after a block + void set_trim_blocks(bool trim_blocks) { + m_impl->lexer_config.trim_blocks = trim_blocks; + } + + /// Sets whether to strip the spaces and tabs from the start of a line to a block + void set_lstrip_blocks(bool lstrip_blocks) { + m_impl->lexer_config.lstrip_blocks = lstrip_blocks; + } + /// Sets the element notation syntax void set_element_notation(ElementNotation notation) { m_impl->parser_config.notation = notation; @@ -3290,8 +3423,8 @@ class Environment { Template parse_template(const std::string& filename) { Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.parse_template(m_impl->input_path + static_cast(filename)); - } + return parser.parse_template(m_impl->input_path + static_cast(filename)); + } std::string render(nonstd::string_view input, const json& data) { return render(parse(input), data); @@ -3304,35 +3437,35 @@ class Environment { } std::string render_file(const std::string& filename, const json& data) { - return render(parse_template(filename), data); - } + return render(parse_template(filename), data); + } std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { - const json data = load_json(filename_data); - return render_file(filename, data); - } + const json data = load_json(filename_data); + return render_file(filename, data); + } void write(const std::string& filename, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render_file(filename, data); - file.close(); - } + std::ofstream file(m_impl->output_path + filename_out); + file << render_file(filename, data); + file.close(); + } void write(const Template& temp, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render(temp, data); - file.close(); - } + std::ofstream file(m_impl->output_path + filename_out); + file << render(temp, data); + file.close(); + } - void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(filename, data, filename_out); - } + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } - void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(temp, data, filename_out); - } + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); @@ -3341,15 +3474,15 @@ class Environment { std::string load_file(const std::string& filename) { Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.load_file(m_impl->input_path + filename); - } + return parser.load_file(m_impl->input_path + filename); + } json load_json(const std::string& filename) { - std::ifstream file(m_impl->input_path + filename); - json j; - file >> j; - return j; - } + std::ifstream file = open_file_or_throw(m_impl->input_path + filename); + json j; + file >> j; + return j; + } void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { m_impl->callbacks.add_callback(name, numArgs, callback); diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 15eae9dcb3..2ba5fd0828 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -65,21 +65,6 @@ int main(int argc, char *argv[]) return get_custom_var(key); }); - env.add_callback("trackVar", 2, [](Arguments& args) { - static int counter = 0; - - int addValue = args.at(0)->get(); - int checkValue = args.at(1)->get(); - - bool over = false; - - counter = (counter + addValue) % (checkValue + 1); - - if (counter <= addValue) over = true; - - return over; - }); - env.add_callback("concat", 2, [](Arguments& args) { string first = args.at(0)->get(); string second = args.at(1)->get(); @@ -106,6 +91,11 @@ int main(int argc, char *argv[]) return rawValue.substr(0, i); }); + // single argument is a json object + env.add_callback("isEmpty", 1, [](Arguments& args) { + return args.at(0)->empty(); + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath);