diff options
author | libjet <libj3t@gmail.com> | 2020-06-06 01:56:28 +0100 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-06-06 01:56:28 +0100 |
commit | 29e2695d6eb6bf954ffbaa4993b23c6209cade89 (patch) | |
tree | 084473a6fa20948cf092573e0a2798a5669b7c69 | |
parent | 5f43075c6d59069c929e271d36bb60381e33f606 (diff) |
Add engine/link/time_capsule.asm
-rwxr-xr-x | data/pokemon/gen1_base_special.asm | 154 | ||||
-rwxr-xr-x | engine/link/time_capsule.asm | 138 | ||||
-rwxr-xr-x | gfx/new_game/shrink1.2bpp | bin | 0 -> 784 bytes | |||
-rwxr-xr-x | gfx/new_game/shrink1.2bpp.lz | bin | 0 -> 144 bytes | |||
-rwxr-xr-x | gfx/new_game/shrink2.2bpp.lz | bin | 0 -> 64 bytes | |||
-rwxr-xr-x | gfx/new_game/shrink2.png | bin | 0 -> 156 bytes | |||
-rw-r--r-- | main.asm | 20 |
7 files changed, 300 insertions, 12 deletions
diff --git a/data/pokemon/gen1_base_special.asm b/data/pokemon/gen1_base_special.asm new file mode 100755 index 00000000..306ce31d --- /dev/null +++ b/data/pokemon/gen1_base_special.asm @@ -0,0 +1,154 @@ +; The original base Special stat for each Pokémon from Red/Blue + +KantoMonSpecials: + db 65 ; BULBASAUR + db 80 ; IVYSAUR + db 100 ; VENUSAUR + db 50 ; CHARMANDER + db 65 ; CHARMELEON + db 85 ; CHARIZARD + db 50 ; SQUIRTLE + db 65 ; WARTORTLE + db 85 ; BLASTOISE + db 20 ; CATERPIE + db 25 ; METAPOD + db 80 ; BUTTERFREE + db 20 ; WEEDLE + db 25 ; KAKUNA + db 45 ; BEEDRILL + db 35 ; PIDGEY + db 50 ; PIDGEOTTO + db 70 ; PIDGEOT + db 25 ; RATTATA + db 50 ; RATICATE + db 31 ; SPEAROW + db 61 ; FEAROW + db 40 ; EKANS + db 65 ; ARBOK + db 50 ; PIKACHU + db 90 ; RAICHU + db 30 ; SANDSHREW + db 55 ; SANDSLASH + db 40 ; NIDORAN_F + db 55 ; NIDORINA + db 75 ; NIDOQUEEN + db 40 ; NIDORAN_M + db 55 ; NIDORINO + db 75 ; NIDOKING + db 60 ; CLEFAIRY + db 85 ; CLEFABLE + db 65 ; VULPIX + db 100 ; NINETALES + db 25 ; JIGGLYPUFF + db 50 ; WIGGLYTUFF + db 40 ; ZUBAT + db 75 ; GOLBAT + db 75 ; ODDISH + db 85 ; GLOOM + db 100 ; VILEPLUME + db 55 ; PARAS + db 80 ; PARASECT + db 40 ; VENONAT + db 90 ; VENOMOTH + db 45 ; DIGLETT + db 70 ; DUGTRIO + db 40 ; MEOWTH + db 65 ; PERSIAN + db 50 ; PSYDUCK + db 80 ; GOLDUCK + db 35 ; MANKEY + db 60 ; PRIMEAPE + db 50 ; GROWLITHE + db 80 ; ARCANINE + db 40 ; POLIWAG + db 50 ; POLIWHIRL + db 70 ; POLIWRATH + db 105 ; ABRA + db 120 ; KADABRA + db 135 ; ALAKAZAM + db 35 ; MACHOP + db 50 ; MACHOKE + db 65 ; MACHAMP + db 70 ; BELLSPROUT + db 85 ; WEEPINBELL + db 100 ; VICTREEBEL + db 100 ; TENTACOOL + db 120 ; TENTACRUEL + db 30 ; GEODUDE + db 45 ; GRAVELER + db 55 ; GOLEM + db 65 ; PONYTA + db 80 ; RAPIDASH + db 40 ; SLOWPOKE + db 80 ; SLOWBRO + db 95 ; MAGNEMITE + db 120 ; MAGNETON + db 58 ; FARFETCH_D + db 35 ; DODUO + db 60 ; DODRIO + db 70 ; SEEL + db 95 ; DEWGONG + db 40 ; GRIMER + db 65 ; MUK + db 45 ; SHELLDER + db 85 ; CLOYSTER + db 100 ; GASTLY + db 115 ; HAUNTER + db 130 ; GENGAR + db 30 ; ONIX + db 90 ; DROWZEE + db 115 ; HYPNO + db 25 ; KRABBY + db 50 ; KINGLER + db 55 ; VOLTORB + db 80 ; ELECTRODE + db 60 ; EXEGGCUTE + db 125 ; EXEGGUTOR + db 40 ; CUBONE + db 50 ; MAROWAK + db 35 ; HITMONLEE + db 35 ; HITMONCHAN + db 60 ; LICKITUNG + db 60 ; KOFFING + db 85 ; WEEZING + db 30 ; RHYHORN + db 45 ; RHYDON + db 105 ; CHANSEY + db 100 ; TANGELA + db 40 ; KANGASKHAN + db 70 ; HORSEA + db 95 ; SEADRA + db 50 ; GOLDEEN + db 80 ; SEAKING + db 70 ; STARYU + db 100 ; STARMIE + db 100 ; MR__MIME + db 55 ; SCYTHER + db 95 ; JYNX + db 85 ; ELECTABUZZ + db 85 ; MAGMAR + db 55 ; PINSIR + db 70 ; TAUROS + db 20 ; MAGIKARP + db 100 ; GYARADOS + db 95 ; LAPRAS + db 48 ; DITTO + db 65 ; EEVEE + db 110 ; VAPOREON + db 110 ; JOLTEON + db 110 ; FLAREON + db 75 ; PORYGON + db 90 ; OMANYTE + db 115 ; OMASTAR + db 45 ; KABUTO + db 70 ; KABUTOPS + db 60 ; AERODACTYL + db 65 ; SNORLAX + db 125 ; ARTICUNO + db 125 ; ZAPDOS + db 125 ; MOLTRES + db 50 ; DRATINI + db 70 ; DRAGONAIR + db 100 ; DRAGONITE + db 154 ; MEWTWO + db 100 ; MEW diff --git a/engine/link/time_capsule.asm b/engine/link/time_capsule.asm new file mode 100755 index 00000000..f0aa9460 --- /dev/null +++ b/engine/link/time_capsule.asm @@ -0,0 +1,138 @@ +ValidateOTTrademon:: + ld a, [wceee] + ld hl, wOTPartyMon1Species + call GetPartyLocation + push hl + ld a, [wceee] + inc a + ld c, a + ld b, 0 + ld hl, wOTPartyCount + add hl, bc + ld a, [hl] + pop hl + cp EGG + jr z, .matching_or_egg + cp [hl] + jr nz, .abnormal + +.matching_or_egg + ld b, h + ld c, l + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + cp MAX_LEVEL + 1 + jr nc, .abnormal + ld a, [wLinkMode] + cp LINK_TIMECAPSULE + jr nz, .normal + ld hl, wOTPartySpecies + ld a, [wceee] + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + + ; Magnemite and Magneton's types changed + ; from Electric to Electric/Steel. + cp MAGNEMITE + jr z, .normal + cp MAGNETON + jr z, .normal + + ld [wCurSpecies], a + call GetBaseData + ld hl, wLinkOTPartyMonTypes + add hl, bc + add hl, bc + ld a, [wBaseType1] + cp [hl] + jr nz, .abnormal + inc hl + ld a, [wBaseType2] + cp [hl] + jr nz, .abnormal + +.normal + and a + ret + +.abnormal + scf + ret + +Functionfb6ed:: + ld a, [wceed] + ld d, a + ld a, [wPartyCount] + ld b, a + ld c, $0 +.loop + ld a, c + cp d + jr z, .next + push bc + ld a, c + ld hl, wPartyMon1HP + call GetPartyLocation + pop bc + ld a, [hli] + or [hl] + jr nz, .done + +.next + inc c + dec b + jr nz, .loop + ld a, [wceee] + ld hl, wOTPartyMon1HP + call GetPartyLocation + ld a, [hli] + or [hl] + jr nz, .done + scf + ret + +.done + and a + ret + +PlaceTradePartnerNamesAndParty: + hlcoord 2, 0 + ld de, wPlayerName + call PlaceString + hlcoord 2, 8 + ld de, wOTPlayerName + call PlaceString + hlcoord 7, 1 + ld de, wPartySpecies + call .PlaceSpeciesNames + hlcoord 7, 9 + ld de, wOTPartySpecies +.PlaceSpeciesNames: + ld c, 0 +.loop + ld a, [de] + cp -1 + ret z + ld [wNamedObjectIndexBuffer], a + push bc + push hl + push de + push hl + ld a, c + ldh [hProduct], a + call GetPokemonName + pop hl + call PlaceString + pop de + inc de + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + inc c + jr .loop + +INCLUDE "data/pokemon/gen1_base_special.asm" diff --git a/gfx/new_game/shrink1.2bpp b/gfx/new_game/shrink1.2bpp Binary files differnew file mode 100755 index 00000000..96b19432 --- /dev/null +++ b/gfx/new_game/shrink1.2bpp diff --git a/gfx/new_game/shrink1.2bpp.lz b/gfx/new_game/shrink1.2bpp.lz Binary files differnew file mode 100755 index 00000000..284bee8c --- /dev/null +++ b/gfx/new_game/shrink1.2bpp.lz diff --git a/gfx/new_game/shrink2.2bpp.lz b/gfx/new_game/shrink2.2bpp.lz Binary files differnew file mode 100755 index 00000000..df14d5ed --- /dev/null +++ b/gfx/new_game/shrink2.2bpp.lz diff --git a/gfx/new_game/shrink2.png b/gfx/new_game/shrink2.png Binary files differnew file mode 100755 index 00000000..276b4e7c --- /dev/null +++ b/gfx/new_game/shrink2.png @@ -368,18 +368,14 @@ SECTION "bank3E", ROMX INCLUDE "engine/gfx/load_font.asm" INCLUDE "data/collision_permissions.asm" -Shrink1Pic:: - dr $fb5be, $fb64e -Shrink2Pic:: - dr $fb64e, $fb68e -ValidateOTTrademon:: - dr $fb68e, $fb6ed -Functionfb6ed:: - dr $fb6ed, $fb71d -PlaceTradePartnerNamesAndParty:: - dr $fb71d, $fb760 -KantoMonSpecials:: - dr $fb760, $fb7f7 +Shrink1Pic: +INCBIN "gfx/new_game/shrink1.2bpp.lz" + +Shrink2Pic: +INCBIN "gfx/new_game/shrink2.2bpp.lz" + +INCLUDE "engine/link/time_capsule.asm" + _NameRater:: dr $fb7f7, $fb94b PlaySlowCry:: |