diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 20378a60..c562a4c1 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -481,7 +481,7 @@ const_value = -1 const SPAWN_ASCORBIA const SPAWN_KUMQUAT const SPAWN_PUMMELO - const SPAWN_HAMLIN + const SPAWN_TARROCO const SPAWN_SHAMOUTI const SPAWN_VERMILION NUM_SPAWNS EQU const_value diff --git a/data/base_stats/electabuzz.asm b/data/base_stats/electabuzz.asm index 79715283..fef1ca1b 100644 --- a/data/base_stats/electabuzz.asm +++ b/data/base_stats/electabuzz.asm @@ -5,8 +5,8 @@ db ELECTRIC, ELECTRIC db 45 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db ELECTIRIZER ; item 1 + db ELECTIRIZER ; item 2 db FEMALE_25 ; gender db 25 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/base_stats/elekid.asm b/data/base_stats/elekid.asm index c2a30532..5cdab5fc 100644 --- a/data/base_stats/elekid.asm +++ b/data/base_stats/elekid.asm @@ -5,8 +5,8 @@ db ELECTRIC, ELECTRIC db 45 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db ELECTIRIZER ; item 1 + db ELECTIRIZER ; item 2 db FEMALE_25 ; gender db 25 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/base_stats/igglybuff.asm b/data/base_stats/igglybuff.asm index 24c0e763..f9cb990d 100644 --- a/data/base_stats/igglybuff.asm +++ b/data/base_stats/igglybuff.asm @@ -5,8 +5,8 @@ db NORMAL, FAIRY db 170 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db MOON_STONE ; item 1 + db MOON_STONE ; item 2 db FEMALE_75 ; gender db 10 ; step cycles to hatch dn 5, 5 ; frontpic dimensions diff --git a/data/base_stats/jigglypuff.asm b/data/base_stats/jigglypuff.asm index 7d5e3276..b335eed0 100644 --- a/data/base_stats/jigglypuff.asm +++ b/data/base_stats/jigglypuff.asm @@ -5,8 +5,8 @@ db NORMAL, FAIRY db 170 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db MOON_STONE ; item 1 + db MOON_STONE ; item 2 db FEMALE_75 ; gender db 10 ; step cycles to hatch dn 5, 5 ; frontpic dimensions diff --git a/data/base_stats/kangaskhan.asm b/data/base_stats/kangaskhan.asm index 72298ef2..fb758ee4 100644 --- a/data/base_stats/kangaskhan.asm +++ b/data/base_stats/kangaskhan.asm @@ -5,8 +5,8 @@ db NORMAL, NORMAL db 45 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db TRADE_STONE ; item 1 + db TRADE_STONE ; item 2 db ALL_FEMALE ; gender db 20 ; step cycles to hatch dn 7, 7 ; frontpic dimensions diff --git a/data/base_stats/magby.asm b/data/base_stats/magby.asm index 39e65d25..5dfab2fb 100644 --- a/data/base_stats/magby.asm +++ b/data/base_stats/magby.asm @@ -5,8 +5,8 @@ db FIRE, FIRE db 45 ; catch rate - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 + db MAGMARIZER ; item 1 + db MAGMARIZER ; item 2 db FEMALE_25 ; gender db 25 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/base_stats/magmar.asm b/data/base_stats/magmar.asm index e3426abb..2bbb2c74 100644 --- a/data/base_stats/magmar.asm +++ b/data/base_stats/magmar.asm @@ -5,8 +5,8 @@ db FIRE, FIRE db 45 ; catch rate - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 + db MAGMARIZER ; item 1 + db MAGMARIZER ; item 2 db FEMALE_25 ; gender db 25 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/base_stats/porygon.asm b/data/base_stats/porygon.asm index 5be6733f..9f1a13c3 100644 --- a/data/base_stats/porygon.asm +++ b/data/base_stats/porygon.asm @@ -5,8 +5,8 @@ db NORMAL, NORMAL db 45 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db UP_GRADE ; item 1 + db DUBIOUS_DISC ; item 2 db GENDERLESS ; gender db 20 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/base_stats/rhydon.asm b/data/base_stats/rhydon.asm index 7760b479..7a1278dc 100644 --- a/data/base_stats/rhydon.asm +++ b/data/base_stats/rhydon.asm @@ -5,8 +5,8 @@ db GROUND, ROCK db 60 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db PROTECTOR ; item 1 + db PROTECTOR ; item 2 db FEMALE_50 ; gender db 20 ; step cycles to hatch dn 7, 7 ; frontpic dimensions diff --git a/data/base_stats/rhyhorn.asm b/data/base_stats/rhyhorn.asm index 5ce52b09..ed7fd284 100644 --- a/data/base_stats/rhyhorn.asm +++ b/data/base_stats/rhyhorn.asm @@ -5,8 +5,8 @@ db GROUND, ROCK db 120 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db PROTECTOR ; item 1 + db PROTECTOR ; item 2 db FEMALE_50 ; gender db 20 ; step cycles to hatch dn 7, 7 ; frontpic dimensions diff --git a/data/base_stats/wigglytuff.asm b/data/base_stats/wigglytuff.asm index 1e6785f3..a67ba3b7 100644 --- a/data/base_stats/wigglytuff.asm +++ b/data/base_stats/wigglytuff.asm @@ -5,8 +5,8 @@ db NORMAL, FAIRY db 50 ; catch rate - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 + db MOON_STONE ; item 1 + db MOON_STONE ; item 2 db FEMALE_75 ; gender db 10 ; step cycles to hatch dn 6, 6 ; frontpic dimensions diff --git a/data/evos_attacks.asm b/data/evos_attacks.asm index 4d491e9f..457f6a9f 100644 --- a/data/evos_attacks.asm +++ b/data/evos_attacks.asm @@ -2245,6 +2245,8 @@ EeveeEvosAttacks: db EVOLVE_ITEM, WATER_STONE, VAPOREON db EVOLVE_ITEM, FIRE_STONE, FLAREON db EVOLVE_ITEM, SHINY_STONE, SYLVEON + db EVOLVE_ITEM, LEAF_STONE, LEAFEON + db EVOLVE_ITEM, ICE_STONE, GLACEON db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON db EVOLVE_HAPPINESS, TR_NITE, UMBREON db EVOLVE_MAP, GROUP_MT_NAVEL_ICE_ROCK, MAP_MT_NAVEL_ICE_ROCK, GLACEON diff --git a/data/wild/johto_grass.asm b/data/wild/johto_grass.asm index c55d14e0..b033af32 100644 --- a/data/wild/johto_grass.asm +++ b/data/wild/johto_grass.asm @@ -782,7 +782,34 @@ db 23, TRAPINCH db 24, TRAPINCH db 24, CUBONE - + + map SUNRAY_CAVE_MANDARIN_DESERT_1F + db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ; morn + db 22, SANDYGAST + db 22, SLUGMA + db 22, MAGNEMITE + db 23, CUBONE + db 23, SLUGMA + db 24, CLEFAIRY + db 24, CLEFABLE + ; day + db 22, SANDYGAST + db 22, SLUGMA + db 22, MAGNEMITE + db 23, CUBONE + db 23, SLUGMA + db 24, CLEFAIRY + db 24, CLEFABLE + ; nite + db 22, SANDYGAST + db 22, SLUGMA + db 22, MAGNEMITE + db 23, CUBONE + db 23, SLUGMA + db 24, CLEFAIRY + db 24, CLEFABLE + map TROVITOPOLIS_SEWER db 7 percent, 7 percent, 7 percent ;morn @@ -1462,54 +1489,54 @@ db 6 percent, 6 percent, 6 percent ;morn db 42, ELEKID - db 42, BUTTERFREE + db 42, VOLTORB db 41, PIKACHU db 42, ELECTABUZZ db 42, ELEKID - db 41, ELECTABUZZ + db 41, JOLTEON db 44, BULBASAUR ;day db 42, ELEKID - db 42, BUTTERFREE + db 42, VOLTORB db 42, PIKACHU db 41, ELECTABUZZ db 41, ELEKID - db 42, ELECTABUZZ + db 42, JOLTEON db 44, BULBASAUR ;nite db 42, ELEKID - db 41, VENOMOTH + db 41, VOLTORB db 42, PIKACHU db 41, ELECTABUZZ db 41, ELEKID - db 42, ELECTABUZZ + db 42, JOLTEON db 44, BULBASAUR map FIRE_ISLAND db 6 percent, 6 percent, 6 percent ;morn db 42, MAGBY - db 42, BUTTERFREE + db 42, MAGCARGO db 41, VULPIX db 42, MAGMAR - db 42, MAGBY - db 41, TURTONATOR + db 42, TURTONATOR + db 41, FLAREON db 44, CHARMANDER ;day db 42, MAGBY - db 42, BUTTERFREE + db 42, SLUGMA db 42, VULPIX db 41, MAGMAR - db 41, MAGBY - db 42, TURTONATOR + db 41, TURTONATOR + db 42, FLAREON db 44, CHARMANDER ;nite db 42, MAGBY - db 41, VENOMOTH + db 41, SLUGMA db 42, VULPIX db 41, MAGMAR - db 41, MAGBY - db 42, TURTONATOR + db 41, TURTONATOR + db 42, FLAREON db 44, CHARMANDER map ICE_ISLAND @@ -1520,7 +1547,7 @@ db 41, SMOOCHUM db 42, JYNX db 42, SMOOCHUM - db 41, JYNX + db 41, VAPOREON db 44, SQUIRTLE ;day db 42, SMOOCHUM @@ -1528,7 +1555,7 @@ db 42, SMOOCHUM db 41, JYNX db 41, SMOOCHUM - db 42, JYNX + db 42, VAPOREON db 44, SQUIRTLE ;nite db 42, SMOOCHUM @@ -1536,7 +1563,7 @@ db 42, SMOOCHUM db 41, JYNX db 41, SMOOCHUM - db 42, JYNX + db 42, VAPOREON db 44, SQUIRTLE map SHAMOUTI_CAVE @@ -1571,26 +1598,26 @@ ;morn db 42, MACHOP db 42, TYROGUE - db 41, GOLBAT - db 42, MACHOP - db 42, TYROGUE - db 41, MACHOKE + db 41, TYROGUE + db 42, VOLTORB + db 42, MACHOKE + db 41, ELECTRODE db 44, MACHAMP ;day db 42, MACHOP db 42, TYROGUE - db 41, GOLBAT - db 42, MACHOP - db 42, TYROGUE - db 41, MACHOKE + db 41, TYROGUE + db 42, VOLTORB + db 42, MACHOKE + db 41, ELECTRODE db 44, MACHAMP ;nite db 42, MACHOP db 42, TYROGUE - db 41, GOLBAT - db 42, MACHOP - db 42, TYROGUE - db 41, MACHOKE + db 41, TYROGUE + db 42, VOLTORB + db 42, MACHOKE + db 41, ELECTRODE db 44, MACHAMP map AIRSHIP_OUTSIDE @@ -1620,4 +1647,58 @@ db 46, PIDGEOTTO db 48, PIDGEOT + map ROUTE_70 + db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ; morn + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, ESPEON + ; day + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, SYLVEON + ; nite + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, UMBREON + + map TARROCO_ISLAND + db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ; morn + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, ESPEON + ; day + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, SYLVEON + ; nite + db 46, EEVEE + db 46, TOUCANNON + db 46, TOGETIC + db 46, LYCANROC + db 46, CLEFAIRY + db 46, KANGASKHAN + db 48, UMBREON + db -1 ; end diff --git a/data/wild/johto_water.asm b/data/wild/johto_water.asm index 07770cb5..51554440 100644 --- a/data/wild/johto_water.asm +++ b/data/wild/johto_water.asm @@ -378,5 +378,10 @@ db 40, CARVANHA db 48, WAILORD + map ROUTE_70 + db 1 percent + db 40, QWILFISH + db 40, LANTURN + db 48, DEWGONG db -1 ; end diff --git a/engine/breeding.asm b/engine/breeding.asm index e500a8aa..1beefaa6 100644 --- a/engine/breeding.asm +++ b/engine/breeding.asm @@ -8,6 +8,10 @@ CheckBreedmonCompatibility: ; 16e1d ld [TempMonDVs], a ld a, [wBreedMon1DVs + 1] ld [TempMonDVs + 1], a +;load gender + ld a, [wBreedMon1Gender] + ld [TempMonGender], a + ld a, TEMPMON ld [MonType], a predef GetGender @@ -24,7 +28,11 @@ CheckBreedmonCompatibility: ; 16e1d ld [TempMonDVs], a ld a, [wBreedMon2DVs + 1] ld [TempMonDVs + 1], a - ld a, $3 +;load gender + ld a, [wBreedMon2Gender] + ld [TempMonGender], a + + ld a, TEMPMON ld [MonType], a predef GetGender pop bc @@ -571,6 +579,10 @@ GetHeritableMoves: ; 17197 ld [TempMonDVs], a ld a, [wBreedMon2DVs + 1] ld [TempMonDVs + 1], a +;load gender + ld a, [wBreedMon2Gender] + ld [TempMonGender], a + ld a, TEMPMON ld [MonType], a predef GetGender @@ -587,6 +599,10 @@ GetHeritableMoves: ; 17197 ld [TempMonDVs], a ld a, [wBreedMon1DVs + 1] ld [TempMonDVs + 1], a +;load gender + ld a, [wBreedMon1Gender] + ld [TempMonGender], a + ld a, TEMPMON ld [MonType], a predef GetGender @@ -629,7 +645,8 @@ GetEggFrontpic: ; 17224 (5:7224) ld [CurPartySpecies], a ld [CurSpecies], a call GetBaseData - ld hl, BattleMonDVs + ld a, MON_DVS + call GetPartyParamLocation predef GetVariant pop de predef_jump GetFrontpic @@ -639,7 +656,8 @@ GetHatchlingFrontpic: ; 1723c (5:723c) ld [CurPartySpecies], a ld [CurSpecies], a call GetBaseData - ld hl, BattleMonDVs + ld a, MON_DVS + call GetPartyParamLocation predef GetVariant pop de predef_jump FrontpicPredef @@ -755,11 +773,12 @@ EggHatch_AnimationSequence: ; 1728f (5:728f) call Hatch_UpdateFrontpicBGMapCenter call Hatch_ShellFragmentLoop call WaitSFX - ld a, [wJumptableIndex] - ld [CurPartySpecies], a - hlcoord 6, 3 - lb de, $0, ANIM_MON_HATCH - predef AnimateFrontpic +;the following is commented since orange doesn't have sprite animations, this this code corrupts the picture + ;ld a, [wJumptableIndex] + ;ld [CurPartySpecies], a + ;hlcoord 6, 3 + ;lb de, $0, ANIM_MON_HATCH + ;predef AnimateFrontpic pop af ld [CurSpecies], a ret diff --git a/engine/npctrade.asm b/engine/npctrade.asm index e8813f43..cb3e090a 100644 --- a/engine/npctrade.asm +++ b/engine/npctrade.asm @@ -455,7 +455,8 @@ ENDM npctrade 3, PIKACHU, CLEFAIRY, "ARIA@@@@@@@", $96, $66, GOLD_BERRY, 48926, "MARISSA@@@@", TRADE_EITHER_GENDER npctrade 0, MEOWTH, MR__MIME, "MIMEY@@@@@@", $98, $88, FOCUS_BAND, 22689, "SHAMUS@@@@@", TRADE_EITHER_GENDER npctrade 3, STUNFISK, SEEL, "PUFF@@@@@@@", $96, $66, MYSTERYBERRY, 62712, "MAYA@@@@@@@", TRADE_EITHER_GENDER - npctrade 4, MEOWTH, MEOWTH, "MOMOSHIRO@@", $98, $88, LEFTOVERS, 43673, "SOYA@@@@@@@", TRADE_EITHER_GENDER + npctrade 4, MEOWTH, MEOWTH, "MOMOSHIRO@@", $98, $88, LEFTOVERS, 43434, "SOLYA@@@@@@", TRADE_EITHER_GENDER + npctrade 1, SALANDIT, PORYGON, "SEIZURE@@@@", $98, $88, UP_GRADE, 34343, "SULOKU@@@@@", TRADE_FEMALE_ONLY ; fcf38 @@ -582,6 +583,21 @@ TradeAfterText1: ; 0xfcfab TradeIntroText2: + text "Hello there!" + + para "I came to this" + line "region so I can" + cont "train a SALAZZLE," + cont "but I've had no" + cont "luck yet. Do you" + cont "happen to have a" + cont "SALANDIT♀?" + + para "I'm willing to" + line "trade my loyal" + cont "PORYGON for one." + done + TradeIntroText3: ; 0xfcfb0 ; Hi, I'm looking for this #MON. If you have @ , would you trade it for my @ ? text_jump UnknownText_0x1bd512 @@ -610,10 +626,17 @@ TradeCompleteText2: ; 0xfcfbf TradeAfterText2: ; 0xfcfc4 ; Hi! The @ you traded me is doing great! - text_jump UnknownText_0x1bd5f4 - db "@" +; text_jump UnknownText_0x1bd5f4 +; db "@" ; 0xfcfc9 + text "Hi! The SALANDIT♀" + line "you traded me" + cont "finally evolved" + cont "into SALAZZLE!" + para "How is my old" + line "buddy doing?" + done TradeIntroText4: ; 0xfcfc9 ; 's cute, but I don't have it. Do you have @ ? Want to trade it for my @ ? @@ -696,8 +719,8 @@ _TradeIntroText5: done _TradeCompleteText5: - text "Great! This region" - line "MEOWTH are so" + text "Great! MEOWTH from" + line "this region are so" cont "interesting!" done diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 5551b339..a81a43f0 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -454,7 +454,7 @@ PlacePartyMonEvoStoneCompatibility: ; 5022f ld l, a ld de, StringBuffer1 ld a, BANK(EvosAttacks) - ld bc, $10 + ld bc, $1f ;this limits the number of evolution entries loaded to buffer. Eevee is the one with most entries, 10, which are 30 bytes + the 0x00 terminator. This overflows into StringBuffer2, but it is not used at this point, so it is no problem call FarCopyBytes ld hl, StringBuffer1 .loop2 diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index 694db54a..c739a7c7 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -24,7 +24,7 @@ ENDM spawn ASCORBIA_ISLAND, 13, 26 spawn KUMQUAT_ISLAND_EAST, 15, 16 spawn PUMMELO_ISLAND, 21, 30 - spawn HAMLIN_ISLAND, 21, 32 + spawn TARROCO_ISLAND, 14, 27 spawn SHAMOUTI_ISLAND, 19, 12 spawn VERMILION_CITY, 0, 0 diff --git a/engine/town_map.asm b/engine/town_map.asm index f4eeea14..710519f0 100644 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -492,7 +492,7 @@ ENDM flypoint ASCORBIA, ASCORBIA_ISLAND flypoint KUMQUAT, KUMQUAT_ISLAND flypoint PUMMELO, PUMMELO_ISLAND - flypoint HAMLIN, HAMLIN_ISLAND + flypoint TARROCO, TARROCO_ISLAND flypoint SHAMOUTI, SHAMOUTI_ISLAND ; Kanto flypoint VERMILION, VERMILION_CITY diff --git a/event/daycare.asm b/event/daycare.asm index 96649e3b..af924a36 100644 --- a/event/daycare.asm +++ b/event/daycare.asm @@ -494,12 +494,61 @@ Special_DayCareManOutside: ; 16936 ; 0x169ac DayCare_GiveEgg: ; 169ac + +;form, gender and shinyness + ;generate random PV + call Random + and %11110000 ;erase shiny, pink and form bits + push af ;store PV + + ;load in a the full PV/form byte from the female mother or the male if breeding with ditto + ;check if BreedMon1 is ditto + ld a, [wBreedMon1Species] + cp DITTO + jr z, .GetBreedMon2GenderForm ;if it is ditto, use the other mon's form byte + + ;not ditto. Check if the mon is female + ld a, [wBreedMon1Gender] + ld [TempMonGender], a + + ld a, TEMPMON + ld [MonType], a + predef GetGender + ld a, [wBreedMon1Gender] + jr z, .GotMotherGenderForm ; z means female, so use this one + jr c, .GotMotherGenderForm ; c means genderless, so the other mon must be ditto if breeding + ;otherwise it is male, so use the other BreedMon form +.GetBreedMon2GenderForm + ld a, [wBreedMon2Gender] + +.GotMotherGenderForm + ;and %00000111 ;only keep form bits AND pinkness + and %00000011 ;only keep form bits + ld b, a ;store form in b + pop af ;restore the PV + or a, b ;now a holds gender + form + push af ;store gender + form + +;shinyness +;Let's put a flat 64/255 chance for shiny when breeding! (25%) + call Random + cp a, 64 + jr c, .shiny + ld b, %00000000 + jr .storePV +.shiny + ld b, %00001000 +.storePV + pop af + or a, b ;now a holds gender + shinyness + form + ld [wEggMonGender], a + ld a, [wEggMonLevel] ld [CurPartyLevel], a ld hl, PartyCount ld a, [hl] cp PARTY_LENGTH - jr nc, .PartyFull + jp nc, .PartyFull inc a ld [hl], a @@ -526,6 +575,17 @@ DayCare_GiveEgg: ; 169ac ld hl, wEggOT call CopyBytes +if DEF(DEBUG) ;in debug all eggs only need 1 cycle to hatch + ld a, 1 + ld [wEggMonHappiness], a +else ;make egg cycles 1/4 shorter + call GetBaseData + ld a, [BaseEggSteps] + rr a ;divide cycles by 2 + rr a ;divide cycles by 2 again + ld [wEggMonHappiness], a +endc + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH call DayCare_GetCurrentPartyMember @@ -758,7 +818,14 @@ DayCare_InitBreeding: ; 16a3b ld de, StringBuffer1 ld bc, NAME_LENGTH call CopyBytes + +if DEF(DEBUG) ;only one hatch cycle on debug + ld a, 1 +else ld a, [BaseEggSteps] + rr a ;divide cycles by 2 + rr a ;divide cycles by 2 again +endc ld hl, wEggMonHappiness ld [hli], a xor a diff --git a/event/happiness_egg.asm b/event/happiness_egg.asm index c05a2705..d0a6fcef 100644 --- a/event/happiness_egg.asm +++ b/event/happiness_egg.asm @@ -241,4 +241,18 @@ endc ld hl, wDaycareMan res 5, [hl] set 6, [hl] +;Show a message to the player + call .Ring + call .Ring + ld b, BANK(Script_AlertNewEgg) + ld de, Script_AlertNewEgg + farcall LoadScriptBDE + ret + +.Ring + call WaitSFX + ld de, SFX_CALL + call PlaySFX + ld c, 20 + call DelayFrames ret diff --git a/event/overworld.asm b/event/overworld.asm index 9464b1ff..88d42bee 100644 --- a/event/overworld.asm +++ b/event/overworld.asm @@ -670,6 +670,15 @@ FlyFunction: ; ca3b cp TILESET_UNDERWATER jr z, .indoors + ;allow fly in trovitopolis mart rooftop + ld a, [MapGroup] + cp $08 + jr nz, .notrovitopolisroof + ld a, [MapNumber] + cp $0b + jr z, .outdoors + +.notrovitopolisroof call GetMapPermission call CheckOutdoorMap jr nz, .indoors diff --git a/gfx/font/font.1bpp b/gfx/font/font.1bpp deleted file mode 100644 index 6ef24548..00000000 Binary files a/gfx/font/font.1bpp and /dev/null differ diff --git a/gfx/font/font.2bpp b/gfx/font/font.2bpp index aa718178..049fcc82 100755 Binary files a/gfx/font/font.2bpp and b/gfx/font/font.2bpp differ diff --git a/gfx/pics/palette_pointers.asm b/gfx/pics/palette_pointers.asm index c8df1557..07d7e808 100644 --- a/gfx/pics/palette_pointers.asm +++ b/gfx/pics/palette_pointers.asm @@ -552,72 +552,72 @@ SteelixCrystalShinyPalette: INCLUDE "gfx/pics/steelix_crystal/shiny.pal" ExeggutorKantonesePalettes: ExeggutorKantonesePalette: INCLUDE "gfx/pics/exeggutor_kanto/normal.pal" -ExeggutorKantoneseShinyPalette: INCLUDE "gfx/pics/exeggutor_kanto/normal.pal" +ExeggutorKantoneseShinyPalette: INCLUDE "gfx/pics/exeggutor_kanto/shiny.pal" GrimerKantonesePalettes: GrimerKantonesePalette: INCLUDE "gfx/pics/grimer_kanto/normal.pal" -GrimerKantoneseShinyPalette: INCLUDE "gfx/pics/grimer_kanto/normal.pal" +GrimerKantoneseShinyPalette: INCLUDE "gfx/pics/grimer_kanto/shiny.pal" MukKantonesePalettes: MukKantonesePalette: INCLUDE "gfx/pics/muk_kanto/normal.pal" -MukKantoneseShinyPalette: INCLUDE "gfx/pics/muk_kanto/normal.pal" +MukKantoneseShinyPalette: INCLUDE "gfx/pics/muk_kanto/shiny.pal" MeowthAlolanPalettes: MeowthAlolanPalette: INCLUDE "gfx/pics/meowth_alola/normal.pal" -MeowthAlolanShinyPalette: INCLUDE "gfx/pics/meowth_alola/normal.pal" +MeowthAlolanShinyPalette: INCLUDE "gfx/pics/meowth_alola/shiny.pal" PersianAlolanPalettes: PersianAlolanPalette: INCLUDE "gfx/pics/persian_alola/normal.pal" -PersianAlolanShinyPalette: INCLUDE "gfx/pics/persian_alola/normal.pal" +PersianAlolanShinyPalette: INCLUDE "gfx/pics/persian_alola/shiny.pal" VulpixKantonesePalettes: VulpixKantonesePalette: INCLUDE "gfx/pics/vulpix_kanto/normal.pal" -VulpixKantoneseShinyPalette: INCLUDE "gfx/pics/vulpix_kanto/normal.pal" +VulpixKantoneseShinyPalette: INCLUDE "gfx/pics/vulpix_kanto/shiny.pal" NinetalesKantonesePalettes: NinetalesKantonesePalette: INCLUDE "gfx/pics/ninetales_kanto/normal.pal" -NinetalesKantoneseShinyPalette: INCLUDE "gfx/pics/ninetales_kanto/normal.pal" +NinetalesKantoneseShinyPalette: INCLUDE "gfx/pics/ninetales_kanto/shiny.pal" SandshrewAlolanPalettes: SandshrewAlolanPalette: INCLUDE "gfx/pics/sandshrew_alola/normal.pal" -SandshrewAlolanShinyPalette: INCLUDE "gfx/pics/sandshrew_alola/normal.pal" +SandshrewAlolanShinyPalette: INCLUDE "gfx/pics/sandshrew_alola/shiny.pal" SandslashAlolanPalettes: SandslashAlolanPalette: INCLUDE "gfx/pics/sandslash_alola/normal.pal" -SandslashAlolanShinyPalette: INCLUDE "gfx/pics/sandslash_alola/normal.pal" +SandslashAlolanShinyPalette: INCLUDE "gfx/pics/sandslash_alola/shiny.pal" RattataKantonesePalettes: RattataKantonesePalette: INCLUDE "gfx/pics/rattata_kanto/normal.pal" -RattataKantoneseShinyPalette: INCLUDE "gfx/pics/rattata_kanto/normal.pal" +RattataKantoneseShinyPalette: INCLUDE "gfx/pics/rattata_kanto/shiny.pal" RaticateKantonesePalettes: RaticateKantonesePalette: INCLUDE "gfx/pics/raticate_kanto/normal.pal" -RaticateKantoneseShinyPalette: INCLUDE "gfx/pics/raticate_kanto/normal.pal" +RaticateKantoneseShinyPalette: INCLUDE "gfx/pics/raticate_kanto/shiny.pal" DiglettKantonesePalettes: DiglettKantonesePalette: INCLUDE "gfx/pics/diglett_kanto/normal.pal" -DiglettKantoneseShinyPalette: INCLUDE "gfx/pics/diglett_kanto/normal.pal" +DiglettKantoneseShinyPalette: INCLUDE "gfx/pics/diglett_kanto/shiny.pal" DugtrioKantonesePalettes: DugtrioKantonesePalette: INCLUDE "gfx/pics/dugtrio_kanto/normal.pal" -DugtrioKantoneseShinyPalette: INCLUDE "gfx/pics/dugtrio_kanto/normal.pal" +DugtrioKantoneseShinyPalette: INCLUDE "gfx/pics/dugtrio_kanto/shiny.pal" GeodudeKantonesePalettes: GeodudeKantonesePalette: INCLUDE "gfx/pics/geodude_kanto/normal.pal" -GeodudeKantoneseShinyPalette: INCLUDE "gfx/pics/geodude_kanto/normal.pal" +GeodudeKantoneseShinyPalette: INCLUDE "gfx/pics/geodude_kanto/shiny.pal" GravelerKantonesePalettes: GravelerKantonesePalette: INCLUDE "gfx/pics/graveler_kanto/normal.pal" -GravelerKantoneseShinyPalette: INCLUDE "gfx/pics/graveler_kanto/normal.pal" +GravelerKantoneseShinyPalette: INCLUDE "gfx/pics/graveler_kanto/shiny.pal" GolemKantonesePalettes: GolemKantonesePalette: INCLUDE "gfx/pics/golem_kanto/normal.pal" -GolemKantoneseShinyPalette: INCLUDE "gfx/pics/golem_kanto/normal.pal" +GolemKantoneseShinyPalette: INCLUDE "gfx/pics/golem_kanto/shiny.pal" RaichuKantonesePalettes: RaichuKantonesePalette: INCLUDE "gfx/pics/raichu_kanto/normal.pal" -RaichuKantoneseShinyPalette: INCLUDE "gfx/pics/raichu_kanto/normal.pal" +RaichuKantoneseShinyPalette: INCLUDE "gfx/pics/raichu_kanto/shiny.pal" MarowakKantonesePalettes: MarowakKantonesePalette: INCLUDE "gfx/pics/marowak_kanto/normal.pal" -MarowakKantoneseShinyPalette: INCLUDE "gfx/pics/marowak_kanto/normal.pal" +MarowakKantoneseShinyPalette: INCLUDE "gfx/pics/marowak_kanto/shiny.pal" diff --git a/items/marts.asm b/items/marts.asm index 25ca8273..265678c2 100644 --- a/items/marts.asm +++ b/items/marts.asm @@ -127,6 +127,7 @@ Route58Mart: db ICE_HEAL db ESCAPE_ROPE db MAX_REPEL + db ICE_STONE db $ff MoroMart: diff --git a/macros/charmap.asm b/macros/charmap.asm index 6c54ebb4..72f11530 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -18,6 +18,8 @@ charmap "", $58 charmap "", $59 charmap "", $5a + + charmap "☎", $BC ;this is not the mapping used in vanilla crystal ; battle extras charmap "", $6e diff --git a/main.asm b/main.asm index cc3d8e27..74e95dbe 100644 --- a/main.asm +++ b/main.asm @@ -365,6 +365,16 @@ Script_AlertToFullBox:: closetext end +Script_AlertNewEgg:: + refreshscreen + playsound SFX_CALL + waitsfx + opentext + farwritetext NewEggCallText + waitbutton + closetext + end + INCLUDE "event/itemball.asm" INCLUDE "engine/healmachineanim.asm" INCLUDE "event/whiteout.asm" diff --git a/maps/CleopatraIsland.asm b/maps/CleopatraIsland.asm index cf56f2db..dec12ea4 100644 --- a/maps/CleopatraIsland.asm +++ b/maps/CleopatraIsland.asm @@ -20,7 +20,7 @@ CleopatraIslandMaxRepel: itemball MAX_REPEL CleopatraIslandElixer: - itemball ELIXER + itemball TRADE_STONE CleopatraIslandSign: jumptext CleopatraIslandSignText diff --git a/maps/DayCare.asm b/maps/DayCare.asm index 8dab8b09..793842be 100644 --- a/maps/DayCare.asm +++ b/maps/DayCare.asm @@ -15,10 +15,15 @@ DayCare_MapScriptHeader: iftrue .PutDayCareManOutside2 end .PutDayCareManOutside2 + checkflag EVENT_DAYCARE_MAN_OUTSIDE + iftrue .end special Special_FadeBlackQuickly special Special_ReloadSpritesNoPalettes disappear DAYCARE_GRAMPS special Special_FadeInQuickly +.end + clearevent EVENT_DAYCARE_MAN_IN_DAYCARE + setevent EVENT_DAYCARE_MAN_OUTSIDE dotrigger 1 end @@ -27,6 +32,7 @@ DayCare_MapScriptHeader: iftrue .PutDaycareManOutside clearevent EVENT_DAYCARE_MAN_IN_DAYCARE setevent EVENT_DAYCARE_MAN_OUTSIDE + dotrigger 0 return .PutDaycareManOutside: diff --git a/maps/GameCorner.asm b/maps/GameCorner.asm index 2fb75400..ff6138f0 100644 --- a/maps/GameCorner.asm +++ b/maps/GameCorner.asm @@ -22,6 +22,70 @@ GameCornerPokefanM3Script: GameCornerCoinVendorScript: jumpstd gamecornercoinvendor +GameCornerItemVendorScript: + faceplayer + opentext + writetext GameCornerPrizeVendorIntroText + waitbutton + checkitem COIN_CASE + iffalse GameCornerPrizeVendor_NoCoinCaseScript + writetext GameCornerPrizeVendorWhichPrizeText +GameCornerItemVendor_LoopScript: ; 056c36 + special Special_DisplayCoinCaseBalance + loadmenudata GameCornerItemVendorMenuData + verticalmenu + closewindow + if_equal $1, .TradeStone + if_equal $2, .Upgrade + if_equal $3, .DubiousDisc + jump GameCornerPrizeVendor_CancelPurchaseScript + +.TradeStone: + checkcoins 1000 + if_equal $2, GameCornerPrizeVendor_NotEnoughCoinsScript + itemtotext TRADE_STONE, $0 + writetext ItemPickedText + waitbutton + scall GameCornerPrizeVendor_ConfirmPurchaseScript + iffalse GameCornerPrizeVendor_CancelPurchaseScript + giveitem TRADE_STONE + iffalse GameCornerPrizeMonVendor_NoRoomForPrizeScript + takecoins 1000 + jump GameCornerItemVendor_FinishScript + +.Upgrade: + checkcoins 1000 + if_equal $2, GameCornerPrizeVendor_NotEnoughCoinsScript + itemtotext UP_GRADE, $0 + writetext ItemPickedText + waitbutton + scall GameCornerPrizeVendor_ConfirmPurchaseScript + iffalse GameCornerPrizeVendor_CancelPurchaseScript + giveitem UP_GRADE + iffalse GameCornerPrizeMonVendor_NoRoomForPrizeScript + takecoins 1000 + jump GameCornerItemVendor_FinishScript + +.DubiousDisc: + checkcoins 1000 + if_equal $2, GameCornerPrizeVendor_NotEnoughCoinsScript + itemtotext DUBIOUS_DISC, $0 + writetext ItemPickedText + waitbutton + scall GameCornerPrizeVendor_ConfirmPurchaseScript + iffalse GameCornerPrizeVendor_CancelPurchaseScript + giveitem DUBIOUS_DISC + iffalse GameCornerPrizeMonVendor_NoRoomForPrizeScript + takecoins 1000 + jump GameCornerItemVendor_FinishScript + +GameCornerItemVendor_FinishScript: + waitsfx + playsound SFX_TRANSACTION + writetext GameCornerPrizeVendorHereYouGoText + waitbutton + jump GameCornerItemVendor_LoopScript + GameCornerTMVendorScript: faceplayer opentext @@ -127,6 +191,20 @@ GameCornerPrizeVendor_NoCoinCaseScript: closetext end +GameCornerItemVendorMenuData: + db $40 ; flags + db 02, 00 ; start coords + db 11, 19 ; end coords + dw .MenuData2 + db 1 ; default option + +.MenuData2: + db $80 ; flags + db 4 ; items + db "LINK CABLE 1000@" + db "UP-GRADE 1000@" + db "DUBIOUS DISC 1000@" + db "CANCEL@" GameCornerTMVendorMenuData: db $40 ; flags @@ -158,8 +236,9 @@ GameCornerPrizeMonVendorScript: verticalmenu closewindow if_equal $1, .abra - if_equal $2, .cubone - if_equal $3, .wobbuffet + if_equal $2, .eevee + if_equal $3, .cubone + if_equal $4, .wobbuffet jump GameCornerPrizeVendor_CancelPurchaseScript .abra @@ -185,16 +264,16 @@ GameCornerPrizeMonVendorScript: if_equal $2, GameCornerPrizeVendor_NotEnoughCoinsScript checkcode VAR_PARTYCOUNT if_equal $6, GameCornerPrizeMonVendor_NoRoomForPrizeScript - pokenamemem CUBONE, $0 + pokenamemem KANGASKHAN, $0 scall GameCornerPrizeVendor_ConfirmPurchaseScript iffalse GameCornerPrizeVendor_CancelPurchaseScript waitsfx playsound SFX_TRANSACTION writetext GameCornerPrizeVendorHereYouGoText waitbutton - writebyte CUBONE + writebyte KANGASKHAN special Special_GameCornerPrizeMonCheckDex - givepoke CUBONE, 35 + givepoke KANGASKHAN, 35 takecoins 5000 jump .loop @@ -216,6 +295,24 @@ GameCornerPrizeMonVendorScript: takecoins 9999 jump .loop +.eevee + checkcoins 2500 + if_equal $2, GameCornerPrizeVendor_NotEnoughCoinsScript + checkcode VAR_PARTYCOUNT + if_equal $6, GameCornerPrizeMonVendor_NoRoomForPrizeScript + pokenamemem EEVEE, $0 + scall GameCornerPrizeVendor_ConfirmPurchaseScript + iffalse GameCornerPrizeVendor_CancelPurchaseScript + waitsfx + playsound SFX_TRANSACTION + writetext GameCornerPrizeVendorHereYouGoText + waitbutton + writebyte EEVEE + special Special_GameCornerPrizeMonCheckDex + givepoke EEVEE, 30 + takecoins 2500 + jump .loop + .MenuDataHeader: db $40 ; flags @@ -228,9 +325,9 @@ GameCornerPrizeMonVendorScript: db $80 ; flags db 4 ; items db "MIME JR. 2500@" - db "CUBONE 5000@" + db "EEVEE 2500@" + db "KANGASKHAN 5000@" db "PORYGON 9999@" - db "CANCEL@" GameCornerPokefanFScript: faceplayer @@ -456,6 +553,10 @@ PickedThunderText: line "tains THUNDER." cont "Good choice!" done + +ItemPickedText: + text "Good choice!" + done GameCorner_MapEventHeader:: @@ -465,7 +566,7 @@ GameCorner_MapEventHeader:: .CoordEvents: db 0 -.BGEvents: db 16 +.BGEvents: db 17 signpost 8, 1, SIGNPOST_LEFT, GameCornerSlotsMachineScript signpost 9, 1, SIGNPOST_LEFT, GameCornerSlotsMachineScript signpost 11, 1, SIGNPOST_LEFT, GameCornerSlotsMachineScript @@ -476,7 +577,8 @@ GameCorner_MapEventHeader:: signpost 8, 12, SIGNPOST_RIGHT, GameCornerCardFlipMachineScript signpost 10, 12, SIGNPOST_RIGHT, GameCornerCardFlipMachineScript signpost 11, 12, SIGNPOST_RIGHT, GameCornerCardFlipMachineScript - signpost 1, 8, SIGNPOST_READ, GameCornerTMVendorScript + signpost 1, 7, SIGNPOST_READ, GameCornerTMVendorScript + signpost 1, 9, SIGNPOST_READ, GameCornerItemVendorScript signpost 1, 5, SIGNPOST_READ, GameCornerPrizeMonVendorScript signpost 10, 9, SIGNPOST_READ, GameCorner10Coins signpost 7, 13, SIGNPOST_READ, GameCorner20Coins diff --git a/maps/GameCorner.blk b/maps/GameCorner.blk index 48362c59..8fa2f49b 100755 --- a/maps/GameCorner.blk +++ b/maps/GameCorner.blk @@ -1 +1 @@ - !%%   \ No newline at end of file + !%%   \ No newline at end of file diff --git a/maps/KrissHouse1F.asm b/maps/KrissHouse1F.asm index 41a405e4..78bb2a53 100644 --- a/maps/KrissHouse1F.asm +++ b/maps/KrissHouse1F.asm @@ -26,6 +26,8 @@ MotherScript: end .MotherBattle ;TODO + writetext MotherBeatRedText + waitbutton closetext end @@ -83,9 +85,9 @@ MotherText: line "to be a TRAINER," cont "a long time ago." - para "If you ever get" - line "strong, I will" - cont "gladly battle you." +; para "If you ever get" +; line "strong, I will" +; cont "gladly battle you." done MotherBeatOrangeCrewText: @@ -98,7 +100,34 @@ MotherBeatOrangeCrewText: para "I once took on" line "the INDIGO LEAGUE." cont "I hear there's a" - cont "new champion now." + cont "new CHAMPION now," + cont "there are rumors" + cont "he's come to the" + cont "islands to face" + cont "our CHAMPION, and" + cont "that is you!" + + para "Apparently he was" + line "last seen in" + cont "CLEOPATRA ISLAND." + done + +MotherBeatRedText: + text "MOM: You defeated" + line "INDIGO LEAGUE's" + cont "CHAMPION?!" + + para "I guess you ended" + line "up being a better" + cont "TRAINER than I" + cont "used to. I wish I" + cont "still had my old" + cont "companions around," + cont "I'm sure battling" + cont "with my own son," + para "the CHAMPION!," + para "would be so much" + line "fun!" done StoveText: diff --git a/maps/KumquatIslandEast.asm b/maps/KumquatIslandEast.asm index 64e91ac1..450ff6b9 100644 --- a/maps/KumquatIslandEast.asm +++ b/maps/KumquatIslandEast.asm @@ -64,13 +64,6 @@ KumquatEastSightseerF2: closetext end -KumquatEastSightseerF2Text: - text "The MEOWTH here" - line "are different from" - cont "the ones from my" - cont "region." - done - KumquatEastFisher: jumptextfaceplayer KumquatEastFisherText diff --git a/maps/MandarinUndergroundBF2.asm b/maps/MandarinUndergroundBF2.asm index 57260565..43c9558d 100644 --- a/maps/MandarinUndergroundBF2.asm +++ b/maps/MandarinUndergroundBF2.asm @@ -1,6 +1,7 @@ const_value = 1 const MANDARINUNDERGROUND_ENGINEER3 const MANDARINUNDERGROUND_SUPER_POTION + const MANDARINUNDERGROUND_TRAP_VOLTORB MandarinUndergroundBF2_MapScriptHeader:: @@ -136,6 +137,24 @@ EngineerKobeAfterText: MandarinUndergroundSuperPotion: itemball SUPER_POTION +MandarinUndergroundTrapVoltorbScript: + opentext + writetext TrapVoltrobText + cry VOLTORB + pause 15 + closetext + writecode VAR_BATTLETYPE, BATTLETYPE_SNORLAX + loadwildmon VOLTORB, 15 + startbattle + disappear MANDARINUNDERGROUND_TRAP_VOLTORB + reloadmapafterbattle + playmapmusic + end + +TrapVoltrobText: + text "Bzzzt!" + done + MandarinUndergroundBF2_MapEventHeader:: .Warps: db 4 @@ -153,7 +172,8 @@ MandarinUndergroundBF2_MapEventHeader:: signpost 1, 11, SIGNPOST_READ, MandarinUndergroundPC signpost 1, 12, SIGNPOST_READ, MandarinUndergroundStatue -.ObjectEvents: db 2 +.ObjectEvents: db 3 person_event SPRITE_SUPER_NERD, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerEngineerKobe, -1 person_event SPRITE_POKE_BALL, 16, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MandarinUndergroundSuperPotion, EVENT_MANDARIN_UNDERGROUND_SUPER_POTION + person_event SPRITE_POKE_BALL, 1, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, 0, 0, MandarinUndergroundTrapVoltorbScript, -1 diff --git a/maps/MurcottIsland.asm b/maps/MurcottIsland.asm index 39140407..5015d3f9 100644 --- a/maps/MurcottIsland.asm +++ b/maps/MurcottIsland.asm @@ -22,13 +22,30 @@ MurcottIsland_MapScriptHeader:: iftrue .PutDayCareManOutside2 end .PutDayCareManOutside2 + checkflag EVENT_DAYCARE_MAN_OUTSIDE + iftrue .end special Special_FadeBlackQuickly special Special_ReloadSpritesNoPalettes + checkcode VAR_YCOORD + if_greater_than 10, .DoNotMoveGramps + checkcode VAR_XCOORD + if_greater_than 18, .DoNotMoveGramps +.MoveGramps + moveperson MURCOTT_DAYCARE_GRAMPS, 13, 5 appear MURCOTT_DAYCARE_GRAMPS special Special_FadeInQuickly + applymovement MURCOTT_DAYCARE_GRAMPS, DayCareGrampsAppearMovement ;daycare man can technically go trough the player/end up in the same position + jump .end +.DoNotMoveGramps + appear MURCOTT_DAYCARE_GRAMPS + special Special_FadeInQuickly +.end + moveperson MURCOTT_DAYCARE_GRAMPS, 15, 6 ;needed to make the old man stay in the final position + clearevent EVENT_DAYCARE_MAN_IN_DAYCARE + setevent EVENT_DAYCARE_MAN_OUTSIDE dotrigger 1 end - + .FlyPoint: setflag ENGINE_FLYPOINT_MURCOTT return @@ -38,6 +55,7 @@ MurcottIsland_MapScriptHeader:: iftrue .PutDayCareManOutside clearevent EVENT_DAYCARE_MAN_IN_DAYCARE setevent EVENT_DAYCARE_MAN_OUTSIDE + dotrigger 0 jump .CheckMon1 .PutDayCareManOutside: @@ -90,9 +108,9 @@ DayCareManScript_Outside: end MurcottMovementData_DayCareManWalksBackInside: - step LEFT - step LEFT - step UP + slow_step LEFT + slow_step LEFT + slow_step UP step_end MurcottMovementData_DayCareManWalksBackInside_WalkAroundPlayer: @@ -103,6 +121,12 @@ MurcottMovementData_DayCareManWalksBackInside_WalkAroundPlayer: slow_step UP step_end +DayCareGrampsAppearMovement: + slow_step DOWN + slow_step RIGHT + slow_step RIGHT + step_end + DayCareMon1Script: opentext special Special_DayCareMon1 diff --git a/maps/PummeloStadium.asm b/maps/PummeloStadium.asm index 763ac014..34a71117 100644 --- a/maps/PummeloStadium.asm +++ b/maps/PummeloStadium.asm @@ -54,6 +54,7 @@ PummeloStadiumEntry: clearevent EVENT_FUKUHARA_BF3_AERODACTYL_FOUGHT clearevent EVENT_MIMIKYU_FOUGHT clearevent EVENT_MANDARIN_CAVE_KECLEON_FOUGHT + clearevent EVENT_RED_ON_CLEOPATRA warpfacing UP, HALL_OF_FAME, 6, 11 end @@ -133,6 +134,7 @@ PummeloStadiumEntry: clearevent EVENT_TANGELO_JUNGLE_MEW_FOUGHT clearevent EVENT_VICTORY_ROAD_MEWTWO_FOUGHT clearevent EVENT_TARROCO_CELEBI_FOUGHT + clearevent EVENT_RED_ON_CLEOPATRA special InitRoamMons ;reset the eon duo end diff --git a/maps/Route51.asm b/maps/Route51.asm index c851d558..e5f100fe 100644 --- a/maps/Route51.asm +++ b/maps/Route51.asm @@ -105,6 +105,7 @@ Route51CrossScript_left: checkevent EVENT_CROSS_CORRUPTED_FOUGHT iftrue .finish spriteface PLAYER, RIGHT + spriteface ROUTE51_CROSS, LEFT jump Route51CrossScript .finish end @@ -113,6 +114,7 @@ Route51CrossScript_up: checkevent EVENT_CROSS_CORRUPTED_FOUGHT iftrue .finish spriteface PLAYER, DOWN + spriteface ROUTE51_CROSS, UP jump Route51CrossScript .finish end diff --git a/maps/Route69South.asm b/maps/Route69South.asm index d8bf8565..2b11f762 100644 --- a/maps/Route69South.asm +++ b/maps/Route69South.asm @@ -4,6 +4,7 @@ const_value = 1 const ROUTE_69_POKEBALL_3 const ROUTE_69_COOLTRAINER_MAKO const ROUTE_69_POKEBALL_4 + const ROUTE_69_NURSE Route69South_MapScriptHeader:: @@ -59,6 +60,43 @@ CooltrainerMMakoAfterText: Route69DragonPulse: itemball TM_DRAGON_PULSE +Route69NurseScript: + faceplayer + opentext + writetext Route69NurseText + waitbutton + closetext + special Special_FadeBlackQuickly + special Special_ReloadSpritesNoPalettes + playmusic MUSIC_HEAL + special HealParty + pause 60 + special Special_FadeInQuickly + special RestartMapMusic + opentext + writetext Route69NurseHealedText + waitbutton + closetext + end + +Route69NurseText: + text "Hello trainer!" + + para "Victory Road is" + line "just ahead, so be" + cont "sure you are fully" + cont "prepared!" + + para "Let me heal your" + line "party." + done + +Route69NurseHealedText: + text "Good luck." + + para "You'll need it." + done + Route69South_MapEventHeader:: .Warps: db 15 @@ -83,11 +121,12 @@ Route69South_MapEventHeader:: .BGEvents: db 1 signpost 44, 22, SIGNPOST_READ, VictoryRoadSign -.ObjectEvents: db 5 +.ObjectEvents: db 6 person_event SPRITE_POKE_BALL, 60, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route69SouthUltraBall, EVENT_ROUTE_69_SOUTH_ULTRA_BALL - person_event SPRITE_POKE_BALL, 18, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route69SouthFullRestore, EVENT_ROUTE_69_SOUTH_FULL_RESTORE + person_event SPRITE_POKE_BALL, 19, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route69SouthFullRestore, EVENT_ROUTE_69_SOUTH_FULL_RESTORE person_event SPRITE_POKE_BALL, 29, 34, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route69SouthMaxEther, EVENT_ROUTE_69_SOUTH_MAX_ETHER person_event SPRITE_COOLTRAINER_M, 23, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainerMMako, -1 person_event SPRITE_POKE_BALL, 15, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route69DragonPulse, EVENT_ROUTE_69_DRAGON_PULSE + person_event SPRITE_NURSE, 44, 21, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route69NurseScript, -1 diff --git a/maps/Route69South.blk b/maps/Route69South.blk index 8d24c55b..06ffee0f 100644 --- a/maps/Route69South.blk +++ b/maps/Route69South.blk @@ -7,10 +7,10 @@ q h i horrrmhqijpp klsm lmjppp -qqhjpki jpklrrrrrnhlmiTU jpk TvU hlr/mXzjqqivy5zUl|}r~X5lrrrrmpk5zv|}r~XY|}}}}~h -i X5|}}~ +qqhjpki jpklrrrrrnhlmiTU jpk TvU hl/+mXzjqqivy5zUl|r3~X5lrrrrmpk5zv|r3~XY|}}}}~h +i X5|} jpppk~l+m -X5|jpppkh +X5|jpppkh i |3~ jk @@ -18,9 +18,9 @@ hqqqqih k|3~ hi h qq -ilrrrrrm|~ hi -lrrmjppppk~|r~ lm |rrrr~hi~|}~^ +il+rrrrm|~ hi +lrrmjppppk~|r~ lm |+rrr~hi~|}~^ -|}}}~hi~|}~b XY|}+}jklrrm~|}~b XY|}3}lm|rr~~|}~ XY|}3}|~|rrr}~~|}~b -Xpk|~|}}~~TUbjpkiTvvvU|rrr~TyzUjqjiiX555Y|}rr~X55Yh +|3}}~hi~|}~b XY|r+}jklrrm~|}~b XY|}3}lm|+r~~|}~ XY|}3}|~|r+r}~~|}~b +Xpk|~|3}~~TUbjpkiTvvvU|rr+~TyzUjqjiiX555Y|}rr~X55Yh hmiX555zUETy55YhqlrmX5555zvvvvy555Ylrr}~|}}}~|}}}~|}}vy5555555555555zvv569999955Y X5550115556555565Y X55455555655Y'X5545555565CCY  X5455555555Y ' X54555556555zU ' Ty01555565555zU' Ty54555555655555zvy899455555569999999:5555455555X555555565555455555 X555555:55554555Y X55554556155Y  X55455655Y  \ No newline at end of file diff --git a/maps/Route70.asm b/maps/Route70.asm index 5c4ed3a3..b631790d 100755 --- a/maps/Route70.asm +++ b/maps/Route70.asm @@ -18,7 +18,7 @@ Route70MaxRepel: itemball MAX_REPEL Route70MaxRevive: - itemball MAX_REVIVE + itemball TRADE_STONE Route70OfficerScript: jumptextfaceplayer Route70OfficerScriptText diff --git a/maps/TarrocoIsland.asm b/maps/TarrocoIsland.asm index e69ef5c9..3f1cc190 100755 --- a/maps/TarrocoIsland.asm +++ b/maps/TarrocoIsland.asm @@ -4,8 +4,13 @@ TarrocoIsland_MapScriptHeader:: .Triggers: db 0 -.Callbacks: db 1 +.Callbacks: db 2 dbw MAPCALLBACK_TILES, TarrocoIslandBridgeCallback + dbw MAPCALLBACK_NEWMAP, .FlyPoint + +.FlyPoint: + setflag ENGINE_FLYPOINT_HAMLIN + return TarrocoIslandBridgeCallback: checktriggers diff --git a/maps/TrovitopolisPokeCommCenter.asm b/maps/TrovitopolisPokeCommCenter.asm index e20e8e47..d720e8fb 100644 --- a/maps/TrovitopolisPokeCommCenter.asm +++ b/maps/TrovitopolisPokeCommCenter.asm @@ -142,6 +142,14 @@ PokeCommMachineSignText: cont "some<...>" done +PokeCommScientistScript: + faceplayer + opentext + trade 5 + waitbutton + closetext + end + TrovitopolisPokeCommCenter_MapEventHeader:: .Warps: db 6 @@ -174,7 +182,7 @@ TrovitopolisPokeCommCenter_MapEventHeader:: signpost 11, 14, SIGNPOST_READ, PokeCommMachineSign signpost 10, 14, SIGNPOST_READ, PokeCommMachineSign -.ObjectEvents: db 7 +.ObjectEvents: db 8 person_event SPRITE_NURSE, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TrovitopolisNurseScript, -1 person_event SPRITE_LASS, 17, 4, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, TrovitopolisPokeCommLassScript, -1 person_event SPRITE_ROCKER, 9, 21, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 1, -1, -1, PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, TrovitopolisPokeCommRockerScript, -1 @@ -182,5 +190,6 @@ TrovitopolisPokeCommCenter_MapEventHeader:: person_event SPRITE_LASS, 5, 5, SPRITEMOVEDATA_STANDING_UP, 0, 1, -1, -1, PAL_OW_PURPLE, PERSONTYPE_SCRIPT, 0, TrovitopolisPokeCommScientist1Script, -1 person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 1, -1, -1, PAL_OW_PURPLE, PERSONTYPE_SCRIPT, 0, TrovitopolisPokeCommScientist2Script, -1 person_event SPRITE_ROCKER, 5, 0, SPRITEMOVEDATA_STANDING_LEFT, 0, 1, -1, -1, PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, TrovitopolisPokeCommLuckyScript, -1 + person_event SPRITE_SCIENTIST, 13, 13, SPRITEMOVEDATA_WANDER, 2, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokeCommScientistScript, -1 diff --git a/maps/VictoryRoadF1.asm b/maps/VictoryRoadF1.asm index 9a27899d..6387abf9 100755 --- a/maps/VictoryRoadF1.asm +++ b/maps/VictoryRoadF1.asm @@ -17,7 +17,7 @@ VictoryRoadF1TriAttack: itemball TM_TRI_ATTACK VictoryRoadF1Nugget: - itemball NUGGET + itemball DUBIOUS_DISC ;================================= ;================================= diff --git a/text/stdtext.asm b/text/stdtext.asm index f0e73d0d..0179cbe8 100644 --- a/text/stdtext.asm +++ b/text/stdtext.asm @@ -353,3 +353,14 @@ FullBoxText: para "you want to catch" line "more #MON." done + +NewEggCallText: + text "☎ DAYCARE: Hello" + line ", your" + cont "#MON just had" + cont "an EGG!" + + para "We'll take care of" + line "it at Murcott" + cont "until you come by!" + done diff --git a/wram.asm b/wram.asm index 10ce9237..45e845ac 100644 --- a/wram.asm +++ b/wram.asm @@ -2321,10 +2321,10 @@ EventFlags:: ; da72 flag_array NUM_EVENTS ; db6c - ds 197 + ds 196 +wDayCareTrigger:: ds 1 wSunrayCaveTrigger:: ds 1 ;these trigger/scene are here to mantain save compatibility wRoute51Trigger:: ds 1 -wDayCareTrigger:: ds 1 wCurBox:: ; db72 ds 1