diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 3ab291a..820588c 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -533,6 +533,7 @@ const EVENT_MET_BUENA const EVENT_GOT_ODD_EGG const EVENT_SAW_SUICUNE_ON_ROUTE_14 + const EVENT_VERMILION_CITY_EUSINE const EVENT_SAW_SUICUNE_IN_VERMILION_CITY const EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER ; Unused: next 167 events diff --git a/maps/VermilionCity.ablk b/maps/VermilionCity.ablk index 1b5524d..a575e58 100644 --- a/maps/VermilionCity.ablk +++ b/maps/VermilionCity.ablk @@ -2,4 +2,4 @@ RRRRRO1PRĄĄĄĄĄĄĄĄĄR !ŤŽ !1 !wŹww1ĄĄĄĄ–|~|r7~17~1111>?;Ą–d1111111111IH1$%Ą–-11111DE1‹111–CC !C !11ŤŽwwwĄ ĄĄ–d‹|~1|~11|s1111ˇ ĄĄ–d11111111111‹11 -©ĄĄ–d1 11111ĄĄĄ–dʬ111ed1edĄĄĄ–d11111e-.d1edĄĄĄ–d11111eCCCCCd1edĄĄĄ–-.d111111e-ś–CCCCCCCd1.C–CC–CCCCCCC•••CCCCC–CC–™™™™™™••FJ••™™™™šCC–CCCCCCCd0eCC–CC–CC–CCCCCCC-.CC–CC–CC \ No newline at end of file +©ĄĄ–d1 1111UĄĄĄ–dʬ111e–U”dĄĄĄ–d11111e-.–U”dĄĄĄ–d11111eC™™™™šU”dĄĄĄ–-.–UUUUUU”-ś–CCCCCCC–U•‘‘‘‘CC–CC–CCCCCCC•••CCCCC–CC–™™™™™™••FJ••™™™™šCC–CCCCCCCd0eCCCCC–CC–CCCCCCC-.CCCCC–CC \ No newline at end of file diff --git a/maps/VermilionCity.asm b/maps/VermilionCity.asm index b59691f..0b59677 100644 --- a/maps/VermilionCity.asm +++ b/maps/VermilionCity.asm @@ -14,7 +14,7 @@ VermilionCity_MapScripts: scene_script VermilionCityNoop2Scene, SCENE_VERMILIONCITY_SUICUNE def_callbacks - callback MAPCALLBACK_NEWMAP, VermilionCityFlypointCallback + callback MAPCALLBACK_NEWMAP, VermilionCityFlypointAndSuicuneCallback VermilionCityNoop1Scene: end @@ -22,31 +22,31 @@ VermilionCityNoop1Scene: VermilionCityNoop2Scene: end -VermilionCitySuicuneCallback: +VermilionCityFlypointAndSuicuneCallback: + setflag ENGINE_FLYPOINT_VERMILION checkevent EVENT_SAW_SUICUNE_ON_ROUTE_42 - iffalse .NoAppear + iftrue .Check2 + sjump .NoAppear + +.Check2: checkevent EVENT_SAW_SUICUNE_IN_VERMILION_CITY - iffalse .NoAppear + iftrue .NoAppear + sjump .Appear + +.Appear appear VERMILIONCITY_SUICUNE + disappear VERMILIONCITY_EUSINE endcallback -.NoAppear: +.NoAppear disappear VERMILIONCITY_SUICUNE - disappear VERMILIONCITY_EUSINE ; just making sure, also skips using any events for this matter + disappear VERMILIONCITY_EUSINE endcallback -; BUG: Movement is fucky, eusine is a little weird. I'm just incompetent. - -; Two different startup scripts given the position. -; I am 99.9% sure there's a way to simply modify this by the player's position on the map, like in RBY. -; However, I can't seem to find any examples... - -; If you're smarter than me, you should know what to do. VermilionCitySuicuneScriptStartupLeft: playmusic MUSIC_NONE showemote EMOTE_SHOCK, PLAYER, 15 pause 15 - ; jank zone begins here. applymovement PLAYER, VermilionCityPlayerToTheLeftMovement sjump VermilionCitySuicuneScript @@ -54,13 +54,15 @@ VermilionCitySuicuneScriptStartupRight: playmusic MUSIC_NONE showemote EMOTE_SHOCK, PLAYER, 15 pause 15 - ; jank zone ends here. - turnobject PLAYER, RIGHT ; basically if you can use the player's x/y position you should use this and the left movement in an if this then that statement. - ; fallthrough + turnobject PLAYER, RIGHT + sjump VermilionCitySuicuneScript + VermilionCitySuicuneScript: playsound SFX_WARP_FROM applymovement VERMILIONCITY_SUICUNE, VermilionCitySuicuneMovement1 - cry SUICUNE + pause 15 + cry SUICUNE + playsound SFX_WARP_FROM applymovement VERMILIONCITY_SUICUNE, VermilionCitySuicuneMovement2 disappear VERMILIONCITY_SUICUNE pause 10 @@ -75,9 +77,9 @@ VermilionCitySuicuneScript: turnobject PLAYER, UP applymovement VERMILIONCITY_EUSINE, VermilionCityEusineMovement2 - setscene SCENE_VERMILIONCITY_NOOP setevent EVENT_SAW_SUICUNE_IN_VERMILION_CITY setmapscene ROUTE_14, SCENE_ROUTE14_SUICUNE + setscene SCENE_VERMILIONCITY_NOOP disappear VERMILIONCITY_EUSINE special RestartMapMusic end @@ -90,6 +92,7 @@ VermilionCityEusineMovement1: big_step RIGHT big_step RIGHT big_step RIGHT + big_step RIGHT big_step UP step UP step_end @@ -144,10 +147,6 @@ VermilionCityEusineSawSuicune: line "I've got to go!" done -VermilionCityFlypointCallback: - setflag ENGINE_FLYPOINT_VERMILION - endcallback - VermilionCityTeacherScript: jumptextfaceplayer VermilionCityTeacherText @@ -433,5 +432,5 @@ VermilionCity_MapEvents: object_event 14, 16, SPRITE_SUPER_NERD, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, VermilionCitySuperNerdScript, -1 object_event 34, 8, SPRITE_BIG_SNORLAX, SPRITEMOVEDATA_BIGDOLLSYM, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX object_event 31, 12, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, VermilionGymBadgeGuy, -1 - object_event 25, 24, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_IN_VERMILION_CITY + object_event 24, 24, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_VERMILION_CITY_EUSINE object_event 31, 21, SPRITE_SUICUNE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_IN_VERMILION_CITY