diff options
| author | Daniel Harding <33dannye@gmail.com> | 2020-05-16 21:42:24 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-16 21:42:24 -0500 |
| commit | 8a924f1f783572ff395f617f99546b4c949c8b04 (patch) | |
| tree | 1b6c7de331cb983256651b11b8adf413a3a434f1 /data | |
| parent | 88d7e9a34a8b610b358cec1ccc6660634ca9ce80 (diff) | |
| parent | ed94962edf1668aba3f60938e8a5ba8040e2a59c (diff) | |
Merge pull request #30 from entrpntr/spring-cleaning
Spring Cleaning
Diffstat (limited to 'data')
163 files changed, 15185 insertions, 3518 deletions
diff --git a/data/battle/accuracy_multipliers.asm b/data/battle/accuracy_multipliers.asm new file mode 100644 index 00000000..4b52a090 --- /dev/null +++ b/data/battle/accuracy_multipliers.asm @@ -0,0 +1,17 @@ +; Multiplier ratios for accuracy from modifier -6 to +6 +; (for other stats, see data/battle/stat_multipliers.asm). + +AccuracyLevelMultipliers: + db 33, 100 ; -6 = 33% + db 36, 100 ; -5 = 36% + db 43, 100 ; -4 = 43% + db 50, 100 ; -3 = 50% + db 60, 100 ; -2 = 60% + db 75, 100 ; -1 = 75% + db 1, 1 ; 0 = 100% + db 133, 100 ; +1 = 133% + db 166, 100 ; +2 = 166% + db 2, 1 ; +3 = 200% + db 233, 100 ; +4 = 233% + db 133, 50 ; +5 = 266% + db 3, 1 ; +6 = 300% diff --git a/data/battle/ai/constant_damage_effects.asm b/data/battle/ai/constant_damage_effects.asm new file mode 100644 index 00000000..cd812d41 --- /dev/null +++ b/data/battle/ai/constant_damage_effects.asm @@ -0,0 +1,10 @@ +; AIDamageCalc uses BattleCommand_ConstantDamage +; to calculate damage for these instead of +; BattleCommand_DamageCalc and BattleCommand_Stab. + +ConstantDamageEffects: + db EFFECT_SUPER_FANG + db EFFECT_STATIC_DAMAGE + db EFFECT_LEVEL_DAMAGE + db EFFECT_PSYWAVE + db -1 ; end diff --git a/data/battle/ai/encore_moves.asm b/data/battle/ai/encore_moves.asm new file mode 100644 index 00000000..03e028bd --- /dev/null +++ b/data/battle/ai/encore_moves.asm @@ -0,0 +1,34 @@ +; AI_SMART encourages these moves with Encore. + +EncoreMoves: + db SWORDS_DANCE + db WHIRLWIND + db LEER + db ROAR + db DISABLE + db MIST + db LEECH_SEED + db GROWTH + db POISONPOWDER + db STRING_SHOT + db MEDITATE + db AGILITY + db TELEPORT + db SCREECH + db HAZE + db FOCUS_ENERGY + db DREAM_EATER + db POISON_GAS + db SPLASH + db SHARPEN + db CONVERSION + db SUPER_FANG + db SUBSTITUTE + db TRIPLE_KICK + db SPIDER_WEB + db MIND_READER + db FLAME_WHEEL + db AEROBLAST + db COTTON_SPORE + db POWDER_SNOW + db -1 ; end diff --git a/data/battle/ai/rain_dance_moves.asm b/data/battle/ai/rain_dance_moves.asm new file mode 100644 index 00000000..c00e0b60 --- /dev/null +++ b/data/battle/ai/rain_dance_moves.asm @@ -0,0 +1,15 @@ +; AI_SMART prefers these moves during rain. + +RainDanceMoves: + db WATER_GUN + db HYDRO_PUMP + db SURF + db BUBBLEBEAM + db THUNDER + db WATERFALL + db CLAMP + db BUBBLE + db CRABHAMMER + db OCTAZOOKA + db WHIRLPOOL + db -1 ; end diff --git a/data/battle/ai/reckless_moves.asm b/data/battle/ai/reckless_moves.asm new file mode 100644 index 00000000..67252979 --- /dev/null +++ b/data/battle/ai/reckless_moves.asm @@ -0,0 +1,9 @@ +; AI_AGGRESSIVE does not discourage these moves +; even if a stronger one is available. + +RecklessMoves: + db EFFECT_SELFDESTRUCT + db EFFECT_RAMPAGE + db EFFECT_MULTI_HIT + db EFFECT_DOUBLE_HIT + db -1 ; end diff --git a/data/battle/ai/residual_moves.asm b/data/battle/ai/residual_moves.asm new file mode 100644 index 00000000..c99ac0f5 --- /dev/null +++ b/data/battle/ai/residual_moves.asm @@ -0,0 +1,16 @@ +; AI_CAUTIOUS discourages these moves after the first turn. + +ResidualMoves: + db MIST + db LEECH_SEED + db POISONPOWDER + db STUN_SPORE + db THUNDER_WAVE + db FOCUS_ENERGY + db BIDE + db POISON_GAS + db TRANSFORM + db CONVERSION + db SUBSTITUTE + db SPIKES + db -1 ; end diff --git a/data/battle/ai/risky_effects.asm b/data/battle/ai/risky_effects.asm new file mode 100644 index 00000000..529436c4 --- /dev/null +++ b/data/battle/ai/risky_effects.asm @@ -0,0 +1,7 @@ +; AI_RISKY will not use these effects at max HP +; even if they would KO the player. + +RiskyEffects: + db EFFECT_SELFDESTRUCT + db EFFECT_OHKO + db -1 ; end diff --git a/data/battle/ai/stall_moves.asm b/data/battle/ai/stall_moves.asm new file mode 100644 index 00000000..65838e0f --- /dev/null +++ b/data/battle/ai/stall_moves.asm @@ -0,0 +1,37 @@ +; AI_OPPORTUNIST discourages these moves +; when the player's HP is low. + +StallMoves: + db SWORDS_DANCE + db TAIL_WHIP + db LEER + db GROWL + db DISABLE + db MIST + db COUNTER + db LEECH_SEED + db GROWTH + db STRING_SHOT + db MEDITATE + db AGILITY + db RAGE + db MIMIC + db SCREECH + db HARDEN + db WITHDRAW + db DEFENSE_CURL + db BARRIER + db LIGHT_SCREEN + db HAZE + db REFLECT + db FOCUS_ENERGY + db BIDE + db AMNESIA + db TRANSFORM + db SPLASH + db ACID_ARMOR + db SHARPEN + db CONVERSION + db SUBSTITUTE + db FLAME_WHEEL + db -1 ; end diff --git a/data/battle/ai/status_only_effects.asm b/data/battle/ai/status_only_effects.asm new file mode 100644 index 00000000..8748d93b --- /dev/null +++ b/data/battle/ai/status_only_effects.asm @@ -0,0 +1,9 @@ +; AI_BASIC discourages these effects if the player +; already has a status condition. + +StatusOnlyEffects: + db EFFECT_SLEEP + db EFFECT_TOXIC + db EFFECT_POISON + db EFFECT_PARALYZE + db -1 ; end diff --git a/data/battle/ai/sunny_day_moves.asm b/data/battle/ai/sunny_day_moves.asm new file mode 100644 index 00000000..38d6a8ee --- /dev/null +++ b/data/battle/ai/sunny_day_moves.asm @@ -0,0 +1,12 @@ +; AI_SMART prefers these moves during harsh sunlight. + +SunnyDayMoves: + db FIRE_PUNCH + db EMBER + db FLAMETHROWER + db FIRE_SPIN + db FIRE_BLAST + db SACRED_FIRE + db MORNING_SUN + db SYNTHESIS + db -1 ; end diff --git a/data/battle/ai/useful_moves.asm b/data/battle/ai/useful_moves.asm new file mode 100644 index 00000000..456bda2d --- /dev/null +++ b/data/battle/ai/useful_moves.asm @@ -0,0 +1,23 @@ +; AI_SMART knows these moves are usable all-around. + +UsefulMoves: + db DOUBLE_EDGE + db SING + db FLAMETHROWER + db HYDRO_PUMP + db SURF + db ICE_BEAM + db BLIZZARD + db HYPER_BEAM + db SLEEP_POWDER + db THUNDERBOLT + db THUNDER + db EARTHQUAKE + db TOXIC + db PSYCHIC_M + db HYPNOSIS + db RECOVER + db FIRE_BLAST + db SOFTBOILED + db SUPER_FANG + db -1 ; end diff --git a/data/battle/critical_hit_chances.asm b/data/battle/critical_hit_chances.asm new file mode 100644 index 00000000..bb1ce9ab --- /dev/null +++ b/data/battle/critical_hit_chances.asm @@ -0,0 +1,8 @@ +CriticalHitChances: + db 1 out_of 15 ; 0 + db 1 out_of 8 ; +1 + db 1 out_of 4 ; +2 + db 1 out_of 3 ; +3 + db 1 out_of 2 ; +4 + db 1 out_of 2 ; +5 + db 1 out_of 2 ; +6 diff --git a/data/battle/effect_command_pointers.asm b/data/battle/effect_command_pointers.asm new file mode 100644 index 00000000..d5c044d7 --- /dev/null +++ b/data/battle/effect_command_pointers.asm @@ -0,0 +1,181 @@ +; battle commands are defined in engine/battle/effect_commands.asm + + dw 0 ; padding + +BattleCommandPointers: +; entries correspond to macros/scripts/battle_commands.asm + dw BattleCommand_CheckTurn + dw BattleCommand_CheckObedience + dw BattleCommand_UsedMoveText + dw BattleCommand_DoTurn + dw BattleCommand_Critical + dw BattleCommand_DamageStats + dw BattleCommand_Stab + dw BattleCommand_DamageVariation + dw BattleCommand_CheckHit + dw BattleCommand_LowerSub + dw BattleCommand_MoveAnimNoSub + dw BattleCommand_RaiseSub + dw BattleCommand_FailureText + dw BattleCommand_ApplyDamage + dw BattleCommand_CriticalText + dw BattleCommand_SuperEffectiveText + dw BattleCommand_CheckFaint + dw BattleCommand_BuildOpponentRage + dw BattleCommand_PoisonTarget + dw BattleCommand_SleepTarget + dw BattleCommand_DrainTarget + dw BattleCommand_EatDream + dw BattleCommand_BurnTarget + dw BattleCommand_FreezeTarget + dw BattleCommand_ParalyzeTarget + dw BattleCommand_Selfdestruct + dw BattleCommand_MirrorMove + dw BattleCommand_StatUp + dw BattleCommand_StatDown + dw BattleCommand_PayDay + dw BattleCommand_Conversion + dw BattleCommand_ResetStats + dw BattleCommand_StoreEnergy + dw BattleCommand_UnleashEnergy + dw BattleCommand_ForceSwitch + dw BattleCommand_EndLoop + dw BattleCommand_FlinchTarget + dw BattleCommand_OHKO + dw BattleCommand_Recoil + dw BattleCommand_Mist + dw BattleCommand_FocusEnergy + dw BattleCommand_Confuse + dw BattleCommand_ConfuseTarget + dw BattleCommand_Heal + dw BattleCommand_Transform + dw BattleCommand_Screen + dw BattleCommand_Poison + dw BattleCommand_Paralyze + dw BattleCommand_Substitute + dw BattleCommand_RechargeNextTurn + dw BattleCommand_Mimic + dw BattleCommand_Metronome + dw BattleCommand_LeechSeed + dw BattleCommand_Splash + dw BattleCommand_Disable + dw BattleCommand_ClearText + dw BattleCommand_Charge + dw BattleCommand_CheckCharge + dw BattleCommand_TrapTarget + dw BattleCommand3c + dw BattleCommand_Rampage + dw BattleCommand_CheckRampage + dw BattleCommand_ConstantDamage + dw BattleCommand_Counter + dw BattleCommand_Encore + dw BattleCommand_PainSplit + dw BattleCommand_Snore + dw BattleCommand_Conversion2 + dw BattleCommand_LockOn + dw BattleCommand_Sketch + dw BattleCommand_DefrostOpponent + dw BattleCommand_SleepTalk + dw BattleCommand_DestinyBond + dw BattleCommand_Spite + dw BattleCommand_FalseSwipe + dw BattleCommand_HealBell + dw BattleCommand_HeldFlinch + dw BattleCommand_TripleKick + dw BattleCommand_KickCounter + dw BattleCommand_Thief + dw BattleCommand_ArenaTrap + dw BattleCommand_Nightmare + dw BattleCommand_Defrost + dw BattleCommand_Curse + dw BattleCommand_Protect + dw BattleCommand_Spikes + dw BattleCommand_Foresight + dw BattleCommand_PerishSong + dw BattleCommand_StartSandstorm + dw BattleCommand_Endure + dw BattleCommand_CheckCurl + dw BattleCommand_RolloutPower + dw BattleCommand5d + dw BattleCommand_FuryCutter + dw BattleCommand_Attract + dw BattleCommand_HappinessPower + dw BattleCommand_Present + dw BattleCommand_DamageCalc + dw BattleCommand_FrustrationPower + dw BattleCommand_Safeguard + dw BattleCommand_CheckSafeguard + dw BattleCommand_GetMagnitude + dw BattleCommand_BatonPass + dw BattleCommand_Pursuit + dw BattleCommand_ClearHazards + dw BattleCommand_HealMorn + dw BattleCommand_HealDay + dw BattleCommand_HealNite + dw BattleCommand_HiddenPower + dw BattleCommand_StartRain + dw BattleCommand_StartSun + dw BattleCommand_AttackUp + dw BattleCommand_DefenseUp + dw BattleCommand_SpeedUp + dw BattleCommand_SpecialAttackUp + dw BattleCommand_SpecialDefenseUp + dw BattleCommand_AccuracyUp + dw BattleCommand_EvasionUp + dw BattleCommand_AttackUp2 + dw BattleCommand_DefenseUp2 + dw BattleCommand_SpeedUp2 + dw BattleCommand_SpecialAttackUp2 + dw BattleCommand_SpecialDefenseUp2 + dw BattleCommand_AccuracyUp2 + dw BattleCommand_EvasionUp2 + dw BattleCommand_AttackDown + dw BattleCommand_DefenseDown + dw BattleCommand_SpeedDown + dw BattleCommand_SpecialAttackDown + dw BattleCommand_SpecialDefenseDown + dw BattleCommand_AccuracyDown + dw BattleCommand_EvasionDown + dw BattleCommand_AttackDown2 + dw BattleCommand_DefenseDown2 + dw BattleCommand_SpeedDown2 + dw BattleCommand_SpecialAttackDown2 + dw BattleCommand_SpecialDefenseDown2 + dw BattleCommand_AccuracyDown2 + dw BattleCommand_EvasionDown2 + dw BattleCommand_StatUpMessage + dw BattleCommand_StatDownMessage + dw BattleCommand_StatUpFailText + dw BattleCommand_StatDownFailText + dw BattleCommand_EffectChance + dw BattleCommand_StatDownAnim + dw BattleCommand_StatUpAnim + dw BattleCommand_SwitchTurn + dw BattleCommand_FakeOut + dw BattleCommand_BellyDrum + dw BattleCommand_PsychUp + dw BattleCommand_Rage + dw BattleCommand_DoubleFlyingDamage + dw BattleCommand_DoubleUndergroundDamage + dw BattleCommand_MirrorCoat + dw BattleCommand_CheckFutureSight + dw BattleCommand_FutureSight + dw BattleCommand_DoubleMinimizeDamage + dw BattleCommand_SkipSunCharge + dw BattleCommand_ThunderAccuracy + dw BattleCommand_Teleport + dw BattleCommand_BeatUp + dw BattleCommand_RageDamage + dw BattleCommand_ResetTypeMatchup + dw BattleCommand_AllStatsUp + dw BattleCommand_BideFailText + dw BattleCommand_RaiseSubNoAnim + dw BattleCommand_LowerSubNoAnim + dw BattleCommand_BeatUpFailText + dw BattleCommand_ClearMissDamage + dw BattleCommand_MoveDelay + dw BattleCommand_MoveAnim + dw BattleCommand_TriStatusChance + dw BattleCommand_SuperEffectiveLoopText + dw BattleCommand_StartLoop + dw BattleCommand_Curl diff --git a/data/battle/held_consumables.asm b/data/battle/held_consumables.asm new file mode 100644 index 00000000..bd47c1d8 --- /dev/null +++ b/data/battle/held_consumables.asm @@ -0,0 +1,25 @@ +; Held item effects that are consumed on use + +ConsumableEffects: + db HELD_BERRY + db HELD_2 + db HELD_5 + db HELD_HEAL_POISON + db HELD_HEAL_FREEZE + db HELD_HEAL_BURN + db HELD_HEAL_SLEEP + db HELD_HEAL_PARALYZE + db HELD_HEAL_STATUS + db HELD_30 + db HELD_ATTACK_UP + db HELD_DEFENSE_UP + db HELD_SPEED_UP + db HELD_SP_ATTACK_UP + db HELD_SP_DEFENSE_UP + db HELD_ACCURACY_UP + db HELD_EVASION_UP + db HELD_38 + db HELD_71 + db HELD_ESCAPE + db HELD_CRITICAL_UP + db -1 diff --git a/data/battle/held_heal_status.asm b/data/battle/held_heal_status.asm new file mode 100644 index 00000000..ac11b645 --- /dev/null +++ b/data/battle/held_heal_status.asm @@ -0,0 +1,10 @@ +; See also data/items/heal_status.asm + +HeldStatusHealingEffects: + db HELD_HEAL_POISON, 1 << PSN + db HELD_HEAL_FREEZE, 1 << FRZ + db HELD_HEAL_BURN, 1 << BRN + db HELD_HEAL_SLEEP, SLP + db HELD_HEAL_PARALYZE, 1 << PAR + db HELD_HEAL_STATUS, ALL_STATUS + db -1 ; end diff --git a/data/battle/held_stat_up.asm b/data/battle/held_stat_up.asm new file mode 100644 index 00000000..4f28c0d0 --- /dev/null +++ b/data/battle/held_stat_up.asm @@ -0,0 +1,9 @@ +HeldStatUpItems: + dbw HELD_ATTACK_UP, BattleCommand_AttackUp + dbw HELD_DEFENSE_UP, BattleCommand_DefenseUp + dbw HELD_SPEED_UP, BattleCommand_SpeedUp + dbw HELD_SP_ATTACK_UP, BattleCommand_SpecialAttackUp + dbw HELD_SP_DEFENSE_UP, BattleCommand_SpecialDefenseUp + dbw HELD_ACCURACY_UP, BattleCommand_AccuracyUp + dbw HELD_EVASION_UP, BattleCommand_EvasionUp + db -1 ; end diff --git a/data/battle/stat_multipliers.asm b/data/battle/stat_multipliers.asm new file mode 100644 index 00000000..bbb1cadd --- /dev/null +++ b/data/battle/stat_multipliers.asm @@ -0,0 +1,20 @@ +; Multiplier ratios for all stats from modifier -6 to +6 +; (except accuracy, see data/battle/accuracy_multipliers.asm). + +; This table is identical to data/battle/stat_multipliers_2.asm. +; This one is used by CalcBattleStats. + +StatLevelMultipliers: + db 25, 100 ; -6 = 25% + db 28, 100 ; -5 = 28% + db 33, 100 ; -4 = 33% + db 40, 100 ; -3 = 40% + db 50, 100 ; -2 = 50% + db 66, 100 ; -1 = 66% + db 1, 1 ; 0 = 100% + db 15, 10 ; +1 = 150% + db 2, 1 ; +2 = 200% + db 25, 10 ; +3 = 250% + db 3, 1 ; +4 = 300% + db 35, 10 ; +5 = 350% + db 4, 1 ; +6 = 400% diff --git a/data/battle/stat_multipliers_2.asm b/data/battle/stat_multipliers_2.asm new file mode 100644 index 00000000..3f3dc234 --- /dev/null +++ b/data/battle/stat_multipliers_2.asm @@ -0,0 +1,20 @@ +; Multiplier ratios for all stats from modifier -6 to +6 +; (except accuracy, see data/battle/accuracy_multipliers.asm). + +; This table is identical to data/battle/stat_multipliers.asm. +; This one is used by ApplyStatLevelMultiplier. + +StatLevelMultipliers_Applied: + db 25, 100 ; -6 = 25% + db 28, 100 ; -5 = 28% + db 33, 100 ; -4 = 33% + db 40, 100 ; -3 = 40% + db 50, 100 ; -2 = 50% + db 66, 100 ; -1 = 66% + db 1, 1 ; 0 = 100% + db 15, 10 ; +1 = 150% + db 2, 1 ; +2 = 200% + db 25, 10 ; +3 = 250% + db 3, 1 ; +4 = 300% + db 35, 10 ; +5 = 350% + db 4, 1 ; +6 = 400% diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm new file mode 100644 index 00000000..a144a225 --- /dev/null +++ b/data/battle/stat_names.asm @@ -0,0 +1,10 @@ +StatNames: +; entries correspond to stat ids + db "ATTACK@" + db "DEFENSE@" + db "SPEED@" + db "SPCL.ATK@" + db "SPCL.DEF@" + db "ACCURACY@" + db "EVASION@" + db "ABILITY@" ; used for BattleCommand_Curse diff --git a/data/battle/wobble_probabilities.asm b/data/battle/wobble_probabilities.asm new file mode 100644 index 00000000..38e9a12c --- /dev/null +++ b/data/battle/wobble_probabilities.asm @@ -0,0 +1,27 @@ +WobbleProbabilities: +; catch rate, chance of wobbling / 255 +; nLeft/255 = (nRight/255) ** 4 + db 1, 63 + db 2, 75 + db 3, 84 + db 4, 90 + db 5, 95 + db 7, 103 + db 10, 113 + db 15, 126 + db 20, 134 + db 30, 149 + db 40, 160 + db 50, 169 + db 60, 177 + db 80, 191 + db 100, 201 + db 120, 211 + db 140, 220 + db 160, 227 + db 180, 234 + db 200, 240 + db 220, 246 + db 240, 251 + db 254, 253 + db 255, 255 diff --git a/data/collision_permissions.asm b/data/collision_permissions.asm index 82ebb770..93cf5509 100755 --- a/data/collision_permissions.asm +++ b/data/collision_permissions.asm @@ -3,54 +3,54 @@ TALKABLE EQUS "db TALK +" TileCollisionTable:: ; entries correspond to COLL_* constants - NONTALKABLE LANDTILE ; COLL_FLOOR - NONTALKABLE LANDTILE ; COLL_01 - NONTALKABLE LANDTILE ; 02 - NONTALKABLE LANDTILE ; COLL_03 - NONTALKABLE LANDTILE ; COLL_04 - NONTALKABLE LANDTILE ; 05 - NONTALKABLE LANDTILE ; 06 - NONTALKABLE WALLTILE ; COLL_WALL - NONTALKABLE LANDTILE ; COLL_CUT_08 - NONTALKABLE LANDTILE ; 09 - NONTALKABLE LANDTILE ; 0a - NONTALKABLE LANDTILE ; 0b - NONTALKABLE LANDTILE ; 0c - NONTALKABLE LANDTILE ; 0d - NONTALKABLE LANDTILE ; 0e - NONTALKABLE WALLTILE ; 0f - NONTALKABLE LANDTILE ; COLL_TALL_GRASS_10 - NONTALKABLE LANDTILE ; 11 - TALKABLE WALLTILE ; COLL_CUT_TREE - NONTALKABLE LANDTILE ; 13 - NONTALKABLE LANDTILE ; COLL_LONG_GRASS - TALKABLE WALLTILE ; COLL_HEADBUTT_TREE - NONTALKABLE LANDTILE ; 16 - NONTALKABLE LANDTILE ; 17 - NONTALKABLE LANDTILE ; COLL_TALL_GRASS - NONTALKABLE LANDTILE ; 19 - TALKABLE WALLTILE ; COLL_CUT_TREE_1A - NONTALKABLE LANDTILE ; 1b - NONTALKABLE LANDTILE ; COLL_LONG_GRASS_1C - TALKABLE WALLTILE ; COLL_HEADBUTT_TREE_1D - NONTALKABLE LANDTILE ; 1e - NONTALKABLE LANDTILE ; 1f + NONTALKABLE LAND_TILE ; COLL_FLOOR + NONTALKABLE LAND_TILE ; COLL_01 + NONTALKABLE LAND_TILE ; 02 + NONTALKABLE LAND_TILE ; COLL_03 + NONTALKABLE LAND_TILE ; COLL_04 + NONTALKABLE LAND_TILE ; 05 + NONTALKABLE LAND_TILE ; 06 + NONTALKABLE WALL_TILE ; COLL_WALL + NONTALKABLE LAND_TILE ; COLL_CUT_08 + NONTALKABLE LAND_TILE ; 09 + NONTALKABLE LAND_TILE ; 0a + NONTALKABLE LAND_TILE ; 0b + NONTALKABLE LAND_TILE ; 0c + NONTALKABLE LAND_TILE ; 0d + NONTALKABLE LAND_TILE ; 0e + NONTALKABLE WALL_TILE ; 0f + NONTALKABLE LAND_TILE ; COLL_TALL_GRASS_10 + NONTALKABLE LAND_TILE ; 11 + TALKABLE WALL_TILE ; COLL_CUT_TREE + NONTALKABLE LAND_TILE ; 13 + NONTALKABLE LAND_TILE ; COLL_LONG_GRASS + TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE + NONTALKABLE LAND_TILE ; 16 + NONTALKABLE LAND_TILE ; 17 + NONTALKABLE LAND_TILE ; COLL_TALL_GRASS + NONTALKABLE LAND_TILE ; 19 + TALKABLE WALL_TILE ; COLL_CUT_TREE_1A + NONTALKABLE LAND_TILE ; 1b + NONTALKABLE LAND_TILE ; COLL_LONG_GRASS_1C + TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE_1D + NONTALKABLE LAND_TILE ; 1e + NONTALKABLE LAND_TILE ; 1f NONTALKABLE WATERTILE ; 20 NONTALKABLE WATERTILE ; COLL_WATER_21 TALKABLE WATERTILE ; 22 - NONTALKABLE LANDTILE ; COLL_ICE + NONTALKABLE LAND_TILE ; COLL_ICE TALKABLE WATERTILE ; COLL_WHIRLPOOL NONTALKABLE WATERTILE ; 25 NONTALKABLE WATERTILE ; 26 - NONTALKABLE WALLTILE ; COLL_BUOY + NONTALKABLE WALL_TILE ; COLL_BUOY NONTALKABLE WATERTILE ; COLL_CUT_28 NONTALKABLE WATERTILE ; COLL_WATER TALKABLE WATERTILE ; 2a - NONTALKABLE LANDTILE ; COLL_ICE_2B + NONTALKABLE LAND_TILE ; COLL_ICE_2B TALKABLE WATERTILE ; COLL_WHIRLPOOL_2C NONTALKABLE WATERTILE ; 2d NONTALKABLE WATERTILE ; 2e - NONTALKABLE WALLTILE ; 2f + NONTALKABLE WALL_TILE ; 2f NONTALKABLE WATERTILE ; COLL_WATERFALL_RIGHT NONTALKABLE WATERTILE ; COLL_WATERFALL_LEFT NONTALKABLE WATERTILE ; COLL_WATERFALL_UP @@ -67,134 +67,134 @@ TileCollisionTable:: NONTALKABLE WATERTILE ; 3d NONTALKABLE WATERTILE ; 3e NONTALKABLE WATERTILE ; 3f - NONTALKABLE LANDTILE ; COLL_BRAKE - NONTALKABLE LANDTILE ; COLL_WALK_RIGHT - NONTALKABLE LANDTILE ; COLL_WALK_LEFT - NONTALKABLE LANDTILE ; COLL_WALK_UP - NONTALKABLE LANDTILE ; COLL_WALK_DOWN - NONTALKABLE LANDTILE ; COLL_BRAKE_45 - NONTALKABLE LANDTILE ; COLL_BRAKE_46 - NONTALKABLE LANDTILE ; COLL_BRAKE_47 - NONTALKABLE LANDTILE ; COLL_GRASS_48 - NONTALKABLE LANDTILE ; COLL_GRASS_49 - NONTALKABLE LANDTILE ; COLL_GRASS_4A - NONTALKABLE LANDTILE ; COLL_GRASS_4B - NONTALKABLE LANDTILE ; COLL_GRASS_4C - NONTALKABLE LANDTILE ; 4d - NONTALKABLE LANDTILE ; 4e - NONTALKABLE LANDTILE ; 4f - NONTALKABLE LANDTILE ; COLL_WALK_RIGHT_ALT - NONTALKABLE LANDTILE ; COLL_WALK_LEFT_ALT - NONTALKABLE LANDTILE ; COLL_WALK_UP_ALT - NONTALKABLE LANDTILE ; COLL_WALK_DOWN_ALT - NONTALKABLE LANDTILE ; COLL_BRAKE_ALT - NONTALKABLE LANDTILE ; COLL_BRAKE_55 - NONTALKABLE LANDTILE ; COLL_BRAKE_56 - NONTALKABLE LANDTILE ; COLL_BRAKE_57 - NONTALKABLE LANDTILE ; 58 - NONTALKABLE LANDTILE ; 59 - NONTALKABLE LANDTILE ; 5a - NONTALKABLE LANDTILE ; COLL_5B - NONTALKABLE LANDTILE ; 5c - NONTALKABLE LANDTILE ; 5d - NONTALKABLE LANDTILE ; 5e - NONTALKABLE LANDTILE ; 5f - NONTALKABLE LANDTILE ; COLL_PIT - NONTALKABLE LANDTILE ; COLL_VIRTUAL_BOY - NONTALKABLE WALLTILE ; 62 - NONTALKABLE LANDTILE ; 63 - NONTALKABLE LANDTILE ; COLL_64 - NONTALKABLE LANDTILE ; COLL_65 - NONTALKABLE LANDTILE ; 66 - NONTALKABLE LANDTILE ; 67 - NONTALKABLE LANDTILE ; COLL_PIT_68 - NONTALKABLE LANDTILE ; 69 - NONTALKABLE WALLTILE ; 6a - NONTALKABLE LANDTILE ; 6b - NONTALKABLE LANDTILE ; 6c - NONTALKABLE LANDTILE ; 6d - NONTALKABLE LANDTILE ; 6e - NONTALKABLE LANDTILE ; 6f - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_DOWN - NONTALKABLE LANDTILE ; COLL_DOOR - NONTALKABLE LANDTILE ; COLL_LADDER - NONTALKABLE LANDTILE ; COLL_STAIRCASE_73 - NONTALKABLE LANDTILE ; COLL_CAVE_74 - NONTALKABLE LANDTILE ; COLL_DOOR_75 - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_LEFT - NONTALKABLE LANDTILE ; COLL_WARP_77 - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_UP - NONTALKABLE LANDTILE ; COLL_DOOR_79 - NONTALKABLE LANDTILE ; COLL_STAIRCASE - NONTALKABLE LANDTILE ; COLL_CAVE - NONTALKABLE LANDTILE ; COLL_WARP_PANEL - NONTALKABLE LANDTILE ; COLL_DOOR_7D - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_RIGHT - NONTALKABLE LANDTILE ; COLL_WARP_7F - NONTALKABLE WALLTILE ; 80 - NONTALKABLE WALLTILE ; 81 - NONTALKABLE WALLTILE ; 82 - NONTALKABLE WALLTILE ; 83 - NONTALKABLE WALLTILE ; 84 - NONTALKABLE LANDTILE ; 85 - NONTALKABLE LANDTILE ; 86 - NONTALKABLE LANDTILE ; 87 - NONTALKABLE WALLTILE ; 88 - NONTALKABLE WALLTILE ; 89 - NONTALKABLE WALLTILE ; 8a - NONTALKABLE WALLTILE ; 8b - NONTALKABLE WALLTILE ; 8c - NONTALKABLE LANDTILE ; 8d - NONTALKABLE LANDTILE ; 8e - NONTALKABLE LANDTILE ; 8f - NONTALKABLE WALLTILE ; COLL_COUNTER - NONTALKABLE WALLTILE ; COLL_BOOKSHELF - NONTALKABLE WALLTILE ; 92 - NONTALKABLE WALLTILE ; COLL_PC - NONTALKABLE WALLTILE ; COLL_RADIO - NONTALKABLE WALLTILE ; COLL_TOWN_MAP - NONTALKABLE WALLTILE ; COLL_MART_SHELF - NONTALKABLE WALLTILE ; COLL_TV - NONTALKABLE WALLTILE ; COLL_COUNTER_98 - NONTALKABLE WALLTILE ; 99 - NONTALKABLE WALLTILE ; 9a - NONTALKABLE WALLTILE ; 9b - NONTALKABLE WALLTILE ; COLL_9C - NONTALKABLE WALLTILE ; COLL_WINDOW - NONTALKABLE WALLTILE ; 9e - NONTALKABLE WALLTILE ; COLL_INCENSE_BURNER - NONTALKABLE LANDTILE ; COLL_HOP_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_LEFT - NONTALKABLE LANDTILE ; COLL_HOP_UP - NONTALKABLE LANDTILE ; COLL_HOP_DOWN - NONTALKABLE LANDTILE ; COLL_HOP_DOWN_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_DOWN_LEFT - NONTALKABLE LANDTILE ; COLL_HOP_UP_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_UP_LEFT - NONTALKABLE LANDTILE ; a8 - NONTALKABLE LANDTILE ; a9 - NONTALKABLE LANDTILE ; aa - NONTALKABLE LANDTILE ; ab - NONTALKABLE LANDTILE ; ac - NONTALKABLE LANDTILE ; ad - NONTALKABLE LANDTILE ; ae - NONTALKABLE LANDTILE ; af - NONTALKABLE LANDTILE ; COLL_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_LEFT_WALL - NONTALKABLE LANDTILE ; COLL_UP_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_LEFT_WALL - NONTALKABLE LANDTILE ; COLL_UP_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_UP_LEFT_WALL - NONTALKABLE LANDTILE ; b8 - NONTALKABLE LANDTILE ; b9 - NONTALKABLE LANDTILE ; ba - NONTALKABLE LANDTILE ; bb - NONTALKABLE LANDTILE ; bc - NONTALKABLE LANDTILE ; bd - NONTALKABLE LANDTILE ; be - NONTALKABLE LANDTILE ; bf + NONTALKABLE LAND_TILE ; COLL_BRAKE + NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT + NONTALKABLE LAND_TILE ; COLL_WALK_LEFT + NONTALKABLE LAND_TILE ; COLL_WALK_UP + NONTALKABLE LAND_TILE ; COLL_WALK_DOWN + NONTALKABLE LAND_TILE ; COLL_BRAKE_45 + NONTALKABLE LAND_TILE ; COLL_BRAKE_46 + NONTALKABLE LAND_TILE ; COLL_BRAKE_47 + NONTALKABLE LAND_TILE ; COLL_GRASS_48 + NONTALKABLE LAND_TILE ; COLL_GRASS_49 + NONTALKABLE LAND_TILE ; COLL_GRASS_4A + NONTALKABLE LAND_TILE ; COLL_GRASS_4B + NONTALKABLE LAND_TILE ; COLL_GRASS_4C + NONTALKABLE LAND_TILE ; 4d + NONTALKABLE LAND_TILE ; 4e + NONTALKABLE LAND_TILE ; 4f + NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_LEFT_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_UP_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_DOWN_ALT + NONTALKABLE LAND_TILE ; COLL_BRAKE_ALT + NONTALKABLE LAND_TILE ; COLL_BRAKE_55 + NONTALKABLE LAND_TILE ; COLL_BRAKE_56 + NONTALKABLE LAND_TILE ; COLL_BRAKE_57 + NONTALKABLE LAND_TILE ; 58 + NONTALKABLE LAND_TILE ; 59 + NONTALKABLE LAND_TILE ; 5a + NONTALKABLE LAND_TILE ; COLL_5B + NONTALKABLE LAND_TILE ; 5c + NONTALKABLE LAND_TILE ; 5d + NONTALKABLE LAND_TILE ; 5e + NONTALKABLE LAND_TILE ; 5f + NONTALKABLE LAND_TILE ; COLL_PIT + NONTALKABLE LAND_TILE ; COLL_VIRTUAL_BOY + NONTALKABLE WALL_TILE ; 62 + NONTALKABLE LAND_TILE ; 63 + NONTALKABLE LAND_TILE ; COLL_64 + NONTALKABLE LAND_TILE ; COLL_65 + NONTALKABLE LAND_TILE ; 66 + NONTALKABLE LAND_TILE ; 67 + NONTALKABLE LAND_TILE ; COLL_PIT_68 + NONTALKABLE LAND_TILE ; 69 + NONTALKABLE WALL_TILE ; 6a + NONTALKABLE LAND_TILE ; 6b + NONTALKABLE LAND_TILE ; 6c + NONTALKABLE LAND_TILE ; 6d + NONTALKABLE LAND_TILE ; 6e + NONTALKABLE LAND_TILE ; 6f + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_DOWN + NONTALKABLE LAND_TILE ; COLL_DOOR + NONTALKABLE LAND_TILE ; COLL_LADDER + NONTALKABLE LAND_TILE ; COLL_STAIRCASE_73 + NONTALKABLE LAND_TILE ; COLL_CAVE_74 + NONTALKABLE LAND_TILE ; COLL_DOOR_75 + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_LEFT + NONTALKABLE LAND_TILE ; COLL_WARP_77 + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_UP + NONTALKABLE LAND_TILE ; COLL_DOOR_79 + NONTALKABLE LAND_TILE ; COLL_STAIRCASE + NONTALKABLE LAND_TILE ; COLL_CAVE + NONTALKABLE LAND_TILE ; COLL_WARP_PANEL + NONTALKABLE LAND_TILE ; COLL_DOOR_7D + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_RIGHT + NONTALKABLE LAND_TILE ; COLL_WARP_7F + NONTALKABLE WALL_TILE ; 80 + NONTALKABLE WALL_TILE ; 81 + NONTALKABLE WALL_TILE ; 82 + NONTALKABLE WALL_TILE ; 83 + NONTALKABLE WALL_TILE ; 84 + NONTALKABLE LAND_TILE ; 85 + NONTALKABLE LAND_TILE ; 86 + NONTALKABLE LAND_TILE ; 87 + NONTALKABLE WALL_TILE ; 88 + NONTALKABLE WALL_TILE ; 89 + NONTALKABLE WALL_TILE ; 8a + NONTALKABLE WALL_TILE ; 8b + NONTALKABLE WALL_TILE ; 8c + NONTALKABLE LAND_TILE ; 8d + NONTALKABLE LAND_TILE ; 8e + NONTALKABLE LAND_TILE ; 8f + NONTALKABLE WALL_TILE ; COLL_COUNTER + NONTALKABLE WALL_TILE ; COLL_BOOKSHELF + NONTALKABLE WALL_TILE ; 92 + NONTALKABLE WALL_TILE ; COLL_PC + NONTALKABLE WALL_TILE ; COLL_RADIO + NONTALKABLE WALL_TILE ; COLL_TOWN_MAP + NONTALKABLE WALL_TILE ; COLL_MART_SHELF + NONTALKABLE WALL_TILE ; COLL_TV + NONTALKABLE WALL_TILE ; COLL_COUNTER_98 + NONTALKABLE WALL_TILE ; 99 + NONTALKABLE WALL_TILE ; 9a + NONTALKABLE WALL_TILE ; 9b + NONTALKABLE WALL_TILE ; COLL_9C + NONTALKABLE WALL_TILE ; COLL_WINDOW + NONTALKABLE WALL_TILE ; 9e + NONTALKABLE WALL_TILE ; COLL_INCENSE_BURNER + NONTALKABLE LAND_TILE ; COLL_HOP_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_LEFT + NONTALKABLE LAND_TILE ; COLL_HOP_UP + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_LEFT + NONTALKABLE LAND_TILE ; COLL_HOP_UP_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_UP_LEFT + NONTALKABLE LAND_TILE ; a8 + NONTALKABLE LAND_TILE ; a9 + NONTALKABLE LAND_TILE ; aa + NONTALKABLE LAND_TILE ; ab + NONTALKABLE LAND_TILE ; ac + NONTALKABLE LAND_TILE ; ad + NONTALKABLE LAND_TILE ; ae + NONTALKABLE LAND_TILE ; af + NONTALKABLE LAND_TILE ; COLL_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_LEFT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_LEFT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_LEFT_WALL + NONTALKABLE LAND_TILE ; b8 + NONTALKABLE LAND_TILE ; b9 + NONTALKABLE LAND_TILE ; ba + NONTALKABLE LAND_TILE ; bb + NONTALKABLE LAND_TILE ; bc + NONTALKABLE LAND_TILE ; bd + NONTALKABLE LAND_TILE ; be + NONTALKABLE LAND_TILE ; bf NONTALKABLE WATERTILE ; COLL_RIGHT_BUOY NONTALKABLE WATERTILE ; COLL_LEFT_BUOY NONTALKABLE WATERTILE ; COLL_UP_BUOY @@ -211,51 +211,51 @@ TileCollisionTable:: NONTALKABLE WATERTILE ; cd NONTALKABLE WATERTILE ; ce NONTALKABLE WATERTILE ; cf - NONTALKABLE LANDTILE ; d0 - NONTALKABLE LANDTILE ; d1 - NONTALKABLE LANDTILE ; d2 - NONTALKABLE LANDTILE ; d3 - NONTALKABLE LANDTILE ; d4 - NONTALKABLE LANDTILE ; d5 - NONTALKABLE LANDTILE ; d6 - NONTALKABLE LANDTILE ; d7 - NONTALKABLE LANDTILE ; d8 - NONTALKABLE LANDTILE ; d9 - NONTALKABLE LANDTILE ; da - NONTALKABLE LANDTILE ; db - NONTALKABLE LANDTILE ; dc - NONTALKABLE LANDTILE ; dd - NONTALKABLE LANDTILE ; de - NONTALKABLE LANDTILE ; df - NONTALKABLE LANDTILE ; e0 - NONTALKABLE LANDTILE ; e1 - NONTALKABLE LANDTILE ; e2 - NONTALKABLE LANDTILE ; e3 - NONTALKABLE LANDTILE ; e4 - NONTALKABLE LANDTILE ; e5 - NONTALKABLE LANDTILE ; e6 - NONTALKABLE LANDTILE ; e7 - NONTALKABLE LANDTILE ; e8 - NONTALKABLE LANDTILE ; e9 - NONTALKABLE LANDTILE ; ea - NONTALKABLE LANDTILE ; eb - NONTALKABLE LANDTILE ; ec - NONTALKABLE LANDTILE ; ed - NONTALKABLE LANDTILE ; ee - NONTALKABLE LANDTILE ; ef - NONTALKABLE LANDTILE ; f0 - NONTALKABLE LANDTILE ; f1 - NONTALKABLE LANDTILE ; f2 - NONTALKABLE LANDTILE ; f3 - NONTALKABLE LANDTILE ; f4 - NONTALKABLE LANDTILE ; f5 - NONTALKABLE LANDTILE ; f6 - NONTALKABLE LANDTILE ; f7 - NONTALKABLE LANDTILE ; f8 - NONTALKABLE LANDTILE ; f9 - NONTALKABLE LANDTILE ; fa - NONTALKABLE LANDTILE ; fb - NONTALKABLE LANDTILE ; fc - NONTALKABLE LANDTILE ; fd - NONTALKABLE LANDTILE ; fe - NONTALKABLE WALLTILE ; COLL_FF + NONTALKABLE LAND_TILE ; d0 + NONTALKABLE LAND_TILE ; d1 + NONTALKABLE LAND_TILE ; d2 + NONTALKABLE LAND_TILE ; d3 + NONTALKABLE LAND_TILE ; d4 + NONTALKABLE LAND_TILE ; d5 + NONTALKABLE LAND_TILE ; d6 + NONTALKABLE LAND_TILE ; d7 + NONTALKABLE LAND_TILE ; d8 + NONTALKABLE LAND_TILE ; d9 + NONTALKABLE LAND_TILE ; da + NONTALKABLE LAND_TILE ; db + NONTALKABLE LAND_TILE ; dc + NONTALKABLE LAND_TILE ; dd + NONTALKABLE LAND_TILE ; de + NONTALKABLE LAND_TILE ; df + NONTALKABLE LAND_TILE ; e0 + NONTALKABLE LAND_TILE ; e1 + NONTALKABLE LAND_TILE ; e2 + NONTALKABLE LAND_TILE ; e3 + NONTALKABLE LAND_TILE ; e4 + NONTALKABLE LAND_TILE ; e5 + NONTALKABLE LAND_TILE ; e6 + NONTALKABLE LAND_TILE ; e7 + NONTALKABLE LAND_TILE ; e8 + NONTALKABLE LAND_TILE ; e9 + NONTALKABLE LAND_TILE ; ea + NONTALKABLE LAND_TILE ; eb + NONTALKABLE LAND_TILE ; ec + NONTALKABLE LAND_TILE ; ed + NONTALKABLE LAND_TILE ; ee + NONTALKABLE LAND_TILE ; ef + NONTALKABLE LAND_TILE ; f0 + NONTALKABLE LAND_TILE ; f1 + NONTALKABLE LAND_TILE ; f2 + NONTALKABLE LAND_TILE ; f3 + NONTALKABLE LAND_TILE ; f4 + NONTALKABLE LAND_TILE ; f5 + NONTALKABLE LAND_TILE ; f6 + NONTALKABLE LAND_TILE ; f7 + NONTALKABLE LAND_TILE ; f8 + NONTALKABLE LAND_TILE ; f9 + NONTALKABLE LAND_TILE ; fa + NONTALKABLE LAND_TILE ; fb + NONTALKABLE LAND_TILE ; fc + NONTALKABLE LAND_TILE ; fd + NONTALKABLE LAND_TILE ; fe + NONTALKABLE WALL_TILE ; COLL_FF diff --git a/data/decorations/attributes.asm b/data/decorations/attributes.asm new file mode 100644 index 00000000..77cd1388 --- /dev/null +++ b/data/decorations/attributes.asm @@ -0,0 +1,62 @@ +decoration: MACRO + ; type, name, command, event flag, tile/sprite + db \1, \2, \3 + dw \4 + db \5 +ENDM + +DecorationAttributes: +; entries correspond to deco constants + decoration DECO_PLANT, 0, 0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b + decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c + decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d + decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 + decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b + decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e + decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 + decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 + decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, TOWN_MAP_POSTER, SET_UP_POSTER, EVENT_DECO_POSTER_1, $1f + decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_2, $23 + decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_3, $24 + decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_4, $25 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM + decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES + decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 + decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX + decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX + decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU + decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU + decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY + decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF + decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR + decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER + decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE + decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG + decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT + decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE + decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP + decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH + decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR + decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER + decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER + decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB + decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE + decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN + decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE + decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP + decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL + decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY + decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY diff --git a/data/decorations/decorations.asm b/data/decorations/decorations.asm new file mode 100644 index 00000000..947bca1b --- /dev/null +++ b/data/decorations/decorations.asm @@ -0,0 +1,54 @@ +DecorationIDs: +; see constants/deco_constants.asm + db DECO_FEATHERY_BED ; 2 + db DECO_PINK_BED ; 3 + db DECO_POLKADOT_BED ; 4 + db DECO_PIKACHU_BED ; 5 + + db DECO_RED_CARPET ; 7 + db DECO_BLUE_CARPET ; 8 + db DECO_YELLOW_CARPET ; 9 + db DECO_GREEN_CARPET ; a + + db DECO_MAGNAPLANT ; c + db DECO_TROPICPLANT ; d + db DECO_JUMBOPLANT ; e + + db DECO_TOWN_MAP ; 10 + db DECO_PIKACHU_POSTER ; 11 + db DECO_CLEFAIRY_POSTER ; 12 + db DECO_JIGGLYPUFF_POSTER ; 13 + + db DECO_FAMICOM ; 15 + db DECO_SNES ; 16 + db DECO_N64 ; 17 + db DECO_VIRTUAL_BOY ; 18 + + db DECO_PIKACHU_DOLL ; 1e + db DECO_SURF_PIKACHU_DOLL ; 1f + db DECO_CLEFAIRY_DOLL ; 20 + db DECO_JIGGLYPUFF_DOLL ; 21 + db DECO_BULBASAUR_DOLL ; 22 + db DECO_CHARMANDER_DOLL ; 23 + db DECO_SQUIRTLE_DOLL ; 24 + db DECO_POLIWAG_DOLL ; 25 + db DECO_DIGLETT_DOLL ; 26 + db DECO_STARMIE_DOLL ; 27 + db DECO_MAGIKARP_DOLL ; 28 + db DECO_ODDISH_DOLL ; 29 + db DECO_GENGAR_DOLL ; 2a + db DECO_SHELLDER_DOLL ; 2b + db DECO_GRIMER_DOLL ; 2c + db DECO_VOLTORB_DOLL ; 2d + db DECO_WEEDLE_DOLL ; 2e + db DECO_UNOWN_DOLL ; 2f + db DECO_GEODUDE_DOLL ; 30 + db DECO_MACHOP_DOLL ; 31 + db DECO_TENTACOOL_DOLL ; 32 + db DECO_BIG_SNORLAX_DOLL ; 1a + db DECO_BIG_ONIX_DOLL ; 1b + db DECO_BIG_LAPRAS_DOLL ; 1c +TrophyIDs: + db DECO_GOLD_TROPHY_DOLL ; 33 + db DECO_SILVER_TROPHY_DOLL ; 34 + db -1 diff --git a/data/decorations/mystery_gift_decos.asm b/data/decorations/mystery_gift_decos.asm new file mode 100644 index 00000000..3b75c0a5 --- /dev/null +++ b/data/decorations/mystery_gift_decos.asm @@ -0,0 +1,39 @@ +MysteryGiftDecos: + db DECOFLAG_PIKACHU_DOLL + db DECOFLAG_BULBASAUR_DOLL + db DECOFLAG_CHARMANDER_DOLL + db DECOFLAG_SQUIRTLE_DOLL + db DECOFLAG_POLIWAG_DOLL + db DECOFLAG_DIGLETT_DOLL + db DECOFLAG_STARMIE_DOLL + db DECOFLAG_MAGIKARP_DOLL + db DECOFLAG_ODDISH_DOLL + db DECOFLAG_GENGAR_DOLL + db DECOFLAG_CLEFAIRY_POSTER + db DECOFLAG_JIGGLYPUFF_POSTER + db DECOFLAG_SNES + db DECOFLAG_SHELLDER_DOLL + db DECOFLAG_VOLTORB_DOLL + db DECOFLAG_WEEDLE_DOLL + db DECOFLAG_MAGNAPLANT + db DECOFLAG_TROPICPLANT + db DECOFLAG_FAMICOM + db DECOFLAG_N64 + db DECOFLAG_SURF_PIKACHU_DOLL + db DECOFLAG_JIGGLYPUFF_DOLL + db DECOFLAG_PINK_BED + db DECOFLAG_POLKADOT_BED + db DECOFLAG_RED_CARPET + db DECOFLAG_BLUE_CARPET + db DECOFLAG_YELLOW_CARPET + db DECOFLAG_GREEN_CARPET + db DECOFLAG_JUMBOPLANT + db DECOFLAG_VIRTUAL_BOY + db DECOFLAG_MACHOP_DOLL + db DECOFLAG_PIKACHU_POSTER + db DECOFLAG_TENTACOOL_DOLL + db DECOFLAG_BIG_ONIX_DOLL + db DECOFLAG_PIKACHU_BED + db DECOFLAG_GRIMER_DOLL + db DECOFLAG_UNOWN_DOLL +.End diff --git a/data/decorations/names.asm b/data/decorations/names.asm new file mode 100644 index 00000000..3894bc7f --- /dev/null +++ b/data/decorations/names.asm @@ -0,0 +1,28 @@ +DecorationNames: +; entries correspond to constants/deco_constants.asm + db "CANCEL@" + db "PUT IT AWAY@" + db "MAGNAPLANT@" + db "TROPICPLANT@" + db "JUMBOPLANT@" + db "TOWN MAP@" + db "NES@" + db "SUPER NES@" + db "NINTENDO64@" + db "VIRTUAL BOY@" + db "GOLD TROPHY@" + db "SILVER TROPHY@" + db "SURF PIKACHU DOLL@" + db " BED@" + db " CARPET@" + db " POSTER@" + db " DOLL@" + db "BIG @" + db "FEATHERY@" + db "PIKACHU@" + db "PINK@" + db "POLKADOT@" + db "RED@" + db "BLUE@" + db "YELLOW@" + db "GREEN@" diff --git a/data/default_options.asm b/data/default_options.asm new file mode 100644 index 00000000..00fcfa10 --- /dev/null +++ b/data/default_options.asm @@ -0,0 +1,16 @@ +DefaultOptions: +; wOptions: med text speed + db TEXT_DELAY_MED +; wSaveFileExists: no + db FALSE +; wTextboxFrame: frame 1 + db FRAME_1 +; wTextboxFlags: use text speed + db 1 << FAST_TEXT_DELAY_F +; wGBPrinterBrightness: normal + db GBPRINTER_NORMAL +; wOptions2: menu account on + db 1 << MENU_ACCOUNT + + db $00 + db $00 diff --git a/data/engine_flags.asm b/data/engine_flags.asm new file mode 100644 index 00000000..87e15afb --- /dev/null +++ b/data/engine_flags.asm @@ -0,0 +1,120 @@ +engine_flag: MACRO +; location, bit +; (all locations are in WRAM bank 1) + dwb \1 + (\2 / 8), 1 << (\2 % 8) +ENDM + +EngineFlags: +; entries correspond to ENGINE_* constants + + ; pokegear + engine_flag wPokegearFlags, POKEGEAR_RADIO_CARD_F ; $0 + engine_flag wPokegearFlags, POKEGEAR_MAP_CARD_F + engine_flag wPokegearFlags, POKEGEAR_PHONE_CARD_F + engine_flag wPokegearFlags, POKEGEAR_EXPN_CARD_F + engine_flag wPokegearFlags, POKEGEAR_OBTAINED_F + + ; day-care + engine_flag wDayCareMan, DAYCAREMAN_HAS_EGG_F + engine_flag wDayCareMan, DAYCAREMAN_HAS_MON_F + engine_flag wDayCareLady, DAYCARELADY_HAS_MON_F + + engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F ; $8 + engine_flag wMomSavingMoney, MOM_ACTIVE_F + + engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer + + engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F + engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F + engine_flag wStatusFlags, STATUSFLAGS_CAUGHT_POKERUS_F + engine_flag wStatusFlags, STATUSFLAGS_ROCKET_SIGNAL_F + engine_flag wStatusFlags, STATUSFLAGS_HALL_OF_FAME_F + + engine_flag wStatusFlags2, STATUSFLAGS2_BUG_CONTEST_TIMER_F ; $10 + engine_flag wStatusFlags2, STATUSFLAGS2_SAFARI_GAME_F + engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_RADIO_TOWER_F + engine_flag wStatusFlags2, STATUSFLAGS2_BIKE_SHOP_CALL_F + engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_5_F + engine_flag wStatusFlags2, STATUSFLAGS2_REACHED_GOLDENROD_F + engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_MAHOGANY_F + + engine_flag wBikeFlags, BIKEFLAGS_STRENGTH_ACTIVE_F + engine_flag wBikeFlags, BIKEFLAGS_ALWAYS_ON_BIKE_F ; $18 + engine_flag wBikeFlags, BIKEFLAGS_DOWNHILL_F + + engine_flag wJohtoBadges, ZEPHYRBADGE + engine_flag wJohtoBadges, HIVEBADGE + engine_flag wJohtoBadges, PLAINBADGE + engine_flag wJohtoBadges, FOGBADGE + engine_flag wJohtoBadges, MINERALBADGE + engine_flag wJohtoBadges, STORMBADGE + engine_flag wJohtoBadges, GLACIERBADGE ; $20 + engine_flag wJohtoBadges, RISINGBADGE + + engine_flag wKantoBadges, BOULDERBADGE + engine_flag wKantoBadges, CASCADEBADGE + engine_flag wKantoBadges, THUNDERBADGE + engine_flag wKantoBadges, RAINBOWBADGE + engine_flag wKantoBadges, SOULBADGE + engine_flag wKantoBadges, MARSHBADGE + engine_flag wKantoBadges, VOLCANOBADGE ; $28 + engine_flag wKantoBadges, EARTHBADGE + + ; unown sets (see data/wild/unlocked_unowns.asm) + engine_flag wUnlockedUnowns, 0 ; A-K + engine_flag wUnlockedUnowns, 1 ; L-R + engine_flag wUnlockedUnowns, 2 ; S-W + engine_flag wUnlockedUnowns, 3 ; X-Z + engine_flag wUnlockedUnowns, 4 ; unused + engine_flag wUnlockedUnowns, 5 ; unused + engine_flag wUnlockedUnowns, 6 ; unused ; $30 + engine_flag wUnlockedUnowns, 7 ; unused + + ; fly + engine_flag wVisitedSpawns, SPAWN_HOME + engine_flag wVisitedSpawns, SPAWN_DEBUG + engine_flag wVisitedSpawns, SPAWN_PALLET + engine_flag wVisitedSpawns, SPAWN_VIRIDIAN + engine_flag wVisitedSpawns, SPAWN_PEWTER + engine_flag wVisitedSpawns, SPAWN_CERULEAN + engine_flag wVisitedSpawns, SPAWN_ROCK_TUNNEL ; $38 + engine_flag wVisitedSpawns, SPAWN_VERMILION + engine_flag wVisitedSpawns, SPAWN_LAVENDER + engine_flag wVisitedSpawns, SPAWN_SAFFRON + engine_flag wVisitedSpawns, SPAWN_CELADON + engine_flag wVisitedSpawns, SPAWN_FUCHSIA + engine_flag wVisitedSpawns, SPAWN_CINNABAR + engine_flag wVisitedSpawns, SPAWN_INDIGO + engine_flag wVisitedSpawns, SPAWN_NEW_BARK ; $40 + engine_flag wVisitedSpawns, SPAWN_CHERRYGROVE + engine_flag wVisitedSpawns, SPAWN_VIOLET + engine_flag wVisitedSpawns, SPAWN_AZALEA + engine_flag wVisitedSpawns, SPAWN_CIANWOOD + engine_flag wVisitedSpawns, SPAWN_GOLDENROD + engine_flag wVisitedSpawns, SPAWN_OLIVINE + engine_flag wVisitedSpawns, SPAWN_ECRUTEAK + engine_flag wVisitedSpawns, SPAWN_MAHOGANY ; $48 + engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE + engine_flag wVisitedSpawns, SPAWN_BLACKTHORN + engine_flag wVisitedSpawns, SPAWN_MT_SILVER + engine_flag wVisitedSpawns, NUM_SPAWNS ; unused + + engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F + + engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_3_F + + engine_flag wDailyFlags1, DAILYFLAGS1_KURT_MAKING_BALLS_F + engine_flag wDailyFlags1, DAILYFLAGS1_BUG_CONTEST_F ; $50 + engine_flag wDailyFlags1, DAILYFLAGS1_SWARM_F + engine_flag wDailyFlags1, DAILYFLAGS1_TIME_CAPSULE_F + engine_flag wDailyFlags1, DAILYFLAGS1_ALL_FRUIT_TREES_F + engine_flag wDailyFlags1, DAILYFLAGS1_GOT_SHUCKIE_TODAY_F + engine_flag wDailyFlags1, DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F + engine_flag wDailyFlags1, DAILYFLAGS1_TRAINER_HOUSE_F + + engine_flag wDailyFlags2, DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F + engine_flag wDailyFlags2, DAILYFLAGS2_UNION_CAVE_LAPRAS_F ; $58 + engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_UNDERGROUND_GOT_HAIRCUT_F + engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_DEPT_STORE_TM27_RETURN_F + engine_flag wDailyFlags2, DAILYFLAGS2_DAISYS_GROOMING_F + engine_flag wDailyFlags2, DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F diff --git a/data/events/bug_contest_flags.asm b/data/events/bug_contest_flags.asm new file mode 100644 index 00000000..734bf11f --- /dev/null +++ b/data/events/bug_contest_flags.asm @@ -0,0 +1,12 @@ +BugCatchingContestantEventFlagTable: +; there are NUM_BUG_CONTESTANTS entries + dw EVENT_BUG_CATCHING_CONTESTANT_1A + dw EVENT_BUG_CATCHING_CONTESTANT_2A + dw EVENT_BUG_CATCHING_CONTESTANT_3A + dw EVENT_BUG_CATCHING_CONTESTANT_4A + dw EVENT_BUG_CATCHING_CONTESTANT_5A + dw EVENT_BUG_CATCHING_CONTESTANT_6A + dw EVENT_BUG_CATCHING_CONTESTANT_7A + dw EVENT_BUG_CATCHING_CONTESTANT_8A + dw EVENT_BUG_CATCHING_CONTESTANT_9A + dw EVENT_BUG_CATCHING_CONTESTANT_10A diff --git a/data/events/bug_contest_winners.asm b/data/events/bug_contest_winners.asm new file mode 100644 index 00000000..e29ce043 --- /dev/null +++ b/data/events/bug_contest_winners.asm @@ -0,0 +1,79 @@ +BugContestantPointers: +; there are NUM_BUG_CONTESTANTS + 1 entries + dw BugContestant_BugCatcherDon ; this reverts back to the player + dw BugContestant_BugCatcherDon + dw BugContestant_BugCatcherEd + dw BugContestant_CooltrainerMNick + dw BugContestant_PokefanMWilliam + dw BugContestant_BugCatcherBenny + dw BugContestant_CamperBarry + dw BugContestant_PicnickerCindy + dw BugContestant_BugCatcherJosh + dw BugContestant_YoungsterSamuel + dw BugContestant_SchoolboyKipp + +; contestant format: +; db class, id +; dbw 1st-place mon, score +; dbw 2nd-place mon, score +; dbw 3rd-place mon, score + +BugContestant_BugCatcherDon: + db BUG_CATCHER, DON + dbw KAKUNA, 300 + dbw METAPOD, 285 + dbw CATERPIE, 226 + +BugContestant_BugCatcherEd: + db BUG_CATCHER, ED + dbw BUTTERFREE, 286 + dbw BUTTERFREE, 251 + dbw CATERPIE, 237 + +BugContestant_CooltrainerMNick: + db COOLTRAINERM, NICK + dbw SCYTHER, 357 + dbw BUTTERFREE, 349 + dbw PINSIR, 368 + +BugContestant_PokefanMWilliam: + db POKEFANM, WILLIAM + dbw PINSIR, 332 + dbw BUTTERFREE, 324 + dbw VENONAT, 321 + +BugContestant_BugCatcherBenny: + db BUG_CATCHER, BUG_CATCHER_BENNY + dbw BUTTERFREE, 318 + dbw WEEDLE, 295 + dbw CATERPIE, 285 + +BugContestant_CamperBarry: + db CAMPER, BARRY + dbw PINSIR, 366 + dbw VENONAT, 329 + dbw KAKUNA, 314 + +BugContestant_PicnickerCindy: + db PICNICKER, CINDY + dbw BUTTERFREE, 341 + dbw METAPOD, 301 + dbw CATERPIE, 264 + +BugContestant_BugCatcherJosh: + db BUG_CATCHER, JOSH + dbw SCYTHER, 326 + dbw BUTTERFREE, 292 + dbw METAPOD, 282 + +BugContestant_YoungsterSamuel: + db YOUNGSTER, SAMUEL + dbw WEEDLE, 270 + dbw PINSIR, 282 + dbw CATERPIE, 251 + +BugContestant_SchoolboyKipp: + db SCHOOLBOY, KIPP + dbw VENONAT, 267 + dbw PARAS, 254 + dbw KAKUNA, 259 diff --git a/data/events/collision_stdscripts.asm b/data/events/collision_stdscripts.asm index 7e208d2f..dff26dd8 100755 --- a/data/events/collision_stdscripts.asm +++ b/data/events/collision_stdscripts.asm @@ -10,4 +10,4 @@ TileCollisionStdScripts: dbw COLL_TV, tv dbw COLL_WINDOW, window dbw COLL_INCENSE_BURNER, incenseburner - db -1 ; end
\ No newline at end of file + db -1 ; end diff --git a/data/events/elevator_floors.asm b/data/events/elevator_floors.asm new file mode 100644 index 00000000..abc793cf --- /dev/null +++ b/data/events/elevator_floors.asm @@ -0,0 +1,35 @@ +ElevatorFloorNames: +; entries correspond to FLOOR_* constants + dw .B4F + dw .B3F + dw .B2F + dw .B1F + dw ._1F + dw ._2F + dw ._3F + dw ._4F + dw ._5F + dw ._6F + dw ._7F + dw ._8F + dw ._9F + dw ._10F + dw ._11F + dw .ROOF + +.B4F: db "B4F@" +.B3F: db "B3F@" +.B2F: db "B2F@" +.B1F: db "B1F@" +._1F: db "1F@" +._2F: db "2F@" +._3F: db "3F@" +._4F: db "4F@" +._5F: db "5F@" +._6F: db "6F@" +._7F: db "7F@" +._8F: db "8F@" +._9F: db "9F@" +._10F: db "10F@" +._11F: db "11F@" +.ROOF: db "ROOF@" diff --git a/data/events/field_move_blocks.asm b/data/events/field_move_blocks.asm new file mode 100644 index 00000000..fea80f53 --- /dev/null +++ b/data/events/field_move_blocks.asm @@ -0,0 +1,52 @@ +CutTreeBlockPointers: +; tileset, block list pointer + dbw TILESET_JOHTO, .johto + dbw TILESET_JOHTO_MODERN, .johto_modern + dbw TILESET_KANTO, .kanto + dbw TILESET_PARK, .park + dbw TILESET_FOREST, .forest + db -1 ; end + +.johto: +; facing block, replacement block, animation + db $03, $02, 1 ; grass + db $5b, $3c, 0 ; tree + db $5f, $3d, 0 ; tree + db $63, $3f, 0 ; tree + db $67, $3e, 0 ; tree + db -1 ; end + +.johto_modern: +; facing block, replacement block, animation + db $03, $02, $01 ; grass + db -1 ; end + +.kanto: +; facing block, replacement block, animation + db $0b, $0a, 1 ; grass + db $32, $6d, 0 ; tree + db $33, $6c, 0 ; tree + db $34, $6f, 0 ; tree + db $35, $4c, 0 ; tree + db $60, $6e, 0 ; tree + db -1 ; end + +.park: +; facing block, replacement block, animation + db $13, $03, 1 ; grass + db $03, $04, 1 ; grass + db -1 ; end + +.forest: +; facing block, replacement block, animation + db $0f, $17, 0 + db -1 ; end + +WhirlpoolBlockPointers: + dbw TILESET_JOHTO, .johto + db -1 ; end + +.johto: +; facing block, replacement block, animation + db $07, $36, 0 + db -1 ; end diff --git a/data/events/happiness_changes.asm b/data/events/happiness_changes.asm new file mode 100644 index 00000000..aa154e4c --- /dev/null +++ b/data/events/happiness_changes.asm @@ -0,0 +1,21 @@ +HappinessChanges: +; entries correspond to HAPPINESS_* constants +; change if happiness < 100, change if happiness < 200, change otherwise + db +5, +3, +2 ; Gained a level + db +5, +3, +2 ; Vitamin + db +1, +1, +0 ; X Item + db +3, +2, +1 ; Battled a Gym Leader + db +1, +1, +0 ; Learned a move + db -1, -1, -1 ; Lost to an enemy + db -5, -5, -10 ; Fainted due to poison + db -5, -5, -10 ; Lost to a much stronger enemy + db +1, +1, +1 ; Haircut (older brother) 1 + db +3, +3, +1 ; Haircut (older brother) 2 + db +5, +5, +2 ; Haircut (older brother) 3 + db +1, +1, +1 ; Haircut (younger brother) 1 + db +3, +3, +1 ; Haircut (younger brother) 2 + db +10, +10, +4 ; Haircut (younger brother) 3 + db -5, -5, -10 ; Used Heal Powder or Energypowder (bitter) + db -10, -10, -15 ; Used Energy Root (bitter) + db -15, -15, -20 ; Used Revival Herb (bitter) + db +3, +3, +1 ; Grooming diff --git a/data/events/happiness_probabilities.asm b/data/events/happiness_probabilities.asm index 798c56fa..f67db07f 100644 --- a/data/events/happiness_probabilities.asm +++ b/data/events/happiness_probabilities.asm @@ -1,12 +1,12 @@ -HappinessData_YoungerHaircutBrother: - db $4c, 2, HAPPINESS_YOUNGCUT1 ; 30% chance - db $80, 3, HAPPINESS_YOUNGCUT2 ; 20% chance - db $ff, 4, HAPPINESS_YOUNGCUT3 ; 50% chance - HappinessData_OlderHaircutBrother: - db $9a, 2, HAPPINESS_OLDERCUT1 ; 60% chance - db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance - db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance + db 30 percent, 2, HAPPINESS_OLDERCUT1 ; 30% chance + db 50 percent + 1, 3, HAPPINESS_OLDERCUT2 ; 50% chance + db 100 percent, 4, HAPPINESS_OLDERCUT3 ; 20% chance + +HappinessData_YoungerHaircutBrother: + db 60 percent + 1, 2, HAPPINESS_YOUNGCUT1 ; 60% chance + db 30 percent, 3, HAPPINESS_YOUNGCUT2 ; 30% chance + db 100 percent, 4, HAPPINESS_YOUNGCUT3 ; 10% chance HappinessData_DaisysGrooming: - db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
\ No newline at end of file + db 100 percent, 2, HAPPINESS_GROOMING ; 99.6% chance diff --git a/data/events/pokedex_ratings.asm b/data/events/pokedex_ratings.asm new file mode 100644 index 00000000..2a048860 --- /dev/null +++ b/data/events/pokedex_ratings.asm @@ -0,0 +1,27 @@ +rating: MACRO +; count, sfx, text + dbww \1, \2, \3 +ENDM + +OakRatings: +; if you caught at most this many, play this sound, load this text +; (text is defined in engine/events/prof_oaks_pc.asm) + rating 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01 + rating 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02 + rating 34, SFX_DEX_FANFARE_20_49, OakRating03 + rating 49, SFX_DEX_FANFARE_20_49, OakRating04 + rating 64, SFX_DEX_FANFARE_50_79, OakRating05 + rating 79, SFX_DEX_FANFARE_50_79, OakRating06 + rating 94, SFX_DEX_FANFARE_80_109, OakRating07 + rating 109, SFX_DEX_FANFARE_80_109, OakRating08 + rating 124, SFX_CAUGHT_MON, OakRating09 + rating 139, SFX_CAUGHT_MON, OakRating10 + rating 154, SFX_DEX_FANFARE_140_169, OakRating11 + rating 169, SFX_DEX_FANFARE_140_169, OakRating12 + rating 184, SFX_DEX_FANFARE_170_199, OakRating13 + rating 199, SFX_DEX_FANFARE_170_199, OakRating14 + rating 214, SFX_DEX_FANFARE_200_229, OakRating15 + rating 229, SFX_DEX_FANFARE_200_229, OakRating16 + rating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17 + rating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18 + rating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19 diff --git a/data/items/apricorn_balls.asm b/data/items/apricorn_balls.asm new file mode 100644 index 00000000..814aeab2 --- /dev/null +++ b/data/items/apricorn_balls.asm @@ -0,0 +1,10 @@ +ApricornBalls: + ; apricorn, ball + db RED_APRICORN, LEVEL_BALL + db BLU_APRICORN, LURE_BALL + db YLW_APRICORN, MOON_BALL + db GRN_APRICORN, FRIEND_BALL + db WHT_APRICORN, FAST_BALL + db BLK_APRICORN, HEAVY_BALL + db PNK_APRICORN, LOVE_BALL + db -1 diff --git a/data/items/attributes.asm b/data/items/attributes.asm new file mode 100644 index 00000000..1ed369f0 --- /dev/null +++ b/data/items/attributes.asm @@ -0,0 +1,521 @@ +item_attribute: MACRO +; price, held effect, parameter, property, pocket, field menu, battle menu + dw \1 + db \2, \3, \4, \5 + dn \6, \7 +ENDM + +ItemAttributes: +; entries correspond to item ids +; MASTER_BALL + item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ULTRA_BALL + item_attribute 1200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; BRIGHTPOWDER + item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GREAT_BALL + item_attribute 600, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; POKE_BALL + item_attribute 200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TOWN_MAP + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BICYCLE + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MOON_STONE + item_attribute 0, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ANTIDOTE + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURN_HEAL + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE_HEAL + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; AWAKENING + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PARLYZ_HEAL + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FULL_RESTORE + item_attribute 3000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_POTION + item_attribute 2500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HYPER_POTION + item_attribute 1200, HELD_NONE, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SUPER_POTION + item_attribute 700, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POTION + item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ESCAPE_ROPE + item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; REPEL + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX_ELIXER + item_attribute 4500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FIRE_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; THUNDERSTONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; WATER_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_19 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; HP_UP + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; PROTEIN + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; IRON + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; CARBOS + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; LUCKY_PUNCH + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CALCIUM + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; RARE_CANDY + item_attribute 4800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; X_ACCURACY + item_attribute 950, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LEAF_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; METAL_POWDER + item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NUGGET + item_attribute 10000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; POKE_DOLL + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FULL_HEAL + item_attribute 600, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVE + item_attribute 1500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_REVIVE + item_attribute 4000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GUARD_SPEC + item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; SUPER_REPEL + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX_REPEL + item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; DIRE_HIT + item_attribute 650, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_2D + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRESH_WATER + item_attribute 200, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SODA_POP + item_attribute 300, HELD_NONE, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; LEMONADE + item_attribute 350, HELD_NONE, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; X_ATTACK + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_32 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; X_DEFEND + item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X_SPEED + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X_SPECIAL + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; COIN_CASE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; ITEMFINDER + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; POKE_FLUTE + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EXP_SHARE + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; OLD_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; GOOD_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; SILVER_LEAF + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SUPER_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PP_UP + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ETHER + item_attribute 1200, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_ETHER + item_attribute 2000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ELIXER + item_attribute 3000, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED_SCALE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SECRETPOTION + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; S_S_TICKET + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERY_EGG + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_46 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVER_WING + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MOOMOO_MILK + item_attribute 500, HELD_NONE, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; QUICK_CLAW + item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PSNCUREBERRY + item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD_LEAF + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SOFT_SAND + item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SHARP_BEAK + item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PRZCUREBERRY + item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURNT_BERRY + item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE_BERRY + item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POISON_BARB + item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; KINGS_ROCK + item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BITTER_BERRY + item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY +; MINT_BERRY + item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TINYMUSHROOM + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG_MUSHROOM + item_attribute 5000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVERPOWDER + item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLU_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_5A + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; AMULET_COIN + item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; YLW_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GRN_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEANSE_TAG + item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTIC_WATER + item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TWISTEDSPOON + item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; WHT_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKBELT_I + item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLK_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_64 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PNK_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKGLASSES + item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SLOWPOKETAIL + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PINK_BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STICK + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SMOKE_BALL + item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NEVERMELTICE + item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MAGNET + item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRACLEBERRY + item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PEARL + item_attribute 1400, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG_PEARL + item_attribute 7500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EVERSTONE + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SPELL_TAG + item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; RAGECANDYBAR + item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ITEM_73 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_74 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRACLE_SEED + item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; THICK_CLUB + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FOCUS_BAND + item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_78 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ENERGYPOWDER + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ENERGY_ROOT + item_attribute 800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HEAL_POWDER + item_attribute 450, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVAL_HERB + item_attribute 2800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HARD_STONE + item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LUCKY_EGG + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CARD_KEY + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MACHINE_PART + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_81 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOST_ITEM + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STARDUST + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STAR_PIECE + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BASEMENT_KEY + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PASS + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_87 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_88 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_89 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CHARCOAL + item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY_JUICE + item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SCOPE_LENS + item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_8D + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_8E + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; METAL_COAT + item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; DRAGON_FANG + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_91 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEFTOVERS + item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_93 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_94 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_95 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERYBERRY + item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; DRAGON_SCALE + item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERSERK_GENE + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_99 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_9A + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_9B + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SACRED_ASH + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; HEAVY_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FLOWER_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEVEL_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LURE_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FAST_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_A2 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LIGHT_BALL + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRIEND_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; MOON_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LOVE_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; NORMAL_BOX + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; GORGEOUS_BOX + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; SUN_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; POLKADOT_BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_AB + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; UP_GRADE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY + item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD_BERRY + item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SQUIRTBOTTLE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; ITEM_B0 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PARK_BALL + item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; RAINBOW_WING + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_B3 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BRICK_PIECE + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SURF_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LITEBLUEMAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PORTRAITMAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOVELY_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EON_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MORPH_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUESKY_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MUSIC_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRAGE_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_BE + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM01 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM02 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM03 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM04 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_C3 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM05 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM06 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM07 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM08 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM09 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM10 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM11 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM12 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM13 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM14 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM15 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM16 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM17 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM18 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM19 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM20 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM21 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM22 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM23 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM24 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM25 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM26 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM27 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM28 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_DC + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM29 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM30 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM31 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM32 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM33 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM34 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM35 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM36 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM37 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM38 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM39 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM40 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM41 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM42 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM43 + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM44 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM45 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM46 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM47 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM48 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM49 + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM50 + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM01 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM02 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM03 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM04 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM05 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM06 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM07 + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_FA + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fb + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fc + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fd + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fe + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $ff + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $00 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/items/bargain_shop.asm b/data/items/bargain_shop.asm new file mode 100644 index 00000000..a17db655 --- /dev/null +++ b/data/items/bargain_shop.asm @@ -0,0 +1,8 @@ +BargainShopData: + db 5 + dbw NUGGET, 4500 + dbw PEARL, 650 + dbw BIG_PEARL, 3500 + dbw STARDUST, 900 + dbw STAR_PIECE, 4600 + db -1 diff --git a/data/items/catch_rate_items.asm b/data/items/catch_rate_items.asm new file mode 100644 index 00000000..9c39afac --- /dev/null +++ b/data/items/catch_rate_items.asm @@ -0,0 +1,18 @@ +; Pokémon traded from RBY do not have held items, so GSC usually interprets the +; catch rate as an item. However, if the catch rate appears in this table, the +; item associated with the table entry is used instead. + +TimeCapsule_CatchRateItems: + db ITEM_19, LEFTOVERS + db ITEM_2D, BITTER_BERRY + db ITEM_32, GOLD_BERRY + db ITEM_5A, BERRY + db ITEM_64, BERRY + db ITEM_78, BERRY + db ITEM_87, BERRY + db ITEM_BE, BERRY + db ITEM_C3, BERRY + db ITEM_DC, BERRY + db ITEM_FA, BERRY + db -1, BERRY + db 0 ; end diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm new file mode 100644 index 00000000..d259b364 --- /dev/null +++ b/data/items/descriptions.asm @@ -0,0 +1,1007 @@ +ItemDescriptions: +; entries correspond to item ids + dw MasterBallDesc + dw UltraBallDesc + dw BrightpowderDesc + dw GreatBallDesc + dw PokeBallDesc + dw TeruSama1Desc + dw BicycleDesc + dw MoonStoneDesc + dw AntidoteDesc + dw BurnHealDesc + dw IceHealDesc + dw AwakeningDesc + dw ParlyzHealDesc + dw FullRestoreDesc + dw MaxPotionDesc + dw HyperPotionDesc + dw SuperPotionDesc + dw PotionDesc + dw EscapeRopeDesc + dw RepelDesc + dw MaxElixerDesc + dw FireStoneDesc + dw ThunderStoneDesc + dw WaterStoneDesc + dw TeruSama2Desc + dw HPUpDesc + dw ProteinDesc + dw IronDesc + dw CarbosDesc + dw LuckyPunchDesc + dw CalciumDesc + dw RareCandyDesc + dw XAccuracyDesc + dw LeafStoneDesc + dw MetalPowderDesc + dw NuggetDesc + dw PokeDollDesc + dw FullHealDesc + dw ReviveDesc + dw MaxReviveDesc + dw GuardSpecDesc + dw SuperRepelDesc + dw MaxRepelDesc + dw DireHitDesc + dw TeruSama3Desc + dw FreshWaterDesc + dw SodaPopDesc + dw LemonadeDesc + dw XAttackDesc + dw TeruSama4Desc + dw XDefendDesc + dw XSpeedDesc + dw XSpecialDesc + dw CoinCaseDesc + dw ItemfinderDesc + dw TeruSama5Desc + dw ExpShareDesc + dw OldRodDesc + dw GoodRodDesc + dw SilverLeafDesc + dw SuperRodDesc + dw PPUpDesc + dw EtherDesc + dw MaxEtherDesc + dw ElixerDesc + dw RedScaleDesc + dw SecretPotionDesc + dw SSTicketDesc + dw MysteryEggDesc + dw TeruSama6Desc + dw SilverWingDesc + dw MoomooMilkDesc + dw QuickClawDesc + dw PsnCureBerryDesc + dw GoldLeafDesc + dw SoftSandDesc + dw SharpBeakDesc + dw PrzCureBerryDesc + dw BurntBerryDesc + dw IceBerryDesc + dw PoisonBarbDesc + dw KingsRockDesc + dw BitterBerryDesc + dw MintBerryDesc + dw RedApricornDesc + dw TinyMushroomDesc + dw BigMushroomDesc + dw SilverPowderDesc + dw BluApricornDesc + dw TeruSama7Desc + dw AmuletCoinDesc + dw YlwApricornDesc + dw GrnApricornDesc + dw CleanseTagDesc + dw MysticWaterDesc + dw TwistedSpoonDesc + dw WhtApricornDesc + dw BlackbeltDesc + dw BlkApricornDesc + dw TeruSama8Desc + dw PnkApricornDesc + dw BlackGlassesDesc + dw SlowpokeTailDesc + dw PinkBowDesc + dw StickDesc + dw SmokeBallDesc + dw NeverMeltIceDesc + dw MagnetDesc + dw MiracleBerryDesc + dw PearlDesc + dw BigPearlDesc + dw EverStoneDesc + dw SpellTagDesc + dw RageCandyBarDesc + dw TeruSama9Desc + dw TeruSama10Desc + dw MiracleSeedDesc + dw ThickClubDesc + dw FocusBandDesc + dw TeruSama11Desc + dw EnergyPowderDesc + dw EnergyRootDesc + dw HealPowderDesc + dw RevivalHerbDesc + dw HardStoneDesc + dw LuckyEggDesc + dw CardKeyDesc + dw MachinePartDesc + dw TeruSama12Desc + dw LostItemDesc + dw StardustDesc + dw StarPieceDesc + dw BasementKeyDesc + dw PassDesc + dw TeruSama13Desc + dw TeruSama14Desc + dw TeruSama15Desc + dw CharcoalDesc + dw BerryJuiceDesc + dw ScopeLensDesc + dw TeruSama16Desc + dw TeruSama17Desc + dw MetalCoatDesc + dw DragonFangDesc + dw TeruSama18Desc + dw LeftoversDesc + dw TeruSama19Desc + dw TeruSama20Desc + dw TeruSama21Desc + dw MysteryBerryDesc + dw DragonScaleDesc + dw BerserkGeneDesc + dw TeruSama22Desc + dw TeruSama23Desc + dw TeruSama24Desc + dw SacredAshDesc + dw HeavyBallDesc + dw FlowerMailDesc + dw LevelBallDesc + dw LureBallDesc + dw FastBallDesc + dw TeruSama25Desc + dw LightBallDesc + dw FriendBallDesc + dw MoonBallDesc + dw LoveBallDesc + dw NormalBoxDesc + dw GorgeousBoxDesc + dw SunStoneDesc + dw PolkadotBowDesc + dw TeruSama26Desc + dw UpGradeDesc + dw BerryDesc + dw GoldBerryDesc + dw SquirtBottleDesc + dw TeruSama27Desc + dw ParkBallDesc + dw RainbowWingDesc + dw TeruSama28Desc + dw BrickPieceDesc + dw SurfMailDesc + dw LiteBlueMailDesc + dw PortraitMailDesc + dw LovelyMailDesc + dw EonMailDesc + dw MorphMailDesc + dw BlueSkyMailDesc + dw MusicMailDesc + dw MirageMailDesc + dw TeruSama29Desc + dw TeruSama30Desc + dw TeruSama30Desc + dw TeruSama30Desc + dw TeruSama30Desc + dw TeruSama30Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama31Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama32Desc + dw TeruSama33Desc + dw TeruSama34Desc + dw TeruSama35Desc + dw TeruSama36Desc + dw TeruSama37Desc + dw TeruSama37Desc + +MasterBallDesc: + db "The best BALL. It" + next "never misses.@" + +UltraBallDesc: + db "A BALL with a high" + next "rate of success.@" + +BrightpowderDesc: + db "Lowers the foe's" + next "accuracy. (HOLD)@" + +GreatBallDesc: + db "A BALL with a de-" + next "cent success rate.@" + +PokeBallDesc: + db "An item for catch-" + next "ing #MON.@" + +TeruSama1Desc: + db "?@" + +BicycleDesc: + db "A collapsible bike" + next "for fast movement.@" + +MoonStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +AntidoteDesc: + db "Cures poisoned" + next "#MON.@" + +BurnHealDesc: + db "Heals burned" + next "#MON.@" + +IceHealDesc: + db "Defrosts frozen" + next "#MON.@" + +AwakeningDesc: + db "Awakens sleeping" + next "#MON.@" + +ParlyzHealDesc: + db "Heals paralyzed" + next "#MON.@" + +FullRestoreDesc: + db "Fully restores HP" + next "& status.@" + +MaxPotionDesc: + db "Fully restores" + next "#MON HP.@" + +HyperPotionDesc: + db "Restores #MON" + next "HP by 200.@" + +SuperPotionDesc: + db "Restores #MON" + next "HP by 50.@" + +PotionDesc: + db "Restores #MON" + next "HP by 20.@" + +EscapeRopeDesc: + db "Use for escaping" + next "from caves, etc.@" + +RepelDesc: + db "Repels weak #-" + next "MON for 100 steps.@" + +MaxElixerDesc: + db "Fully restores the" + next "PP of one #MON.@" + +FireStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +ThunderStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +WaterStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +TeruSama2Desc: + db "?@" + +HPUpDesc: + db "Raises the HP of" + next "one #MON.@" + +ProteinDesc: + db "Raises ATTACK of" + next "one #MON.@" + +IronDesc: + db "Raises DEFENSE of" + next "one #MON.@" + +CarbosDesc: + db "Raises SPEED of" + next "one #MON.@" + +LuckyPunchDesc: + db "Ups critical hit" + next "ratio of CHANSEY.@" + +CalciumDesc: + db "Ups SPECIAL stats" + next "of one #MON.@" + +RareCandyDesc: + db "Raises level of a" + next "#MON by one.@" + +XAccuracyDesc: + db "Raises accuracy." + next "(1 BTL)@" + +LeafStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +MetalPowderDesc: + db "Raises DEFENSE of" + next "DITTO. (HOLD)@" + +NuggetDesc: + db "Made of pure gold." + next "Sell high.@" + +PokeDollDesc: + db "Use to escape from" + next "a wild #MON.@" + +FullHealDesc: + db "Eliminates all" + next "status problems.@" + +ReviveDesc: + db "Restores a fainted" + next "#MON to 1/2 HP.@" + +MaxReviveDesc: + db "Fully restores a" + next "fainted #MON.@" + +GuardSpecDesc: + db "Prevents stat" + next "reduction. (1 BTL)@" + +SuperRepelDesc: + db "Repels weak #-" + next "MON for 200 steps.@" + +MaxRepelDesc: + db "Repels weak #-" + next "MON for 250 steps.@" + +DireHitDesc: + db "Ups critical hit" + next "ratio. (1 BTL)@" + +TeruSama3Desc: + db "?@" + +FreshWaterDesc: + db "Restores #MON" + next "HP by 50.@" + +SodaPopDesc: + db "Restores #MON" + next "HP by 60.@" + +LemonadeDesc: + db "Restores #MON" + next "HP by 80.@" + +XAttackDesc: + db "Raises ATTACK." + next "(1 BTL)@" + +TeruSama4Desc: + db "?@" + +XDefendDesc: + db "Raises DEFENSE." + next "(1 BTL)@" + +XSpeedDesc: + db "Raises SPEED." + next "(1 BTL)@" + +XSpecialDesc: + db "Raises SPECIAL" + next "stats. (1 BTL)@" + +CoinCaseDesc: + db "Holds up to 9,999" + next "game coins.@" + +ItemfinderDesc: + db "Checks for unseen" + next "items in the area.@" + +TeruSama5Desc: + db "?@" + +ExpShareDesc: + db "Shares battle EXP." + next "points. (HOLD)@" + +OldRodDesc: + db "Use by water to" + next "fish for #MON.@" + +GoodRodDesc: + db "A good ROD for" + next "catching #MON.@" + +SilverLeafDesc: + db "A strange, silver-" + next "colored leaf.@" + +SuperRodDesc: + db "The best ROD for" + next "catching #MON.@" + +PPUpDesc: + db "Raises max PP of" + next "a selected move.@" + +EtherDesc: + db "Restores PP of one" + next "move by 10.@" + +MaxEtherDesc: + db "Fully restores PP" + next "of one move.@" + +ElixerDesc: + db "Restores PP of all" + next "moves by 10.@" + +RedScaleDesc: + db "A scale from the" + next "red GYARADOS.@" + +SecretPotionDesc: + db "Fully heals any" + next "#MON.@" + +SSTicketDesc: + db "A ticket for the" + next "S.S.AQUA.@" + +MysteryEggDesc: + db "An EGG obtained" + next "from MR.#MON.@" + +TeruSama6Desc: + db "?@" + +SilverWingDesc: + db "A strange, silver-" + next "colored feather.@" + +MoomooMilkDesc: + db "Restores #MON" + next "HP by 100.@" + +QuickClawDesc: + db "Raises 1st strike" + next "ratio. (HOLD)@" + +PsnCureBerryDesc: + db "A self-cure for" + next "poison. (HOLD)@" + +GoldLeafDesc: + db "A strange, gold-" + next "colored leaf.@" + +SoftSandDesc: + db "Powers up ground-" + next "type moves. (HOLD)@" + +SharpBeakDesc: + db "Powers up flying-" + next "type moves. (HOLD)@" + +PrzCureBerryDesc: + db "A self-cure for" + next "paralysis. (HOLD)@" + +BurntBerryDesc: + db "A self-cure for" + next "freezing. (HOLD)@" + +IceBerryDesc: + db "A self-heal for a" + next "burn. (HOLD)@" + +PoisonBarbDesc: + db "Powers up poison-" + next "type moves. (HOLD)@" + +KingsRockDesc: + db "May make the foe" + next "flinch. (HOLD)@" + +BitterBerryDesc: + db "A self-cure for" + next "confusion. (HOLD)@" + +MintBerryDesc: + db "A self-awakening" + next "for sleep. (HOLD)@" + +RedApricornDesc: + db "A red APRICORN.@" + +TinyMushroomDesc: + db "An ordinary mush-" + next "room. Sell low.@" + +BigMushroomDesc: + db "A rare mushroom." + next "Sell high.@" + +SilverPowderDesc: + db "Powers up bug-type" + next "moves. (HOLD)@" + +BluApricornDesc: + db "A blue APRICORN.@" + +TeruSama7Desc: + db "?@" + +AmuletCoinDesc: + db "Doubles monetary" + next "earnings. (HOLD)@" + +YlwApricornDesc: + db "A yellow APRICORN.@" + +GrnApricornDesc: + db "A green APRICORN.@" + +CleanseTagDesc: + db "Helps repel wild" + next "#MON. (HOLD)@" + +MysticWaterDesc: + db "Powers up water-" + next "type moves. (HOLD)@" + +TwistedSpoonDesc: + db "Powers up psychic-" + next "type moves. (HOLD)@" + +WhtApricornDesc: + db "A white APRICORN.@" + +BlackbeltDesc: + db "Boosts fighting-" + next "type moves. (HOLD)@" + +BlkApricornDesc: + db "A black APRICORN." + next "@" + +TeruSama8Desc: + db "?@" + +PnkApricornDesc: + db "A pink APRICORN." + next "@" + +BlackGlassesDesc: + db "Powers up dark-" + next "type moves. (HOLD)@" + +SlowpokeTailDesc: + db "Very tasty. Sell" + next "high.@" + +PinkBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +StickDesc: + db "An ordinary stick." + next "Sell low.@" + +SmokeBallDesc: + db "Escape from wild" + next "#MON. (HOLD)@" + +NeverMeltIceDesc: + db "Powers up ice-type" + next "moves. (HOLD)@" + +MagnetDesc: + db "Boosts electric-" + next "type moves. (HOLD)@" + +MiracleBerryDesc: + db "Cures all status" + next "problems. (HOLD)@" + +PearlDesc: + db "A beautiful pearl." + next "Sell low.@" + +BigPearlDesc: + db "A big, beautiful" + next "pearl. Sell high.@" + +EverStoneDesc: + db "Stops evolution." + next "(HOLD)@" + +SpellTagDesc: + db "Powers up ghost-" + next "type moves. (HOLD)@" + +RageCandyBarDesc: + db "Restores #MON" + next "HP by 20.@" + +TeruSama9Desc: + db "?@" + +TeruSama10Desc: + db "?@" + +MiracleSeedDesc: + db "Powers up grass-" + next "type moves. (HOLD)@" + +ThickClubDesc: + db "A bone of some" + next "sort. Sell low.@" + +FocusBandDesc: + db "May prevent faint-" + next "ing. (HOLD)@" + +TeruSama11Desc: + db "?@" + +EnergyPowderDesc: + db "Restores #MON" + next "HP by 50. Bitter.@" + +EnergyRootDesc: + db "Restores #MON" + next "HP by 200. Bitter.@" + +HealPowderDesc: + db "Cures all status" + next "problems. Bitter.@" + +RevivalHerbDesc: + db "Revives fainted" + next "#MON. Bitter.@" + +HardStoneDesc: + db "Powers up rock-" + next "type moves. (HOLD)@" + +LuckyEggDesc: + db "Earns extra EXP." + next "points. (HOLD)@" + +CardKeyDesc: + db "Opens shutters in" + next "the RADIO TOWER.@" + +MachinePartDesc: + db "A machine part for" + next "the POWER PLANT.@" + +TeruSama12Desc: + db "?@" + +LostItemDesc: + db "The # DOLL lost" + next "by the COPYCAT.@" + +StardustDesc: + db "Pretty, red sand." + next "Sell high.@" + +StarPieceDesc: + db "A hunk of red gem." + next "Sell very high.@" + +BasementKeyDesc: + db "Opens doors.@" + +PassDesc: + db "A ticket for the" + next "MAGNET TRAIN.@" + +TeruSama13Desc: + db "?@" + +TeruSama14Desc: + db "?@" + +TeruSama15Desc: + db "?@" + +CharcoalDesc: + db "Powers up fire-" + next "type moves. (HOLD)@" + +BerryJuiceDesc: + db "Restores #MON" + next "HP by 20.@" + +ScopeLensDesc: + db "Raises critical" + next "hit ratio. (HOLD)@" + +TeruSama16Desc: + db "?@" + +TeruSama17Desc: + db "?@" + +MetalCoatDesc: + db "Powers up steel-" + next "type moves. (HOLD)@" + +DragonFangDesc: + db "Powers up dragon-" + next "type moves. (HOLD)@" + +TeruSama18Desc: + db "?@" + +LeftoversDesc: + db "Restores HP during" + next "battle. (HOLD)@" + +TeruSama19Desc: + db "?@" + +TeruSama20Desc: + db "?@" + +TeruSama21Desc: + db "?@" + +MysteryBerryDesc: + db "A self-restore" + next "for PP. (HOLD)@" + +DragonScaleDesc: + db "A rare dragon-type" + next "item.@" + +BerserkGeneDesc: + db "Boosts ATTACK but" + next "causes confusion.@" + +TeruSama22Desc: + db "?@" + +TeruSama23Desc: + db "?@" + +TeruSama24Desc: + db "?@" + +SacredAshDesc: + db "Fully revives all" + next "fainted #MON.@" + +HeavyBallDesc: + db "A BALL for catch-" + next "ing heavy #MON.@" + +FlowerMailDesc: + db "Flower-print MAIL." + next "(HOLD)@" + +LevelBallDesc: + db "A BALL for lower-" + next "level #MON.@" + +LureBallDesc: + db "A BALL for #MON" + next "hooked by a ROD.@" + +FastBallDesc: + db "A BALL for catch-" + next "ing fast #MON.@" + +TeruSama25Desc: + db "?@" + +LightBallDesc: + db "An odd, electrical" + next "orb. (HOLD)@" + +FriendBallDesc: + db "A BALL that makes" + next "#MON friendly.@" + +MoonBallDesc: + db "A BALL for MOON" + next "STONE evolvers.@" + +LoveBallDesc: + db "For catching the" + next "opposite gender.@" + +NormalBoxDesc: + db "Open it and see" + next "what's inside.@" + +GorgeousBoxDesc: + db "Open it and see" + next "what's inside.@" + +SunStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +PolkadotBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +TeruSama26Desc: + db "?@" + +UpGradeDesc: + db "A mysterious box" + next "made by SILPH CO.@" + +BerryDesc: + db "A self-restore" + next "item. (10HP, HOLD)@" + +GoldBerryDesc: + db "A self-restore" + next "item. (30HP, HOLD)@" + +SquirtBottleDesc: + db "A bottle used for" + next "watering plants.@" + +TeruSama27Desc: + db "?@" + +ParkBallDesc: + db "The Bug-Catching" + next "Contest BALL.@" + +RainbowWingDesc: + db "A mystical feather" + next "of rainbow colors.@" + +TeruSama28Desc: + db "?@" + +BrickPieceDesc: + db "A rare chunk of" + next "brick.@" + +SurfMailDesc: + db "LAPRAS-print MAIL." + next "(HOLD)@" + +LiteBlueMailDesc: + db "DRATINI-print" + next "MAIL. (HOLD)@" + +PortraitMailDesc: + db "MAIL featuring the" + next "holder's likeness.@" + +LovelyMailDesc: + db "Heart-print MAIL." + next "(HOLD)@" + +EonMailDesc: + db "EEVEE-print MAIL." + next "(HOLD)@" + +MorphMailDesc: + db "DITTO-print MAIL." + next "(HOLD)@" + +BlueSkyMailDesc: + db "Sky-print MAIL." + next "(HOLD)@" + +MusicMailDesc: + db "NATU-print MAIL." + next "(HOLD)@" + +MirageMailDesc: + db "MEW-print MAIL." + next "(HOLD)@" + +TeruSama29Desc: + db "?@" + +TeruSama30Desc: + db "?@" + +TeruSama31Desc: + db "?@" + +TeruSama32Desc: + db "?@" + +TeruSama33Desc: + db "?@" + +TeruSama34Desc: + db "?@" + +TeruSama35Desc: + db "?@" + +TeruSama36Desc: + db "?@" + +TeruSama37Desc: + db "?@" diff --git a/data/items/heal_hp.asm b/data/items/heal_hp.asm new file mode 100644 index 00000000..cc3da236 --- /dev/null +++ b/data/items/heal_hp.asm @@ -0,0 +1,17 @@ +HealingHPAmounts: + dbw FRESH_WATER, 50 + dbw SODA_POP, 60 + dbw LEMONADE, 80 + dbw HYPER_POTION, 200 + dbw SUPER_POTION, 50 + dbw POTION, 20 + dbw MAX_POTION, MAX_STAT_VALUE + dbw FULL_RESTORE, MAX_STAT_VALUE + dbw MOOMOO_MILK, 100 + dbw BERRY, 10 + dbw GOLD_BERRY, 30 + dbw ENERGYPOWDER, 50 + dbw ENERGY_ROOT, 200 + dbw RAGECANDYBAR, 20 + dbw BERRY_JUICE, 20 + dbw -1, 0 ; end diff --git a/data/items/heal_status.asm b/data/items/heal_status.asm new file mode 100644 index 00000000..b39f2f80 --- /dev/null +++ b/data/items/heal_status.asm @@ -0,0 +1,19 @@ +; See also data/battle/held_heal_status.asm + +StatusHealingActions: + ; item, party menu action text, status + db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN + db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN + db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ + db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP + db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR + db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111 + db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111 + db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111 + db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN + db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR + db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ + db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN + db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP + db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111 + db -1, 0, 0 ; end diff --git a/data/items/mail_items.asm b/data/items/mail_items.asm new file mode 100644 index 00000000..388613d9 --- /dev/null +++ b/data/items/mail_items.asm @@ -0,0 +1,12 @@ +MailItems: + db FLOWER_MAIL + db SURF_MAIL + db LITEBLUEMAIL + db PORTRAITMAIL + db LOVELY_MAIL + db EON_MAIL + db MORPH_MAIL + db BLUESKY_MAIL + db MUSIC_MAIL + db MIRAGE_MAIL + db -1 diff --git a/data/items/marts.asm b/data/items/marts.asm new file mode 100644 index 00000000..1d48ea53 --- /dev/null +++ b/data/items/marts.asm @@ -0,0 +1,406 @@ +Marts: +; entries correspond to MART_* constants + dw MartCherrygrove + dw MartCherrygroveDex + dw MartViolet + dw MartAzalea + dw MartCianwood + dw MartGoldenrod2F1 + dw MartGoldenrod2F2 + dw MartGoldenrod3F + dw MartGoldenrod4F + dw MartGoldenrod5F1 + dw MartGoldenrod5F2 + dw MartGoldenrod5F3 + dw MartGoldenrod5F4 + dw MartOlivine + dw MartEcruteak + dw MartMahogany1 + dw MartMahogany2 + dw MartBlackthorn + dw MartViridian + dw MartPewter + dw MartCerulean + dw MartLavender + dw MartVermilion + dw MartCeladon2F1 + dw MartCeladon2F2 + dw MartCeladon3F + dw MartCeladon4F + dw MartCeladon5F1 + dw MartCeladon5F2 + dw MartFuchsia + dw MartSaffron + dw MartMtMoon + dw MartIndigoPlateau + dw MartUnderground +.End + +MartCherrygrove: + db 4 ; # items + db POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db -1 ; end + +MartCherrygroveDex: + db 5 ; # items + db POKE_BALL + db POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db -1 ; end + +MartViolet: + db 10 ; # items + db POKE_BALL + db POTION + db ESCAPE_ROPE + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db X_DEFEND + db X_ATTACK + db X_SPEED + db FLOWER_MAIL + db -1 ; end + +MartAzalea: + db 9 ; # items + db CHARCOAL + db POKE_BALL + db POTION + db SUPER_POTION + db ESCAPE_ROPE + db REPEL + db ANTIDOTE + db PARLYZ_HEAL + db FLOWER_MAIL + db -1 ; end + +MartCianwood: + db 5 ; # items + db POTION + db SUPER_POTION + db HYPER_POTION + db FULL_HEAL + db REVIVE + db -1 ; end + +MartGoldenrod2F1: + db 7 ; # items + db POTION + db SUPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db ICE_HEAL + db -1 ; end + +MartGoldenrod2F2: + db 8 ; # items + db POKE_BALL + db GREAT_BALL + db ESCAPE_ROPE + db REPEL + db REVIVE + db FULL_HEAL + db POKE_DOLL + db FLOWER_MAIL + db -1 ; end + +MartGoldenrod3F: + db 7 ; # items + db X_SPEED + db X_SPECIAL + db X_DEFEND + db X_ATTACK + db DIRE_HIT + db GUARD_SPEC + db X_ACCURACY + db -1 ; end + +MartGoldenrod4F: + db 5 ; # items + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db HP_UP + db -1 ; end + +MartGoldenrod5F1: + db 3 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db -1 ; end + +MartGoldenrod5F2: + db 4 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_HEADBUTT + db -1 ; end + +MartGoldenrod5F3: + db 4 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_ROCK_SMASH + db -1 ; end + +MartGoldenrod5F4: + db 5 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_HEADBUTT + db TM_ROCK_SMASH + db -1 ; end + +MartOlivine: + db 9 ; # items + db GREAT_BALL + db SUPER_POTION + db HYPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db ICE_HEAL + db SUPER_REPEL + db SURF_MAIL + db -1 ; end + +MartEcruteak: + db 10 ; # items + db POKE_BALL + db GREAT_BALL + db POTION + db SUPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db ICE_HEAL + db REVIVE + db -1 ; end + +MartMahogany1: + db 4 ; # items + db TINYMUSHROOM + db SLOWPOKETAIL + db POKE_BALL + db POTION + db -1 ; end + +MartMahogany2: + db 9 ; # items + db RAGECANDYBAR + db GREAT_BALL + db SUPER_POTION + db HYPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db SUPER_REPEL + db REVIVE + db FLOWER_MAIL + db -1 ; end + +MartBlackthorn: + db 9 ; # items + db GREAT_BALL + db ULTRA_BALL + db HYPER_POTION + db MAX_POTION + db FULL_HEAL + db REVIVE + db MAX_REPEL + db X_DEFEND + db X_ATTACK + db -1 ; end + +MartViridian: + db 9 ; # items + db ULTRA_BALL + db HYPER_POTION + db FULL_HEAL + db REVIVE + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db FLOWER_MAIL + db -1 ; end + +MartPewter: + db 7 ; # items + db GREAT_BALL + db SUPER_POTION + db SUPER_REPEL + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db -1 ; end + +MartCerulean: + db 9 ; # items + db GREAT_BALL + db ULTRA_BALL + db SUPER_POTION + db SUPER_REPEL + db FULL_HEAL + db X_DEFEND + db X_ATTACK + db DIRE_HIT + db SURF_MAIL + db -1 ; end + +MartLavender: + db 8 ; # items + db GREAT_BALL + db POTION + db SUPER_POTION + db MAX_REPEL + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db -1 ; end + +MartVermilion: + db 8 ; # items + db ULTRA_BALL + db SUPER_POTION + db HYPER_POTION + db REVIVE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db LITEBLUEMAIL + db -1 ; end + +MartCeladon2F1: + db 7 ; # items + db POTION + db SUPER_POTION + db HYPER_POTION + db MAX_POTION + db REVIVE + db SUPER_REPEL + db MAX_REPEL + db -1 ; end + +MartCeladon2F2: + db 10 ; # items + db POKE_BALL + db GREAT_BALL + db ULTRA_BALL + db ESCAPE_ROPE + db FULL_HEAL + db ANTIDOTE + db BURN_HEAL + db ICE_HEAL + db AWAKENING + db PARLYZ_HEAL + db -1 ; end + +MartCeladon3F: + db 5 ; # items + db TM_HIDDEN_POWER + db TM_SUNNY_DAY + db TM_PROTECT + db TM_RAIN_DANCE + db TM_SANDSTORM + db -1 ; end + +MartCeladon4F: + db 3 ; # items + db POKE_DOLL + db LOVELY_MAIL + db SURF_MAIL + db -1 ; end + +MartCeladon5F1: + db 5 ; # items + db HP_UP + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db -1 ; end + +MartCeladon5F2: + db 7 ; # items + db X_ACCURACY + db GUARD_SPEC + db DIRE_HIT + db X_ATTACK + db X_DEFEND + db X_SPEED + db X_SPECIAL + db -1 ; end + +MartFuchsia: + db 7 ; # items + db GREAT_BALL + db ULTRA_BALL + db SUPER_POTION + db HYPER_POTION + db FULL_HEAL + db MAX_REPEL + db FLOWER_MAIL + db -1 ; end + +MartSaffron: + db 8 ; # items + db GREAT_BALL + db ULTRA_BALL + db HYPER_POTION + db MAX_POTION + db FULL_HEAL + db X_ATTACK + db X_DEFEND + db FLOWER_MAIL + db -1 ; end + +MartMtMoon: + db 6 ; # items + db POKE_DOLL + db FRESH_WATER + db SODA_POP + db LEMONADE + db REPEL + db PORTRAITMAIL + db -1 ; end + +MartIndigoPlateau: + db 7 ; # items + db ULTRA_BALL + db MAX_REPEL + db HYPER_POTION + db MAX_POTION + db FULL_RESTORE + db REVIVE + db FULL_HEAL + db -1 ; end + +MartUnderground: + db 4 ; # items + db ENERGYPOWDER + db ENERGY_ROOT + db HEAL_POWDER + db REVIVAL_HERB + db -1 ; end + +DefaultMart: + db 2 ; # items + db POKE_BALL + db POTION + db -1 ; end diff --git a/data/items/mystery_gift_items.asm b/data/items/mystery_gift_items.asm new file mode 100644 index 00000000..242035ea --- /dev/null +++ b/data/items/mystery_gift_items.asm @@ -0,0 +1,39 @@ +MysteryGiftItems: + db BERRY + db PRZCUREBERRY + db MINT_BERRY + db ICE_BERRY + db BURNT_BERRY + db PSNCUREBERRY + db GUARD_SPEC + db X_DEFEND + db X_ATTACK + db BITTER_BERRY + db DIRE_HIT + db X_SPECIAL + db X_ACCURACY + db EON_MAIL + db MORPH_MAIL + db MUSIC_MAIL + db MIRACLEBERRY + db GOLD_BERRY + db REVIVE + db GREAT_BALL + db SUPER_REPEL + db MAX_REPEL + db ELIXER + db ETHER + db WATER_STONE + db FIRE_STONE + db LEAF_STONE + db THUNDERSTONE + db MAX_ETHER + db MAX_ELIXER + db MAX_REVIVE + db SCOPE_LENS + db HP_UP + db PP_UP + db RARE_CANDY + db BLUESKY_MAIL + db MIRAGE_MAIL +.End diff --git a/data/items/names.asm b/data/items/names.asm new file mode 100644 index 00000000..e50567d7 --- /dev/null +++ b/data/items/names.asm @@ -0,0 +1,257 @@ +ItemNames:: + db "MASTER BALL@" + db "ULTRA BALL@" + db "BRIGHTPOWDER@" + db "GREAT BALL@" + db "# BALL@" + db "TERU-SAMA@" + db "BICYCLE@" + db "MOON STONE@" + db "ANTIDOTE@" + db "BURN HEAL@" + db "ICE HEAL@" + db "AWAKENING@" + db "PARLYZ HEAL@" + db "FULL RESTORE@" + db "MAX POTION@" + db "HYPER POTION@" + db "SUPER POTION@" + db "POTION@" + db "ESCAPE ROPE@" + db "REPEL@" + db "MAX ELIXER@" + db "FIRE STONE@" + db "THUNDERSTONE@" + db "WATER STONE@" + db "TERU-SAMA@" + db "HP UP@" + db "PROTEIN@" + db "IRON@" + db "CARBOS@" + db "LUCKY PUNCH@" + db "CALCIUM@" + db "RARE CANDY@" + db "X ACCURACY@" + db "LEAF STONE@" + db "METAL POWDER@" + db "NUGGET@" + db "# DOLL@" + db "FULL HEAL@" + db "REVIVE@" + db "MAX REVIVE@" + db "GUARD SPEC.@" + db "SUPER REPEL@" + db "MAX REPEL@" + db "DIRE HIT@" + db "TERU-SAMA@" + db "FRESH WATER@" + db "SODA POP@" + db "LEMONADE@" + db "X ATTACK@" + db "TERU-SAMA@" + db "X DEFEND@" + db "X SPEED@" + db "X SPECIAL@" + db "COIN CASE@" + db "ITEMFINDER@" + db "TERU-SAMA@" + db "EXP.SHARE@" + db "OLD ROD@" + db "GOOD ROD@" + db "SILVER LEAF@" + db "SUPER ROD@" + db "PP UP@" + db "ETHER@" + db "MAX ETHER@" + db "ELIXER@" + db "RED SCALE@" + db "SECRETPOTION@" + db "S.S.TICKET@" + db "MYSTERY EGG@" + db "TERU-SAMA@" + db "SILVER WING@" + db "MOOMOO MILK@" + db "QUICK CLAW@" + db "PSNCUREBERRY@" + db "GOLD LEAF@" + db "SOFT SAND@" + db "SHARP BEAK@" + db "PRZCUREBERRY@" + db "BURNT BERRY@" + db "ICE BERRY@" + db "POISON BARB@" + db "KING'S ROCK@" + db "BITTER BERRY@" + db "MINT BERRY@" + db "RED APRICORN@" + db "TINYMUSHROOM@" + db "BIG MUSHROOM@" + db "SILVERPOWDER@" + db "BLU APRICORN@" + db "TERU-SAMA@" + db "AMULET COIN@" + db "YLW APRICORN@" + db "GRN APRICORN@" + db "CLEANSE TAG@" + db "MYSTIC WATER@" + db "TWISTEDSPOON@" + db "WHT APRICORN@" + db "BLACKBELT@" + db "BLK APRICORN@" + db "TERU-SAMA@" + db "PNK APRICORN@" + db "BLACKGLASSES@" + db "SLOWPOKETAIL@" + db "PINK BOW@" + db "STICK@" + db "SMOKE BALL@" + db "NEVERMELTICE@" + db "MAGNET@" + db "MIRACLEBERRY@" + db "PEARL@" + db "BIG PEARL@" + db "EVERSTONE@" + db "SPELL TAG@" + db "RAGECANDYBAR@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "MIRACLE SEED@" + db "THICK CLUB@" + db "FOCUS BAND@" + db "TERU-SAMA@" + db "ENERGYPOWDER@" + db "ENERGY ROOT@" + db "HEAL POWDER@" + db "REVIVAL HERB@" + db "HARD STONE@" + db "LUCKY EGG@" + db "CARD KEY@" + db "MACHINE PART@" + db "TERU-SAMA@" + db "LOST ITEM@" + db "STARDUST@" + db "STAR PIECE@" + db "BASEMENT KEY@" + db "PASS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "CHARCOAL@" + db "BERRY JUICE@" + db "SCOPE LENS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "METAL COAT@" + db "DRAGON FANG@" + db "TERU-SAMA@" + db "LEFTOVERS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "MYSTERYBERRY@" + db "DRAGON SCALE@" + db "BERSERK GENE@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "SACRED ASH@" + db "HEAVY BALL@" + db "FLOWER MAIL@" + db "LEVEL BALL@" + db "LURE BALL@" + db "FAST BALL@" + db "TERU-SAMA@" + db "LIGHT BALL@" + db "FRIEND BALL@" + db "MOON BALL@" + db "LOVE BALL@" + db "NORMAL BOX@" + db "GORGEOUS BOX@" + db "SUN STONE@" + db "POLKADOT BOW@" + db "TERU-SAMA@" + db "UP-GRADE@" + db "BERRY@" + db "GOLD BERRY@" + db "SQUIRTBOTTLE@" + db "TERU-SAMA@" + db "PARK BALL@" + db "RAINBOW WING@" + db "TERU-SAMA@" + db "BRICK PIECE@" + db "SURF MAIL@" + db "LITEBLUEMAIL@" + db "PORTRAITMAIL@" + db "LOVELY MAIL@" + db "EON MAIL@" + db "MORPH MAIL@" + db "BLUESKY MAIL@" + db "MUSIC MAIL@" + db "MIRAGE MAIL@" + db "TERU-SAMA@" + db "TM01@" + db "TM02@" + db "TM03@" + db "TM04@" + db "TERU-SAMA@" + db "TM05@" + db "TM06@" + db "TM07@" + db "TM08@" + db "TM09@" + db "TM10@" + db "TM11@" + db "TM12@" + db "TM13@" + db "TM14@" + db "TM15@" + db "TM16@" + db "TM17@" + db "TM18@" + db "TM19@" + db "TM20@" + db "TM21@" + db "TM22@" + db "TM23@" + db "TM24@" + db "TM25@" + db "TM26@" + db "TM27@" + db "TM28@" + db "TERU-SAMA@" + db "TM29@" + db "TM30@" + db "TM31@" + db "TM32@" + db "TM33@" + db "TM34@" + db "TM35@" + db "TM36@" + db "TM37@" + db "TM38@" + db "TM39@" + db "TM40@" + db "TM41@" + db "TM42@" + db "TM43@" + db "TM44@" + db "TM45@" + db "TM46@" + db "TM47@" + db "TM48@" + db "TM49@" + db "TM50@" + db "HM01@" + db "HM02@" + db "HM03@" + db "HM04@" + db "HM05@" + db "HM06@" + db "HM07@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "?@" diff --git a/data/items/pocket_names.asm b/data/items/pocket_names.asm new file mode 100644 index 00000000..880e08fe --- /dev/null +++ b/data/items/pocket_names.asm @@ -0,0 +1,11 @@ +ItemPocketNames: +; entries correspond to item type constants + dw .Item + dw .Key + dw .Ball + dw .TM + +.Item: db "ITEM POCKET@" +.Key: db "KEY POCKET@" +.Ball: db "BALL POCKET@" +.TM: db "TM POCKET@" diff --git a/data/items/x_stats.asm b/data/items/x_stats.asm new file mode 100644 index 00000000..25554209 --- /dev/null +++ b/data/items/x_stats.asm @@ -0,0 +1,6 @@ +XItemStats: + ; item, stat + db X_ATTACK, ATTACK + db X_DEFEND, DEFENSE + db X_SPEED, SPEED + db X_SPECIAL, SP_ATTACK diff --git a/data/map_objects.asm b/data/map_objects.asm deleted file mode 100755 index fe218e42..00000000 --- a/data/map_objects.asm +++ /dev/null @@ -1,44 +0,0 @@ -sprite_movement_data: macro - db \1, \2, \3, \4, \5 - dn \6, 0 -endm - - ; function, facing, action, flags1, flags2, palette flags - sprite_movement_data SPRITEMOVEFN_00, DOWN, OBJECT_ACTION_STAND, $02, $00, %0000 ; 00 - sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, OBJECT_ACTION_STAND, $0c, $00, %0000 ; 01 - sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 02 - sprite_movement_data SPRITEMOVEFN_SLOW_RANDOM_SPIN, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 03 - sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_Y, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 04 - sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_X, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 05 - sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 06 - sprite_movement_data SPRITEMOVEFN_STANDING, UP, OBJECT_ACTION_STAND, $00, $00, %0000 ; 07 - sprite_movement_data SPRITEMOVEFN_STANDING, LEFT, OBJECT_ACTION_STAND, $00, $00, %0000 ; 08 - sprite_movement_data SPRITEMOVEFN_STANDING, RIGHT, OBJECT_ACTION_STAND, $00, $00, %0000 ; 09 - sprite_movement_data SPRITEMOVEFN_FAST_RANDOM_SPIN, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 0a - sprite_movement_data SPRITEMOVEFN_OBEY_DPAD, DOWN, OBJECT_ACTION_STAND, $02, $00, %0000 ; 0b - sprite_movement_data SPRITEMOVEFN_08, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 0c - sprite_movement_data SPRITEMOVEFN_09, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 0d - sprite_movement_data SPRITEMOVEFN_0A, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 0e - sprite_movement_data SPRITEMOVEFN_0B, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 0f - sprite_movement_data SPRITEMOVEFN_0C, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 10 - sprite_movement_data SPRITEMOVEFN_0D, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 11 - sprite_movement_data SPRITEMOVEFN_0E, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 12 - sprite_movement_data SPRITEMOVEFN_FOLLOW, DOWN, OBJECT_ACTION_STAND, $02, $00, %0000 ; 13 - sprite_movement_data SPRITEMOVEFN_SCRIPTED, DOWN, OBJECT_ACTION_STAND, $02, $00, %0000 ; 14 - sprite_movement_data SPRITEMOVEFN_BIG_SNORLAX, DOWN, OBJECT_ACTION_BIG_DOLL_SYM, $2e, $01, %1100 ; 15 - sprite_movement_data SPRITEMOVEFN_BOUNCE, DOWN, OBJECT_ACTION_BOUNCE, $2e, $00, %0000 ; 16 - sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, OBJECT_ACTION_STAND, $0c, $00, %0000 ; 17 - sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, OBJECT_ACTION_STAND, $2e, $10, %0000 ; 18 - sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, OBJECT_ACTION_STAND, $2e, $00, %0100 ; 19 - sprite_movement_data SPRITEMOVEFN_FOLLOWNOTEXACT, DOWN, OBJECT_ACTION_STAND, $02, $00, %0000 ; 1a - sprite_movement_data SPRITEMOVEFN_SHADOW, DOWN, OBJECT_ACTION_00, $8e, $01, %0000 ; 1b - sprite_movement_data SPRITEMOVEFN_EMOTE, DOWN, OBJECT_ACTION_EMOTE, $8e, $02, %0000 ; 1c - sprite_movement_data SPRITEMOVEFN_SCREENSHAKE, DOWN, OBJECT_ACTION_00, $82, $00, %0000 ; 1d - sprite_movement_data SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE, LEFT, OBJECT_ACTION_STAND, $00, $00, %0000 ; 1e - sprite_movement_data SPRITEMOVEFN_SPIN_CLOCKWISE, RIGHT, OBJECT_ACTION_STAND, $00, $00, %0000 ; 1f - sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, OBJECT_ACTION_BIG_DOLL_ASYM, $2e, $01, %1100 ; 20 - sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, OBJECT_ACTION_BIG_DOLL, $2e, $01, %1100 ; 21 - sprite_movement_data SPRITEMOVEFN_BOULDERDUST, DOWN, OBJECT_ACTION_BOULDER_DUST, $8e, $01, %0000 ; 22 - sprite_movement_data SPRITEMOVEFN_GRASS, DOWN, OBJECT_ACTION_GRASS_SHAKE, $8e, $02, %0000 ; 23 - sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, OBJECT_ACTION_STAND, $00, $00, %0010 ; 24 - sprite_movement_data SPRITEMOVEFN_00, DOWN, OBJECT_ACTION_STAND, $00, $00, %0000 ; 25 diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 2f9c0d05..d16b1c61 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -38,7 +38,7 @@ _tgt = 0 endc if "\1" == "north" -_blk = \3_WIDTH * (\3_HEIGHT + -3) + _src +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src _map = _tgt _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 _y = \3_HEIGHT * 2 - 1 @@ -60,9 +60,9 @@ _len = \3_WIDTH endc elif "\1" == "west" -_blk = (\3_WIDTH * _src) + \3_WIDTH + -3 +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 _map = (CURRENT_MAP_WIDTH + 6) * _tgt -_win = (\3_WIDTH + 6) * 2 + -6 +_win = (\3_WIDTH + 6) * 2 - 6 _y = (\4) * -2 _x = \3_WIDTH * 2 - 1 _len = CURRENT_MAP_HEIGHT + 3 - (\4) diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index af632833..e93719de 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -15,8 +15,8 @@ Route44_Blocks: Route28_Blocks: INCBIN "maps/Route28.blk" -BetaHerosHouse_Blocks: - INCBIN "maps/unused/BetaHerosHouse.blk" +BetaPlayersHouse2F_Blocks: + INCBIN "maps/unused/BetaPlayersHouse2F.blk" CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" @@ -103,8 +103,8 @@ Route3_Blocks: PewterCity_Blocks: INCBIN "maps/PewterCity.blk" -BetaIlexForest_Blocks: - INCBIN "maps/unused/BetaIlexForest.blk" +BetaSilverCaveOutside_Blocks: + INCBIN "maps/unused/BetaSilverCaveOutside.blk" BetaSproutTower2_Blocks: INCBIN "maps/unused/BetaSproutTower2.blk" @@ -121,8 +121,8 @@ Route20_Blocks: BetaSproutTower6_Blocks: INCBIN "maps/unused/BetaSproutTower6.blk" -BetaPokecenterMainHouse_Blocks: - INCBIN "maps/unused/BetaPokecenterMainHouse.blk" +BetaPokecenter_Blocks: + INCBIN "maps/unused/BetaPokecenter.blk" Route30_Blocks: INCBIN "maps/Route30.blk" @@ -446,8 +446,8 @@ VioletNicknameSpeechHouse_Blocks: VioletKylesHouse_Blocks: INCBIN "maps/House2.blk" -BetaCave_Blocks: - INCBIN "maps/unused/BetaCave.blk" +BetaUnionCave_Blocks: + INCBIN "maps/unused/BetaUnionCave.blk" UnionCaveB1F_Blocks: INCBIN "maps/UnionCaveB1F.blk" @@ -466,8 +466,8 @@ Route5UndergroundPathEntrance_Blocks: Route6UndergroundPathEntrance_Blocks: INCBIN "maps/UndergroundPathEntrance.blk" -BetaPokecenterTradeStation_Blocks: - INCBIN "maps/unused/BetaPokecenterTradeStation.blk" +BetaCapsuleHouse_Blocks: + INCBIN "maps/unused/BetaCapsuleHouse.blk" KurtsHouse_Blocks: INCBIN "maps/KurtsHouse.blk" @@ -685,17 +685,17 @@ SilverCaveRoom2_Blocks: SilverCaveRoom3_Blocks: INCBIN "maps/SilverCaveRoom3.blk" -BetaRocketHideout1_Blocks: - INCBIN "maps/unused/BetaRocketHideout1.blk" +BetaRocketHideoutB2F_Blocks: + INCBIN "maps/unused/BetaRocketHideoutB2F.blk" -BetaRocketHideout2_Blocks: - INCBIN "maps/unused/BetaRocketHideout2.blk" +BetaRocketHideoutB1F_Blocks: + INCBIN "maps/unused/BetaRocketHideoutB1F.blk" -BetaEmptyHouse_Blocks: - INCBIN "maps/unused/BetaEmptyHouse.blk" +BetaRocketHideout1F_Blocks: + INCBIN "maps/unused/BetaRocketHideout1F.blk" -BetaRocketHideout3_Blocks: - INCBIN "maps/unused/BetaRocketHideout3.blk" +BetaRocketHideoutB3F_Blocks: + INCBIN "maps/unused/BetaRocketHideoutB3F.blk" MahoganyMart1F_Blocks: MountMoonGiftShop_Blocks: @@ -710,8 +710,8 @@ TeamRocketBaseB2F_Blocks: TeamRocketBaseB3F_Blocks: INCBIN "maps/TeamRocketBaseB3F.blk" -BetaRoute23EarlyVersion_Blocks: - INCBIN "maps/unused/BetaRoute23EarlyVersion.blk" +BetaRoute23_Blocks: + INCBIN "maps/unused/BetaRoute23.blk" IndigoPlateauPokecenter1F_Blocks: INCBIN "maps/IndigoPlateauPokecenter1F.blk" @@ -746,8 +746,8 @@ MahoganyGym_Blocks: OlivineGym_Blocks: INCBIN "maps/OlivineGym.blk" -BetaUnknown_Blocks: - INCBIN "maps/unused/BetaUnknown.blk" +BetaUnknownGym_Blocks: + INCBIN "maps/unused/BetaUnknownGym.blk" CianwoodGym_Blocks: INCBIN "maps/CianwoodGym.blk" @@ -779,8 +779,8 @@ OlivineLighthouse6F_Blocks: SECTION "Map Blocks 3", ROMX -BetaCave2_Blocks: - INCBIN "maps/unused/BetaCave2.blk" +BetaSlowpokeWell1F_Blocks: + INCBIN "maps/unused/BetaSlowpokeWell1F.blk" SlowpokeWellB1F_Blocks: INCBIN "maps/SlowpokeWellB1F.blk" @@ -913,14 +913,14 @@ PewterGym_Blocks: CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" -BetaHouse2_Blocks: - INCBIN "maps/unused/BetaHouse2.blk" +BetaCeladonMansion1F_Blocks: + INCBIN "maps/unused/BetaCeladonMansion1F.blk" CeladonCafe_Blocks: INCBIN "maps/CeladonCafe.blk" -BetaCeladonMansion_Blocks: - INCBIN "maps/unused/BetaCeladonMansion.blk" +BetaCeladonMansion2F_Blocks: + INCBIN "maps/unused/BetaCeladonMansion2F.blk" RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" @@ -994,5 +994,3 @@ DragonsDenB1F_Blocks: TohjoFalls_Blocks: INCBIN "maps/TohjoFalls.blk" - - dr $dd773, $e0000 ; XXX Probably not blockdata? diff --git a/data/maps/environment_colors.asm b/data/maps/environment_colors.asm new file mode 100644 index 00000000..3497b2b9 --- /dev/null +++ b/data/maps/environment_colors.asm @@ -0,0 +1,35 @@ +EnvironmentColorsPointers: +; entries correspond to environment constants (see constants/map_data_constants.asm) + dw .OutdoorColors ; unused + dw .OutdoorColors ; TOWN + dw .OutdoorColors ; ROUTE + dw .IndoorColors ; INDOOR + dw .DungeonColors ; CAVE + dw .Env5Colors ; ENVIRONMENT_5 + dw .IndoorColors ; GATE + dw .DungeonColors ; DUNGEON + +; Valid indices: $00 - $29 (see gfx/tilesets/bg_tiles.pal) +.OutdoorColors: + db $00, $01, $02, $28, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $29, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.IndoorColors: + db $20, $21, $22, $23, $24, $25, $26, $07 ; morn + db $20, $21, $22, $23, $24, $25, $26, $07 ; day + db $10, $11, $12, $13, $14, $15, $16, $07 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark + +.DungeonColors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.Env5Colors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark diff --git a/data/maps/flypoints.asm b/data/maps/flypoints.asm new file mode 100644 index 00000000..e3578daa --- /dev/null +++ b/data/maps/flypoints.asm @@ -0,0 +1,30 @@ +Flypoints: +; entries correspond to FLY_* constants +; Johto + ; landmark, spawn point + db LANDMARK_NEW_BARK_TOWN, SPAWN_NEW_BARK + db LANDMARK_CHERRYGROVE_CITY, SPAWN_CHERRYGROVE + db LANDMARK_VIOLET_CITY, SPAWN_VIOLET + db LANDMARK_AZALEA_TOWN, SPAWN_AZALEA + db LANDMARK_GOLDENROD_CITY, SPAWN_GOLDENROD + db LANDMARK_ECRUTEAK_CITY, SPAWN_ECRUTEAK + db LANDMARK_OLIVINE_CITY, SPAWN_OLIVINE + db LANDMARK_CIANWOOD_CITY, SPAWN_CIANWOOD + db LANDMARK_MAHOGANY_TOWN, SPAWN_MAHOGANY + db LANDMARK_LAKE_OF_RAGE, SPAWN_LAKE_OF_RAGE + db LANDMARK_BLACKTHORN_CITY, SPAWN_BLACKTHORN + db LANDMARK_SILVER_CAVE, SPAWN_MT_SILVER +; Kanto + db LANDMARK_PALLET_TOWN, SPAWN_PALLET + db LANDMARK_VIRIDIAN_CITY, SPAWN_VIRIDIAN + db LANDMARK_PEWTER_CITY, SPAWN_PEWTER + db LANDMARK_CERULEAN_CITY, SPAWN_CERULEAN + db LANDMARK_VERMILION_CITY, SPAWN_VERMILION + db LANDMARK_ROCK_TUNNEL, SPAWN_ROCK_TUNNEL + db LANDMARK_LAVENDER_TOWN, SPAWN_LAVENDER + db LANDMARK_CELADON_CITY, SPAWN_CELADON + db LANDMARK_SAFFRON_CITY, SPAWN_SAFFRON + db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA + db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR + db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO + db -1 diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm new file mode 100644 index 00000000..8e25aca2 --- /dev/null +++ b/data/maps/landmarks.asm @@ -0,0 +1,205 @@ +landmark: MACRO +; x, y, name + db \1 + 8, \2 + 16 + dw \3 +ENDM + +Landmarks: +; entries correspond to constants/landmark_constants.asm + dbbw 0, 0, SpecialMapName + landmark 140, 100, NewBarkTownName + landmark 128, 100, Route29Name + landmark 100, 100, CherrygroveCityName + landmark 100, 80, Route30Name + landmark 96, 60, Route31Name + landmark 84, 60, VioletCityName + landmark 85, 58, SproutTowerName + landmark 84, 92, Route32Name + landmark 76, 76, RuinsOfAlphName + landmark 84, 124, UnionCaveName + landmark 82, 124, Route33Name + landmark 68, 124, AzaleaTownName + landmark 70, 122, SlowpokeWellName + landmark 52, 120, IlexForestName + landmark 52, 112, Route34Name + landmark 52, 92, GoldenrodCityName + landmark 50, 92, RadioTowerName + landmark 52, 76, Route35Name + landmark 52, 60, NationalParkName + landmark 64, 60, Route36Name + landmark 68, 52, Route37Name + landmark 68, 44, EcruteakCityName + landmark 70, 42, TinTowerName + landmark 66, 42, BurnedTowerName + landmark 52, 44, Route38Name + landmark 36, 48, Route39Name + landmark 36, 60, OlivineCityName + landmark 38, 62, LighthouseName + landmark 28, 64, Route40Name + landmark 28, 92, WhirlIslandsName + landmark 28, 100, Route41Name + landmark 20, 100, CianwoodCityName + landmark 92, 44, Route42Name + landmark 84, 44, MtMortarName + landmark 108, 44, MahoganyTownName + landmark 108, 36, Route43Name + landmark 108, 28, LakeOfRageName + landmark 120, 44, Route44Name + landmark 130, 38, IcePathName + landmark 132, 44, BlackthornCityName + landmark 132, 36, DragonsDenName + landmark 132, 64, Route45Name + landmark 112, 72, DarkCaveName + landmark 124, 88, Route46Name + landmark 148, 68, SilverCaveName + landmark 52, 108, PalletTownName + landmark 52, 92, Route1Name + landmark 52, 76, ViridianCityName + landmark 52, 64, Route2Name + landmark 52, 52, PewterCityName + landmark 64, 52, Route3Name + landmark 76, 52, MtMoonName + landmark 88, 52, Route4Name + landmark 100, 52, CeruleanCityName + landmark 100, 44, Route24Name + landmark 108, 36, Route25Name + landmark 100, 60, Route5Name + landmark 108, 76, UndergroundName + landmark 100, 76, Route6Name + landmark 100, 84, VermilionCityName + landmark 88, 60, DiglettsCaveName + landmark 88, 68, Route7Name + landmark 116, 68, Route8Name + landmark 116, 52, Route9Name + landmark 132, 52, RockTunnelName + landmark 132, 56, Route10Name + landmark 132, 60, PowerPlantName + landmark 132, 68, LavenderTownName + landmark 140, 68, LavRadioTowerName + landmark 76, 68, CeladonCityName + landmark 100, 68, SaffronCityName + landmark 116, 84, Route11Name + landmark 132, 80, Route12Name + landmark 124, 100, Route13Name + landmark 116, 112, Route14Name + landmark 104, 116, Route15Name + landmark 68, 68, Route16Name + landmark 68, 92, Route17Name + landmark 80, 116, Route18Name + landmark 92, 116, FuchsiaCityName + landmark 92, 128, Route19Name + landmark 76, 132, Route20Name + landmark 68, 132, SeafoamIslandsName + landmark 52, 132, CinnabarIslandName + landmark 52, 120, Route21Name + landmark 36, 68, Route22Name + landmark 28, 52, VictoryRoadName + landmark 28, 44, Route23Name + landmark 28, 36, IndigoPlateauName + landmark 28, 92, Route26Name + landmark 20, 100, Route27Name + landmark 12, 100, TohjoFallsName + landmark 20, 68, Route28Name + landmark 140, 116, FastShipName + +NewBarkTownName: db "NEW BARK¯TOWN@" +CherrygroveCityName: db "CHERRYGROVE¯CITY@" +VioletCityName: db "VIOLET CITY@" +AzaleaTownName: db "AZALEA TOWN@" +GoldenrodCityName: db "GOLDENROD¯CITY@" +EcruteakCityName: db "ECRUTEAK¯CITY@" +OlivineCityName: db "OLIVINE¯CITY@" +CianwoodCityName: db "CIANWOOD¯CITY@" +MahoganyTownName: db "MAHOGANY¯TOWN@" +BlackthornCityName: db "BLACKTHORN¯CITY@" +LakeOfRageName: db "LAKE OF¯RAGE@" +SilverCaveName: db "SILVER CAVE@" +SproutTowerName: db "SPROUT¯TOWER@" +RuinsOfAlphName: db "RUINS¯OF ALPH@" +UnionCaveName: db "UNION CAVE@" +SlowpokeWellName: db "SLOWPOKE¯WELL@" +RadioTowerName: db "RADIO TOWER@" +PowerPlantName: db "POWER PLANT@" +NationalParkName: db "NATIONAL¯PARK@" +TinTowerName: db "TIN TOWER@" +LighthouseName: db "LIGHTHOUSE@" +WhirlIslandsName: db "WHIRL¯ISLANDS@" +MtMortarName: db "MT.MORTAR@" +DragonsDenName: db "DRAGON'S¯DEN@" +IcePathName: db "ICE PATH@" +NotApplicableName: db "N/A@" ; "オバケやしき" ("HAUNTED HOUSE") in Japanese +PalletTownName: db "PALLET TOWN@" +ViridianCityName: db "VIRIDIAN¯CITY@" +PewterCityName: db "PEWTER CITY@" +CeruleanCityName: db "CERULEAN¯CITY@" +LavenderTownName: db "LAVENDER¯TOWN@" +VermilionCityName: db "VERMILION¯CITY@" +CeladonCityName: db "CELADON¯CITY@" +SaffronCityName: db "SAFFRON¯CITY@" +FuchsiaCityName: db "FUCHSIA¯CITY@" +CinnabarIslandName: db "CINNABAR¯ISLAND@" +IndigoPlateauName: db "INDIGO¯PLATEAU@" +VictoryRoadName: db "VICTORY¯ROAD@" +MtMoonName: db "MT.MOON@" +RockTunnelName: db "ROCK TUNNEL@" +LavRadioTowerName: db "LAV¯RADIO TOWER@" +SilphCoName: db "SILPH CO.@" +SafariZoneName: db "SAFARI ZONE@" +SeafoamIslandsName: db "SEAFOAM¯ISLANDS@" +PokemonMansionName: db "#MON¯MANSION@" +CeruleanCaveName: db "CERULEAN¯CAVE@" +Route1Name: db "ROUTE 1@" +Route2Name: db "ROUTE 2@" +Route3Name: db "ROUTE 3@" +Route4Name: db "ROUTE 4@" +Route5Name: db "ROUTE 5@" +Route6Name: db "ROUTE 6@" +Route7Name: db "ROUTE 7@" +Route8Name: db "ROUTE 8@" +Route9Name: db "ROUTE 9@" +Route10Name: db "ROUTE 10@" +Route11Name: db "ROUTE 11@" +Route12Name: db "ROUTE 12@" +Route13Name: db "ROUTE 13@" +Route14Name: db "ROUTE 14@" +Route15Name: db "ROUTE 15@" +Route16Name: db "ROUTE 16@" +Route17Name: db "ROUTE 17@" +Route18Name: db "ROUTE 18@" +Route19Name: db "ROUTE 19@" +Route20Name: db "ROUTE 20@" +Route21Name: db "ROUTE 21@" +Route22Name: db "ROUTE 22@" +Route23Name: db "ROUTE 23@" +Route24Name: db "ROUTE 24@" +Route25Name: db "ROUTE 25@" +Route26Name: db "ROUTE 26@" +Route27Name: db "ROUTE 27@" +Route28Name: db "ROUTE 28@" +Route29Name: db "ROUTE 29@" +Route30Name: db "ROUTE 30@" +Route31Name: db "ROUTE 31@" +Route32Name: db "ROUTE 32@" +Route33Name: db "ROUTE 33@" +Route34Name: db "ROUTE 34@" +Route35Name: db "ROUTE 35@" +Route36Name: db "ROUTE 36@" +Route37Name: db "ROUTE 37@" +Route38Name: db "ROUTE 38@" +Route39Name: db "ROUTE 39@" +Route40Name: db "ROUTE 40@" +Route41Name: db "ROUTE 41@" +Route42Name: db "ROUTE 42@" +Route43Name: db "ROUTE 43@" +Route44Name: db "ROUTE 44@" +Route45Name: db "ROUTE 45@" +Route46Name: db "ROUTE 46@" +DarkCaveName: db "DARK CAVE@" +IlexForestName: db "ILEX¯FOREST@" +BurnedTowerName: db "BURNED¯TOWER@" +FastShipName: db "FAST SHIP@" +ViridianForestName: db "VIRIDIAN¯FOREST@" +DiglettsCaveName: db "DIGLETT's¯CAVE@" +TohjoFallsName: db "TOHJO FALLS@" +UndergroundName: db "UNDERGROUND@" +SpecialMapName: db "SPECIAL@" diff --git a/data/maps/map_data.asm b/data/maps/map_data.asm new file mode 100644 index 00000000..125f4474 --- /dev/null +++ b/data/maps/map_data.asm @@ -0,0 +1,14 @@ +INCLUDE "constants.asm" + + +SECTION "Maps", ROMX + +INCLUDE "data/maps/scenes.asm" +INCLUDE "data/maps/maps.asm" +INCLUDE "data/maps/attributes.asm" + + +INCLUDE "data/maps/blocks.asm" + + +INCLUDE "data/maps/scripts.asm" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 339becec..46155310 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -2,7 +2,7 @@ map: MACRO ;\1: map name: for the MapAttributes pointer (see data/maps/attributes.asm) ;\2: tileset: a TILESET_* constant ;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON -;\4: location: from constants/landmark_constants.asm +;\4: location: a LANDMARK_* constant ;\5: music: a MUSIC_* constant ;\6: phone service flag: TRUE to prevent phone calls ;\7: time of day: a PALETTE_* constant @@ -44,421 +44,421 @@ MapGroupPointers:: dw MapGroup_Cherrygrove ; 26 MapGroup_Olivine: - map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineTimsHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineHouseBeta, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineCafe, TILESET_GAME_CORNER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineMart, TILESET_MART, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route38EcruteakGate, TILESET_GATE, GATE, LANDMARK_ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route39Farmhouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route38, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route39, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivineCity, TILESET_JOHTO, TOWN, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Mahogany: - map MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_REMORAID - map MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route42EcruteakGate, TILESET_GATE, GATE, LANDMARK_ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route42, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route44, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_REMORAID + map MahoganyTown, TILESET_JOHTO, TOWN, LANDMARK_MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Dungeons: - map SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND - map RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND - map GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE - map SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE - map RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE - map RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE - map SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map SproutTower1F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SproutTower2F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SproutTower3F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower1F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower2F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower3F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower4F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower5F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower6F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower7F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower8F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower9F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BurnedTower1F, TILESET_TOWER, DUNGEON, LANDMARK_BURNED_TOWER, MUSIC_BURNED_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BurnedTowerB1F, TILESET_CAVE, CAVE, LANDMARK_BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map NationalPark, TILESET_PARK, ROUTE, LANDMARK_NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map NationalParkBugContest, TILESET_PARK, ROUTE, LANDMARK_NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map RadioTower1F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower2F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower3F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower4F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower5F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND + map RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map UnionCave1F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map UnionCaveB1F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map UnionCaveB2F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map SlowpokeWellB1F, TILESET_CAVE, CAVE, LANDMARK_SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map SlowpokeWellB2F, TILESET_CAVE, CAVE, LANDMARK_SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map IlexForest, TILESET_FOREST, CAVE, LANDMARK_ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND + map GoldenrodUnderground, TILESET_GATE, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortar1FInside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortar2FInside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortarB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map IcePath1F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB1F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB3F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map WhirlIslandNW, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandNE, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandSW, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandCave, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandSE, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map SilverCaveRoom2, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map SilverCaveRoom3, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE + map SilverCaveItemRooms, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, LANDMARK_DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, LANDMARK_DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map DragonsDen1F, TILESET_CAVE, CAVE, LANDMARK_DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map DragonsDenB1F, TILESET_JOHTO, CAVE, LANDMARK_DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map TohjoFalls, TILESET_CAVE, CAVE, LANDMARK_TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map DiglettsCave, TILESET_CAVE, CAVE, LANDMARK_DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map MountMoon, TILESET_CAVE, CAVE, LANDMARK_MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map UndergroundPath, TILESET_UNDERGROUND, GATE, LANDMARK_UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE + map RockTunnel1F, TILESET_DARK_CAVE, CAVE, LANDMARK_ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE + map RockTunnelB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE + map SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneBeta, TILESET_PARK, CAVE, LANDMARK_FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VictoryRoad, TILESET_CAVE, CAVE, LANDMARK_VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE MapGroup_Ecruteak: - map EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakMart, TILESET_MART, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakGym, TILESET_TOWER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakCity, TILESET_JOHTO, TOWN, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND MapGroup_Blackthorn: - map BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2 - map Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND + map BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornEmysHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornMart, TILESET_MART, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MoveDeletersHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route45, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2 + map Route46, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map BlackthornCity, TILESET_JOHTO, TOWN, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND MapGroup_Cinnabar: - map CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route19FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SeafoamGym, TILESET_CAVE, INDOOR, LANDMARK_SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route19, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route20, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route21, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CinnabarIsland, TILESET_KANTO, TOWN, LANDMARK_CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN MapGroup_Cerulean: - map CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPoliceStation, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanGym, TILESET_PORT, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanMart, TILESET_MART, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PowerPlant, TILESET_FACILITY, INDOOR, LANDMARK_POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BillsHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route4, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route9, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route10North, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route24, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route25, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map CeruleanCity, TILESET_KANTO, TOWN, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_LAKE MapGroup_Azalea: - map AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CharcoalKiln, TILESET_HOUSE, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map AzaleaMart, TILESET_MART, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route33, TILESET_JOHTO_MODERN, ROUTE, LANDMARK_ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map AzaleaTown, TILESET_JOHTO_MODERN, TOWN, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_LakeOfRage: - map LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND - map LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS + map LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43MahoganyGate, TILESET_GATE, GATE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND + map LakeOfRage, TILESET_JOHTO, TOWN, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS MapGroup_Violet: - map Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH - map Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND - map VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH + map Route35, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route36, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route37, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VioletCity, TILESET_JOHTO, TOWN, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map VioletMart, TILESET_MART, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map EarlsPokemonAcademy, TILESET_LAB, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32RuinsOfAlphGate, TILESET_GATE, GATE, LANDMARK_ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route35GoldenrodGate, TILESET_GATE, GATE, LANDMARK_ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route35NationalParkGate, TILESET_GATE, INDOOR, LANDMARK_ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route36RuinsOfAlphGate, TILESET_GATE, GATE, LANDMARK_ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route36NationalParkGate, TILESET_GATE, INDOOR, LANDMARK_ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Goldenrod: - map Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BillsFamilysHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route34, TILESET_JOHTO_MODERN, ROUTE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BillsFamilysHouse, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodNameRater, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore1F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore2F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore3F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore4F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore5F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore6F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map IlexForestAzaleaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route34IlexForestGate, TILESET_GATE, GATE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DayCare, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Vermilion: - map Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route6, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route11, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VermilionCity, TILESET_KANTO, TOWN, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PokemonFanClub, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionMart, TILESET_MART, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionGym, TILESET_GAME_CORNER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route6SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route6UndergroundPathEntrance, TILESET_GATE, GATE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Pallet: - map Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route1, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PalletTown, TILESET_KANTO, TOWN, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BluesHouse, TILESET_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OaksLab, TILESET_LAB, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Pewter: - map Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route3, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PewterCity, TILESET_KANTO, TOWN, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterGym, TILESET_TOWER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map PewterMart, TILESET_MART, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_FastShip: - map OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivinePort, TILESET_PORT, ROUTE, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map VermilionPort, TILESET_PORT, ROUTE, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map FastShip1F, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MountMoonSquare, TILESET_KANTO, ROUTE, LANDMARK_MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTowerRoof, TILESET_TOWER, ROUTE, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Indigo: - map Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route23, TILESET_KANTO, TOWN, LANDMARK_ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map HallOfFame, TILESET_ICE_PATH, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Fuchsia: - map Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM - map Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS - map FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BillsBrothersHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route13, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM + map Route14, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route15, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route18, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map FuchsiaCity, TILESET_KANTO, TOWN, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS + map FuchsiaMart, TILESET_MART, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaGym, TILESET_LAB, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BillsBrothersHouse, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route15FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Lavender: - map Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM - map Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route8, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route12, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM + map Route10South, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map LavenderTown, TILESET_KANTO, TOWN, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrFujisHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderNameRater, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderMart, TILESET_MART, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SoulHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route8SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Silver: - map Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND - map SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND - map SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route28SteelWingHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route28, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND + map SilverCaveOutside, TILESET_KANTO, TOWN, LANDMARK_SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND + map SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route28SteelWingHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_CableClub: - map Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Pokecenter2F, TILESET_POKECENTER, INDOOR, LANDMARK_SPECIAL, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TradeCenter, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Colosseum, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TimeCapsule, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Celadon: - map Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE - map CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE - map CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route7, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route16, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route17, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map CeladonCity, TILESET_KANTO, TOWN, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map CeladonDeptStore1F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore2F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore3F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore4F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore5F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore6F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStoreElevator, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion1F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion2F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion3F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansionRoof, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGym, TILESET_TRAIN_STATION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonCafe, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route16Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route7SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route17Route18Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Cianwood: - map Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route40, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route41, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CianwoodCity, TILESET_JOHTO, TOWN, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map ManiasHouse, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodGym, TILESET_TOWER, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPharmacy, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Viridian: - map Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND - map ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND - map ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route2NuggetHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route22, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND + map ViridianCity, TILESET_KANTO, TOWN, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map ViridianGym, TILESET_TRAIN_STATION, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TrainerHouse1F, TILESET_HOUSE, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TrainerHouseB1F, TILESET_FACILITY, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianMart, TILESET_MART, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2NuggetHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VictoryRoadGate, TILESET_GATE, GATE, LANDMARK_ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_NewBark: - map Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route26HealHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route26, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route27, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route29, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map NewBarkTown, TILESET_JOHTO, TOWN, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map ElmsLab, TILESET_LAB, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route26HealHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route27SandstormHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route29Route46Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Saffron: - map Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map SaffronCity, TILESET_KANTO, TOWN, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map FightingDojo, TILESET_TRAIN_STATION, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronGym, TILESET_UNDERGROUND, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronMart, TILESET_MART, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrPsychicsHouse, TILESET_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SilphCo1F, TILESET_FACILITY, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5UndergroundPathEntrance, TILESET_GATE, GATE, LANDMARK_ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Cherrygrove: - map Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND - map CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route30BerryHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route30, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route31, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND + map CherrygroveCity, TILESET_JOHTO, TOWN, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map CherrygroveMart, TILESET_MART, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GuideGentsHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route30BerryHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrPokemonsHouse, TILESET_FACILITY, INDOOR, LANDMARK_ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route31VioletGate, TILESET_GATE, GATE, LANDMARK_ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm new file mode 100644 index 00000000..160ca804 --- /dev/null +++ b/data/maps/outdoor_sprites.asm @@ -0,0 +1,369 @@ +; Valid sprite IDs for each map group. +; Maps with environment ROUTE or TOWN can only use these sprites. + +OutdoorSprites: +; entries correspond to map groups + dw OlivineGroupSprites + dw MahoganyGroupSprites + dw DungeonsGroupSprites + dw EcruteakGroupSprites + dw BlackthornGroupSprites + dw CinnabarGroupSprites + dw CeruleanGroupSprites + dw AzaleaGroupSprites + dw LakeOfRageGroupSprites + dw VioletGroupSprites + dw GoldenrodGroupSprites + dw VermilionGroupSprites + dw PalletGroupSprites + dw PewterGroupSprites + dw FastShipGroupSprites + dw IndigoGroupSprites + dw FuchsiaGroupSprites + dw LavenderGroupSprites + dw SilverGroupSprites + dw CableClubGroupSprites + dw CeladonGroupSprites + dw CianwoodGroupSprites + dw ViridianGroupSprites + dw NewBarkGroupSprites + dw SaffronGroupSprites + dw CherrygroveGroupSprites + +PalletGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +ViridianGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +PewterGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CinnabarGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CeruleanGroupSprites: + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE + +SaffronGroupSprites: + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE + +CeladonGroupSprites: + db SPRITE_FISHER + db SPRITE_POLIWAG + db SPRITE_TEACHER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_BIKER + db SPRITE_SILVER + db SPRITE_BLUE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +LavenderGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +VermilionGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +FuchsiaGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +IndigoGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_BUENA + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_MACHOP + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_BOULDER + +NewBarkGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CherrygroveGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +SilverGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +VioletGroupSprites: + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +EcruteakGroupSprites: + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +AzaleaGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_TEACHER + db SPRITE_AZALEA_ROCKET + db SPRITE_LASS + db SPRITE_SILVER + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE + +GoldenrodGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_DAY_CARE_MON_1 + db SPRITE_COOLTRAINER_F + db SPRITE_ROCKET + db SPRITE_LASS + db SPRITE_DAY_CARE_MON_2 + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE + +CianwoodGroupSprites: + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_YOUNGSTER + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK + +OlivineGroupSprites: + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_YOUNGSTER + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK + +LakeOfRageGroupSprites: + db SPRITE_LANCE + db SPRITE_GRAMPS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_LASS + db SPRITE_YOUNGSTER + db SPRITE_GYARADOS + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +MahoganyGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +BlackthornGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +DungeonsGroupSprites: + db SPRITE_LASS + db SPRITE_POKEFAN_F + db SPRITE_TEACHER + db SPRITE_YOUNGSTER + db SPRITE_GROWLITHE + db SPRITE_POKEFAN_M + db SPRITE_ROCKER + db SPRITE_GAMEBOY_KID + db SPRITE_SCIENTIST + db SPRITE_POKE_BALL + db SPRITE_BOULDER + +FastShipGroupSprites: + db SPRITE_SAILOR + db SPRITE_FISHING_GURU + db SPRITE_GENTLEMAN + db SPRITE_SUPER_NERD + db SPRITE_HO_OH + db SPRITE_TEACHER + db SPRITE_COOLTRAINER_F + db SPRITE_YOUNGSTER + db SPRITE_FAIRY + db SPRITE_POKE_BALL + db SPRITE_ROCK + +CableClubGroupSprites: + db SPRITE_OAK + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_TWIN + db SPRITE_POKEFAN_M + db SPRITE_GRAMPS + db SPRITE_FAIRY + db SPRITE_SILVER + db SPRITE_FISHING_GURU + db SPRITE_POKE_BALL + db SPRITE_POKEDEX diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm new file mode 100644 index 00000000..13ce4dcd --- /dev/null +++ b/data/maps/scenes.asm @@ -0,0 +1,67 @@ +scene_var: MACRO +; map, variable + map_id \1 + dw \2 +ENDM + +MapScenes:: + scene_var POKECENTER_2F, wPokecenter2FSceneID + scene_var TRADE_CENTER, wTradeCenterSceneID + scene_var COLOSSEUM, wColosseumSceneID + scene_var TIME_CAPSULE, wTimeCapsuleSceneID + scene_var POWER_PLANT, wPowerPlantSceneID + scene_var CERULEAN_GYM, wCeruleanGymSceneID + scene_var ROUTE_25, wRoute25SceneID + scene_var TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID + scene_var VICTORY_ROAD_GATE, wVictoryRoadGateSceneID + scene_var SAFFRON_MAGNET_TRAIN_STATION, wSaffronMagnetTrainStationSceneID + scene_var ROUTE_16_GATE, wRoute16GateSceneID + scene_var ROUTE_17_ROUTE_18_GATE, wRoute17Route18GateSceneID + scene_var INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID + scene_var WILLS_ROOM, wWillsRoomSceneID + scene_var KOGAS_ROOM, wKogasRoomSceneID + scene_var BRUNOS_ROOM, wBrunosRoomSceneID + scene_var KARENS_ROOM, wKarensRoomSceneID + scene_var LANCES_ROOM, wLancesRoomSceneID + scene_var HALL_OF_FAME, wHallOfFameSceneID + scene_var ROUTE_27, wRoute27SceneID + scene_var NEW_BARK_TOWN, wNewBarkTownSceneID + scene_var ELMS_LAB, wElmsLabSceneID + scene_var PLAYERS_HOUSE_1F, wPlayersHouse1FSceneID + scene_var ROUTE_29, wRoute29SceneID + scene_var CHERRYGROVE_CITY, wCherrygroveCitySceneID + scene_var MR_POKEMONS_HOUSE, wMrPokemonsHouseSceneID + scene_var ROUTE_32, wRoute32SceneID + scene_var ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateSceneID + scene_var ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateSceneID + scene_var AZALEA_TOWN, wAzaleaTownSceneID + scene_var GOLDENROD_GYM, wGoldenrodGymSceneID + scene_var GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationSceneID + scene_var OLIVINE_CITY, wOlivineCitySceneID + scene_var ROUTE_34, wRoute34SceneID ; unused + scene_var ECRUTEAK_TIN_TOWER_ENTRANCE, wEcruteakTinTowerEntranceSceneID + scene_var ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FSceneID + scene_var MAHOGANY_TOWN, wMahoganyTownSceneID + scene_var ROUTE_43_GATE, wRoute43GateSceneID + scene_var MOUNT_MOON, wMountMoonSceneID + scene_var SPROUT_TOWER_3F, wSproutTower3FSceneID + scene_var BURNED_TOWER_1F, wBurnedTower1FSceneID + scene_var BURNED_TOWER_B1F, wBurnedTowerB1FSceneID + scene_var RADIO_TOWER_5F, wRadioTower5FSceneID + scene_var RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideSceneID + scene_var RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterSceneID + scene_var RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberSceneID + scene_var MAHOGANY_MART_1F, wMahoganyMart1FSceneID + scene_var TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FSceneID + scene_var TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FSceneID + scene_var TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FSceneID + scene_var GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID + scene_var SILVER_CAVE_ROOM_3, wSilverCaveRoom3SceneID ; unused + scene_var VICTORY_ROAD, wVictoryRoadSceneID + scene_var DRAGONS_DEN_B1F, wDragonsDenB1FSceneID + scene_var OLIVINE_PORT, wOlivinePortSceneID + scene_var VERMILION_PORT, wVermilionPortSceneID + scene_var FAST_SHIP_1F, wFastShip1FSceneID + scene_var FAST_SHIP_B1F, wFastShipB1FSceneID + scene_var MOUNT_MOON_SQUARE, wMountMoonSquareSceneID + db -1 ; end diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 160ef64e..54c71ab9 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -1,4 +1,5 @@ SECTION "Map Scripts 1", ROMX + INCLUDE "maps/SproutTower1F.asm" INCLUDE "maps/SproutTower2F.asm" INCLUDE "maps/SproutTower3F.asm" @@ -22,7 +23,9 @@ INCLUDE "maps/SafariZoneFuchsiaGateBeta.asm" INCLUDE "maps/SafariZoneBeta.asm" INCLUDE "maps/VictoryRoad.asm" + SECTION "Map Scripts 2", ROMX + INCLUDE "maps/NationalPark.asm" INCLUDE "maps/NationalParkBugContest.asm" INCLUDE "maps/RadioTower1F.asm" @@ -31,7 +34,9 @@ INCLUDE "maps/RadioTower3F.asm" INCLUDE "maps/RadioTower4F.asm" INCLUDE "maps/RadioTower5F.asm" + SECTION "Map Scripts 3", ROMX + INCLUDE "maps/RuinsOfAlphOutside.asm" INCLUDE "maps/RuinsOfAlphHoOhChamber.asm" INCLUDE "maps/RuinsOfAlphKabutoChamber.asm" @@ -51,14 +56,18 @@ INCLUDE "maps/OlivineLighthouse4F.asm" INCLUDE "maps/OlivineLighthouse5F.asm" INCLUDE "maps/OlivineLighthouse6F.asm" + SECTION "Map Scripts 4", ROMX + INCLUDE "maps/MahoganyMart1F.asm" INCLUDE "maps/TeamRocketBaseB1F.asm" INCLUDE "maps/TeamRocketBaseB2F.asm" INCLUDE "maps/TeamRocketBaseB3F.asm" INCLUDE "maps/IlexForest.asm" + SECTION "Map Scripts 5", ROMX + INCLUDE "maps/GoldenrodUnderground.asm" INCLUDE "maps/GoldenrodUndergroundSwitchRoomEntrances.asm" INCLUDE "maps/GoldenrodDeptStoreB1F.asm" @@ -73,7 +82,9 @@ INCLUDE "maps/IcePathB2FMahoganySide.asm" INCLUDE "maps/IcePathB2FBlackthornSide.asm" INCLUDE "maps/IcePathB3F.asm" + SECTION "Map Scripts 6", ROMX + INCLUDE "maps/WhirlIslandNW.asm" INCLUDE "maps/WhirlIslandNE.asm" INCLUDE "maps/WhirlIslandSW.asm" @@ -92,7 +103,9 @@ INCLUDE "maps/DragonsDen1F.asm" INCLUDE "maps/DragonsDenB1F.asm" INCLUDE "maps/TohjoFalls.asm" + SECTION "Map Scripts 7", ROMX + INCLUDE "maps/NewBarkTown.asm" INCLUDE "maps/CherrygroveCity.asm" INCLUDE "maps/VioletCity.asm" @@ -100,7 +113,9 @@ INCLUDE "maps/AzaleaTown.asm" INCLUDE "maps/CianwoodCity.asm" INCLUDE "maps/GoldenrodCity.asm" + SECTION "Map Scripts 8", ROMX + INCLUDE "maps/OlivineCity.asm" INCLUDE "maps/EcruteakCity.asm" INCLUDE "maps/MahoganyTown.asm" @@ -108,7 +123,9 @@ INCLUDE "maps/LakeOfRage.asm" INCLUDE "maps/BlackthornCity.asm" INCLUDE "maps/SilverCaveOutside.asm" + SECTION "Map Scripts 9", ROMX + INCLUDE "maps/Route26.asm" INCLUDE "maps/Route27.asm" INCLUDE "maps/Route28.asm" @@ -116,14 +133,18 @@ INCLUDE "maps/Route29.asm" INCLUDE "maps/Route30.asm" INCLUDE "maps/Route31.asm" + SECTION "Map Scripts 10", ROMX + INCLUDE "maps/Route32.asm" INCLUDE "maps/Route33.asm" INCLUDE "maps/Route34.asm" INCLUDE "maps/Route35.asm" INCLUDE "maps/Route36.asm" + SECTION "Map Scripts 11", ROMX + INCLUDE "maps/Route37.asm" INCLUDE "maps/Route38.asm" INCLUDE "maps/Route39.asm" @@ -131,7 +152,9 @@ INCLUDE "maps/Route40.asm" INCLUDE "maps/Route41.asm" INCLUDE "maps/Route42.asm" + SECTION "Map Scripts 12", ROMX + INCLUDE "maps/Route43.asm" INCLUDE "maps/Route44.asm" INCLUDE "maps/Route45.asm" @@ -139,7 +162,9 @@ INCLUDE "maps/Route46.asm" INCLUDE "maps/PewterCity.asm" INCLUDE "maps/Route2.asm" + SECTION "Map Scripts 13", ROMX + INCLUDE "maps/ViridianCity.asm" INCLUDE "maps/Route22.asm" INCLUDE "maps/Route1.asm" @@ -155,7 +180,9 @@ INCLUDE "maps/Route16.asm" INCLUDE "maps/CeladonCity.asm" INCLUDE "maps/Route7.asm" + SECTION "Map Scripts 14", ROMX + INCLUDE "maps/Route15.asm" INCLUDE "maps/Route14.asm" INCLUDE "maps/Route13.asm" @@ -168,7 +195,9 @@ INCLUDE "maps/SaffronCity.asm" INCLUDE "maps/Route5.asm" INCLUDE "maps/CeruleanCity.asm" + SECTION "Map Scripts 15", ROMX + INCLUDE "maps/Route9.asm" INCLUDE "maps/Route24.asm" INCLUDE "maps/Route25.asm" @@ -179,7 +208,9 @@ INCLUDE "maps/Route10North.asm" INCLUDE "maps/Route10South.asm" INCLUDE "maps/Route23.asm" + SECTION "Map Scripts 16", ROMX + INCLUDE "maps/OlivinePokecenter1F.asm" INCLUDE "maps/OlivineGym.asm" INCLUDE "maps/OlivineTimsHouse.asm" @@ -196,7 +227,9 @@ INCLUDE "maps/MahoganyGym.asm" INCLUDE "maps/MahoganyPokecenter1F.asm" INCLUDE "maps/Route42EcruteakGate.asm" + SECTION "Map Scripts 17", ROMX + INCLUDE "maps/EcruteakTinTowerEntrance.asm" INCLUDE "maps/WiseTriosRoom.asm" INCLUDE "maps/EcruteakPokecenter1F.asm" @@ -206,7 +239,9 @@ INCLUDE "maps/EcruteakMart.asm" INCLUDE "maps/EcruteakGym.asm" INCLUDE "maps/EcruteakItemfinderHouse.asm" + SECTION "Map Scripts 18", ROMX + INCLUDE "maps/BlackthornGym1F.asm" INCLUDE "maps/BlackthornGym2F.asm" INCLUDE "maps/BlackthornDragonSpeechHouse.asm" @@ -223,7 +258,9 @@ INCLUDE "maps/LakeOfRageMagikarpHouse.asm" INCLUDE "maps/Route43MahoganyGate.asm" INCLUDE "maps/Route43Gate.asm" + SECTION "Map Scripts 19", ROMX + INCLUDE "maps/CeruleanGymBadgeSpeechHouse.asm" INCLUDE "maps/CeruleanPoliceStation.asm" INCLUDE "maps/CeruleanTradeSpeechHouse.asm" @@ -236,14 +273,18 @@ INCLUDE "maps/Route10Pokecenter2FBeta.asm" INCLUDE "maps/PowerPlant.asm" INCLUDE "maps/BillsHouse.asm" + SECTION "Map Scripts 20", ROMX + INCLUDE "maps/AzaleaPokecenter1F.asm" INCLUDE "maps/CharcoalKiln.asm" INCLUDE "maps/AzaleaMart.asm" INCLUDE "maps/KurtsHouse.asm" INCLUDE "maps/AzaleaGym.asm" + SECTION "Map Scripts 21", ROMX + INCLUDE "maps/VioletMart.asm" INCLUDE "maps/VioletGym.asm" INCLUDE "maps/EarlsPokemonAcademy.asm" @@ -257,6 +298,7 @@ INCLUDE "maps/Route35NationalParkGate.asm" INCLUDE "maps/Route36RuinsOfAlphGate.asm" INCLUDE "maps/Route36NationalParkGate.asm" + SECTION "Map Scripts 22", ROMX INCLUDE "maps/GoldenrodGym.asm" @@ -280,7 +322,9 @@ INCLUDE "maps/IlexForestAzaleaGate.asm" INCLUDE "maps/Route34IlexForestGate.asm" INCLUDE "maps/DayCare.asm" + SECTION "Map Scripts 23", ROMX + INCLUDE "maps/VermilionFishingSpeechHouse.asm" INCLUDE "maps/VermilionPokecenter1F.asm" INCLUDE "maps/VermilionPokecenter2FBeta.asm" @@ -296,7 +340,9 @@ INCLUDE "maps/RedsHouse2F.asm" INCLUDE "maps/BluesHouse.asm" INCLUDE "maps/OaksLab.asm" + SECTION "Map Scripts 24", ROMX + INCLUDE "maps/PewterNidoranSpeechHouse.asm" INCLUDE "maps/PewterGym.asm" INCLUDE "maps/PewterMart.asm" @@ -311,7 +357,9 @@ INCLUDE "maps/KarensRoom.asm" INCLUDE "maps/LancesRoom.asm" INCLUDE "maps/HallOfFame.asm" + SECTION "Map Scripts 25", ROMX + INCLUDE "maps/OlivinePort.asm" INCLUDE "maps/VermilionPort.asm" INCLUDE "maps/FastShip1F.asm" @@ -325,7 +373,9 @@ INCLUDE "maps/MountMoonSquare.asm" INCLUDE "maps/MountMoonGiftShop.asm" INCLUDE "maps/TinTowerRoof.asm" + SECTION "Map Scripts 26", ROMX + INCLUDE "maps/FuchsiaMart.asm" INCLUDE "maps/SafariZoneMainOffice.asm" INCLUDE "maps/FuchsiaGym.asm" @@ -341,7 +391,9 @@ INCLUDE "maps/TradeCenter.asm" INCLUDE "maps/Colosseum.asm" INCLUDE "maps/TimeCapsule.asm" + SECTION "Map Scripts 27", ROMX + INCLUDE "maps/LavenderPokecenter1F.asm" INCLUDE "maps/LavenderPokecenter2FBeta.asm" INCLUDE "maps/MrFujisHouse.asm" @@ -359,7 +411,9 @@ INCLUDE "maps/CianwoodPharmacy.asm" INCLUDE "maps/CianwoodPhotoStudio.asm" INCLUDE "maps/CianwoodLugiaSpeechHouse.asm" + SECTION "Map Scripts 28", ROMX + INCLUDE "maps/CeladonDeptStore1F.asm" INCLUDE "maps/CeladonDeptStore2F.asm" INCLUDE "maps/CeladonDeptStore3F.asm" @@ -383,7 +437,9 @@ INCLUDE "maps/Route16Gate.asm" INCLUDE "maps/Route7SaffronGate.asm" INCLUDE "maps/Route17Route18Gate.asm" + SECTION "Map Scripts 29", ROMX + INCLUDE "maps/ViridianGym.asm" INCLUDE "maps/ViridianNicknameSpeechHouse.asm" INCLUDE "maps/TrainerHouse1F.asm" @@ -395,7 +451,9 @@ INCLUDE "maps/Route2NuggetHouse.asm" INCLUDE "maps/Route2Gate.asm" INCLUDE "maps/VictoryRoadGate.asm" + SECTION "Map Scripts 30", ROMX + INCLUDE "maps/ElmsLab.asm" INCLUDE "maps/PlayersHouse1F.asm" INCLUDE "maps/PlayersHouse2F.asm" @@ -406,7 +464,9 @@ INCLUDE "maps/DayOfWeekSiblingsHouse.asm" INCLUDE "maps/Route27SandstormHouse.asm" INCLUDE "maps/Route29Route46Gate.asm" + SECTION "Map Scripts 31", ROMX + INCLUDE "maps/FightingDojo.asm" INCLUDE "maps/SaffronGym.asm" INCLUDE "maps/SaffronMart.asm" @@ -421,7 +481,9 @@ INCLUDE "maps/Route5UndergroundPathEntrance.asm" INCLUDE "maps/Route5SaffronGate.asm" INCLUDE "maps/Route5CleanseTagHouse.asm" + SECTION "Map Scripts 32", ROMX + INCLUDE "maps/CherrygroveMart.asm" INCLUDE "maps/CherrygrovePokecenter1F.asm" INCLUDE "maps/CherrygroveGymSpeechHouse.asm" diff --git a/data/maps/setup_scripts.asm b/data/maps/setup_scripts.asm new file mode 100644 index 00000000..e4dbb927 --- /dev/null +++ b/data/maps/setup_scripts.asm @@ -0,0 +1,173 @@ +MapSetupScripts: +; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm) + dw MapSetupScript_Warp + dw MapSetupScript_Continue + dw MapSetupScript_ReloadMap + dw MapSetupScript_Teleport + dw MapSetupScript_Door + dw MapSetupScript_Fall + dw MapSetupScript_Connection + dw MapSetupScript_LinkReturn + dw MapSetupScript_Train + dw MapSetupScript_Submenu + dw MapSetupScript_BadWarp + +MapSetupScript_Teleport: + db map_fade_out_palettes + db map_reset_player_object_action + db map_jump_roam_mons +MapSetupScript_Warp: + db map_disable_lcd + db map_init_sound + db map_enter_spawn_point + db map_load_attributes + db map_handle_new + db map_spawn_player + db map_refresh_player_coords + db map_get_screen_coords + db map_load_block_data + db map_buffer_screen + db map_load_graphics + db map_load_time_of_day + db map_load_objects + db map_enable_lcd + db map_load_palettes + db map_spawn_in_facing_down + db map_refresh_sprites + db map_play_music_bike + db map_fade_in_music + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_end + +MapSetupScript_BadWarp: + db map_enter_spawn_point + db map_load_attributes + db map_handle_new + db map_spawn_player + db map_refresh_player_coords + db map_get_screen_coords + db map_load_block_data + db map_buffer_screen + db map_disable_lcd + db map_load_graphics + db map_load_time_of_day + db map_fade_out_music + db map_enable_lcd + db map_load_objects + db map_load_palettes + db map_spawn_in_facing_down + db map_refresh_sprites + db map_fade_to_music + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_end + +MapSetupScript_Connection: + db map_suspend_anims + db map_enter_connection + db map_load_attributes + db map_handle_new + db map_refresh_player_coords + db map_load_block_data + db map_load_tileset + db map_save_screen + db map_load_objects + db map_fade_to_music + db map_load_palettes + db map_apply_palettes + db map_load_wild_mon_data + db map_update_roam_mons + db map_activate_anims + db map_end + +MapSetupScript_Fall: + db map_reset_player_object_action +MapSetupScript_Door: + db map_fade_out_palettes +MapSetupScript_Train: + db map_enter_warp + db map_load_attributes + db map_get_warp_dest_coords + db map_handle_new + db map_refresh_player_coords + db map_load_block_data + db map_buffer_screen + db map_disable_lcd + db map_load_graphics + db map_load_time_of_day + db map_fade_out_music + db map_enable_lcd + db map_load_objects + db map_load_palettes + db map_refresh_sprites + db map_fade_to_music + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_update_roam_mons + db map_end + +MapSetupScript_ReloadMap: + db map_fade_music_and_palettes + db map_clear_bg_palettes + db map_disable_lcd + db map_init_sound + db map_load_block_data + db map_load_connection_block_data + db map_load_graphics + db map_load_time_of_day + db map_enable_lcd + db map_load_palettes + db map_refresh_sprites + db map_force_music + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_end + +MapSetupScript_LinkReturn: + db map_fade_music_and_palettes + db map_disable_lcd + db map_init_sound + db map_handle_new + db map_load_block_data + db map_buffer_screen + db map_load_graphics + db map_load_time_of_day + db map_enable_lcd + db map_load_palettes + db map_refresh_sprites + db map_play_music_bike + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_enable_text_acceleration + db map_end + +MapSetupScript_Continue: + db map_disable_lcd + db map_init_sound + db map_load_attributes_no_objects + db map_get_screen_coords + db map_handle_continue + db map_load_block_data + db map_load_connection_block_data + db map_buffer_screen + db map_load_graphics + db map_load_time_of_day + db map_enable_lcd + db map_load_palettes + db map_refresh_sprites + db map_play_music_bike + db map_fade_in_palettes + db map_activate_anims + db map_load_wild_mon_data + db map_end + +MapSetupScript_Submenu: + db map_load_block_data + db map_load_connection_block_data + db map_end diff --git a/data/maps/sgb_roof_pal_inds.asm b/data/maps/sgb_roof_pal_inds.asm new file mode 100644 index 00000000..a2620e19 --- /dev/null +++ b/data/maps/sgb_roof_pal_inds.asm @@ -0,0 +1,31 @@ +; Crystal does not support SGB, so this is unused. + +MapGroupRoofSGBPalInds: +; entries correspond to map groups + db PREDEFPAL_ROUTES + db PREDEFPAL_OLIVINE + db PREDEFPAL_MAHOGANY + db PREDEFPAL_DUNGEONS + db PREDEFPAL_ECRUTEAK + db PREDEFPAL_BLACKTHORN + db PREDEFPAL_CINNABAR + db PREDEFPAL_CERULEAN + db PREDEFPAL_AZALEA + db PREDEFPAL_LAKE_OF_RAGE + db PREDEFPAL_VIOLET + db PREDEFPAL_GOLDENROD + db PREDEFPAL_VERMILION + db PREDEFPAL_PALLET + db PREDEFPAL_PEWTER + db PREDEFPAL_VERMILION + db PREDEFPAL_INDIGO + db PREDEFPAL_FUCHSIA + db PREDEFPAL_LAVENDER + db PREDEFPAL_SILVER_CAVE + db PREDEFPAL_FUCHSIA + db PREDEFPAL_CELADON + db PREDEFPAL_CIANWOOD + db PREDEFPAL_VIRIDIAN + db PREDEFPAL_NEW_BARK + db PREDEFPAL_SAFFRON + db PREDEFPAL_CHERRYGROVE diff --git a/data/maps/spawn_points.asm b/data/maps/spawn_points.asm new file mode 100644 index 00000000..2d99fff7 --- /dev/null +++ b/data/maps/spawn_points.asm @@ -0,0 +1,41 @@ +spawn: MACRO +; map, x, y + map_id \1 + db \2, \3 +ENDM + +SpawnPoints: +; entries correspond to SPAWN_* constants + + spawn PLAYERS_HOUSE_2F, 3, 3 + spawn VIRIDIAN_POKECENTER_1F, 5, 3 + + spawn PALLET_TOWN, 5, 6 + spawn VIRIDIAN_CITY, 23, 26 + spawn PEWTER_CITY, 13, 26 + spawn CERULEAN_CITY, 19, 22 + spawn ROUTE_10_NORTH, 11, 2 + spawn VERMILION_CITY, 9, 6 + spawn LAVENDER_TOWN, 5, 6 + spawn SAFFRON_CITY, 9, 30 + spawn CELADON_CITY, 29, 10 + spawn FUCHSIA_CITY, 19, 28 + spawn CINNABAR_ISLAND, 11, 12 + spawn ROUTE_23, 9, 6 + + spawn NEW_BARK_TOWN, 13, 6 + spawn CHERRYGROVE_CITY, 29, 4 + spawn VIOLET_CITY, 31, 26 + spawn ROUTE_32, 11, 74 + spawn AZALEA_TOWN, 15, 10 + spawn CIANWOOD_CITY, 23, 44 + spawn GOLDENROD_CITY, 15, 28 + spawn OLIVINE_CITY, 13, 22 + spawn ECRUTEAK_CITY, 23, 28 + spawn MAHOGANY_TOWN, 15, 14 + spawn LAKE_OF_RAGE, 21, 29 + spawn BLACKTHORN_CITY, 21, 30 + spawn SILVER_CAVE_OUTSIDE, 23, 20 + spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 + + spawn N_A, -1, -1 diff --git a/data/mon_menu.asm b/data/mon_menu.asm new file mode 100644 index 00000000..f2b9f3ac --- /dev/null +++ b/data/mon_menu.asm @@ -0,0 +1,46 @@ +; MonMenuOptionStrings indexes + const_def 1 + const MONMENUVALUE_STATS ; 1 + const MONMENUVALUE_SWITCH ; 2 + const MONMENUVALUE_ITEM ; 3 + const MONMENUVALUE_CANCEL ; 4 + const MONMENUVALUE_MOVE ; 5 + const MONMENUVALUE_MAIL ; 6 + const MONMENUVALUE_ERROR ; 7 + +MonMenuOptionStrings: +; entries correspond to MONMENUVALUE_* constants + db "STATS@" + db "SWITCH@" + db "ITEM@" + db "CANCEL@" + db "MOVE@" + db "MAIL@" + db "ERROR!@" + +MonMenuOptions: +; category, item, value; actions are in PokemonActionSubmenu (see engine/pokemon/mon_menu.asm) +; moves + db MONMENU_FIELD_MOVE, MONMENUITEM_CUT, CUT + db MONMENU_FIELD_MOVE, MONMENUITEM_FLY, FLY + db MONMENU_FIELD_MOVE, MONMENUITEM_SURF, SURF + db MONMENU_FIELD_MOVE, MONMENUITEM_STRENGTH, STRENGTH + db MONMENU_FIELD_MOVE, MONMENUITEM_FLASH, FLASH + db MONMENU_FIELD_MOVE, MONMENUITEM_WATERFALL, WATERFALL + db MONMENU_FIELD_MOVE, MONMENUITEM_WHIRLPOOL, WHIRLPOOL + db MONMENU_FIELD_MOVE, MONMENUITEM_DIG, DIG + db MONMENU_FIELD_MOVE, MONMENUITEM_TELEPORT, TELEPORT + db MONMENU_FIELD_MOVE, MONMENUITEM_SOFTBOILED, SOFTBOILED + db MONMENU_FIELD_MOVE, MONMENUITEM_HEADBUTT, HEADBUTT + db MONMENU_FIELD_MOVE, MONMENUITEM_ROCKSMASH, ROCK_SMASH + db MONMENU_FIELD_MOVE, MONMENUITEM_MILKDRINK, MILK_DRINK + db MONMENU_FIELD_MOVE, MONMENUITEM_SWEETSCENT, SWEET_SCENT +; options + db MONMENU_MENUOPTION, MONMENUITEM_STATS, MONMENUVALUE_STATS + db MONMENU_MENUOPTION, MONMENUITEM_SWITCH, MONMENUVALUE_SWITCH + db MONMENU_MENUOPTION, MONMENUITEM_ITEM, MONMENUVALUE_ITEM + db MONMENU_MENUOPTION, MONMENUITEM_CANCEL, MONMENUVALUE_CANCEL + db MONMENU_MENUOPTION, MONMENUITEM_MOVE, MONMENUVALUE_MOVE + db MONMENU_MENUOPTION, MONMENUITEM_MAIL, MONMENUVALUE_MAIL + db MONMENU_MENUOPTION, MONMENUITEM_ERROR, MONMENUVALUE_ERROR + db -1 diff --git a/data/moves/animations.asm b/data/moves/animations.asm index badbf7ba..0e1033a6 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -481,7 +481,7 @@ BattleAnim_SendOutMon: BattleAnim_ReturnMon: anim_sound 0, 0, SFX_BALL_POOF -BattleAnim_BatonPass_branch_c9486: +.anim: anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 anim_wait 32 anim_ret @@ -679,7 +679,7 @@ BattleAnim_KarateChop: BattleAnim_Doubleslap: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_DOUBLESLAP anim_obj ANIM_OBJ_08, 144, 48, $0 anim_wait 6 @@ -687,7 +687,7 @@ BattleAnim_Doubleslap: anim_wait 8 anim_ret -BattleAnim_Doubleslap_branch_c961b: +.alternate: anim_sound 0, 1, SFX_DOUBLESLAP anim_obj ANIM_OBJ_08, 120, 48, $0 anim_wait 6 @@ -697,7 +697,7 @@ BattleAnim_Doubleslap_branch_c961b: BattleAnim_CometPunch: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_06, 144, 48, $0 anim_wait 6 @@ -705,7 +705,7 @@ BattleAnim_CometPunch: anim_wait 8 anim_ret -BattleAnim_CometPunch_branch_c9641: +.alternate: anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_06, 120, 64, $0 anim_wait 6 @@ -713,7 +713,6 @@ BattleAnim_CometPunch_branch_c9641: anim_wait 8 anim_ret -BattleAnim_Bide_branch_c9651: BattleAnim_MegaPunch: anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $40, $2, $0 @@ -750,7 +749,7 @@ BattleAnim_Stomp: BattleAnim_DoubleKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 144, 48, $0 anim_wait 6 @@ -758,7 +757,7 @@ BattleAnim_DoubleKick: anim_wait 8 anim_ret -BattleAnim_DoubleKick_branch_c96bd: +.alternate: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 120, 64, $0 anim_wait 6 @@ -768,7 +767,7 @@ BattleAnim_DoubleKick_branch_c96bd: BattleAnim_JumpKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_JUMP_KICK anim_obj ANIM_OBJ_07, 112, 72, $0 anim_obj ANIM_OBJ_07, 100, 60, $0 @@ -780,7 +779,7 @@ BattleAnim_JumpKick: anim_wait 16 anim_ret -BattleAnim_JumpKick_branch_c96f1: +.alternate: anim_wait 8 anim_sound 0, 0, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_04, 44, 88, $0 @@ -790,7 +789,7 @@ BattleAnim_JumpKick_branch_c96f1: BattleAnim_HiJumpKick: anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e + anim_if_param_equal $1, .alternate anim_wait 32 anim_sound 0, 1, SFX_JUMP_KICK anim_obj ANIM_OBJ_07, 112, 72, $0 @@ -801,7 +800,7 @@ BattleAnim_HiJumpKick: anim_wait 16 anim_ret -BattleAnim_HiJumpKick_branch_c971e: +.alternate: anim_wait 16 anim_sound 0, 0, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_04, 44, 88, $0 @@ -882,7 +881,7 @@ BattleAnim_Ember: BattleAnim_FirePunch: anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE anim_obj ANIM_OBJ_0A, 136, 56, $43 - anim_call BattleAnim_FirePunch_branch_cbbcc + anim_call BattleAnimSub_Fire anim_wait 16 anim_ret @@ -978,7 +977,7 @@ BattleAnim_FireBlast: BattleAnim_IcePunch: anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE anim_obj ANIM_OBJ_0A, 136, 56, $43 - anim_call BattleAnim_IcePunch_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 32 anim_ret @@ -1231,7 +1230,7 @@ BattleAnim_Solarbeam: .FireSolarBeam anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Solarbeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_ret @@ -1291,7 +1290,7 @@ BattleAnim_Thunder: anim_ret BattleAnim_RazorWind: - anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_WHIP anim_bgeffect ANIM_BG_06, $0, $1, $0 .loop @@ -1357,12 +1356,12 @@ BattleAnim_Selfdestruct: anim_1gfx ANIM_GFX_EXPLOSION anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 anim_if_param_equal $1, .loop - anim_call BattleAnim_Selfdestruct_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret .loop - anim_call BattleAnim_Selfdestruct_branch_cbb62 + anim_call BattleAnimSub_Explosion1 anim_wait 5 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_loop 2, .loop @@ -1374,12 +1373,12 @@ BattleAnim_Explosion: anim_bgeffect ANIM_BG_1F, $60, $4, $10 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 anim_if_param_equal $1, .loop - anim_call BattleAnim_Explosion_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret .loop - anim_call BattleAnim_Explosion_branch_cbb62 + anim_call BattleAnimSub_Explosion1 anim_wait 5 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_loop 2, .loop @@ -1388,7 +1387,7 @@ BattleAnim_Explosion: BattleAnim_Acid: anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Acid_branch_cbc35 + anim_call BattleAnimSub_Acid anim_wait 64 anim_ret @@ -1483,7 +1482,7 @@ BattleAnim_HyperBeam: anim_bgeffect ANIM_BG_1F, $30, $4, $10 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_HyperBeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_ret @@ -1492,7 +1491,7 @@ BattleAnim_AuroraBeam: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 anim_wait 64 - anim_call BattleAnim_AuroraBeam_branch_cbb39 + anim_call BattleAnimSub_Beam anim_wait 48 anim_incobj 5 anim_wait 64 @@ -1517,7 +1516,7 @@ BattleAnim_Scratch: BattleAnim_FurySwipes: anim_1gfx ANIM_GFX_CUT - anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9 + anim_if_param_equal $1, .alternate anim_sound 0, 1, SFX_SCRATCH anim_obj ANIM_OBJ_37, 144, 48, $0 anim_obj ANIM_OBJ_37, 140, 44, $0 @@ -1526,7 +1525,7 @@ BattleAnim_FurySwipes: anim_wait 32 anim_ret -BattleAnim_FurySwipes_branch_c9dd9: +.alternate: anim_sound 0, 1, SFX_SCRATCH anim_obj ANIM_OBJ_38, 120, 48, $0 anim_obj ANIM_OBJ_38, 124, 44, $0 @@ -1586,27 +1585,27 @@ BattleAnim_Teleport: anim_incbgeffect ANIM_BG_TELEPORT anim_call BattleAnim_ShowMon_0 anim_bgeffect ANIM_BG_06, $0, $1, $0 - anim_call BattleAnim_Teleport_branch_cbb12 + anim_call BattleAnimSub_WarpAway anim_wait 64 anim_ret BattleAnim_Fly: - anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89 - anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82 + anim_if_param_equal $1, .turn1 + anim_if_param_equal $2, .miss anim_1gfx ANIM_GFX_HIT anim_sound 0, 1, SFX_WING_ATTACK anim_obj ANIM_OBJ_01, 136, 56, $0 anim_wait 32 -BattleAnim_Fly_branch_c9e82: +.miss: anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 anim_wait 32 anim_ret -BattleAnim_Fly_branch_c9e89: +.turn1: anim_1gfx ANIM_GFX_SPEED anim_bgeffect ANIM_BG_06, $0, $1, $0 anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_call BattleAnim_Fly_branch_cbb12 + anim_call BattleAnimSub_WarpAway anim_wait 64 anim_ret @@ -1726,9 +1725,6 @@ BattleAnim_Softboiled: anim_ret BattleAnim_FocusEnergy: -BattleAnim_RazorWind_branch_c9fb5: -BattleAnim_SkullBash_branch_c9fb5: -BattleAnim_SkyAttack_branch_c9fb5: anim_1gfx ANIM_GFX_SPEED anim_call BattleAnim_TargetObj_1Row anim_bgeffect ANIM_BG_16, $0, $1, $40 @@ -1756,7 +1752,7 @@ BattleAnim_SkyAttack_branch_c9fb5: anim_ret BattleAnim_Bide: - anim_if_param_equal $0, BattleAnim_Bide_branch_c9651 + anim_if_param_equal $0, BattleAnim_MegaPunch anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_TargetObj_1Row anim_sound 0, 0, SFX_ESCAPE_ROPE @@ -1844,7 +1840,7 @@ BattleAnim_Growl: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_cry $0 .loop - anim_call BattleAnim_Growl_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 3, .loop anim_wait 9 @@ -1865,7 +1861,7 @@ BattleAnim_Roar: anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_cry $1 .loop - anim_call BattleAnim_Roar_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 3, .loop anim_wait 16 @@ -1919,7 +1915,7 @@ BattleAnim_ConfuseRay: BattleAnim_Leer: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Leer_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 16 anim_ret @@ -2045,7 +2041,7 @@ BattleAnim_Dig: BattleAnim_SandAttack: anim_1gfx ANIM_GFX_SAND - anim_call BattleAnim_SandAttack_branch_cbc5b + anim_call BattleAnimSub_SandOrMud anim_ret BattleAnim_StringShot: @@ -2350,7 +2346,7 @@ BattleAnim_Transform: anim_call BattleAnim_TargetObj_2Row anim_sound 0, 0, SFX_PSYBEAM anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 + anim_wait 48 anim_transform anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 @@ -2451,7 +2447,7 @@ BattleAnim_Crabhammer: anim_ret BattleAnim_SkullBash: - anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_HIT anim_bgeffect ANIM_BG_1F, $14, $2, $0 anim_wait 32 @@ -2551,9 +2547,9 @@ BattleAnim_Flash: BattleAnim_Substitute: anim_sound 0, 0, SFX_SURF - anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c - anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e - anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760 + anim_if_param_equal $3, .dropsub2 + anim_if_param_equal $2, .raisesub + anim_if_param_equal $1, .dropsub anim_1gfx ANIM_GFX_SMOKE anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 @@ -2563,7 +2559,7 @@ BattleAnim_Substitute: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca760: +.dropsub: anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 anim_dropsub @@ -2571,7 +2567,7 @@ BattleAnim_Substitute_branch_ca760: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca76e: +.raisesub: anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 48 anim_raisesub @@ -2579,7 +2575,7 @@ BattleAnim_Substitute_branch_ca76e: anim_wait 32 anim_ret -BattleAnim_Substitute_branch_ca77c: +.dropsub2: anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 anim_wait 48 anim_dropsub @@ -2592,7 +2588,7 @@ BattleAnim_Minimize: anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_TargetObj_2Row anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 + anim_wait 48 anim_minimizeopp anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 @@ -2600,7 +2596,7 @@ BattleAnim_Minimize: anim_ret BattleAnim_SkyAttack: - anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5 + anim_if_param_equal $1, BattleAnim_FocusEnergy anim_1gfx ANIM_GFX_SKY_ATTACK anim_bgeffect ANIM_BG_26, $0, $1, $0 anim_wait 32 @@ -2640,9 +2636,9 @@ BattleAnim_Lick: BattleAnim_TriAttack: anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING - anim_call BattleAnim_TriAttack_branch_cbbcc + anim_call BattleAnimSub_Fire anim_wait 16 - anim_call BattleAnim_TriAttack_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 16 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4 anim_sound 0, 1, SFX_THUNDER @@ -2681,7 +2677,7 @@ BattleAnim_DreamEater: anim_bgp $1b anim_obp0 $27 anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_DreamEater_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 128 anim_wait 48 anim_ret @@ -2689,7 +2685,7 @@ BattleAnim_DreamEater: BattleAnim_LeechLife: anim_1gfx ANIM_GFX_BUBBLE anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_LeechLife_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 128 anim_wait 48 anim_ret @@ -2698,7 +2694,7 @@ BattleAnim_Harden: anim_1gfx ANIM_GFX_REFLECT anim_obp0 $0 anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_Harden_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_ret @@ -2725,7 +2721,7 @@ BattleAnim_Glare: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Glare_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 16 anim_ret @@ -2985,16 +2981,16 @@ BattleAnim_PsychicM: BattleAnim_Sludge: anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Sludge_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 56 anim_ret BattleAnim_Toxic: anim_1gfx ANIM_GFX_POISON anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 - anim_call BattleAnim_Toxic_branch_cbc35 + anim_call BattleAnimSub_Acid anim_wait 32 - anim_call BattleAnim_Toxic_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 64 anim_ret @@ -3116,8 +3112,8 @@ BattleAnim_Sketch: BattleAnim_TripleKick: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95 - anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5 + anim_if_param_equal $1, .alternate1 + anim_if_param_equal $2, .alternate2 anim_sound 0, 1, SFX_MEGA_KICK anim_obj ANIM_OBJ_07, 144, 48, $0 anim_wait 6 @@ -3125,7 +3121,7 @@ BattleAnim_TripleKick: anim_wait 8 anim_ret -BattleAnim_TripleKick_branch_cac95: +.alternate1: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 120, 64, $0 anim_wait 6 @@ -3133,7 +3129,7 @@ BattleAnim_TripleKick_branch_cac95: anim_wait 8 anim_ret -BattleAnim_TripleKick_branch_caca5: +.alternate2: anim_sound 0, 1, SFX_DOUBLE_KICK anim_obj ANIM_OBJ_07, 132, 32, $0 anim_wait 6 @@ -3223,7 +3219,7 @@ BattleAnim_Snore: anim_bgeffect ANIM_BG_1F, $60, $2, $0 anim_sound 0, 0, SFX_SNORE .loop - anim_call BattleAnim_Snore_branch_cbbbc + anim_call BattleAnimSub_Sound anim_wait 16 anim_loop 2, .loop anim_wait 8 @@ -3380,7 +3376,7 @@ BattleAnim_PowderSnow: anim_loop 2, .loop anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 anim_wait 40 - anim_call BattleAnim_PowderSnow_branch_cbbdf + anim_call BattleAnimSub_Ice anim_wait 32 anim_ret @@ -3420,7 +3416,7 @@ BattleAnim_ScaryFace: anim_1gfx ANIM_GFX_BEAM anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_ScaryFace_branch_cbadc + anim_call BattleAnimSub_ShakeEnemy anim_wait 64 anim_ret @@ -3501,14 +3497,14 @@ BattleAnim_SludgeBomb: anim_sound 6, 2, SFX_SLUDGE_BOMB anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10 anim_wait 36 - anim_call BattleAnim_SludgeBomb_branch_cbc15 + anim_call BattleAnimSub_Sludge anim_wait 64 anim_ret BattleAnim_MudSlap: anim_1gfx ANIM_GFX_SAND anim_obp0 $fc - anim_call BattleAnim_MudSlap_branch_cbc5b + anim_call BattleAnimSub_SandOrMud anim_ret BattleAnim_Octazooka: @@ -3572,13 +3568,13 @@ BattleAnim_DestinyBond: anim_1gfx ANIM_GFX_ANGELS anim_bgp $1b anim_obp0 $0 - anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104 + anim_if_param_equal $1, .fainted anim_sound 6, 2, SFX_WHIRLWIND anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2 anim_wait 128 anim_ret -BattleAnim_DestinyBond_branch_cb104: +.fainted: anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0 anim_sound 0, 1, SFX_KINESIS anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 @@ -3701,7 +3697,7 @@ BattleAnim_GigaDrain: anim_call BattleAnim_TargetObj_1Row anim_bgeffect ANIM_BG_1C, $0, $0, $10 anim_sound 6, 3, SFX_GIGA_DRAIN - anim_call BattleAnim_GigaDrain_branch_cbab3 + anim_call BattleAnimSub_Drain anim_wait 48 anim_wait 128 anim_incbgeffect ANIM_BG_1C @@ -3858,7 +3854,7 @@ BattleAnim_SteelWing: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_SteelWing_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_1gfx ANIM_GFX_HIT anim_resetobp0 @@ -3967,7 +3963,7 @@ BattleAnim_Present: anim_1gfx ANIM_GFX_EXPLOSION anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 .loop - anim_call BattleAnim_Present_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_jumpuntil .loop anim_ret @@ -4078,7 +4074,7 @@ BattleAnim_Dynamicpunch: anim_obj ANIM_OBJ_0A, 136, 56, $43 anim_wait 16 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 - anim_call BattleAnim_Dynamicpunch_branch_cbb8f + anim_call BattleAnimSub_Explosion2 anim_wait 16 anim_ret @@ -4108,7 +4104,7 @@ BattleAnim_BatonPass: anim_1gfx ANIM_GFX_MISC anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20 anim_sound 0, 0, SFX_BATON_PASS - anim_call BattleAnim_BatonPass_branch_c9486 + anim_call BattleAnim_ReturnMon.anim anim_wait 64 anim_ret @@ -4126,13 +4122,13 @@ BattleAnim_Encore: BattleAnim_Pursuit: anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b + anim_if_param_equal $1, .pursued anim_sound 0, 1, SFX_COMET_PUNCH anim_obj ANIM_OBJ_01, 136, 56, $0 anim_wait 16 anim_ret -BattleAnim_Pursuit_branch_cb62b: +.pursued: anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 anim_wait 4 anim_call BattleAnim_UserObj_1Row @@ -4194,7 +4190,7 @@ BattleAnim_IronTail: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_IronTail_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_wait 4 anim_1gfx ANIM_GFX_HIT anim_resetobp0 @@ -4212,7 +4208,7 @@ BattleAnim_MetalClaw: anim_obp0 $0 anim_sound 0, 0, SFX_RAGE anim_call BattleAnim_TargetObj_1Row - anim_call BattleAnim_MetalClaw_branch_cbc43 + anim_call BattleAnimSub_Metallic anim_call BattleAnim_ShowMon_0 anim_1gfx ANIM_GFX_CUT anim_resetobp0 @@ -4255,11 +4251,11 @@ BattleAnim_MorningSun: anim_loop 5, .loop anim_wait 32 anim_if_param_equal 0, .zero - anim_call BattleAnim_MorningSun_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .zero - anim_call BattleAnim_MorningSun_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_Synthesis: @@ -4272,11 +4268,11 @@ BattleAnim_Synthesis: anim_incbgeffect ANIM_BG_18 anim_call BattleAnim_ShowMon_0 anim_if_param_equal $1, .one - anim_call BattleAnim_Synthesis_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .one - anim_call BattleAnim_Synthesis_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_Crunch: @@ -4308,11 +4304,11 @@ BattleAnim_Moonlight: anim_sound 0, 0, SFX_MOONLIGHT anim_wait 63 anim_if_param_equal $3, .three - anim_call BattleAnim_Moonlight_branch_cbc6a + anim_call BattleAnimSub_Glimmer anim_ret .three - anim_call BattleAnim_Moonlight_branch_cbc80 + anim_call BattleAnimSub_Glimmer2 anim_ret BattleAnim_HiddenPower: @@ -4596,9 +4592,7 @@ BattleAnim_BeatUp: anim_call BattleAnim_ShowMon_0 anim_ret -BattleAnim_DreamEater_branch_cbab3: -BattleAnim_GigaDrain_branch_cbab3: -BattleAnim_LeechLife_branch_cbab3: +BattleAnimSub_Drain: anim_obj ANIM_OBJ_71, 132, 44, $0 anim_obj ANIM_OBJ_71, 132, 44, $8 anim_obj ANIM_OBJ_71, 132, 44, $10 @@ -4609,9 +4603,7 @@ BattleAnim_LeechLife_branch_cbab3: anim_obj ANIM_OBJ_71, 132, 44, $38 anim_ret -BattleAnim_Glare_branch_cbadc: -BattleAnim_Leer_branch_cbadc: -BattleAnim_ScaryFace_branch_cbadc: +BattleAnimSub_ShakeEnemy: anim_sound 6, 2, SFX_LEER anim_obj ANIM_OBJ_4E, 72, 84, $0 anim_obj ANIM_OBJ_4E, 64, 80, $0 @@ -4625,8 +4617,7 @@ BattleAnim_ScaryFace_branch_cbadc: anim_obj ANIM_OBJ_4F, 122, 50, $0 anim_ret -BattleAnim_Fly_branch_cbb12: -BattleAnim_Teleport_branch_cbb12: +BattleAnimSub_WarpAway: anim_sound 0, 0, SFX_WARP_TO anim_obj ANIM_OBJ_44, 44, 108, $0 anim_obj ANIM_OBJ_44, 44, 100, $0 @@ -4637,9 +4628,7 @@ BattleAnim_Teleport_branch_cbb12: anim_obj ANIM_OBJ_44, 44, 60, $0 anim_ret -BattleAnim_AuroraBeam_branch_cbb39: -BattleAnim_HyperBeam_branch_cbb39: -BattleAnim_Solarbeam_branch_cbb39: +BattleAnimSub_Beam: anim_sound 0, 0, SFX_HYPER_BEAM anim_obj ANIM_OBJ_27, 64, 92, $0 anim_wait 4 @@ -4654,8 +4643,7 @@ BattleAnim_Solarbeam_branch_cbb39: anim_obj ANIM_OBJ_28, 126, 62, $0 anim_ret -BattleAnim_Explosion_branch_cbb62: -BattleAnim_Selfdestruct_branch_cbb62: +BattleAnimSub_Explosion1: anim_sound 0, 0, SFX_EGG_BOMB anim_obj ANIM_OBJ_17, 24, 64, $0 anim_wait 5 @@ -4672,10 +4660,7 @@ BattleAnim_Selfdestruct_branch_cbb62: anim_obj ANIM_OBJ_17, 40, 84, $0 anim_ret -BattleAnim_Dynamicpunch_branch_cbb8f: -BattleAnim_Explosion_branch_cbb8f: -BattleAnim_Present_branch_cbb8f: -BattleAnim_Selfdestruct_branch_cbb8f: +BattleAnimSub_Explosion2: anim_sound 0, 1, SFX_EGG_BOMB anim_obj ANIM_OBJ_17, 148, 32, $0 anim_wait 5 @@ -4692,16 +4677,13 @@ BattleAnim_Selfdestruct_branch_cbb8f: anim_obj ANIM_OBJ_17, 132, 52, $0 anim_ret -BattleAnim_Growl_branch_cbbbc: -BattleAnim_Roar_branch_cbbbc: -BattleAnim_Snore_branch_cbbbc: +BattleAnimSub_Sound: anim_obj ANIM_OBJ_4B, 64, 76, $0 anim_obj ANIM_OBJ_4B, 64, 88, $1 anim_obj ANIM_OBJ_4B, 64, 100, $2 anim_ret -BattleAnim_FirePunch_branch_cbbcc: -BattleAnim_TriAttack_branch_cbbcc: +BattleAnimSub_Fire: anim_sound 0, 1, SFX_EMBER .loop anim_obj ANIM_OBJ_BURNED, 136, 56, $10 @@ -4710,9 +4692,7 @@ BattleAnim_TriAttack_branch_cbbcc: anim_loop 4, .loop anim_ret -BattleAnim_IcePunch_branch_cbbdf: -BattleAnim_PowderSnow_branch_cbbdf: -BattleAnim_TriAttack_branch_cbbdf: +BattleAnimSub_Ice: anim_sound 0, 1, SFX_SHINE anim_obj ANIM_OBJ_12, 128, 42, $0 anim_wait 6 @@ -4732,9 +4712,7 @@ BattleAnim_TriAttack_branch_cbbdf: anim_obj ANIM_OBJ_12, 128, 70, $0 anim_ret -BattleAnim_SludgeBomb_branch_cbc15: -BattleAnim_Sludge_branch_cbc15: -BattleAnim_Toxic_branch_cbc15: +BattleAnimSub_Sludge: .loop anim_sound 0, 1, SFX_TOXIC anim_obj ANIM_OBJ_1A, 132, 72, $0 @@ -4748,8 +4726,7 @@ BattleAnim_Toxic_branch_cbc15: anim_loop 5, .loop anim_ret -BattleAnim_Acid_branch_cbc35: -BattleAnim_Toxic_branch_cbc35: +BattleAnimSub_Acid: .loop anim_sound 6, 2, SFX_BUBBLEBEAM anim_obj ANIM_OBJ_19, 64, 92, $10 @@ -4757,10 +4734,7 @@ BattleAnim_Toxic_branch_cbc35: anim_loop 8, .loop anim_ret -BattleAnim_Harden_branch_cbc43: -BattleAnim_IronTail_branch_cbc43: -BattleAnim_MetalClaw_branch_cbc43: -BattleAnim_SteelWing_branch_cbc43: +BattleAnimSub_Metallic: anim_sound 0, 0, SFX_SHINE anim_bgeffect ANIM_BG_17, $0, $1, $40 anim_wait 8 @@ -4771,8 +4745,7 @@ BattleAnim_SteelWing_branch_cbc43: anim_incbgeffect ANIM_BG_17 anim_ret -BattleAnim_MudSlap_branch_cbc5b: -BattleAnim_SandAttack_branch_cbc5b: +BattleAnimSub_SandOrMud: .loop anim_sound 6, 2, SFX_MENU anim_obj ANIM_OBJ_58, 64, 92, $4 @@ -4781,9 +4754,7 @@ BattleAnim_SandAttack_branch_cbc5b: anim_wait 32 anim_ret -BattleAnim_Moonlight_branch_cbc6a: -BattleAnim_MorningSun_branch_cbc6a: -BattleAnim_Synthesis_branch_cbc6a: +BattleAnimSub_Glimmer: anim_sound 0, 0, SFX_METRONOME anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0 anim_wait 5 @@ -4793,9 +4764,7 @@ BattleAnim_Synthesis_branch_cbc6a: anim_wait 21 anim_ret -BattleAnim_Moonlight_branch_cbc80: -BattleAnim_MorningSun_branch_cbc80: -BattleAnim_Synthesis_branch_cbc80: +BattleAnimSub_Glimmer2: anim_sound 0, 0, SFX_METRONOME .loop anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0 diff --git a/data/moves/critical_hit_moves.asm b/data/moves/critical_hit_moves.asm new file mode 100644 index 00000000..4a473057 --- /dev/null +++ b/data/moves/critical_hit_moves.asm @@ -0,0 +1,9 @@ +CriticalHitMoves: + db KARATE_CHOP + db RAZOR_WIND + db RAZOR_LEAF + db CRABHAMMER + db SLASH + db AEROBLAST + db CROSS_CHOP + db -1 diff --git a/data/moves/effects.asm b/data/moves/effects.asm new file mode 100644 index 00000000..8e5b5c17 --- /dev/null +++ b/data/moves/effects.asm @@ -0,0 +1,2077 @@ +INCLUDE "data/moves/effects_pointers.asm" + +MoveEffects: ; used only for BANK(MoveEffects) + +NormalHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +DoSleep: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + sleeptarget + endmove + +PoisonHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + poisontarget + endmove + +LeechHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + draintarget + checkfaint + buildopponentrage + kingsrock + endmove + +BurnHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + burntarget + endmove + +FreezeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + freezetarget + endmove + +ParalyzeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + paralyzetarget + endmove + +Selfdestruct: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + selfdestruct + moveanimnosub + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +DreamEater: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + eatdream + checkfaint + buildopponentrage + endmove + +MirrorMove: + checkobedience + usedmovetext + doturn + mirrormove + endmove + +AttackUp: + checkobedience + usedmovetext + doturn + attackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp: + checkobedience + usedmovetext + doturn + defenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp: + checkobedience + usedmovetext + doturn + speedup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp: + checkobedience + usedmovetext + doturn + specialattackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp: + checkobedience + usedmovetext + doturn + specialdefenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp: + checkobedience + usedmovetext + doturn + accuracyup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp: + checkobedience + usedmovetext + doturn + lowersub + evasionup + statupanim + lowersubnoanim + raisesub + statupmessage + statupfailtext + endmove + +AttackUp2: + checkobedience + usedmovetext + doturn + attackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp2: + checkobedience + usedmovetext + doturn + defenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp2: + checkobedience + usedmovetext + doturn + speedup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp2: + checkobedience + usedmovetext + doturn + specialattackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp2: + checkobedience + usedmovetext + doturn + specialdefenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp2: + checkobedience + usedmovetext + doturn + accuracyup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp2: + checkobedience + usedmovetext + doturn + evasionup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AttackDown: + checkobedience + usedmovetext + doturn + checkhit + attackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown: + checkobedience + usedmovetext + doturn + checkhit + defensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown: + checkobedience + usedmovetext + doturn + checkhit + speeddown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown: + checkobedience + usedmovetext + doturn + checkhit + accuracydown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown: + checkobedience + usedmovetext + doturn + checkhit + evasiondown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDown2: + checkobedience + usedmovetext + doturn + checkhit + attackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + defensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown2: + checkobedience + usedmovetext + doturn + checkhit + speeddown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown2: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown2: + checkobedience + usedmovetext + doturn + checkhit + accuracydown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown2: + checkobedience + usedmovetext + doturn + checkhit + evasiondown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + attackdown + statdownmessage + endmove + +DefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + effectchance ; bug: duplicate effectchance shouldn't be here + defensedown + statdownmessage + endmove + +SpeedDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + speeddown + statdownmessage + endmove + +SpecialAttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + specialattackdown + statdownmessage + endmove + +SpecialDefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + specialdefensedown + statdownmessage + endmove + +AccuracyDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + accuracydown + statdownmessage + endmove + +EvasionDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + evasiondown + statdownmessage + endmove + +DefenseUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + defenseup + statupmessage + endmove + +AttackUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + attackup + statupmessage + endmove + +AllUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + allstatsup + endmove + +PayDay: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + payday + checkfaint + buildopponentrage + kingsrock + endmove + +Conversion: + checkobedience + usedmovetext + doturn + conversion + endmove + +ResetStats: + checkobedience + usedmovetext + doturn + resetstats + endmove + +Bide: + storeenergy + checkobedience + doturn + usedmovetext + unleashenergy + resettypematchup + checkhit + moveanim + bidefailtext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Rampage: + checkrampage + checkobedience + doturn + rampage + usedmovetext + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +ForceSwitch: + checkobedience + usedmovetext + doturn + checkhit + forceswitch + endmove + +MultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + endloop + raisesub + kingsrock + endmove + +PoisonMultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + effectchance + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + endloop + raisesub + kingsrock + poisontarget + endmove + +FlinchHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +OHKOHit: + checkobedience + usedmovetext + doturn + stab + ohko + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +RecoilHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + recoil + checkfaint + buildopponentrage + kingsrock + endmove + +Mist: + checkobedience + usedmovetext + doturn + mist + endmove + +FocusEnergy: + checkobedience + usedmovetext + doturn + focusenergy + endmove + +DoConfuse: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + confuse + endmove + +ConfuseHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + confusetarget + endmove + +Heal: + checkobedience + usedmovetext + doturn + heal + endmove + +Transform: + checkobedience + usedmovetext + doturn + transform + endmove + +LightScreen: +Reflect: + checkobedience + usedmovetext + doturn + screen + endmove + +TriAttack: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + tristatuschance + endmove + +Toxic: +DoPoison: + checkobedience + usedmovetext + doturn + checkhit + stab + checksafeguard + poison + endmove + +DoParalyze: + checkobedience + usedmovetext + doturn + stab + checkhit + checksafeguard + paralyze + endmove + +SkyAttack: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + kingsrock + endmove + +Substitute: + checkobedience + usedmovetext + doturn + substitute + endmove + +HyperBeam: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + rechargenextturn + checkfaint + buildopponentrage + endmove + +Rage: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + ragedamage + damagevariation + moveanim + failuretext + rage + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Mimic: + checkobedience + usedmovetext + doturn + checkhit + mimic + endmove + +Metronome: + checkobedience + usedmovetext + doturn + metronome + endmove + +LeechSeed: + checkobedience + usedmovetext + doturn + checkhit + leechseed + endmove + +Splash: + checkobedience + usedmovetext + doturn + splash + endmove + +Disable: + checkobedience + usedmovetext + doturn + checkhit + disable + endmove + +RazorWind: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Fly: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanimnosub + raisesub + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +TrapTarget: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + traptarget + endmove + +SuperFang: +Psywave: +StaticDamage: + checkobedience + usedmovetext + doturn + constantdamage + checkhit + resettypematchup + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Reversal: + checkobedience + usedmovetext + doturn + constantdamage + stab + checkhit + moveanim + failuretext + applydamage + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Counter: + checkobedience + usedmovetext + doturn + counter + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +Encore: + checkobedience + usedmovetext + doturn + checkhit + encore + endmove + +PainSplit: + checkobedience + usedmovetext + doturn + checkhit + painsplit + endmove + +Snore: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + snore + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + kingsrock + endmove + +Conversion2: + checkobedience + usedmovetext + doturn + checkhit + conversion2 + endmove + +LockOn: + checkobedience + usedmovetext + doturn + checkhit + lockon + endmove + +Sketch: + checkobedience + usedmovetext + doturn + sketch + endmove + +DefrostOpponent: + checkobedience + usedmovetext + doturn + defrostopponent + endmove + +SleepTalk: + checkobedience + usedmovetext + doturn + sleeptalk + endmove + +DestinyBond: + checkobedience + usedmovetext + doturn + destinybond + endmove + +Spite: + checkobedience + usedmovetext + doturn + checkhit + spite + endmove + +FalseSwipe: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + falseswipe + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +HealBell: + checkobedience + usedmovetext + doturn + healbell + endmove + +TripleKick: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + triplekick + stab + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivelooptext + checkfaint + buildopponentrage + kickcounter + endloop + raisesub + kingsrock + endmove + +Thief: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + thief + checkfaint + buildopponentrage + kingsrock + endmove + +MeanLook: + checkobedience + usedmovetext + doturn + arenatrap + endmove + +Nightmare: + checkobedience + usedmovetext + doturn + nightmare + endmove + +FlameWheel: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + defrost + checkfaint + buildopponentrage + burntarget + endmove + +Curse: + checkobedience + usedmovetext + doturn + curse + endmove + +Protect: + checkobedience + usedmovetext + doturn + protect + endmove + +Spikes: + checkobedience + usedmovetext + doturn + spikes + endmove + +Foresight: + checkobedience + usedmovetext + doturn + checkhit + foresight + endmove + +PerishSong: + checkobedience + usedmovetext + doturn + perishsong + endmove + +Sandstorm: + checkobedience + usedmovetext + doturn + startsandstorm + endmove + +Endure: + checkobedience + usedmovetext + doturn + endure + endmove + +Rollout: + checkcurl + checkobedience + doturn + usedmovetext + critical + damagestats + damagecalc + stab + checkhit + rolloutpower + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Swagger: + checkobedience + usedmovetext + doturn + checkhit + switchturn + attackup2 + switchturn + lowersub + statupanim + raisesub + failuretext + switchturn + statupmessage + switchturn + confusetarget + endmove + +FuryCutter: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + furycutter + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Attract: + checkobedience + usedmovetext + doturn + checkhit + attract + endmove + +Return: + checkobedience + usedmovetext + doturn + critical + damagestats + happinesspower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Present: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + present + damagecalc + stab + damagevariation + clearmissdamage + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Frustration: + checkobedience + usedmovetext + doturn + critical + damagestats + frustrationpower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Safeguard: + checkobedience + usedmovetext + doturn + safeguard + endmove + +SacredFire: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + defrost + checkfaint + buildopponentrage + burntarget + endmove + +Magnitude: + checkobedience + usedmovetext + doturn + critical + damagestats + getmagnitude + damagecalc + stab + damagevariation + checkhit + doubleundergrounddamage + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +BatonPass: + checkobedience + usedmovetext + doturn + batonpass + endmove + +Pursuit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + pursuit + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +RapidSpin: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + clearhazards + checkfaint + buildopponentrage + kingsrock + endmove + +MorningSun: + checkobedience + usedmovetext + doturn + healmorn + endmove + +Synthesis: + checkobedience + usedmovetext + doturn + healday + endmove + +Moonlight: + checkobedience + usedmovetext + doturn + healnite + endmove + +HiddenPower: + checkobedience + usedmovetext + doturn + critical + hiddenpower + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +RainDance: + checkobedience + usedmovetext + doturn + startrain + endmove + +SunnyDay: + checkobedience + usedmovetext + doturn + startsun + endmove + +FakeOut: + checkobedience + usedmovetext + doturn + checkhit + fakeout + moveanim + failuretext + endmove + +BellyDrum: + checkobedience + usedmovetext + doturn + bellydrum + endmove + +PsychUp: + checkobedience + usedmovetext + doturn + psychup + endmove + +MirrorCoat: + checkobedience + usedmovetext + doturn + mirrorcoat + moveanim + failuretext + applydamage + checkfaint + buildopponentrage + kingsrock + endmove + +SkullBash: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endturn + defenseup + statupmessage + endmove + +Twister: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +Earthquake: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleundergrounddamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +FutureSight: + checkfuturesight + checkobedience + usedmovetext + doturn + damagestats + damagecalc + futuresight + damagevariation ; skip here if last turn + checkhit + moveanimnosub + failuretext + applydamage + checkfaint + buildopponentrage + endmove + +Gust: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + endmove + +Stomp: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleminimizedamage + checkhit + effectchance + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + flinchtarget + endmove + +Solarbeam: + checkcharge + checkobedience + doturn + skipsuncharge + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + kingsrock + endmove + +Thunder: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + thunderaccuracy + checkhit + effectchance + stab + damagevariation + moveanim + failuretext + applydamage + criticaltext + supereffectivetext + checkfaint + buildopponentrage + paralyzetarget + endmove + +Teleport: + checkobedience + usedmovetext + doturn + teleport + endmove + +BeatUp: + checkobedience + usedmovetext + movedelay + doturn + startloop + lowersub + checkhit + critical + beatup + damagecalc + damagevariation + clearmissdamage + moveanimnosub + failuretext + applydamage + criticaltext + cleartext + supereffectivetext + checkfaint + buildopponentrage + endloop + beatupfailtext + raisesub + kingsrock + endmove + +DefenseCurl: + checkobedience + usedmovetext + doturn + defenseup + curl + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm new file mode 100644 index 00000000..94834de7 --- /dev/null +++ b/data/moves/effects_pointers.asm @@ -0,0 +1,159 @@ +MoveEffectsPointers: +; entries correspond to EFFECT_* constants + dw NormalHit + dw DoSleep + dw PoisonHit + dw LeechHit + dw BurnHit + dw FreezeHit + dw ParalyzeHit + dw Selfdestruct + dw DreamEater + dw MirrorMove + dw AttackUp + dw DefenseUp + dw SpeedUp + dw SpecialAttackUp + dw SpecialDefenseUp + dw AccuracyUp + dw EvasionUp + dw NormalHit + dw AttackDown + dw DefenseDown + dw SpeedDown + dw SpecialAttackDown + dw SpecialDefenseDown + dw AccuracyDown + dw EvasionDown + dw ResetStats + dw Bide + dw Rampage + dw ForceSwitch + dw MultiHit + dw Conversion + dw FlinchHit + dw Heal + dw Toxic + dw PayDay + dw LightScreen + dw TriAttack + dw NormalHit + dw OHKOHit + dw RazorWind + dw SuperFang + dw StaticDamage + dw TrapTarget + dw NormalHit + dw MultiHit + dw NormalHit + dw Mist + dw FocusEnergy + dw RecoilHit + dw DoConfuse + dw AttackUp2 + dw DefenseUp2 + dw SpeedUp2 + dw SpecialAttackUp2 + dw SpecialDefenseUp2 + dw AccuracyUp2 + dw EvasionUp2 + dw Transform + dw AttackDown2 + dw DefenseDown2 + dw SpeedDown2 + dw SpecialAttackDown2 + dw SpecialDefenseDown2 + dw AccuracyDown2 + dw EvasionDown2 + dw Reflect + dw DoPoison + dw DoParalyze + dw AttackDownHit + dw DefenseDownHit + dw SpeedDownHit + dw SpecialAttackDownHit + dw SpecialDefenseDownHit + dw AccuracyDownHit + dw EvasionDownHit + dw SkyAttack + dw ConfuseHit + dw PoisonMultiHit + dw NormalHit + dw Substitute + dw HyperBeam + dw Rage + dw Mimic + dw Metronome + dw LeechSeed + dw Splash + dw Disable + dw StaticDamage + dw Psywave + dw Counter + dw Encore + dw PainSplit + dw Snore + dw Conversion2 + dw LockOn + dw Sketch + dw DefrostOpponent + dw SleepTalk + dw DestinyBond + dw Reversal + dw Spite + dw FalseSwipe + dw HealBell + dw NormalHit + dw TripleKick + dw Thief + dw MeanLook + dw Nightmare + dw FlameWheel + dw Curse + dw NormalHit + dw Protect + dw Spikes + dw Foresight + dw PerishSong + dw Sandstorm + dw Endure + dw Rollout + dw Swagger + dw FuryCutter + dw Attract + dw Return + dw Present + dw Frustration + dw Safeguard + dw SacredFire + dw Magnitude + dw BatonPass + dw Pursuit + dw RapidSpin + dw NormalHit + dw NormalHit + dw MorningSun + dw Synthesis + dw Moonlight + dw HiddenPower + dw RainDance + dw SunnyDay + dw DefenseUpHit + dw AttackUpHit + dw AllUpHit + dw FakeOut + dw BellyDrum + dw PsychUp + dw MirrorCoat + dw SkullBash + dw Twister + dw Earthquake + dw FutureSight + dw Gust + dw Stomp + dw Solarbeam + dw Thunder + dw Teleport + dw BeatUp + dw Fly + dw DefenseCurl diff --git a/data/moves/effects_priorities.asm b/data/moves/effects_priorities.asm new file mode 100644 index 00000000..dfdb636a --- /dev/null +++ b/data/moves/effects_priorities.asm @@ -0,0 +1,8 @@ +MoveEffectPriorities: + db EFFECT_PROTECT, 3 + db EFFECT_ENDURE, 3 + db EFFECT_PRIORITY_HIT, 2 + db EFFECT_FORCE_SWITCH, 0 + db EFFECT_COUNTER, 0 + db EFFECT_MIRROR_COAT, 0 + db -1 diff --git a/data/moves/flail_reversal_power.asm b/data/moves/flail_reversal_power.asm new file mode 100644 index 00000000..fb915905 --- /dev/null +++ b/data/moves/flail_reversal_power.asm @@ -0,0 +1,8 @@ +FlailReversalPower: + ; hp bar pixels, power + db HP_BAR_LENGTH_PX / 48, 200 + db HP_BAR_LENGTH_PX / 12, 150 + db HP_BAR_LENGTH_PX / 5, 100 + db HP_BAR_LENGTH_PX / 3, 80 + db HP_BAR_LENGTH_PX * 2 / 3, 40 + db HP_BAR_LENGTH_PX, 20 diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm new file mode 100644 index 00000000..f2474808 --- /dev/null +++ b/data/moves/grammar.asm @@ -0,0 +1,101 @@ +; Used by GetMoveGrammar (see engine/battle/used_move_text.asm) +; Each move is given an identifier for what usedmovetext to use (0-4). +; Made redundant in English localization, where all are just "[mon]¯used [move]!" + +MoveGrammar: +; 0: originally "[mon]の¯[move]¯つかった!" ("[mon]¯used¯[move]!") + db SWORDS_DANCE + db GROWTH + db STRENGTH + db HARDEN + db MINIMIZE + db SMOKESCREEN + db WITHDRAW + db DEFENSE_CURL + db EGG_BOMB + db SMOG + db BONE_CLUB + db FLASH + db SPLASH + db ACID_ARMOR + db BONEMERANG + db REST + db SHARPEN + db SUBSTITUTE + db MIND_READER + db SNORE + db PROTECT + db SPIKES + db ENDURE + db ROLLOUT + db SWAGGER + db SLEEP_TALK + db HIDDEN_POWER + db PSYCH_UP + db EXTREMESPEED + db 0 ; end set + +; 1: originally "[mon]の¯[move]した!" ("[mon]¯did [move]!") + db RECOVER + db TELEPORT + db BIDE + db SELFDESTRUCT + db AMNESIA + db FLAIL + db 0 ; end set + +; 2: originally "[mon]の¯[move]¯した!" ("[mon]¯did¯[move]!") + db MEDITATE + db AGILITY + db MIMIC + db DOUBLE_TEAM + db BARRAGE + db TRANSFORM + db STRUGGLE + db SCARY_FACE + db 0 ; end set + +; 3: originally "[mon]の¯[move] こうげき!" ("[mon]'s¯[move] attack!") + db POUND + db SCRATCH + db VICEGRIP + db WING_ATTACK + db FLY + db BIND + db SLAM + db HORN_ATTACK + db WRAP + db THRASH + db TAIL_WHIP + db LEER + db BITE + db GROWL + db ROAR + db SING + db PECK + db ABSORB + db STRING_SHOT + db EARTHQUAKE + db FISSURE + db DIG + db TOXIC + db SCREECH + db METRONOME + db LICK + db CLAMP + db CONSTRICT + db POISON_GAS + db BUBBLE + db SLASH + db SPIDER_WEB + db NIGHTMARE + db CURSE + db FORESIGHT + db CHARM + db ATTRACT + db ROCK_SMASH + db 0 ; end set + +; 4: originally "[mon]の¯[move]!" ("[mon]'s¯[move]!") +; Any move not listed above uses this grammar. + db -1 ; end diff --git a/data/moves/magnitude_power.asm b/data/moves/magnitude_power.asm new file mode 100644 index 00000000..632a0c03 --- /dev/null +++ b/data/moves/magnitude_power.asm @@ -0,0 +1,9 @@ +MagnitudePower: + ; chance, power, magnitude # + db 5 percent + 1, 10, 4 ; 5% + db 15 percent, 30, 5 ; 10% + db 35 percent, 50, 6 ; 20% + db 65 percent + 1, 70, 7 ; 30% + db 85 percent + 1, 90, 8 ; 20% + db 95 percent, 110, 9 ; 10% + db 100 percent, 150, 10 ; 5% diff --git a/data/moves/metronome_exception_moves.asm b/data/moves/metronome_exception_moves.asm new file mode 100644 index 00000000..a5aa4413 --- /dev/null +++ b/data/moves/metronome_exception_moves.asm @@ -0,0 +1,17 @@ +; Metronome cannot turn into these moves. + +MetronomeExcepts: + db NO_MOVE + db METRONOME + db STRUGGLE + db SKETCH + db MIMIC + db COUNTER + db MIRROR_COAT + db PROTECT + db DETECT + db ENDURE + db DESTINY_BOND + db SLEEP_TALK + db THIEF + db -1 diff --git a/data/moves/names.asm b/data/moves/names.asm new file mode 100644 index 00000000..cfc7ac54 --- /dev/null +++ b/data/moves/names.asm @@ -0,0 +1,252 @@ +MoveNames:: + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" + db "SKETCH@" + db "TRIPLE KICK@" + db "THIEF@" + db "SPIDER WEB@" + db "MIND READER@" + db "NIGHTMARE@" + db "FLAME WHEEL@" + db "SNORE@" + db "CURSE@" + db "FLAIL@" + db "CONVERSION2@" + db "AEROBLAST@" + db "COTTON SPORE@" + db "REVERSAL@" + db "SPITE@" + db "POWDER SNOW@" + db "PROTECT@" + db "MACH PUNCH@" + db "SCARY FACE@" + db "FAINT ATTACK@" + db "SWEET KISS@" + db "BELLY DRUM@" + db "SLUDGE BOMB@" + db "MUD-SLAP@" + db "OCTAZOOKA@" + db "SPIKES@" + db "ZAP CANNON@" + db "FORESIGHT@" + db "DESTINY BOND@" + db "PERISH SONG@" + db "ICY WIND@" + db "DETECT@" + db "BONE RUSH@" + db "LOCK-ON@" + db "OUTRAGE@" + db "SANDSTORM@" + db "GIGA DRAIN@" + db "ENDURE@" + db "CHARM@" + db "ROLLOUT@" + db "FALSE SWIPE@" + db "SWAGGER@" + db "MILK DRINK@" + db "SPARK@" + db "FURY CUTTER@" + db "STEEL WING@" + db "MEAN LOOK@" + db "ATTRACT@" + db "SLEEP TALK@" + db "HEAL BELL@" + db "RETURN@" + db "PRESENT@" + db "FRUSTRATION@" + db "SAFEGUARD@" + db "PAIN SPLIT@" + db "SACRED FIRE@" + db "MAGNITUDE@" + db "DYNAMICPUNCH@" + db "MEGAHORN@" + db "DRAGONBREATH@" + db "BATON PASS@" + db "ENCORE@" + db "PURSUIT@" + db "RAPID SPIN@" + db "SWEET SCENT@" + db "IRON TAIL@" + db "METAL CLAW@" + db "VITAL THROW@" + db "MORNING SUN@" + db "SYNTHESIS@" + db "MOONLIGHT@" + db "HIDDEN POWER@" + db "CROSS CHOP@" + db "TWISTER@" + db "RAIN DANCE@" + db "SUNNY DAY@" + db "CRUNCH@" + db "MIRROR COAT@" + db "PSYCH UP@" + db "EXTREMESPEED@" + db "ANCIENTPOWER@" + db "SHADOW BALL@" + db "FUTURE SIGHT@" + db "ROCK SMASH@" + db "WHIRLPOOL@" + db "BEAT UP@" diff --git a/data/moves/present_power.asm b/data/moves/present_power.asm new file mode 100644 index 00000000..9f85b8a6 --- /dev/null +++ b/data/moves/present_power.asm @@ -0,0 +1,6 @@ +PresentPower: + ; chance, power + db 40 percent, 40 ; 40% chance + db 70 percent + 1, 80 ; 30% chance + db 80 percent, 120 ; 10% chance + db -1 ; 20% chance to heal instead diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm new file mode 100644 index 00000000..81c7d0ba --- /dev/null +++ b/data/moves/tmhm_moves.asm @@ -0,0 +1,66 @@ +TMHMMoves: +; entries correspond to *_TMNUM enums (see constants/item_constants.asm) +; TMs + db DYNAMICPUNCH + db HEADBUTT + db CURSE + db ROLLOUT + db ROAR + db TOXIC + db ZAP_CANNON + db ROCK_SMASH + db PSYCH_UP + db HIDDEN_POWER + db SUNNY_DAY + db SWEET_SCENT + db SNORE + db BLIZZARD + db HYPER_BEAM + db ICY_WIND + db PROTECT + db RAIN_DANCE + db GIGA_DRAIN + db ENDURE + db FRUSTRATION + db SOLARBEAM + db IRON_TAIL + db DRAGONBREATH + db THUNDER + db EARTHQUAKE + db RETURN + db DIG + db PSYCHIC_M + db SHADOW_BALL + db MUD_SLAP + db DOUBLE_TEAM + db ICE_PUNCH + db SWAGGER + db SLEEP_TALK + db SLUDGE_BOMB + db SANDSTORM + db FIRE_BLAST + db SWIFT + db DEFENSE_CURL + db THUNDERPUNCH + db DREAM_EATER + db DETECT + db REST + db ATTRACT + db THIEF + db STEEL_WING + db FIRE_PUNCH + db FURY_CUTTER + db NIGHTMARE +; HMs + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WHIRLPOOL + db WATERFALL +; Move tutor (Crystal-only) + db 0 + db 0 + db 0 + db 0 ; end diff --git a/data/phone/non_trainer_names.asm b/data/phone/non_trainer_names.asm new file mode 100644 index 00000000..4159014a --- /dev/null +++ b/data/phone/non_trainer_names.asm @@ -0,0 +1,13 @@ +NonTrainerCallerNames: +; entries correspond to PHONECONTACT_* constants + dw .none + dw .mom + dw .bikeshop + dw .bill + dw .elm + +.none: db "----------@" +.mom: db "MOM@" +.bill: db "BILL@" +.elm: db "PROF.ELM@" +.bikeshop: db "BIKE SHOP@" diff --git a/data/phone/permanent_numbers.asm b/data/phone/permanent_numbers.asm new file mode 100644 index 00000000..98c6212d --- /dev/null +++ b/data/phone/permanent_numbers.asm @@ -0,0 +1,4 @@ +PermanentNumbers: + db PHONECONTACT_MOM + db PHONECONTACT_ELM + db -1 ; end diff --git a/data/phone/phone_contacts.asm b/data/phone/phone_contacts.asm new file mode 100644 index 00000000..d2b2c7a7 --- /dev/null +++ b/data/phone/phone_contacts.asm @@ -0,0 +1,49 @@ +phone: MACRO +; trainer class, trainer id, map, callee time, callee script, caller time, caller script + db \1, \2 + map_id \3 + db \4 + dba \5 + db \6 + dba \7 +ENDM + +PhoneContacts: +; entries correspond to PHONE_* constants + phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONECONTACT_MOM, PLAYERS_HOUSE_1F, ANYTIME, MomPhoneCalleeScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONECONTACT_BILL, N_A, ANYTIME, BillPhoneCalleeScript, 0, BillPhoneCallerScript + phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, ANYTIME, ElmPhoneCalleeScript, 0, ElmPhoneCallerScript + phone SCHOOLBOY, JACK1, NATIONAL_PARK, ANYTIME, JackPhoneCalleeScript, ANYTIME, JackPhoneCallerScript + phone POKEFANF, BEVERLY1, NATIONAL_PARK, ANYTIME, BeverlyPhoneCalleeScript, ANYTIME, BeverlyPhoneCallerScript + phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, ANYTIME, HueyPhoneCalleeScript, ANYTIME, HueyPhoneCallerScript + phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone COOLTRAINERM, GAVEN3, ROUTE_26, ANYTIME, GavenPhoneCalleeScript, ANYTIME, GavenPhoneCallerScript + phone COOLTRAINERF, BETH1, ROUTE_26, ANYTIME, BethPhoneCalleeScript, ANYTIME, BethPhoneCallerScript + phone BIRD_KEEPER, JOSE2, ROUTE_27, ANYTIME, JosePhoneCalleeScript, ANYTIME, JosePhoneCallerScript + phone COOLTRAINERF, REENA1, ROUTE_27, ANYTIME, ReenaPhoneCalleeScript, ANYTIME, ReenaPhoneCallerScript + phone YOUNGSTER, JOEY1, ROUTE_30, ANYTIME, JoeyPhoneCalleeScript, ANYTIME, JoeyPhoneCallerScript + phone BUG_CATCHER, WADE1, ROUTE_31, ANYTIME, WadePhoneCalleeScript, ANYTIME, WadePhoneCallerScript + phone FISHER, RALPH1, ROUTE_32, ANYTIME, RalphPhoneCalleeScript, ANYTIME, RalphPhoneCallerScript + phone PICNICKER, LIZ1, ROUTE_32, ANYTIME, LizPhoneCalleeScript, ANYTIME, LizPhoneCallerScript + phone HIKER, ANTHONY2, ROUTE_33, ANYTIME, AnthonyPhoneCalleeScript, ANYTIME, AnthonyPhoneCallerScript + phone CAMPER, TODD1, ROUTE_34, ANYTIME, ToddPhoneCalleeScript, ANYTIME, ToddPhoneCallerScript + phone PICNICKER, GINA1, ROUTE_34, ANYTIME, GinaPhoneCalleeScript, ANYTIME, GinaPhoneCallerScript + phone JUGGLER, IRWIN1, ROUTE_35, ANYTIME, IrwinPhoneCalleeScript, ANYTIME, IrwinPhoneCallerScript + phone BUG_CATCHER, ARNIE1, ROUTE_35, ANYTIME, ArniePhoneCalleeScript, ANYTIME, ArniePhoneCallerScript + phone SCHOOLBOY, ALAN1, ROUTE_36, ANYTIME, AlanPhoneCalleeScript, ANYTIME, AlanPhoneCallerScript + phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone LASS, DANA1, ROUTE_38, ANYTIME, DanaPhoneCalleeScript, ANYTIME, DanaPhoneCallerScript + phone SCHOOLBOY, CHAD1, ROUTE_38, ANYTIME, ChadPhoneCalleeScript, ANYTIME, ChadPhoneCallerScript + phone POKEFANM, DEREK1, ROUTE_39, ANYTIME, DerekPhoneCalleeScript, ANYTIME, DerekPhoneCallerScript + phone FISHER, CHRIS1, ROUTE_42, ANYTIME, ChrisPhoneCalleeScript, ANYTIME, ChrisPhoneCallerScript + phone POKEMANIAC, BRENT1, ROUTE_43, ANYTIME, BrentPhoneCalleeScript, ANYTIME, BrentPhoneCallerScript + phone PICNICKER, TIFFANY3, ROUTE_43, ANYTIME, TiffanyPhoneCalleeScript, ANYTIME, TiffanyPhoneCallerScript + phone BIRD_KEEPER, VANCE1, ROUTE_44, ANYTIME, VancePhoneCalleeScript, ANYTIME, VancePhoneCallerScript + phone FISHER, WILTON1, ROUTE_44, ANYTIME, WiltonPhoneCalleeScript, ANYTIME, WiltonPhoneCallerScript + phone BLACKBELT_T, KENJI3, ROUTE_45, ANYTIME, KenjiPhoneCalleeScript, ANYTIME, KenjiPhoneCallerScript + phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneCalleeScript, ANYTIME, ParryPhoneCallerScript + phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneCalleeScript, ANYTIME, ErinPhoneCallerScript diff --git a/data/phone/special_calls.asm b/data/phone/special_calls.asm new file mode 100644 index 00000000..826a5d28 --- /dev/null +++ b/data/phone/special_calls.asm @@ -0,0 +1,17 @@ +specialcall: MACRO +; condition, contact, script + dw \1 + db \2 + dba \3 +ENDM + +SpecialPhoneCallList: +; entries correspond to SPECIALCALL_* constants + specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript + specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript + specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript + specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript + specialcall SpecialCallWhereverYouAre, PHONECONTACT_ELM, ElmPhoneCallerScript + specialcall SpecialCallWhereverYouAre, PHONECONTACT_BIKESHOP, BikeShopPhoneCallerScript + specialcall SpecialCallWhereverYouAre, PHONECONTACT_MOM, MomPhoneLectureScript + specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript diff --git a/data/player_names.asm b/data/player_names.asm new file mode 100644 index 00000000..0155dac4 --- /dev/null +++ b/data/player_names.asm @@ -0,0 +1,25 @@ +NameMenuHeader: + db STATICMENU_NO_TOP_SPACING + menu_coords 0, 0, 10, TEXTBOX_Y - 1 + dw .Names + db 1 + +.Names: + db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags + db 5 ; items + db "NEW NAME@" + +PlayerNameArray: +IF DEF(_GOLD) + db "GOLD@" + db "HIRO@" + db "TAYLOR@" + db "KARL@" +ELIF DEF(_SILVER) + db "SILVER@" + db "KAMON@" + db "OSCAR@" + db "MAX@" +ENDC + db 2 + db "NAME@" ; title diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index e43adeec..d5073235 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -3,7 +3,7 @@ db 25, 20, 15, 90, 105, 55 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 200 ; catch rate db 73 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 6524400b..673ae050 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -3,7 +3,7 @@ db 55, 50, 45, 120, 135, 85 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 50 ; catch rate db 186 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/celebi.asm b/data/pokemon/base_stats/celebi.asm index 49cb349d..cef8879f 100644 --- a/data/pokemon/base_stats/celebi.asm +++ b/data/pokemon/base_stats/celebi.asm @@ -3,7 +3,7 @@ db 100, 100, 100, 100, 100, 100 ; hp atk def spd sat sdf - db PSYCHIC, GRASS ; type + db PSYCHIC_TYPE, GRASS ; type db 45 ; catch rate db 64 ; base exp db NO_ITEM, MIRACLEBERRY ; items diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index 614dd3d8..f6865872 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -3,7 +3,7 @@ db 60, 48, 45, 42, 43, 90 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 190 ; catch rate db 102 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/espeon.asm b/data/pokemon/base_stats/espeon.asm index 7913fc16..44126640 100644 --- a/data/pokemon/base_stats/espeon.asm +++ b/data/pokemon/base_stats/espeon.asm @@ -3,7 +3,7 @@ db 65, 65, 60, 110, 130, 95 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 197 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index 6aad891f..8ec4ac50 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -3,7 +3,7 @@ db 60, 40, 80, 40, 60, 45 ; hp atk def spd sat sdf - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 90 ; catch rate db 98 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index f67ecf4a..7a217259 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -3,7 +3,7 @@ db 95, 95, 85, 55, 125, 65 ; hp atk def spd sat sdf - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 45 ; catch rate db 212 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/girafarig.asm b/data/pokemon/base_stats/girafarig.asm index 93acd159..015b46ad 100644 --- a/data/pokemon/base_stats/girafarig.asm +++ b/data/pokemon/base_stats/girafarig.asm @@ -3,7 +3,7 @@ db 70, 80, 65, 85, 90, 65 ; hp atk def spd sat sdf - db NORMAL, PSYCHIC ; type + db NORMAL, PSYCHIC_TYPE ; type db 60 ; catch rate db 149 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index f19dd638..8490a106 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -3,7 +3,7 @@ db 85, 73, 70, 67, 73, 115 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 75 ; catch rate db 165 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index 3e43e23b..6563aa28 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -3,7 +3,7 @@ db 65, 50, 35, 95, 115, 95 ; hp atk def spd sat sdf - db ICE, PSYCHIC ; type + db ICE, PSYCHIC_TYPE ; type db 45 ; catch rate db 137 ; base exp db ICE_BERRY, ICE_BERRY ; items diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index da2f3bf4..48a34dde 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -3,7 +3,7 @@ db 40, 35, 30, 105, 120, 70 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 100 ; catch rate db 145 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/lugia.asm b/data/pokemon/base_stats/lugia.asm index 9fa2a759..f29ccc33 100644 --- a/data/pokemon/base_stats/lugia.asm +++ b/data/pokemon/base_stats/lugia.asm @@ -3,7 +3,7 @@ db 106, 90, 130, 110, 90, 154 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 3 ; catch rate db 220 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index c910fa66..6236dc88 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -3,7 +3,7 @@ db 100, 100, 100, 100, 100, 100 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 64 ; base exp db NO_ITEM, MIRACLEBERRY ; items diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index 39f1fdbf..66a7bd72 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -3,7 +3,7 @@ db 106, 110, 90, 130, 154, 90 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 3 ; catch rate db 220 ; base exp db NO_ITEM, BERSERK_GENE ; items diff --git a/data/pokemon/base_stats/mr__mime.asm b/data/pokemon/base_stats/mr__mime.asm index 5d7d2bad..f690cec6 100644 --- a/data/pokemon/base_stats/mr__mime.asm +++ b/data/pokemon/base_stats/mr__mime.asm @@ -3,7 +3,7 @@ db 40, 45, 65, 90, 100, 120 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 136 ; base exp db NO_ITEM, MYSTERYBERRY ; items diff --git a/data/pokemon/base_stats/natu.asm b/data/pokemon/base_stats/natu.asm index 4eaa2677..e4906ab9 100644 --- a/data/pokemon/base_stats/natu.asm +++ b/data/pokemon/base_stats/natu.asm @@ -3,7 +3,7 @@ db 40, 50, 45, 70, 70, 45 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 190 ; catch rate db 73 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 2e256b36..ffe95d6c 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -3,7 +3,7 @@ db 95, 75, 110, 30, 100, 80 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 75 ; catch rate db 164 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/slowking.asm b/data/pokemon/base_stats/slowking.asm index 0c870f4a..d7e9b4af 100644 --- a/data/pokemon/base_stats/slowking.asm +++ b/data/pokemon/base_stats/slowking.asm @@ -3,7 +3,7 @@ db 95, 75, 80, 30, 100, 110 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 70 ; catch rate db 164 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index e8c718b8..cc06c5b0 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -3,7 +3,7 @@ db 90, 65, 65, 15, 40, 40 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 190 ; catch rate db 99 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/smoochum.asm b/data/pokemon/base_stats/smoochum.asm index d8670632..548ad5f5 100644 --- a/data/pokemon/base_stats/smoochum.asm +++ b/data/pokemon/base_stats/smoochum.asm @@ -3,7 +3,7 @@ db 45, 30, 15, 65, 85, 65 ; hp atk def spd sat sdf - db ICE, PSYCHIC ; type + db ICE, PSYCHIC_TYPE ; type db 45 ; catch rate db 87 ; base exp db ICE_BERRY, ICE_BERRY ; items diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index 262cd612..337afa76 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -3,7 +3,7 @@ db 60, 75, 85, 115, 100, 85 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 60 ; catch rate db 207 ; base exp db STARDUST, STAR_PIECE ; items diff --git a/data/pokemon/base_stats/unown.asm b/data/pokemon/base_stats/unown.asm index bf3d0f1f..b8db2883 100644 --- a/data/pokemon/base_stats/unown.asm +++ b/data/pokemon/base_stats/unown.asm @@ -3,7 +3,7 @@ db 48, 72, 48, 48, 72, 48 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 225 ; catch rate db 61 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/wobbuffet.asm b/data/pokemon/base_stats/wobbuffet.asm index e04d443a..855a7d99 100644 --- a/data/pokemon/base_stats/wobbuffet.asm +++ b/data/pokemon/base_stats/wobbuffet.asm @@ -3,7 +3,7 @@ db 190, 33, 58, 33, 33, 58 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 177 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/xatu.asm b/data/pokemon/base_stats/xatu.asm index d0fe363f..f1fc7a55 100644 --- a/data/pokemon/base_stats/xatu.asm +++ b/data/pokemon/base_stats/xatu.asm @@ -3,7 +3,7 @@ db 65, 75, 70, 95, 95, 70 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 75 ; catch rate db 171 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index a57eac98..e6255e04 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -5,258 +5,258 @@ ENDM PokemonCries:: ; entries correspond to constants/pokemon_constants.asm - mon_cry CRY_BULBASAUR, $080, $081 ; BULBASAUR - mon_cry CRY_BULBASAUR, $020, $100 ; IVYSAUR - mon_cry CRY_BULBASAUR, $000, $140 ; VENUSAUR - mon_cry CRY_CHARMANDER, $060, $0c0 ; CHARMANDER - mon_cry CRY_CHARMANDER, $020, $0c0 ; CHARMELEON - mon_cry CRY_CHARMANDER, $000, $100 ; CHARIZARD - mon_cry CRY_SQUIRTLE, $060, $0c0 ; SQUIRTLE - mon_cry CRY_SQUIRTLE, $020, $0c0 ; WARTORTLE - mon_cry CRY_BLASTOISE, $000, $100 ; BLASTOISE - mon_cry CRY_CATERPIE, $080, $0a0 ; CATERPIE - mon_cry CRY_METAPOD, $0cc, $081 ; METAPOD - mon_cry CRY_CATERPIE, $077, $0c0 ; BUTTERFREE - mon_cry CRY_WEEDLE, $0ee, $081 ; WEEDLE - mon_cry CRY_BLASTOISE, $0ff, $081 ; KAKUNA - mon_cry CRY_BLASTOISE, $060, $100 ; BEEDRILL - mon_cry CRY_PIDGEY, $0df, $084 ; PIDGEY - mon_cry CRY_PIDGEOTTO, $028, $140 ; PIDGEOTTO - mon_cry CRY_PIDGEOTTO, $011, $17f ; PIDGEOT - mon_cry CRY_RATTATA, $000, $100 ; RATTATA - mon_cry CRY_RATTATA, $020, $17f ; RATICATE - mon_cry CRY_SPEAROW, $000, $100 ; SPEAROW - mon_cry CRY_FEAROW, $040, $120 ; FEAROW - mon_cry CRY_EKANS, $012, $0c0 ; EKANS - mon_cry CRY_EKANS, $0e0, $090 ; ARBOK - mon_cry CRY_BULBASAUR, $0ee, $081 ; PIKACHU - mon_cry CRY_RAICHU, $0ee, $088 ; RAICHU - mon_cry CRY_NIDORAN_M, $020, $0c0 ; SANDSHREW - mon_cry CRY_NIDORAN_M, $0ff, $17f ; SANDSLASH - mon_cry CRY_NIDORAN_F, $000, $100 ; NIDORAN_F - mon_cry CRY_NIDORAN_F, $02c, $160 ; NIDORINA - mon_cry CRY_NIDOQUEEN, $000, $100 ; NIDOQUEEN - mon_cry CRY_NIDORAN_M, $000, $100 ; NIDORAN_M - mon_cry CRY_NIDORAN_M, $02c, $140 ; NIDORINO - mon_cry CRY_RAICHU, $000, $100 ; NIDOKING - mon_cry CRY_CLEFAIRY, $0cc, $081 ; CLEFAIRY - mon_cry CRY_CLEFAIRY, $0aa, $0a0 ; CLEFABLE - mon_cry CRY_VULPIX, $04f, $090 ; VULPIX - mon_cry CRY_VULPIX, $088, $0e0 ; NINETALES - mon_cry CRY_PIDGEY, $0ff, $0b5 ; JIGGLYPUFF - mon_cry CRY_PIDGEY, $068, $0e0 ; WIGGLYTUFF - mon_cry CRY_SQUIRTLE, $0e0, $100 ; ZUBAT - mon_cry CRY_SQUIRTLE, $0fa, $100 ; GOLBAT - mon_cry CRY_ODDISH, $0dd, $081 ; ODDISH - mon_cry CRY_ODDISH, $0aa, $0c0 ; GLOOM - mon_cry CRY_VILEPLUME, $022, $17f ; VILEPLUME - mon_cry CRY_PARAS, $020, $160 ; PARAS - mon_cry CRY_PARAS, $042, $17f ; PARASECT - mon_cry CRY_VENONAT, $044, $0c0 ; VENONAT - mon_cry CRY_VENONAT, $029, $100 ; VENOMOTH - mon_cry CRY_DIGLETT, $0aa, $081 ; DIGLETT - mon_cry CRY_DIGLETT, $02a, $090 ; DUGTRIO - mon_cry CRY_CLEFAIRY, $077, $090 ; MEOWTH - mon_cry CRY_CLEFAIRY, $099, $17f ; PERSIAN - mon_cry CRY_PSYDUCK, $020, $0e0 ; PSYDUCK - mon_cry CRY_PSYDUCK, $0ff, $0c0 ; GOLDUCK - mon_cry CRY_NIDOQUEEN, $0dd, $0e0 ; MANKEY - mon_cry CRY_NIDOQUEEN, $0af, $0c0 ; PRIMEAPE - mon_cry CRY_GROWLITHE, $020, $0c0 ; GROWLITHE - mon_cry CRY_WEEDLE, $000, $100 ; ARCANINE - mon_cry CRY_PIDGEY, $0ff, $17f ; POLIWAG - mon_cry CRY_PIDGEY, $077, $0e0 ; POLIWHIRL - mon_cry CRY_PIDGEY, $000, $17f ; POLIWRATH - mon_cry CRY_METAPOD, $0c0, $081 ; ABRA - mon_cry CRY_METAPOD, $0a8, $140 ; KADABRA - mon_cry CRY_METAPOD, $098, $17f ; ALAKAZAM - mon_cry CRY_GROWLITHE, $0ee, $081 ; MACHOP - mon_cry CRY_GROWLITHE, $048, $0e0 ; MACHOKE - mon_cry CRY_GROWLITHE, $008, $140 ; MACHAMP - mon_cry CRY_PSYDUCK, $055, $081 ; BELLSPROUT - mon_cry CRY_WEEPINBELL, $044, $0a0 ; WEEPINBELL - mon_cry CRY_WEEPINBELL, $066, $14c ; VICTREEBEL - mon_cry CRY_VENONAT, $000, $100 ; TENTACOOL - mon_cry CRY_VENONAT, $0ee, $17f ; TENTACRUEL - mon_cry CRY_VULPIX, $0f0, $090 ; GEODUDE - mon_cry CRY_VULPIX, $000, $100 ; GRAVELER - mon_cry CRY_GOLEM, $0e0, $0c0 ; GOLEM - mon_cry CRY_WEEPINBELL, $000, $100 ; PONYTA - mon_cry CRY_WEEPINBELL, $020, $140 ; RAPIDASH - mon_cry CRY_SLOWPOKE, $000, $100 ; SLOWPOKE - mon_cry CRY_GROWLITHE, $000, $100 ; SLOWBRO - mon_cry CRY_METAPOD, $080, $0e0 ; MAGNEMITE - mon_cry CRY_METAPOD, $020, $140 ; MAGNETON - mon_cry CRY_SPEAROW, $0dd, $081 ; FARFETCH_D - mon_cry CRY_DIGLETT, $0bb, $081 ; DODUO - mon_cry CRY_DIGLETT, $099, $0a0 ; DODRIO - mon_cry CRY_SEEL, $088, $140 ; SEEL - mon_cry CRY_SEEL, $023, $17f ; DEWGONG - mon_cry CRY_GRIMER, $000, $100 ; GRIMER - mon_cry CRY_MUK, $0ef, $17f ; MUK - mon_cry CRY_FEAROW, $000, $100 ; SHELLDER - mon_cry CRY_FEAROW, $06f, $160 ; CLOYSTER - mon_cry CRY_METAPOD, $000, $100 ; GASTLY - mon_cry CRY_METAPOD, $030, $0c0 ; HAUNTER - mon_cry CRY_MUK, $000, $17f ; GENGAR - mon_cry CRY_EKANS, $0ff, $140 ; ONIX - mon_cry CRY_DROWZEE, $088, $0a0 ; DROWZEE - mon_cry CRY_DROWZEE, $0ee, $0c0 ; HYPNO - mon_cry CRY_KRABBY, $020, $160 ; KRABBY - mon_cry CRY_KRABBY, $0ee, $160 ; KINGLER - mon_cry CRY_VOLTORB, $0ed, $100 ; VOLTORB - mon_cry CRY_VOLTORB, $0a8, $110 ; ELECTRODE - mon_cry CRY_DIGLETT, $000, $100 ; EXEGGCUTE - mon_cry CRY_DROWZEE, $000, $100 ; EXEGGUTOR - mon_cry CRY_CLEFAIRY, $000, $100 ; CUBONE - mon_cry CRY_ODDISH, $04f, $0e0 ; MAROWAK - mon_cry CRY_GOLEM, $080, $140 ; HITMONLEE - mon_cry CRY_SEEL, $0ee, $140 ; HITMONCHAN - mon_cry CRY_SEEL, $000, $100 ; LICKITUNG - mon_cry CRY_GOLEM, $0e6, $15d ; KOFFING - mon_cry CRY_GOLEM, $0ff, $17f ; WEEZING - mon_cry CRY_CHARMANDER, $000, $100 ; RHYHORN - mon_cry CRY_RHYDON, $000, $100 ; RHYDON - mon_cry CRY_PIDGEOTTO, $00a, $140 ; CHANSEY - mon_cry CRY_GOLEM, $000, $100 ; TANGELA - mon_cry CRY_KANGASKHAN, $000, $100 ; KANGASKHAN - mon_cry CRY_CLEFAIRY, $099, $090 ; HORSEA - mon_cry CRY_CLEFAIRY, $03c, $081 ; SEADRA - mon_cry CRY_CATERPIE, $080, $0c0 ; GOLDEEN - mon_cry CRY_CATERPIE, $010, $17f ; SEAKING - mon_cry CRY_PARAS, $002, $0a0 ; STARYU - mon_cry CRY_PARAS, $000, $100 ; STARMIE - mon_cry CRY_KRABBY, $008, $0c0 ; MR__MIME - mon_cry CRY_CATERPIE, $000, $100 ; SCYTHER - mon_cry CRY_DROWZEE, $0ff, $17f ; JYNX - mon_cry CRY_VOLTORB, $08f, $17f ; ELECTABUZZ - mon_cry CRY_CHARMANDER, $0ff, $0b0 ; MAGMAR - mon_cry CRY_PIDGEOTTO, $000, $100 ; PINSIR - mon_cry CRY_SQUIRTLE, $011, $0c0 ; TAUROS - mon_cry CRY_EKANS, $080, $080 ; MAGIKARP - mon_cry CRY_EKANS, $000, $100 ; GYARADOS - mon_cry CRY_LAPRAS, $000, $100 ; LAPRAS - mon_cry CRY_PIDGEY, $0ff, $17f ; DITTO - mon_cry CRY_VENONAT, $088, $0e0 ; EEVEE - mon_cry CRY_VENONAT, $0aa, $17f ; VAPOREON - mon_cry CRY_VENONAT, $03d, $100 ; JOLTEON - mon_cry CRY_VENONAT, $010, $0a0 ; FLAREON - mon_cry CRY_WEEPINBELL, $0aa, $17f ; PORYGON - mon_cry CRY_GROWLITHE, $0f0, $081 ; OMANYTE - mon_cry CRY_GROWLITHE, $0ff, $0c0 ; OMASTAR - mon_cry CRY_CATERPIE, $0bb, $0c0 ; KABUTO - mon_cry CRY_FEAROW, $0ee, $081 ; KABUTOPS - mon_cry CRY_VILEPLUME, $020, $170 ; AERODACTYL - mon_cry CRY_GRIMER, $055, $081 ; SNORLAX - mon_cry CRY_RAICHU, $080, $0c0 ; ARTICUNO - mon_cry CRY_FEAROW, $0ff, $100 ; ZAPDOS - mon_cry CRY_RAICHU, $0f8, $0c0 ; MOLTRES - mon_cry CRY_BULBASAUR, $060, $0c0 ; DRATINI - mon_cry CRY_BULBASAUR, $040, $100 ; DRAGONAIR - mon_cry CRY_BULBASAUR, $03c, $140 ; DRAGONITE - mon_cry CRY_PARAS, $099, $17f ; MEWTWO - mon_cry CRY_PARAS, $0ee, $17f ; MEW - mon_cry CRY_CHIKORITA, -$010, $0b0 ; CHIKORITA - mon_cry CRY_CHIKORITA, -$022, $120 ; BAYLEEF - mon_cry CRY_CHIKORITA, -$0b7, $200 ; MEGANIUM - mon_cry CRY_CYNDAQUIL, $347, $080 ; CYNDAQUIL - mon_cry CRY_CYNDAQUIL, $321, $120 ; QUILAVA - mon_cry CRY_TYPHLOSION, $f00, $0d4 ; TYPHLOSION - mon_cry CRY_TOTODILE, $46c, $0e8 ; TOTODILE - mon_cry CRY_TOTODILE, $440, $110 ; CROCONAW - mon_cry CRY_TOTODILE, $3fc, $180 ; FERALIGATR - mon_cry CRY_SENTRET, $08a, $0b8 ; SENTRET - mon_cry CRY_SENTRET, $06b, $102 ; FURRET - mon_cry CRY_HOOTHOOT, $091, $0d8 ; HOOTHOOT - mon_cry CRY_HOOTHOOT, $000, $1a0 ; NOCTOWL - mon_cry CRY_LEDYBA, $000, $0de ; LEDYBA - mon_cry CRY_LEDYBA, -$096, $138 ; LEDIAN - mon_cry CRY_SPINARAK, $011, $200 ; SPINARAK - mon_cry CRY_SPINARAK, -$0ae, $1e2 ; ARIADOS - mon_cry CRY_SQUIRTLE, -$010, $140 ; CROBAT - mon_cry CRY_CYNDAQUIL, $3c9, $140 ; CHINCHOU - mon_cry CRY_CYNDAQUIL, $2d0, $110 ; LANTURN - mon_cry CRY_PICHU, $000, $140 ; PICHU - mon_cry CRY_CLEFFA, $061, $091 ; CLEFFA - mon_cry CRY_CHIKORITA, $0e8, $0e8 ; IGGLYBUFF - mon_cry CRY_TOGEPI, $010, $100 ; TOGEPI - mon_cry CRY_TOGETIC, $03b, $038 ; TOGETIC - mon_cry CRY_NATU, -$067, $100 ; NATU - mon_cry CRY_NATU, -$0a7, $168 ; XATU - mon_cry CRY_MAREEP, $022, $0d8 ; MAREEP - mon_cry CRY_MAREEP, -$007, $180 ; FLAAFFY - mon_cry CRY_AMPHAROS, -$07c, $0e8 ; AMPHAROS - mon_cry CRY_CLEFFA, $084, $150 ; BELLOSSOM - mon_cry CRY_MARILL, $11b, $120 ; MARILL - mon_cry CRY_MARILL, $0b6, $180 ; AZUMARILL - mon_cry CRY_CLEFFA, $f40, $180 ; SUDOWOODO - mon_cry CRY_CLEFFA, -$2a3, $1c8 ; POLITOED - mon_cry CRY_CLEFFA, $03b, $0c8 ; HOPPIP - mon_cry CRY_CLEFFA, $027, $138 ; SKIPLOOM - mon_cry CRY_CLEFFA, $000, $180 ; JUMPLUFF - mon_cry CRY_AIPOM, -$051, $0e8 ; AIPOM - mon_cry CRY_MARILL, $12b, $0b8 ; SUNKERN - mon_cry CRY_SUNFLORA, -$020, $180 ; SUNFLORA - mon_cry CRY_TOTODILE, $031, $0c8 ; YANMA - mon_cry CRY_WOOPER, $093, $0af ; WOOPER - mon_cry CRY_WOOPER, -$0c6, $140 ; QUAGSIRE - mon_cry CRY_AIPOM, $0a2, $140 ; ESPEON - mon_cry CRY_VENONAT, -$0e9, $0f0 ; UMBREON - mon_cry CRY_MARILL, -$01f, $180 ; MURKROW - mon_cry CRY_SLOWKING, $104, $200 ; SLOWKING - mon_cry CRY_HOOTHOOT, $130, $0e8 ; MISDREAVUS - mon_cry CRY_HOOTHOOT, $162, $100 ; UNOWN - mon_cry CRY_AMPHAROS, $27b, $144 ; WOBBUFFET - mon_cry CRY_GIRAFARIG, $041, $200 ; GIRAFARIG - mon_cry CRY_SLOWKING, $080, $100 ; PINECO - mon_cry CRY_SLOWKING, $000, $180 ; FORRETRESS - mon_cry CRY_DUNSPARCE, $1c4, $100 ; DUNSPARCE - mon_cry CRY_GLIGAR, -$102, $100 ; GLIGAR - mon_cry CRY_TYPHLOSION, $0ef, $0f7 ; STEELIX - mon_cry CRY_DUNSPARCE, $112, $0e8 ; SNUBBULL - mon_cry CRY_DUNSPARCE, $000, $180 ; GRANBULL - mon_cry CRY_SLOWKING, $160, $0e0 ; QWILFISH - mon_cry CRY_AMPHAROS, $000, $160 ; SCIZOR - mon_cry CRY_DUNSPARCE, $290, $0a8 ; SHUCKLE - mon_cry CRY_AMPHAROS, $035, $0e0 ; HERACROSS - mon_cry CRY_WOOPER, $053, $0af ; SNEASEL - mon_cry CRY_TEDDIURSA, $7a2, $06e ; TEDDIURSA - mon_cry CRY_TEDDIURSA, $640, $0d8 ; URSARING - mon_cry CRY_SLUGMA, -$1d8, $140 ; SLUGMA - mon_cry CRY_MAGCARGO, -$20d, $1c0 ; MAGCARGO - mon_cry CRY_CYNDAQUIL, $1fe, $140 ; SWINUB - mon_cry CRY_MAGCARGO, -$109, $100 ; PILOSWINE - mon_cry CRY_MAGCARGO, $0a1, $0e8 ; CORSOLA - mon_cry CRY_SUNFLORA, $00d, $100 ; REMORAID - mon_cry CRY_TOTODILE, $000, $180 ; OCTILLERY - mon_cry CRY_TEDDIURSA, $002, $06a ; DELIBIRD - mon_cry CRY_MANTINE, -$0be, $0f0 ; MANTINE - mon_cry CRY_AMPHAROS, $8a9, $180 ; SKARMORY - mon_cry CRY_CYNDAQUIL, $039, $140 ; HOUNDOUR - mon_cry CRY_TOTODILE, -$10a, $100 ; HOUNDOOM - mon_cry CRY_SLUGMA, $2fb, $100 ; KINGDRA - mon_cry CRY_SENTRET, $048, $230 ; PHANPY - mon_cry CRY_DONPHAN, $000, $1a0 ; DONPHAN - mon_cry CRY_GIRAFARIG, $073, $240 ; PORYGON2 - mon_cry CRY_AIPOM, -$160, $180 ; STANTLER - mon_cry CRY_PICHU, -$21a, $1f0 ; SMEARGLE - mon_cry CRY_AIPOM, $02c, $108 ; TYROGUE - mon_cry CRY_SLUGMA, $000, $100 ; HITMONTOP - mon_cry CRY_MARILL, $068, $100 ; SMOOCHUM - mon_cry CRY_SUNFLORA, -$2d8, $0b4 ; ELEKID - mon_cry CRY_TEDDIURSA, $176, $03a ; MAGBY - mon_cry CRY_GLIGAR, -$1cd, $1a0 ; MILTANK - mon_cry CRY_SLOWKING, $293, $140 ; BLISSEY - mon_cry CRY_RAIKOU, $22e, $120 ; RAIKOU - mon_cry CRY_ENTEI, $000, $1a0 ; ENTEI - mon_cry CRY_MAGCARGO, $000, $180 ; SUICUNE - mon_cry CRY_RAIKOU, $05f, $0d0 ; LARVITAR - mon_cry CRY_SPINARAK, -$1db, $150 ; PUPITAR - mon_cry CRY_RAIKOU, -$100, $180 ; TYRANITAR - mon_cry CRY_TYPHLOSION, $000, $100 ; LUGIA - mon_cry CRY_AIPOM, $000, $180 ; HO_OH - mon_cry CRY_ENTEI, $14a, $111 ; CELEBI - mon_cry CRY_NIDORAN_M, 0, 0 ; 252 - mon_cry CRY_NIDORAN_M, 0, 0 ; 253 - mon_cry CRY_NIDORAN_M, 0, 0 ; 254 - mon_cry CRY_NIDORAN_M, 0, 0 ; 255 + mon_cry CRY_BULBASAUR, 128, 129 ; BULBASAUR + mon_cry CRY_BULBASAUR, 32, 256 ; IVYSAUR + mon_cry CRY_BULBASAUR, 0, 320 ; VENUSAUR + mon_cry CRY_CHARMANDER, 96, 192 ; CHARMANDER + mon_cry CRY_CHARMANDER, 32, 192 ; CHARMELEON + mon_cry CRY_CHARMANDER, 0, 256 ; CHARIZARD + mon_cry CRY_SQUIRTLE, 96, 192 ; SQUIRTLE + mon_cry CRY_SQUIRTLE, 32, 192 ; WARTORTLE + mon_cry CRY_BLASTOISE, 0, 256 ; BLASTOISE + mon_cry CRY_CATERPIE, 128, 160 ; CATERPIE + mon_cry CRY_METAPOD, 204, 129 ; METAPOD + mon_cry CRY_CATERPIE, 119, 192 ; BUTTERFREE + mon_cry CRY_WEEDLE, 238, 129 ; WEEDLE + mon_cry CRY_BLASTOISE, 255, 129 ; KAKUNA + mon_cry CRY_BLASTOISE, 96, 256 ; BEEDRILL + mon_cry CRY_PIDGEY, 223, 132 ; PIDGEY + mon_cry CRY_PIDGEOTTO, 40, 320 ; PIDGEOTTO + mon_cry CRY_PIDGEOTTO, 17, 383 ; PIDGEOT + mon_cry CRY_RATTATA, 0, 256 ; RATTATA + mon_cry CRY_RATTATA, 32, 383 ; RATICATE + mon_cry CRY_SPEAROW, 0, 256 ; SPEAROW + mon_cry CRY_FEAROW, 64, 288 ; FEAROW + mon_cry CRY_EKANS, 18, 192 ; EKANS + mon_cry CRY_EKANS, 224, 144 ; ARBOK + mon_cry CRY_BULBASAUR, 238, 129 ; PIKACHU + mon_cry CRY_RAICHU, 238, 136 ; RAICHU + mon_cry CRY_NIDORAN_M, 32, 192 ; SANDSHREW + mon_cry CRY_NIDORAN_M, 255, 383 ; SANDSLASH + mon_cry CRY_NIDORAN_F, 0, 256 ; NIDORAN_F + mon_cry CRY_NIDORAN_F, 44, 352 ; NIDORINA + mon_cry CRY_NIDOQUEEN, 0, 256 ; NIDOQUEEN + mon_cry CRY_NIDORAN_M, 0, 256 ; NIDORAN_M + mon_cry CRY_NIDORAN_M, 44, 320 ; NIDORINO + mon_cry CRY_RAICHU, 0, 256 ; NIDOKING + mon_cry CRY_CLEFAIRY, 204, 129 ; CLEFAIRY + mon_cry CRY_CLEFAIRY, 170, 160 ; CLEFABLE + mon_cry CRY_VULPIX, 79, 144 ; VULPIX + mon_cry CRY_VULPIX, 136, 224 ; NINETALES + mon_cry CRY_PIDGEY, 255, 181 ; JIGGLYPUFF + mon_cry CRY_PIDGEY, 104, 224 ; WIGGLYTUFF + mon_cry CRY_SQUIRTLE, 224, 256 ; ZUBAT + mon_cry CRY_SQUIRTLE, 250, 256 ; GOLBAT + mon_cry CRY_ODDISH, 221, 129 ; ODDISH + mon_cry CRY_ODDISH, 170, 192 ; GLOOM + mon_cry CRY_VILEPLUME, 34, 383 ; VILEPLUME + mon_cry CRY_PARAS, 32, 352 ; PARAS + mon_cry CRY_PARAS, 66, 383 ; PARASECT + mon_cry CRY_VENONAT, 68, 192 ; VENONAT + mon_cry CRY_VENONAT, 41, 256 ; VENOMOTH + mon_cry CRY_DIGLETT, 170, 129 ; DIGLETT + mon_cry CRY_DIGLETT, 42, 144 ; DUGTRIO + mon_cry CRY_CLEFAIRY, 119, 144 ; MEOWTH + mon_cry CRY_CLEFAIRY, 153, 383 ; PERSIAN + mon_cry CRY_PSYDUCK, 32, 224 ; PSYDUCK + mon_cry CRY_PSYDUCK, 255, 192 ; GOLDUCK + mon_cry CRY_NIDOQUEEN, 221, 224 ; MANKEY + mon_cry CRY_NIDOQUEEN, 175, 192 ; PRIMEAPE + mon_cry CRY_GROWLITHE, 32, 192 ; GROWLITHE + mon_cry CRY_WEEDLE, 0, 256 ; ARCANINE + mon_cry CRY_PIDGEY, 255, 383 ; POLIWAG + mon_cry CRY_PIDGEY, 119, 224 ; POLIWHIRL + mon_cry CRY_PIDGEY, 0, 383 ; POLIWRATH + mon_cry CRY_METAPOD, 192, 129 ; ABRA + mon_cry CRY_METAPOD, 168, 320 ; KADABRA + mon_cry CRY_METAPOD, 152, 383 ; ALAKAZAM + mon_cry CRY_GROWLITHE, 238, 129 ; MACHOP + mon_cry CRY_GROWLITHE, 72, 224 ; MACHOKE + mon_cry CRY_GROWLITHE, 8, 320 ; MACHAMP + mon_cry CRY_PSYDUCK, 85, 129 ; BELLSPROUT + mon_cry CRY_WEEPINBELL, 68, 160 ; WEEPINBELL + mon_cry CRY_WEEPINBELL, 102, 332 ; VICTREEBEL + mon_cry CRY_VENONAT, 0, 256 ; TENTACOOL + mon_cry CRY_VENONAT, 238, 383 ; TENTACRUEL + mon_cry CRY_VULPIX, 240, 144 ; GEODUDE + mon_cry CRY_VULPIX, 0, 256 ; GRAVELER + mon_cry CRY_GOLEM, 224, 192 ; GOLEM + mon_cry CRY_WEEPINBELL, 0, 256 ; PONYTA + mon_cry CRY_WEEPINBELL, 32, 320 ; RAPIDASH + mon_cry CRY_SLOWPOKE, 0, 256 ; SLOWPOKE + mon_cry CRY_GROWLITHE, 0, 256 ; SLOWBRO + mon_cry CRY_METAPOD, 128, 224 ; MAGNEMITE + mon_cry CRY_METAPOD, 32, 320 ; MAGNETON + mon_cry CRY_SPEAROW, 221, 129 ; FARFETCH_D + mon_cry CRY_DIGLETT, 187, 129 ; DODUO + mon_cry CRY_DIGLETT, 153, 160 ; DODRIO + mon_cry CRY_SEEL, 136, 320 ; SEEL + mon_cry CRY_SEEL, 35, 383 ; DEWGONG + mon_cry CRY_GRIMER, 0, 256 ; GRIMER + mon_cry CRY_MUK, 239, 383 ; MUK + mon_cry CRY_FEAROW, 0, 256 ; SHELLDER + mon_cry CRY_FEAROW, 111, 352 ; CLOYSTER + mon_cry CRY_METAPOD, 0, 256 ; GASTLY + mon_cry CRY_METAPOD, 48, 192 ; HAUNTER + mon_cry CRY_MUK, 0, 383 ; GENGAR + mon_cry CRY_EKANS, 255, 320 ; ONIX + mon_cry CRY_DROWZEE, 136, 160 ; DROWZEE + mon_cry CRY_DROWZEE, 238, 192 ; HYPNO + mon_cry CRY_KRABBY, 32, 352 ; KRABBY + mon_cry CRY_KRABBY, 238, 352 ; KINGLER + mon_cry CRY_VOLTORB, 237, 256 ; VOLTORB + mon_cry CRY_VOLTORB, 168, 272 ; ELECTRODE + mon_cry CRY_DIGLETT, 0, 256 ; EXEGGCUTE + mon_cry CRY_DROWZEE, 0, 256 ; EXEGGUTOR + mon_cry CRY_CLEFAIRY, 0, 256 ; CUBONE + mon_cry CRY_ODDISH, 79, 224 ; MAROWAK + mon_cry CRY_GOLEM, 128, 320 ; HITMONLEE + mon_cry CRY_SEEL, 238, 320 ; HITMONCHAN + mon_cry CRY_SEEL, 0, 256 ; LICKITUNG + mon_cry CRY_GOLEM, 230, 349 ; KOFFING + mon_cry CRY_GOLEM, 255, 383 ; WEEZING + mon_cry CRY_CHARMANDER, 0, 256 ; RHYHORN + mon_cry CRY_RHYDON, 0, 256 ; RHYDON + mon_cry CRY_PIDGEOTTO, 10, 320 ; CHANSEY + mon_cry CRY_GOLEM, 0, 256 ; TANGELA + mon_cry CRY_KANGASKHAN, 0, 256 ; KANGASKHAN + mon_cry CRY_CLEFAIRY, 153, 144 ; HORSEA + mon_cry CRY_CLEFAIRY, 60, 129 ; SEADRA + mon_cry CRY_CATERPIE, 128, 192 ; GOLDEEN + mon_cry CRY_CATERPIE, 16, 383 ; SEAKING + mon_cry CRY_PARAS, 2, 160 ; STARYU + mon_cry CRY_PARAS, 0, 256 ; STARMIE + mon_cry CRY_KRABBY, 8, 192 ; MR__MIME + mon_cry CRY_CATERPIE, 0, 256 ; SCYTHER + mon_cry CRY_DROWZEE, 255, 383 ; JYNX + mon_cry CRY_VOLTORB, 143, 383 ; ELECTABUZZ + mon_cry CRY_CHARMANDER, 255, 176 ; MAGMAR + mon_cry CRY_PIDGEOTTO, 0, 256 ; PINSIR + mon_cry CRY_SQUIRTLE, 17, 192 ; TAUROS + mon_cry CRY_EKANS, 128, 128 ; MAGIKARP + mon_cry CRY_EKANS, 0, 256 ; GYARADOS + mon_cry CRY_LAPRAS, 0, 256 ; LAPRAS + mon_cry CRY_PIDGEY, 255, 383 ; DITTO + mon_cry CRY_VENONAT, 136, 224 ; EEVEE + mon_cry CRY_VENONAT, 170, 383 ; VAPOREON + mon_cry CRY_VENONAT, 61, 256 ; JOLTEON + mon_cry CRY_VENONAT, 16, 160 ; FLAREON + mon_cry CRY_WEEPINBELL, 170, 383 ; PORYGON + mon_cry CRY_GROWLITHE, 240, 129 ; OMANYTE + mon_cry CRY_GROWLITHE, 255, 192 ; OMASTAR + mon_cry CRY_CATERPIE, 187, 192 ; KABUTO + mon_cry CRY_FEAROW, 238, 129 ; KABUTOPS + mon_cry CRY_VILEPLUME, 32, 368 ; AERODACTYL + mon_cry CRY_GRIMER, 85, 129 ; SNORLAX + mon_cry CRY_RAICHU, 128, 192 ; ARTICUNO + mon_cry CRY_FEAROW, 255, 256 ; ZAPDOS + mon_cry CRY_RAICHU, 248, 192 ; MOLTRES + mon_cry CRY_BULBASAUR, 96, 192 ; DRATINI + mon_cry CRY_BULBASAUR, 64, 256 ; DRAGONAIR + mon_cry CRY_BULBASAUR, 60, 320 ; DRAGONITE + mon_cry CRY_PARAS, 153, 383 ; MEWTWO + mon_cry CRY_PARAS, 238, 383 ; MEW + mon_cry CRY_CHIKORITA, -16, 176 ; CHIKORITA + mon_cry CRY_CHIKORITA, -34, 288 ; BAYLEEF + mon_cry CRY_CHIKORITA, -183, 512 ; MEGANIUM + mon_cry CRY_CYNDAQUIL, 839, 128 ; CYNDAQUIL + mon_cry CRY_CYNDAQUIL, 801, 288 ; QUILAVA + mon_cry CRY_TYPHLOSION, 3840, 212 ; TYPHLOSION + mon_cry CRY_TOTODILE, 1132, 232 ; TOTODILE + mon_cry CRY_TOTODILE, 1088, 272 ; CROCONAW + mon_cry CRY_TOTODILE, 1020, 384 ; FERALIGATR + mon_cry CRY_SENTRET, 138, 184 ; SENTRET + mon_cry CRY_SENTRET, 107, 258 ; FURRET + mon_cry CRY_HOOTHOOT, 145, 216 ; HOOTHOOT + mon_cry CRY_HOOTHOOT, 0, 416 ; NOCTOWL + mon_cry CRY_LEDYBA, 0, 222 ; LEDYBA + mon_cry CRY_LEDYBA, -150, 312 ; LEDIAN + mon_cry CRY_SPINARAK, 17, 512 ; SPINARAK + mon_cry CRY_SPINARAK, -174, 482 ; ARIADOS + mon_cry CRY_SQUIRTLE, -16, 320 ; CROBAT + mon_cry CRY_CYNDAQUIL, 969, 320 ; CHINCHOU + mon_cry CRY_CYNDAQUIL, 720, 272 ; LANTURN + mon_cry CRY_PICHU, 0, 320 ; PICHU + mon_cry CRY_CLEFFA, 97, 145 ; CLEFFA + mon_cry CRY_CHIKORITA, 232, 232 ; IGGLYBUFF + mon_cry CRY_TOGEPI, 16, 256 ; TOGEPI + mon_cry CRY_TOGETIC, 59, 56 ; TOGETIC + mon_cry CRY_NATU, -103, 256 ; NATU + mon_cry CRY_NATU, -167, 360 ; XATU + mon_cry CRY_MAREEP, 34, 216 ; MAREEP + mon_cry CRY_MAREEP, -7, 384 ; FLAAFFY + mon_cry CRY_AMPHAROS, -124, 232 ; AMPHAROS + mon_cry CRY_CLEFFA, 132, 336 ; BELLOSSOM + mon_cry CRY_MARILL, 283, 288 ; MARILL + mon_cry CRY_MARILL, 182, 384 ; AZUMARILL + mon_cry CRY_CLEFFA, 3904, 384 ; SUDOWOODO + mon_cry CRY_CLEFFA, -675, 456 ; POLITOED + mon_cry CRY_CLEFFA, 59, 200 ; HOPPIP + mon_cry CRY_CLEFFA, 39, 312 ; SKIPLOOM + mon_cry CRY_CLEFFA, 0, 384 ; JUMPLUFF + mon_cry CRY_AIPOM, -81, 232 ; AIPOM + mon_cry CRY_MARILL, 299, 184 ; SUNKERN + mon_cry CRY_SUNFLORA, -32, 384 ; SUNFLORA + mon_cry CRY_TOTODILE, 49, 200 ; YANMA + mon_cry CRY_WOOPER, 147, 175 ; WOOPER + mon_cry CRY_WOOPER, -198, 320 ; QUAGSIRE + mon_cry CRY_AIPOM, 162, 320 ; ESPEON + mon_cry CRY_VENONAT, -233, 240 ; UMBREON + mon_cry CRY_MARILL, -31, 384 ; MURKROW + mon_cry CRY_SLOWKING, 260, 512 ; SLOWKING + mon_cry CRY_HOOTHOOT, 304, 232 ; MISDREAVUS + mon_cry CRY_HOOTHOOT, 354, 256 ; UNOWN + mon_cry CRY_AMPHAROS, 635, 324 ; WOBBUFFET + mon_cry CRY_GIRAFARIG, 65, 512 ; GIRAFARIG + mon_cry CRY_SLOWKING, 128, 256 ; PINECO + mon_cry CRY_SLOWKING, 0, 384 ; FORRETRESS + mon_cry CRY_DUNSPARCE, 452, 256 ; DUNSPARCE + mon_cry CRY_GLIGAR, -258, 256 ; GLIGAR + mon_cry CRY_TYPHLOSION, 239, 247 ; STEELIX + mon_cry CRY_DUNSPARCE, 274, 232 ; SNUBBULL + mon_cry CRY_DUNSPARCE, 0, 384 ; GRANBULL + mon_cry CRY_SLOWKING, 352, 224 ; QWILFISH + mon_cry CRY_AMPHAROS, 0, 352 ; SCIZOR + mon_cry CRY_DUNSPARCE, 656, 168 ; SHUCKLE + mon_cry CRY_AMPHAROS, 53, 224 ; HERACROSS + mon_cry CRY_WOOPER, 83, 175 ; SNEASEL + mon_cry CRY_TEDDIURSA, 1954, 110 ; TEDDIURSA + mon_cry CRY_TEDDIURSA, 1600, 216 ; URSARING + mon_cry CRY_SLUGMA, -472, 320 ; SLUGMA + mon_cry CRY_MAGCARGO, -525, 448 ; MAGCARGO + mon_cry CRY_CYNDAQUIL, 510, 320 ; SWINUB + mon_cry CRY_MAGCARGO, -265, 256 ; PILOSWINE + mon_cry CRY_MAGCARGO, 161, 232 ; CORSOLA + mon_cry CRY_SUNFLORA, 13, 256 ; REMORAID + mon_cry CRY_TOTODILE, 0, 384 ; OCTILLERY + mon_cry CRY_TEDDIURSA, 2, 106 ; DELIBIRD + mon_cry CRY_MANTINE, -190, 240 ; MANTINE + mon_cry CRY_AMPHAROS, 2217, 384 ; SKARMORY + mon_cry CRY_CYNDAQUIL, 57, 320 ; HOUNDOUR + mon_cry CRY_TOTODILE, -266, 256 ; HOUNDOOM + mon_cry CRY_SLUGMA, 763, 256 ; KINGDRA + mon_cry CRY_SENTRET, 72, 560 ; PHANPY + mon_cry CRY_DONPHAN, 0, 416 ; DONPHAN + mon_cry CRY_GIRAFARIG, 115, 576 ; PORYGON2 + mon_cry CRY_AIPOM, -352, 384 ; STANTLER + mon_cry CRY_PICHU, -538, 496 ; SMEARGLE + mon_cry CRY_AIPOM, 44, 264 ; TYROGUE + mon_cry CRY_SLUGMA, 0, 256 ; HITMONTOP + mon_cry CRY_MARILL, 104, 256 ; SMOOCHUM + mon_cry CRY_SUNFLORA, -728, 180 ; ELEKID + mon_cry CRY_TEDDIURSA, 374, 58 ; MAGBY + mon_cry CRY_GLIGAR, -461, 416 ; MILTANK + mon_cry CRY_SLOWKING, 659, 320 ; BLISSEY + mon_cry CRY_RAIKOU, 558, 288 ; RAIKOU + mon_cry CRY_ENTEI, 0, 416 ; ENTEI + mon_cry CRY_MAGCARGO, 0, 384 ; SUICUNE + mon_cry CRY_RAIKOU, 95, 208 ; LARVITAR + mon_cry CRY_SPINARAK, -475, 336 ; PUPITAR + mon_cry CRY_RAIKOU, -256, 384 ; TYRANITAR + mon_cry CRY_TYPHLOSION, 0, 256 ; LUGIA + mon_cry CRY_AIPOM, 0, 384 ; HO_OH + mon_cry CRY_ENTEI, 330, 273 ; CELEBI + mon_cry CRY_NIDORAN_M, 0, 0 ; 252 + mon_cry CRY_NIDORAN_M, 0, 0 ; 253 + mon_cry CRY_NIDORAN_M, 0, 0 ; 254 + mon_cry CRY_NIDORAN_M, 0, 0 ; 255 diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index 3dd456e2..6550eae4 100644 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -1,6 +1,6 @@ INCLUDE "constants.asm" -IF DEF(GOLD) +IF DEF(_GOLD) SECTION "Pokedex Entries 001-064", ROMX BulbasaurPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gold/bulbasaur.asm" @@ -268,7 +268,7 @@ HoOhPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gold/ho_oh.asm" CelebiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gold/celebi.asm" ENDC -IF DEF(SILVER) +IF DEF(_SILVER) SECTION "Pokedex Entries 001-064", ROMX BulbasaurPokedexEntry:: INCLUDE "data/pokemon/dex_entries/silver/bulbasaur.asm" diff --git a/data/pokedex/entry_pointers.asm b/data/pokemon/dex_entry_pointers.asm index cd9d1175..6081757e 100644 --- a/data/pokedex/entry_pointers.asm +++ b/data/pokemon/dex_entry_pointers.asm @@ -1,72 +1,5 @@ -GetDexEntryPointer: ; 44333 -; return dex entry pointer b:de - push hl - ld hl, PokedexDataPointerTable - ld a, b - dec a - ld d, 0 - ld e, a - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - push de - rlca - rlca - and $3 - ld hl, .PokedexEntryBanks - ld d, 0 - ld e, a - add hl, de - ld b, [hl] - pop de - pop hl - ret - -.PokedexEntryBanks: ; 44351 - - db BANK("Pokedex Entries 001-064") - db BANK("Pokedex Entries 065-128") - db BANK("Pokedex Entries 129-192") - db BANK("Pokedex Entries 193-251") - -GetDexEntryPagePointer: ; 44355 - call GetDexEntryPointer ; b:de - push hl - ld h, d - ld l, e -; skip species name -.loop1 - ld a, b - call GetFarByte - inc hl - cp "@" - jr nz, .loop1 -; skip height and weight -rept 4 - inc hl -endr -; if c != 1: skip entry - dec c - jr z, .done -; skip entry -.loop2 - ld a, b - call GetFarByte - inc hl - cp "@" - jr nz, .loop2 - -.done - ld d, h - ld e, l - pop hl - ret - -PokedexDataPointerTable: ; 0x44378 -; Pointers to all the Pokedex entries. - +PokedexDataPointerTable: +; entries correspond to constants/pokemon_constants.asm dw BulbasaurPokedexEntry dw IvysaurPokedexEntry dw VenusaurPokedexEntry diff --git a/data/pokedex/order_new.asm b/data/pokemon/dex_order_alpha.asm index a98a658c..b93238cb 100644 --- a/data/pokedex/order_new.asm +++ b/data/pokemon/dex_order_alpha.asm @@ -1,253 +1,254 @@ -; Every Pokemon sorted in New Pokedex Order. +; Every Pokémon sorted alphabetically by name. - db CHIKORITA +AlphabeticalPokedexOrder: + db ABRA + db AERODACTYL + db AIPOM + db ALAKAZAM + db AMPHAROS + db ARBOK + db ARCANINE + db ARIADOS + db ARTICUNO + db AZUMARILL db BAYLEEF - db MEGANIUM - db CYNDAQUIL - db QUILAVA - db TYPHLOSION - db TOTODILE - db CROCONAW - db FERALIGATR - db PIDGEY - db PIDGEOTTO - db PIDGEOT - db SPEAROW - db FEAROW - db HOOTHOOT - db NOCTOWL - db RATTATA - db RATICATE - db SENTRET - db FURRET - db PICHU - db PIKACHU - db RAICHU - db CATERPIE - db METAPOD - db BUTTERFREE - db WEEDLE - db KAKUNA db BEEDRILL - db LEDYBA - db LEDIAN - db SPINARAK - db ARIADOS - db GEODUDE - db GRAVELER - db GOLEM - db ZUBAT - db GOLBAT - db CROBAT - db CLEFFA - db CLEFAIRY + db BELLOSSOM + db BELLSPROUT + db BLASTOISE + db BLISSEY + db BULBASAUR + db BUTTERFREE + db CATERPIE + db CELEBI + db CHANSEY + db CHARIZARD + db CHARMANDER + db CHARMELEON + db CHIKORITA + db CHINCHOU db CLEFABLE - db IGGLYBUFF - db JIGGLYPUFF - db WIGGLYTUFF - db TOGEPI - db TOGETIC - db SANDSHREW - db SANDSLASH - db EKANS - db ARBOK + db CLEFAIRY + db CLEFFA + db CLOYSTER + db CORSOLA + db CROBAT + db CROCONAW + db CUBONE + db CYNDAQUIL + db DELIBIRD + db DEWGONG + db DIGLETT + db DITTO + db DODRIO + db DODUO + db DONPHAN + db DRAGONAIR + db DRAGONITE + db DRATINI + db DROWZEE + db DUGTRIO db DUNSPARCE - db MAREEP + db EEVEE + db EKANS + db ELECTABUZZ + db ELECTRODE + db ELEKID + db ENTEI + db ESPEON + db EXEGGCUTE + db EXEGGUTOR + db FARFETCH_D + db FEAROW + db FERALIGATR db FLAAFFY - db AMPHAROS - db WOOPER - db QUAGSIRE + db FLAREON + db FORRETRESS + db FURRET db GASTLY - db HAUNTER db GENGAR - db UNOWN - db ONIX - db STEELIX - db BELLSPROUT - db WEEPINBELL - db VICTREEBEL - db HOPPIP - db SKIPLOOM - db JUMPLUFF - db PARAS - db PARASECT - db POLIWAG - db POLIWHIRL - db POLIWRATH - db POLITOED - db MAGIKARP - db GYARADOS - db GOLDEEN - db SEAKING - db SLOWPOKE - db SLOWBRO - db SLOWKING - db ODDISH + db GEODUDE + db GIRAFARIG + db GLIGAR db GLOOM - db VILEPLUME - db BELLOSSOM - db DROWZEE + db GOLBAT + db GOLDEEN + db GOLDUCK + db GOLEM + db GRANBULL + db GRAVELER + db GRIMER + db GROWLITHE + db GYARADOS + db HAUNTER + db HERACROSS + db HITMONCHAN + db HITMONLEE + db HITMONTOP + db HO_OH + db HOOTHOOT + db HOPPIP + db HORSEA + db HOUNDOOM + db HOUNDOUR db HYPNO - db ABRA + db IGGLYBUFF + db IVYSAUR + db JIGGLYPUFF + db JOLTEON + db JUMPLUFF + db JYNX + db KABUTO + db KABUTOPS db KADABRA - db ALAKAZAM - db DITTO - db PINECO - db FORRETRESS - db NIDORAN_F - db NIDORINA - db NIDOQUEEN - db NIDORAN_M - db NIDORINO - db NIDOKING - db YANMA - db SUNKERN - db SUNFLORA - db EXEGGCUTE - db EXEGGUTOR - db SUDOWOODO - db WOBBUFFET - db VENONAT - db VENOMOTH - db SCYTHER - db SCIZOR - db PINSIR - db HERACROSS + db KAKUNA + db KANGASKHAN + db KINGDRA + db KINGLER db KOFFING - db WEEZING - db GRIMER - db MUK + db KRABBY + db LANTURN + db LAPRAS + db LARVITAR + db LEDIAN + db LEDYBA + db LICKITUNG + db LUGIA + db MACHAMP + db MACHOKE + db MACHOP + db MAGBY + db MAGCARGO + db MAGIKARP + db MAGMAR db MAGNEMITE db MAGNETON - db VOLTORB - db ELECTRODE - db AIPOM - db SNUBBULL - db GRANBULL - db VULPIX - db NINETALES - db GROWLITHE - db ARCANINE - db STANTLER - db MARILL - db AZUMARILL - db DIGLETT - db DUGTRIO db MANKEY - db PRIMEAPE + db MANTINE + db MAREEP + db MARILL + db MAROWAK + db MEGANIUM db MEOWTH - db PERSIAN - db PSYDUCK - db GOLDUCK - db MACHOP - db MACHOKE - db MACHAMP - db TYROGUE - db HITMONLEE - db HITMONCHAN - db HITMONTOP - db GIRAFARIG - db TAUROS + db METAPOD + db MEW + db MEWTWO db MILTANK - db MAGBY - db MAGMAR - db SMOOCHUM - db JYNX - db ELEKID - db ELECTABUZZ + db MISDREAVUS + db MOLTRES db MR__MIME - db SMEARGLE - db FARFETCH_D + db MUK + db MURKROW db NATU - db XATU - db QWILFISH - db TENTACOOL - db TENTACRUEL - db KRABBY - db KINGLER - db SHUCKLE - db STARYU - db STARMIE - db SHELLDER - db CLOYSTER - db CORSOLA - db REMORAID + db NIDOKING + db NIDOQUEEN + db NIDORAN_F + db NIDORAN_M + db NIDORINA + db NIDORINO + db NINETALES + db NOCTOWL db OCTILLERY - db CHINCHOU - db LANTURN - db SEEL - db DEWGONG - db LICKITUNG - db TANGELA - db EEVEE - db VAPOREON - db JOLTEON - db FLAREON - db ESPEON - db UMBREON - db HORSEA - db SEADRA - db KINGDRA - db GLIGAR - db DELIBIRD - db SWINUB - db PILOSWINE - db TEDDIURSA - db URSARING + db ODDISH + db OMANYTE + db OMASTAR + db ONIX + db PARAS + db PARASECT + db PERSIAN db PHANPY - db DONPHAN - db MANTINE - db SKARMORY - db DODUO - db DODRIO + db PICHU + db PIDGEOT + db PIDGEOTTO + db PIDGEY + db PIKACHU + db PILOSWINE + db PINECO + db PINSIR + db POLITOED + db POLIWAG + db POLIWHIRL + db POLIWRATH db PONYTA + db PORYGON + db PORYGON2 + db PRIMEAPE + db PSYDUCK + db PUPITAR + db QUAGSIRE + db QUILAVA + db QWILFISH + db RAICHU + db RAIKOU db RAPIDASH - db CUBONE - db MAROWAK - db KANGASKHAN - db RHYHORN + db RATICATE + db RATTATA + db REMORAID db RHYDON - db MURKROW - db HOUNDOUR - db HOUNDOOM + db RHYHORN + db SANDSHREW + db SANDSLASH + db SCIZOR + db SCYTHER + db SEADRA + db SEAKING + db SEEL + db SENTRET + db SHELLDER + db SHUCKLE + db SKARMORY + db SKIPLOOM + db SLOWBRO + db SLOWKING + db SLOWPOKE db SLUGMA - db MAGCARGO + db SMEARGLE + db SMOOCHUM db SNEASEL - db MISDREAVUS - db PORYGON - db PORYGON2 - db CHANSEY - db BLISSEY - db LAPRAS - db OMANYTE - db OMASTAR - db KABUTO - db KABUTOPS - db AERODACTYL db SNORLAX - db BULBASAUR - db IVYSAUR - db VENUSAUR - db CHARMANDER - db CHARMELEON - db CHARIZARD + db SNUBBULL + db SPEAROW + db SPINARAK db SQUIRTLE - db WARTORTLE - db BLASTOISE - db ARTICUNO - db ZAPDOS - db MOLTRES - db RAIKOU - db ENTEI + db STANTLER + db STARMIE + db STARYU + db STEELIX + db SUDOWOODO db SUICUNE - db DRATINI - db DRAGONAIR - db DRAGONITE - db LARVITAR - db PUPITAR + db SUNFLORA + db SUNKERN + db SWINUB + db TANGELA + db TAUROS + db TEDDIURSA + db TENTACOOL + db TENTACRUEL + db TOGEPI + db TOGETIC + db TOTODILE + db TYPHLOSION db TYRANITAR - db LUGIA - db HO_OH - db MEWTWO - db MEW - db CELEBI + db TYROGUE + db UMBREON + db UNOWN + db URSARING + db VAPOREON + db VENOMOTH + db VENONAT + db VENUSAUR + db VICTREEBEL + db VILEPLUME + db VOLTORB + db VULPIX + db WARTORTLE + db WEEDLE + db WEEPINBELL + db WEEZING + db WIGGLYTUFF + db WOBBUFFET + db WOOPER + db XATU + db YANMA + db ZAPDOS + db ZUBAT diff --git a/data/pokedex/order_alpha.asm b/data/pokemon/dex_order_new.asm index bab0a981..853fbe73 100644 --- a/data/pokedex/order_alpha.asm +++ b/data/pokemon/dex_order_new.asm @@ -1,253 +1,254 @@ -; Every Pokemon sorted alphabetically by name. +; Every Pokémon sorted in New Pokédex Order. - db ABRA - db AERODACTYL - db AIPOM - db ALAKAZAM - db AMPHAROS - db ARBOK - db ARCANINE - db ARIADOS - db ARTICUNO - db AZUMARILL - db BAYLEEF - db BEEDRILL - db BELLOSSOM - db BELLSPROUT - db BLASTOISE - db BLISSEY - db BULBASAUR - db BUTTERFREE - db CATERPIE - db CELEBI - db CHANSEY - db CHARIZARD - db CHARMANDER - db CHARMELEON +NewPokedexOrder: db CHIKORITA - db CHINCHOU - db CLEFABLE - db CLEFAIRY - db CLEFFA - db CLOYSTER - db CORSOLA - db CROBAT - db CROCONAW - db CUBONE + db BAYLEEF + db MEGANIUM db CYNDAQUIL - db DELIBIRD - db DEWGONG - db DIGLETT - db DITTO - db DODRIO - db DODUO - db DONPHAN - db DRAGONAIR - db DRAGONITE - db DRATINI - db DROWZEE - db DUGTRIO - db DUNSPARCE - db EEVEE - db EKANS - db ELECTABUZZ - db ELECTRODE - db ELEKID - db ENTEI - db ESPEON - db EXEGGCUTE - db EXEGGUTOR - db FARFETCH_D - db FEAROW + db QUILAVA + db TYPHLOSION + db TOTODILE + db CROCONAW db FERALIGATR - db FLAAFFY - db FLAREON - db FORRETRESS + db PIDGEY + db PIDGEOTTO + db PIDGEOT + db SPEAROW + db FEAROW + db HOOTHOOT + db NOCTOWL + db RATTATA + db RATICATE + db SENTRET db FURRET - db GASTLY - db GENGAR + db PICHU + db PIKACHU + db RAICHU + db CATERPIE + db METAPOD + db BUTTERFREE + db WEEDLE + db KAKUNA + db BEEDRILL + db LEDYBA + db LEDIAN + db SPINARAK + db ARIADOS db GEODUDE - db GIRAFARIG - db GLIGAR - db GLOOM - db GOLBAT - db GOLDEEN - db GOLDUCK - db GOLEM - db GRANBULL db GRAVELER - db GRIMER - db GROWLITHE - db GYARADOS - db HAUNTER - db HERACROSS - db HITMONCHAN - db HITMONLEE - db HITMONTOP - db HO_OH - db HOOTHOOT - db HOPPIP - db HORSEA - db HOUNDOOM - db HOUNDOUR - db HYPNO + db GOLEM + db ZUBAT + db GOLBAT + db CROBAT + db CLEFFA + db CLEFAIRY + db CLEFABLE db IGGLYBUFF - db IVYSAUR db JIGGLYPUFF - db JOLTEON + db WIGGLYTUFF + db TOGEPI + db TOGETIC + db SANDSHREW + db SANDSLASH + db EKANS + db ARBOK + db DUNSPARCE + db MAREEP + db FLAAFFY + db AMPHAROS + db WOOPER + db QUAGSIRE + db GASTLY + db HAUNTER + db GENGAR + db UNOWN + db ONIX + db STEELIX + db BELLSPROUT + db WEEPINBELL + db VICTREEBEL + db HOPPIP + db SKIPLOOM db JUMPLUFF - db JYNX - db KABUTO - db KABUTOPS + db PARAS + db PARASECT + db POLIWAG + db POLIWHIRL + db POLIWRATH + db POLITOED + db MAGIKARP + db GYARADOS + db GOLDEEN + db SEAKING + db SLOWPOKE + db SLOWBRO + db SLOWKING + db ODDISH + db GLOOM + db VILEPLUME + db BELLOSSOM + db DROWZEE + db HYPNO + db ABRA db KADABRA - db KAKUNA - db KANGASKHAN - db KINGDRA - db KINGLER + db ALAKAZAM + db DITTO + db PINECO + db FORRETRESS + db NIDORAN_F + db NIDORINA + db NIDOQUEEN + db NIDORAN_M + db NIDORINO + db NIDOKING + db YANMA + db SUNKERN + db SUNFLORA + db EXEGGCUTE + db EXEGGUTOR + db SUDOWOODO + db WOBBUFFET + db VENONAT + db VENOMOTH + db SCYTHER + db SCIZOR + db PINSIR + db HERACROSS db KOFFING - db KRABBY - db LANTURN - db LAPRAS - db LARVITAR - db LEDIAN - db LEDYBA - db LICKITUNG - db LUGIA - db MACHAMP - db MACHOKE - db MACHOP - db MAGBY - db MAGCARGO - db MAGIKARP - db MAGMAR + db WEEZING + db GRIMER + db MUK db MAGNEMITE db MAGNETON - db MANKEY - db MANTINE - db MAREEP + db VOLTORB + db ELECTRODE + db AIPOM + db SNUBBULL + db GRANBULL + db VULPIX + db NINETALES + db GROWLITHE + db ARCANINE + db STANTLER db MARILL - db MAROWAK - db MEGANIUM + db AZUMARILL + db DIGLETT + db DUGTRIO + db MANKEY + db PRIMEAPE db MEOWTH - db METAPOD - db MEW - db MEWTWO + db PERSIAN + db PSYDUCK + db GOLDUCK + db MACHOP + db MACHOKE + db MACHAMP + db TYROGUE + db HITMONLEE + db HITMONCHAN + db HITMONTOP + db GIRAFARIG + db TAUROS db MILTANK - db MISDREAVUS - db MOLTRES + db MAGBY + db MAGMAR + db SMOOCHUM + db JYNX + db ELEKID + db ELECTABUZZ db MR__MIME - db MUK - db MURKROW + db SMEARGLE + db FARFETCH_D db NATU - db NIDOKING - db NIDOQUEEN - db NIDORAN_F - db NIDORAN_M - db NIDORINA - db NIDORINO - db NINETALES - db NOCTOWL + db XATU + db QWILFISH + db TENTACOOL + db TENTACRUEL + db KRABBY + db KINGLER + db SHUCKLE + db STARYU + db STARMIE + db SHELLDER + db CLOYSTER + db CORSOLA + db REMORAID db OCTILLERY - db ODDISH - db OMANYTE - db OMASTAR - db ONIX - db PARAS - db PARASECT - db PERSIAN - db PHANPY - db PICHU - db PIDGEOT - db PIDGEOTTO - db PIDGEY - db PIKACHU + db CHINCHOU + db LANTURN + db SEEL + db DEWGONG + db LICKITUNG + db TANGELA + db EEVEE + db VAPOREON + db JOLTEON + db FLAREON + db ESPEON + db UMBREON + db HORSEA + db SEADRA + db KINGDRA + db GLIGAR + db DELIBIRD + db SWINUB db PILOSWINE - db PINECO - db PINSIR - db POLITOED - db POLIWAG - db POLIWHIRL - db POLIWRATH + db TEDDIURSA + db URSARING + db PHANPY + db DONPHAN + db MANTINE + db SKARMORY + db DODUO + db DODRIO db PONYTA - db PORYGON - db PORYGON2 - db PRIMEAPE - db PSYDUCK - db PUPITAR - db QUAGSIRE - db QUILAVA - db QWILFISH - db RAICHU - db RAIKOU db RAPIDASH - db RATICATE - db RATTATA - db REMORAID - db RHYDON + db CUBONE + db MAROWAK + db KANGASKHAN db RHYHORN - db SANDSHREW - db SANDSLASH - db SCIZOR - db SCYTHER - db SEADRA - db SEAKING - db SEEL - db SENTRET - db SHELLDER - db SHUCKLE - db SKARMORY - db SKIPLOOM - db SLOWBRO - db SLOWKING - db SLOWPOKE + db RHYDON + db MURKROW + db HOUNDOUR + db HOUNDOOM db SLUGMA - db SMEARGLE - db SMOOCHUM + db MAGCARGO db SNEASEL + db MISDREAVUS + db PORYGON + db PORYGON2 + db CHANSEY + db BLISSEY + db LAPRAS + db OMANYTE + db OMASTAR + db KABUTO + db KABUTOPS + db AERODACTYL db SNORLAX - db SNUBBULL - db SPEAROW - db SPINARAK - db SQUIRTLE - db STANTLER - db STARMIE - db STARYU - db STEELIX - db SUDOWOODO - db SUICUNE - db SUNFLORA - db SUNKERN - db SWINUB - db TANGELA - db TAUROS - db TEDDIURSA - db TENTACOOL - db TENTACRUEL - db TOGEPI - db TOGETIC - db TOTODILE - db TYPHLOSION - db TYRANITAR - db TYROGUE - db UMBREON - db UNOWN - db URSARING - db VAPOREON - db VENOMOTH - db VENONAT + db BULBASAUR + db IVYSAUR db VENUSAUR - db VICTREEBEL - db VILEPLUME - db VOLTORB - db VULPIX + db CHARMANDER + db CHARMELEON + db CHARIZARD + db SQUIRTLE db WARTORTLE - db WEEDLE - db WEEPINBELL - db WEEZING - db WIGGLYTUFF - db WOBBUFFET - db WOOPER - db XATU - db YANMA + db BLASTOISE + db ARTICUNO db ZAPDOS - db ZUBAT + db MOLTRES + db RAIKOU + db ENTEI + db SUICUNE + db DRATINI + db DRAGONAIR + db DRAGONITE + db LARVITAR + db PUPITAR + db TYRANITAR + db LUGIA + db HO_OH + db MEWTWO + db MEW + db CELEBI diff --git a/data/pokemon/egg_move_pointers.asm b/data/pokemon/egg_move_pointers.asm index 11665f23..67a2c625 100644 --- a/data/pokemon/egg_move_pointers.asm +++ b/data/pokemon/egg_move_pointers.asm @@ -1,4 +1,4 @@ -EggMovePointers:: ; 0x23b11 +EggMovePointers:: dw BulbasaurEggMoves dw NoEggMoves dw NoEggMoves @@ -118,11 +118,7 @@ EggMovePointers:: ; 0x23b11 dw NoEggMoves dw GoldeenEggMoves dw NoEggMoves -if _CRYSTAL - dw NoEggMoves -else dw StaryuEggMoves -endc dw NoEggMoves dw MrMimeEggMoves dw ScytherEggMoves diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm index a31a6d23..6576a8df 100644 --- a/data/pokemon/egg_moves.asm +++ b/data/pokemon/egg_moves.asm @@ -1,29 +1,26 @@ INCLUDE "constants.asm" -SECTION "Egg Moves", ROMX, BANK[EGG_MOVES] + +SECTION "Egg Moves", ROMX ; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were -; removed from egg move lists in Crystal, because they are also TMs. +; removed from egg move lists in Crystal. +; Sweet Scent and Steel Wing were redundant since they're TMs, and +; Charm and Lovely Kiss were unobtainable. ; Staryu's egg moves were removed in Crystal, because Staryu is genderless ; and can only breed with Ditto. - INCLUDE "data/pokemon/egg_move_pointers.asm" - -EggMoves:: - BulbasaurEggMoves: db LIGHT_SCREEN db SKULL_BASH db SAFEGUARD -if !_CRYSTAL db CHARM -endc db RAZOR_WIND db PETAL_DANCE - db $ff + db -1 ; end CharmanderEggMoves: db BELLY_DRUM @@ -32,7 +29,7 @@ CharmanderEggMoves: db BITE db OUTRAGE db BEAT_UP - db $ff + db -1 ; end SquirtleEggMoves: db MIRROR_COAT @@ -41,16 +38,14 @@ SquirtleEggMoves: db CONFUSION db FORESIGHT db FLAIL - db $ff + db -1 ; end PidgeyEggMoves: db PURSUIT db FAINT_ATTACK db FORESIGHT -if !_CRYSTAL db STEEL_WING -endc - db $ff + db -1 ; end RattataEggMoves: db SCREECH @@ -59,7 +54,7 @@ RattataEggMoves: db BITE db COUNTER db REVERSAL - db $ff + db -1 ; end SpearowEggMoves: db FAINT_ATTACK @@ -67,27 +62,21 @@ SpearowEggMoves: db SCARY_FACE db QUICK_ATTACK db TRI_ATTACK - db $ff + db -1 ; end EkansEggMoves: db PURSUIT db SLAM db SPITE db BEAT_UP -if _CRYSTAL - db CRUNCH -endc - db $ff + db -1 ; end SandshrewEggMoves: db FLAIL db SAFEGUARD db COUNTER db RAPID_SPIN -if _CRYSTAL - db METAL_CLAW -endc - db $ff + db -1 ; end NidoranFEggMoves: db SUPERSONIC @@ -97,7 +86,7 @@ NidoranFEggMoves: db CHARM db COUNTER db BEAT_UP - db $ff + db -1 ; end NidoranMEggMoves: db SUPERSONIC @@ -107,7 +96,7 @@ NidoranMEggMoves: db AMNESIA db COUNTER db BEAT_UP - db $ff + db -1 ; end VulpixEggMoves: db FAINT_ATTACK @@ -115,7 +104,7 @@ VulpixEggMoves: db FLAIL db SPITE db DISABLE - db $ff + db -1 ; end ZubatEggMoves: db QUICK_ATTACK @@ -123,17 +112,15 @@ ZubatEggMoves: db FAINT_ATTACK db GUST db WHIRLWIND - db $ff + db -1 ; end OddishEggMoves: db SWORDS_DANCE db RAZOR_LEAF db FLAIL db SYNTHESIS -if !_CRYSTAL db CHARM -endc - db $ff + db -1 ; end ParasEggMoves: db FALSE_SWIPE @@ -141,18 +128,16 @@ ParasEggMoves: db COUNTER db PSYBEAM db FLAIL -if !_CRYSTAL db SWEET_SCENT -endc db LIGHT_SCREEN db PURSUIT - db $ff + db -1 ; end VenonatEggMoves: db BATON_PASS db SCREECH db GIGA_DRAIN - db $ff + db -1 ; end DiglettEggMoves: db FAINT_ATTACK @@ -160,14 +145,14 @@ DiglettEggMoves: db ANCIENTPOWER db PURSUIT db BEAT_UP - db $ff + db -1 ; end MeowthEggMoves: db SPITE db CHARM db HYPNOSIS db AMNESIA - db $ff + db -1 ; end PsyduckEggMoves: db ICE_BEAM @@ -177,10 +162,7 @@ PsyduckEggMoves: db LIGHT_SCREEN db FUTURE_SIGHT db PSYCHIC_M -if _CRYSTAL - db CROSS_CHOP -endc - db $ff + db -1 ; end MankeyEggMoves: db ROCK_SLIDE @@ -189,7 +171,7 @@ MankeyEggMoves: db COUNTER db REVERSAL db BEAT_UP - db $ff + db -1 ; end GrowlitheEggMoves: db BODY_SLAM @@ -197,7 +179,7 @@ GrowlitheEggMoves: db CRUNCH db THRASH db FIRE_SPIN - db $ff + db -1 ; end PoliwagEggMoves: db MIST @@ -205,20 +187,20 @@ PoliwagEggMoves: db BUBBLEBEAM db HAZE db MIND_READER - db $ff + db -1 ; end AbraEggMoves: db LIGHT_SCREEN db ENCORE db BARRIER - db $ff + db -1 ; end MachopEggMoves: db LIGHT_SCREEN db MEDITATE db ROLLING_KICK db ENCORE - db $ff + db -1 ; end BellsproutEggMoves: db SWORDS_DANCE @@ -226,7 +208,7 @@ BellsproutEggMoves: db REFLECT db SYNTHESIS db LEECH_LIFE - db $ff + db -1 ; end TentacoolEggMoves: db AURORA_BEAM @@ -234,12 +216,12 @@ TentacoolEggMoves: db RAPID_SPIN db HAZE db SAFEGUARD - db $ff + db -1 ; end GeodudeEggMoves: db MEGA_PUNCH db ROCK_SLIDE - db $ff + db -1 ; end PonytaEggMoves: db FLAME_WHEEL @@ -248,25 +230,23 @@ PonytaEggMoves: db HYPNOSIS db CHARM db QUICK_ATTACK - db $ff + db -1 ; end SlowpokeEggMoves: db SAFEGUARD db BELLY_DRUM db FUTURE_SIGHT db STOMP - db $ff + db -1 ; end FarfetchDEggMoves: -if !_CRYSTAL db STEEL_WING -endc db FORESIGHT db MIRROR_MOVE db GUST db QUICK_ATTACK db FLAIL - db $ff + db -1 ; end DoduoEggMoves: db QUICK_ATTACK @@ -274,7 +254,7 @@ DoduoEggMoves: db HAZE db FAINT_ATTACK db FLAIL - db $ff + db -1 ; end SeelEggMoves: db LICK @@ -283,13 +263,13 @@ SeelEggMoves: db PECK db SLAM db ENCORE - db $ff + db -1 ; end GrimerEggMoves: db HAZE db MEAN_LOOK db LICK - db $ff + db -1 ; end ShellderEggMoves: db BUBBLEBEAM @@ -297,23 +277,23 @@ ShellderEggMoves: db BARRIER db RAPID_SPIN db SCREECH - db $ff + db -1 ; end GastlyEggMoves: db PSYWAVE db PERISH_SONG db HAZE - db $ff + db -1 ; end OnixEggMoves: db ROCK_SLIDE db FLAIL - db $ff + db -1 ; end DrowzeeEggMoves: db LIGHT_SCREEN db BARRIER - db $ff + db -1 ; end KrabbyEggMoves: db DIG @@ -321,7 +301,7 @@ KrabbyEggMoves: db AMNESIA db FLAIL db SLAM - db $ff + db -1 ; end ExeggcuteEggMoves: db SYNTHESIS @@ -329,7 +309,7 @@ ExeggcuteEggMoves: db REFLECT db MEGA_DRAIN db ANCIENTPOWER - db $ff + db -1 ; end CuboneEggMoves: db ROCK_SLIDE @@ -338,16 +318,13 @@ CuboneEggMoves: db SCREECH db SKULL_BASH db PERISH_SONG -if _CRYSTAL - db SWORDS_DANCE -endc - db $ff + db -1 ; end LickitungEggMoves: db BELLY_DRUM db MAGNITUDE db BODY_SLAM - db $ff + db -1 ; end KoffingEggMoves: db SCREECH @@ -355,7 +332,7 @@ KoffingEggMoves: db PSYBEAM db DESTINY_BOND db PAIN_SPLIT - db $ff + db -1 ; end RhyhornEggMoves: db CRUNCH @@ -365,13 +342,13 @@ RhyhornEggMoves: db PURSUIT db COUNTER db MAGNITUDE - db $ff + db -1 ; end ChanseyEggMoves: db PRESENT db METRONOME db HEAL_BELL - db $ff + db -1 ; end TangelaEggMoves: db FLAIL @@ -379,7 +356,7 @@ TangelaEggMoves: db MEGA_DRAIN db REFLECT db AMNESIA - db $ff + db -1 ; end KangaskhanEggMoves: db STOMP @@ -387,7 +364,7 @@ KangaskhanEggMoves: db FOCUS_ENERGY db SAFEGUARD db DISABLE - db $ff + db -1 ; end HorseaEggMoves: db FLAIL @@ -396,27 +373,25 @@ HorseaEggMoves: db DISABLE db SPLASH db DRAGON_RAGE - db $ff + db -1 ; end GoldeenEggMoves: db PSYBEAM db HAZE db HYDRO_PUMP - db $ff + db -1 ; end -if !_CRYSTAL StaryuEggMoves: db AURORA_BEAM db BARRIER db SUPERSONIC - db $ff -endc + db -1 MrMimeEggMoves: db FUTURE_SIGHT db HYPNOSIS db MIMIC - db $ff + db -1 ; end ScytherEggMoves: db COUNTER @@ -425,22 +400,22 @@ ScytherEggMoves: db RAZOR_WIND db REVERSAL db LIGHT_SCREEN - db $ff + db -1 ; end PinsirEggMoves: db FURY_ATTACK db FLAIL - db $ff + db -1 ; end LaprasEggMoves: db AURORA_BEAM db FORESIGHT - db $ff + db -1 ; end EeveeEggMoves: db FLAIL db CHARM - db $ff + db -1 ; end OmanyteEggMoves: db BUBBLEBEAM @@ -448,7 +423,7 @@ OmanyteEggMoves: db SLAM db SUPERSONIC db HAZE - db $ff + db -1 ; end KabutoEggMoves: db BUBBLEBEAM @@ -456,30 +431,26 @@ KabutoEggMoves: db RAPID_SPIN db DIG db FLAIL - db $ff + db -1 ; end AerodactylEggMoves: db WHIRLWIND db PURSUIT db FORESIGHT -if !_CRYSTAL db STEEL_WING -endc - db $ff + db -1 ; end SnorlaxEggMoves: db LICK -if !_CRYSTAL db CHARM -endc - db $ff + db -1 ; end DratiniEggMoves: db LIGHT_SCREEN db MIST db HAZE db SUPERSONIC - db $ff + db -1 ; end ChikoritaEggMoves: db VINE_WHIP @@ -487,8 +458,7 @@ ChikoritaEggMoves: db COUNTER db ANCIENTPOWER db FLAIL - db SWORDS_DANCE - db $ff + db -1 ; end CyndaquilEggMoves: db FURY_SWIPES @@ -496,10 +466,7 @@ CyndaquilEggMoves: db REVERSAL db THRASH db FORESIGHT -if _CRYSTAL - db SUBMISSION -endc - db $ff + db -1 ; end TotodileEggMoves: db CRUNCH @@ -508,7 +475,7 @@ TotodileEggMoves: db ANCIENTPOWER db RAZOR_WIND db ROCK_SLIDE - db $ff + db -1 ; end SentretEggMoves: db DOUBLE_EDGE @@ -516,7 +483,7 @@ SentretEggMoves: db SLASH db FOCUS_ENERGY db REVERSAL - db $ff + db -1 ; end HoothootEggMoves: db MIRROR_MOVE @@ -524,16 +491,13 @@ HoothootEggMoves: db FAINT_ATTACK db WING_ATTACK db WHIRLWIND -if _CRYSTAL - db SKY_ATTACK -endc - db $ff + db -1 ; end LedybaEggMoves: db PSYBEAM db BIDE db LIGHT_SCREEN - db $ff + db -1 ; end SpinarakEggMoves: db PSYBEAM @@ -541,13 +505,13 @@ SpinarakEggMoves: db SONICBOOM db BATON_PASS db PURSUIT - db $ff + db -1 ; end ChinchouEggMoves: db FLAIL db SUPERSONIC db SCREECH - db $ff + db -1 ; end PichuEggMoves: db REVERSAL @@ -555,7 +519,7 @@ PichuEggMoves: db PRESENT db ENCORE db DOUBLESLAP - db $ff + db -1 ; end CleffaEggMoves: db PRESENT @@ -564,13 +528,13 @@ CleffaEggMoves: db BELLY_DRUM db SPLASH db MIMIC - db $ff + db -1 ; end IgglybuffEggMoves: db PERISH_SONG db PRESENT db FAINT_ATTACK - db $ff + db -1 ; end TogepiEggMoves: db PRESENT @@ -578,7 +542,7 @@ TogepiEggMoves: db PECK db FORESIGHT db FUTURE_SIGHT - db $ff + db -1 ; end NatuEggMoves: db HAZE @@ -586,7 +550,7 @@ NatuEggMoves: db QUICK_ATTACK db FAINT_ATTACK db STEEL_WING - db $ff + db -1 ; end MareepEggMoves: db THUNDERBOLT @@ -595,7 +559,7 @@ MareepEggMoves: db SAFEGUARD db SCREECH db REFLECT - db $ff + db -1 ; end MarillEggMoves: db LIGHT_SCREEN @@ -606,11 +570,11 @@ MarillEggMoves: db PERISH_SONG db SUPERSONIC db FORESIGHT - db $ff + db -1 ; end SudowoodoEggMoves: db SELFDESTRUCT - db $ff + db -1 ; end HoppipEggMoves: db CONFUSION @@ -620,7 +584,7 @@ HoppipEggMoves: db REFLECT db AMNESIA db PAY_DAY - db $ff + db -1 ; end AipomEggMoves: db COUNTER @@ -631,19 +595,19 @@ AipomEggMoves: db SLAM db DOUBLESLAP db BEAT_UP - db $ff + db -1 ; end YanmaEggMoves: db WHIRLWIND db REVERSAL db LEECH_LIFE - db $ff + db -1 ; end WooperEggMoves: db BODY_SLAM db ANCIENTPOWER db SAFEGUARD - db $ff + db -1 ; end MurkrowEggMoves: db WHIRLWIND @@ -651,15 +615,12 @@ MurkrowEggMoves: db QUICK_ATTACK db MIRROR_MOVE db WING_ATTACK -if _CRYSTAL - db SKY_ATTACK -endc - db $ff + db -1 ; end MisdreavusEggMoves: db SCREECH db DESTINY_BOND - db $ff + db -1 ; end GirafarigEggMoves: db TAKE_DOWN @@ -667,14 +628,14 @@ GirafarigEggMoves: db FORESIGHT db FUTURE_SIGHT db BEAT_UP - db $ff + db -1 ; end PinecoEggMoves: db REFLECT db PIN_MISSILE db FLAIL db SWIFT - db $ff + db -1 ; end DunsparceEggMoves: db BIDE @@ -682,14 +643,14 @@ DunsparceEggMoves: db ROCK_SLIDE db BITE db RAGE - db $ff + db -1 ; end GligarEggMoves: db METAL_CLAW db WING_ATTACK db RAZOR_WIND db COUNTER - db $ff + db -1 ; end SnubbullEggMoves: db METRONOME @@ -700,24 +661,24 @@ SnubbullEggMoves: db HEAL_BELL db LICK db LEER - db $ff + db -1 ; end QwilfishEggMoves: db FLAIL db HAZE db BUBBLEBEAM db SUPERSONIC - db $ff + db -1 ; end ShuckleEggMoves: db SWEET_SCENT - db $ff + db -1 ; end HeracrossEggMoves: db HARDEN db BIDE db FLAIL - db $ff + db -1 ; end SneaselEggMoves: db COUNTER @@ -725,7 +686,7 @@ SneaselEggMoves: db FORESIGHT db REFLECT db BITE - db $ff + db -1 ; end TeddiursaEggMoves: db CRUNCH @@ -733,14 +694,11 @@ TeddiursaEggMoves: db SEISMIC_TOSS db FOCUS_ENERGY db COUNTER -if _CRYSTAL - db METAL_CLAW -endc - db $ff + db -1 ; end SlugmaEggMoves: db ACID_ARMOR - db $ff + db -1 ; end SwinubEggMoves: db TAKE_DOWN @@ -748,7 +706,7 @@ SwinubEggMoves: db BODY_SLAM db ROCK_SLIDE db ANCIENTPOWER - db $ff + db -1 ; end CorsolaEggMoves: db ROCK_SLIDE @@ -756,7 +714,7 @@ CorsolaEggMoves: db SCREECH db MIST db AMNESIA - db $ff + db -1 ; end RemoraidEggMoves: db AURORA_BEAM @@ -764,7 +722,7 @@ RemoraidEggMoves: db SUPERSONIC db HAZE db SCREECH - db $ff + db -1 ; end DelibirdEggMoves: db AURORA_BEAM @@ -772,23 +730,20 @@ DelibirdEggMoves: db FUTURE_SIGHT db SPLASH db RAPID_SPIN - db $ff + db -1 ; end MantineEggMoves: db TWISTER db HYDRO_PUMP db HAZE db SLAM - db $ff + db -1 ; end SkarmoryEggMoves: db DRILL_PECK db PURSUIT db WHIRLWIND -if _CRYSTAL - db SKY_ATTACK -endc - db $ff + db -1 ; end HoundourEggMoves: db FIRE_SPIN @@ -798,16 +753,13 @@ HoundourEggMoves: db SPITE db REVERSAL db BEAT_UP - db $ff + db -1 ; end PhanpyEggMoves: db FOCUS_ENERGY db BODY_SLAM db ANCIENTPOWER -if _CRYSTAL - db WATER_GUN -endc - db $ff + db -1 ; end StantlerEggMoves: db REFLECT @@ -815,47 +767,39 @@ StantlerEggMoves: db DISABLE db LIGHT_SCREEN db BITE - db $ff + db -1 ; end TyrogueEggMoves: db RAPID_SPIN db HI_JUMP_KICK db MACH_PUNCH db MIND_READER - db $ff + db -1 ; end SmoochumEggMoves: -if !_CRYSTAL db LOVELY_KISS -endc db MEDITATE - db $ff + db -1 ; end ElekidEggMoves: db KARATE_CHOP db BARRIER db ROLLING_KICK db MEDITATE -if _CRYSTAL - db CROSS_CHOP -endc - db $ff + db -1 ; end MagbyEggMoves: db KARATE_CHOP db MEGA_PUNCH db BARRIER db SCREECH -if _CRYSTAL - db CROSS_CHOP -endc - db $ff + db -1 ; end MiltankEggMoves: db PRESENT db REVERSAL db SEISMIC_TOSS - db $ff + db -1 ; end LarvitarEggMoves: db PURSUIT @@ -863,7 +807,7 @@ LarvitarEggMoves: db OUTRAGE db FOCUS_ENERGY db ANCIENTPOWER - db $ff + db -1 ; end NoEggMoves: - db $ff + db -1 ; end diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index dcacee0d..42ca37d4 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -1,10 +1,21 @@ INCLUDE "constants.asm" -SECTION "Evolutions and Attacks", ROMX, BANK[EVOS_ATTACKS] -INCLUDE "data/pokemon/evos_attacks_pointers.asm" +SECTION "Evolutions and Attacks", ROMX + +; Evos+attacks data structure: +; - Evolution methods: +; * db EVOLVE_LEVEL, level, species +; * db EVOLVE_ITEM, used item, species +; * db EVOLVE_TRADE, held item (or -1 for none), species +; * db EVOLVE_HAPPINESS, TR_* constant (ANYTIME, MORNDAY, NITE), species +; * db EVOLVE_STAT, level, ATK_*_DEF constant (LT, GT, EQ), species +; - db 0 ; no more evolutions +; - Learnset (in increasing level order): +; * db level, move +; - db 0 ; no more level-up moves -EvosAttacks:: +INCLUDE "data/pokemon/evos_attacks_pointers.asm" BulbasaurEvosAttacks: db EVOLVE_LEVEL, 16, IVYSAUR @@ -659,9 +670,6 @@ DiglettEvosAttacks: DugtrioEvosAttacks: db 0 ; no more evolutions -if _CRYSTAL - db 1, TRI_ATTACK -endc db 1, SCRATCH db 1, GROWL db 1, MAGNITUDE @@ -828,7 +836,7 @@ AbraEvosAttacks: db 0 ; no more level-up moves KadabraEvosAttacks: - db EVOLVE_TRADE, $ff, ALAKAZAM + db EVOLVE_TRADE, -1, ALAKAZAM db 0 ; no more evolutions db 1, TELEPORT db 1, KINESIS @@ -872,7 +880,7 @@ MachopEvosAttacks: db 0 ; no more level-up moves MachokeEvosAttacks: - db EVOLVE_TRADE, $ff, MACHAMP + db EVOLVE_TRADE, -1, MACHAMP db 0 ; no more evolutions db 1, LOW_KICK db 1, LEER @@ -986,7 +994,7 @@ GeodudeEvosAttacks: db 0 ; no more level-up moves GravelerEvosAttacks: - db EVOLVE_TRADE, $ff, GOLEM + db EVOLVE_TRADE, -1, GOLEM db 0 ; no more evolutions db 1, TACKLE db 1, DEFENSE_CURL @@ -1104,11 +1112,7 @@ MagnetonEvosAttacks: db 16, SONICBOOM db 21, THUNDER_WAVE db 27, LOCK_ON -if _CRYSTAL - db 35, TRI_ATTACK -else db 35, SWIFT -endc db 43, SCREECH db 53, ZAP_CANNON db 0 ; no more level-up moves @@ -1193,6 +1197,7 @@ GrimerEvosAttacks: MukEvosAttacks: db 0 ; no more evolutions + ; moves are not sorted by level db 1, POISON_GAS db 1, POUND db 1, HARDEN @@ -1224,9 +1229,6 @@ CloysterEvosAttacks: db 1, SUPERSONIC db 1, AURORA_BEAM db 1, PROTECT -if _CRYSTAL - db 33, SPIKES -endc db 41, SPIKE_CANNON db 0 ; no more level-up moves @@ -1245,7 +1247,7 @@ GastlyEvosAttacks: db 0 ; no more level-up moves HaunterEvosAttacks: - db EVOLVE_TRADE, $ff, GENGAR + db EVOLVE_TRADE, -1, GENGAR db 0 ; no more evolutions db 1, HYPNOSIS db 1, LICK @@ -1803,11 +1805,7 @@ EeveeEvosAttacks: db 16, GROWL db 23, QUICK_ATTACK db 30, BITE -if _CRYSTAL - db 36, BATON_PASS -else db 36, FOCUS_ENERGY -endc db 42, TAKE_DOWN db 0 ; no more level-up moves @@ -2286,11 +2284,7 @@ SpinarakEvosAttacks: db 23, LEECH_LIFE db 30, FURY_SWIPES db 37, SPIDER_WEB -if _CRYSTAL - db 45, AGILITY -else db 45, SCREECH -endc db 53, PSYCHIC_M db 0 ; no more level-up moves @@ -2306,11 +2300,7 @@ AriadosEvosAttacks: db 25, LEECH_LIFE db 34, FURY_SWIPES db 43, SPIDER_WEB -if _CRYSTAL - db 53, AGILITY -else db 53, SCREECH -endc db 63, PSYCHIC_M db 0 ; no more level-up moves @@ -2533,11 +2523,7 @@ HoppipEvosAttacks: db EVOLVE_LEVEL, 18, SKIPLOOM db 0 ; no more evolutions db 1, SPLASH -if _CRYSTAL - db 5, SYNTHESIS -else db 1, SYNTHESIS -endc db 5, TAIL_WHIP db 10, TACKLE db 13, POISONPOWDER @@ -2555,9 +2541,6 @@ SkiploomEvosAttacks: db 1, SYNTHESIS db 1, TAIL_WHIP db 1, TACKLE -if _CRYSTAL - db 5, SYNTHESIS -endc db 5, TAIL_WHIP db 10, TACKLE db 13, POISONPOWDER @@ -2574,9 +2557,6 @@ JumpluffEvosAttacks: db 1, SYNTHESIS db 1, TAIL_WHIP db 1, TACKLE -if _CRYSTAL - db 5, SYNTHESIS -endc db 5, TAIL_WHIP db 10, TACKLE db 13, POISONPOWDER @@ -2630,11 +2610,7 @@ YanmaEvosAttacks: db 19, SONICBOOM db 25, DETECT db 31, SUPERSONIC -if _CRYSTAL - db 37, WING_ATTACK -else db 37, SWIFT -endc db 43, SCREECH db 0 ; no more level-up moves @@ -2846,9 +2822,6 @@ GranbullEvosAttacks: QwilfishEvosAttacks: db 0 ; no more evolutions -if _CRYSTAL - db 1, SPIKES -endc db 1, TACKLE db 1, POISON_STING db 10, HARDEN @@ -2908,9 +2881,6 @@ SneaselEvosAttacks: db 41, AGILITY db 49, SLASH db 57, BEAT_UP -if _CRYSTAL - db 65, METAL_CLAW -endc db 0 ; no more level-up moves TeddiursaEvosAttacks: @@ -2978,9 +2948,6 @@ SwinubEvosAttacks: db 28, TAKE_DOWN db 37, MIST db 46, BLIZZARD -if _CRYSTAL - db 55, AMNESIA -endc db 0 ; no more level-up moves PiloswineEvosAttacks: @@ -2994,9 +2961,6 @@ PiloswineEvosAttacks: db 33, FURY_ATTACK db 42, MIST db 56, BLIZZARD -if _CRYSTAL - db 70, AMNESIA -endc db 0 ; no more level-up moves CorsolaEvosAttacks: @@ -3289,17 +3253,10 @@ SuicuneEvosAttacks: db 0 ; no more evolutions db 1, BITE db 1, LEER -if _CRYSTAL - db 11, BUBBLEBEAM - db 21, RAIN_DANCE - db 31, GUST - db 41, AURORA_BEAM -else db 11, WATER_GUN db 21, ROAR db 31, GUST db 41, BUBBLEBEAM -endc db 51, MIST db 61, MIRROR_COAT db 71, HYDRO_PUMP diff --git a/data/pokemon/evos_attacks_pointers.asm b/data/pokemon/evos_attacks_pointers.asm index 4ce10b10..7b27c6a7 100644 --- a/data/pokemon/evos_attacks_pointers.asm +++ b/data/pokemon/evos_attacks_pointers.asm @@ -1,8 +1,6 @@ -; Pointer table for evolutions and attacks. +; Evolutions and attacks are grouped together since they're both checked at level-up. -; These are grouped together since they're both checked at level-up. - -EvosAttacksPointers:: ; 0x425b1 +EvosAttacksPointers:: dw BulbasaurEvosAttacks dw IvysaurEvosAttacks dw VenusaurEvosAttacks diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index 06b1a6e5..266b0c02 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -1,3 +1,4 @@ +PokemonNames:: db "BULBASAUR@" db "IVYSAUR@@@" db "VENUSAUR@@" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm new file mode 100644 index 00000000..7cdff532 --- /dev/null +++ b/data/pokemon/palettes.asm @@ -0,0 +1,540 @@ +PokemonPalettes: +; entries correspond to Pokémon species, two apiece + +; Each front.gbcpal is generated from the corresponding .png, and +; only the middle two colors are included, not black or white. +; Shiny palettes are defined directly, not generated. + +; 000 + RGB 30, 22, 17 + RGB 16, 14, 19 +; 000 shiny + RGB 30, 22, 17 + RGB 16, 14, 19 + +INCLUDE "gfx/pokemon/bulbasaur/normal.pal" +INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" +INCLUDE "gfx/pokemon/ivysaur/normal.pal" +INCLUDE "gfx/pokemon/ivysaur/shiny.pal" +INCLUDE "gfx/pokemon/venusaur/normal.pal" +INCLUDE "gfx/pokemon/venusaur/shiny.pal" +INCLUDE "gfx/pokemon/charmander/normal.pal" +INCLUDE "gfx/pokemon/charmander/shiny.pal" +INCLUDE "gfx/pokemon/charmeleon/normal.pal" +INCLUDE "gfx/pokemon/charmeleon/shiny.pal" +INCLUDE "gfx/pokemon/charizard/normal.pal" +INCLUDE "gfx/pokemon/charizard/shiny.pal" +INCLUDE "gfx/pokemon/squirtle/normal.pal" +INCLUDE "gfx/pokemon/squirtle/shiny.pal" +INCLUDE "gfx/pokemon/wartortle/normal.pal" +INCLUDE "gfx/pokemon/wartortle/shiny.pal" +INCLUDE "gfx/pokemon/blastoise/normal.pal" +INCLUDE "gfx/pokemon/blastoise/shiny.pal" +INCLUDE "gfx/pokemon/caterpie/normal.pal" +INCLUDE "gfx/pokemon/caterpie/shiny.pal" +INCLUDE "gfx/pokemon/metapod/normal.pal" +INCLUDE "gfx/pokemon/metapod/shiny.pal" +INCLUDE "gfx/pokemon/butterfree/normal.pal" +INCLUDE "gfx/pokemon/butterfree/shiny.pal" +INCLUDE "gfx/pokemon/weedle/normal.pal" +INCLUDE "gfx/pokemon/weedle/shiny.pal" +INCLUDE "gfx/pokemon/kakuna/normal.pal" +INCLUDE "gfx/pokemon/kakuna/shiny.pal" +INCLUDE "gfx/pokemon/beedrill/normal.pal" +INCLUDE "gfx/pokemon/beedrill/shiny.pal" +INCLUDE "gfx/pokemon/pidgey/normal.pal" +INCLUDE "gfx/pokemon/pidgey/shiny.pal" +INCLUDE "gfx/pokemon/pidgeotto/normal.pal" +INCLUDE "gfx/pokemon/pidgeotto/shiny.pal" +INCLUDE "gfx/pokemon/pidgeot/normal.pal" +INCLUDE "gfx/pokemon/pidgeot/shiny.pal" +INCLUDE "gfx/pokemon/rattata/normal.pal" +INCLUDE "gfx/pokemon/rattata/shiny.pal" +INCLUDE "gfx/pokemon/raticate/normal.pal" +INCLUDE "gfx/pokemon/raticate/shiny.pal" +INCLUDE "gfx/pokemon/spearow/normal.pal" +INCLUDE "gfx/pokemon/spearow/shiny.pal" +INCLUDE "gfx/pokemon/fearow/normal.pal" +INCLUDE "gfx/pokemon/fearow/shiny.pal" +INCLUDE "gfx/pokemon/ekans/normal.pal" +INCLUDE "gfx/pokemon/ekans/shiny.pal" +INCLUDE "gfx/pokemon/arbok/normal.pal" +INCLUDE "gfx/pokemon/arbok/shiny.pal" +INCLUDE "gfx/pokemon/pikachu/normal.pal" +INCLUDE "gfx/pokemon/pikachu/shiny.pal" +INCLUDE "gfx/pokemon/raichu/normal.pal" +INCLUDE "gfx/pokemon/raichu/shiny.pal" +INCLUDE "gfx/pokemon/sandshrew/normal.pal" +INCLUDE "gfx/pokemon/sandshrew/shiny.pal" +INCLUDE "gfx/pokemon/sandslash/normal.pal" +INCLUDE "gfx/pokemon/sandslash/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_f/normal.pal" +INCLUDE "gfx/pokemon/nidoran_f/shiny.pal" +INCLUDE "gfx/pokemon/nidorina/normal.pal" +INCLUDE "gfx/pokemon/nidorina/shiny.pal" +INCLUDE "gfx/pokemon/nidoqueen/normal.pal" +INCLUDE "gfx/pokemon/nidoqueen/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_m/normal.pal" +INCLUDE "gfx/pokemon/nidoran_m/shiny.pal" +INCLUDE "gfx/pokemon/nidorino/normal.pal" +INCLUDE "gfx/pokemon/nidorino/shiny.pal" +INCLUDE "gfx/pokemon/nidoking/normal.pal" +INCLUDE "gfx/pokemon/nidoking/shiny.pal" +INCLUDE "gfx/pokemon/clefairy/normal.pal" +INCLUDE "gfx/pokemon/clefairy/shiny.pal" +INCLUDE "gfx/pokemon/clefable/normal.pal" +INCLUDE "gfx/pokemon/clefable/shiny.pal" +INCLUDE "gfx/pokemon/vulpix/normal.pal" +INCLUDE "gfx/pokemon/vulpix/shiny.pal" +INCLUDE "gfx/pokemon/ninetales/normal.pal" +INCLUDE "gfx/pokemon/ninetales/shiny.pal" +INCLUDE "gfx/pokemon/jigglypuff/normal.pal" +INCLUDE "gfx/pokemon/jigglypuff/shiny.pal" +INCLUDE "gfx/pokemon/wigglytuff/normal.pal" +INCLUDE "gfx/pokemon/wigglytuff/shiny.pal" +INCLUDE "gfx/pokemon/zubat/normal.pal" +INCLUDE "gfx/pokemon/zubat/shiny.pal" +INCLUDE "gfx/pokemon/golbat/normal.pal" +INCLUDE "gfx/pokemon/golbat/shiny.pal" +INCLUDE "gfx/pokemon/oddish/normal.pal" +INCLUDE "gfx/pokemon/oddish/shiny.pal" +INCLUDE "gfx/pokemon/gloom/normal.pal" +INCLUDE "gfx/pokemon/gloom/shiny.pal" +INCLUDE "gfx/pokemon/vileplume/normal.pal" +INCLUDE "gfx/pokemon/vileplume/shiny.pal" +INCLUDE "gfx/pokemon/paras/normal.pal" +INCLUDE "gfx/pokemon/paras/shiny.pal" +INCLUDE "gfx/pokemon/parasect/normal.pal" +INCLUDE "gfx/pokemon/parasect/shiny.pal" +INCLUDE "gfx/pokemon/venonat/normal.pal" +INCLUDE "gfx/pokemon/venonat/shiny.pal" +INCLUDE "gfx/pokemon/venomoth/normal.pal" +INCLUDE "gfx/pokemon/venomoth/shiny.pal" +INCLUDE "gfx/pokemon/diglett/normal.pal" +INCLUDE "gfx/pokemon/diglett/shiny.pal" +INCLUDE "gfx/pokemon/dugtrio/normal.pal" +INCLUDE "gfx/pokemon/dugtrio/shiny.pal" +INCLUDE "gfx/pokemon/meowth/normal.pal" +INCLUDE "gfx/pokemon/meowth/shiny.pal" +INCLUDE "gfx/pokemon/persian/normal.pal" +INCLUDE "gfx/pokemon/persian/shiny.pal" +INCLUDE "gfx/pokemon/psyduck/normal.pal" +INCLUDE "gfx/pokemon/psyduck/shiny.pal" +INCLUDE "gfx/pokemon/golduck/normal.pal" +INCLUDE "gfx/pokemon/golduck/shiny.pal" +INCLUDE "gfx/pokemon/mankey/normal.pal" +INCLUDE "gfx/pokemon/mankey/shiny.pal" +INCLUDE "gfx/pokemon/primeape/normal.pal" +INCLUDE "gfx/pokemon/primeape/shiny.pal" +INCLUDE "gfx/pokemon/growlithe/normal.pal" +INCLUDE "gfx/pokemon/growlithe/shiny.pal" +INCLUDE "gfx/pokemon/arcanine/normal.pal" +INCLUDE "gfx/pokemon/arcanine/shiny.pal" +INCLUDE "gfx/pokemon/poliwag/normal.pal" +INCLUDE "gfx/pokemon/poliwag/shiny.pal" +INCLUDE "gfx/pokemon/poliwhirl/normal.pal" +INCLUDE "gfx/pokemon/poliwhirl/shiny.pal" +INCLUDE "gfx/pokemon/poliwrath/normal.pal" +INCLUDE "gfx/pokemon/poliwrath/shiny.pal" +INCLUDE "gfx/pokemon/abra/normal.pal" +INCLUDE "gfx/pokemon/abra/shiny.pal" +INCLUDE "gfx/pokemon/kadabra/normal.pal" +INCLUDE "gfx/pokemon/kadabra/shiny.pal" +INCLUDE "gfx/pokemon/alakazam/normal.pal" +INCLUDE "gfx/pokemon/alakazam/shiny.pal" +INCLUDE "gfx/pokemon/machop/normal.pal" +INCLUDE "gfx/pokemon/machop/shiny.pal" +INCLUDE "gfx/pokemon/machoke/normal.pal" +INCLUDE "gfx/pokemon/machoke/shiny.pal" +INCLUDE "gfx/pokemon/machamp/normal.pal" +INCLUDE "gfx/pokemon/machamp/shiny.pal" +INCLUDE "gfx/pokemon/bellsprout/normal.pal" +INCLUDE "gfx/pokemon/bellsprout/shiny.pal" +INCLUDE "gfx/pokemon/weepinbell/normal.pal" +INCLUDE "gfx/pokemon/weepinbell/shiny.pal" +INCLUDE "gfx/pokemon/victreebel/normal.pal" +INCLUDE "gfx/pokemon/victreebel/shiny.pal" +INCLUDE "gfx/pokemon/tentacool/normal.pal" +INCLUDE "gfx/pokemon/tentacool/shiny.pal" +INCLUDE "gfx/pokemon/tentacruel/normal.pal" +INCLUDE "gfx/pokemon/tentacruel/shiny.pal" +INCLUDE "gfx/pokemon/geodude/normal.pal" +INCLUDE "gfx/pokemon/geodude/shiny.pal" +INCLUDE "gfx/pokemon/graveler/normal.pal" +INCLUDE "gfx/pokemon/graveler/shiny.pal" +INCLUDE "gfx/pokemon/golem/normal.pal" +INCLUDE "gfx/pokemon/golem/shiny.pal" +INCLUDE "gfx/pokemon/ponyta/normal.pal" +INCLUDE "gfx/pokemon/ponyta/shiny.pal" +INCLUDE "gfx/pokemon/rapidash/normal.pal" +INCLUDE "gfx/pokemon/rapidash/shiny.pal" +INCLUDE "gfx/pokemon/slowpoke/normal.pal" +INCLUDE "gfx/pokemon/slowpoke/shiny.pal" +INCLUDE "gfx/pokemon/slowbro/normal.pal" +INCLUDE "gfx/pokemon/slowbro/shiny.pal" +INCLUDE "gfx/pokemon/magnemite/normal.pal" +INCLUDE "gfx/pokemon/magnemite/shiny.pal" +INCLUDE "gfx/pokemon/magneton/normal.pal" +INCLUDE "gfx/pokemon/magneton/shiny.pal" +INCLUDE "gfx/pokemon/farfetch_d/normal.pal" +INCLUDE "gfx/pokemon/farfetch_d/shiny.pal" +INCLUDE "gfx/pokemon/doduo/normal.pal" +INCLUDE "gfx/pokemon/doduo/shiny.pal" +INCLUDE "gfx/pokemon/dodrio/normal.pal" +INCLUDE "gfx/pokemon/dodrio/shiny.pal" +INCLUDE "gfx/pokemon/seel/normal.pal" +INCLUDE "gfx/pokemon/seel/shiny.pal" +INCLUDE "gfx/pokemon/dewgong/normal.pal" +INCLUDE "gfx/pokemon/dewgong/shiny.pal" +INCLUDE "gfx/pokemon/grimer/normal.pal" +INCLUDE "gfx/pokemon/grimer/shiny.pal" +INCLUDE "gfx/pokemon/muk/normal.pal" +INCLUDE "gfx/pokemon/muk/shiny.pal" +INCLUDE "gfx/pokemon/shellder/normal.pal" +INCLUDE "gfx/pokemon/shellder/shiny.pal" +INCLUDE "gfx/pokemon/cloyster/normal.pal" +INCLUDE "gfx/pokemon/cloyster/shiny.pal" +INCLUDE "gfx/pokemon/gastly/normal.pal" +INCLUDE "gfx/pokemon/gastly/shiny.pal" +INCLUDE "gfx/pokemon/haunter/normal.pal" +INCLUDE "gfx/pokemon/haunter/shiny.pal" +INCLUDE "gfx/pokemon/gengar/normal.pal" +INCLUDE "gfx/pokemon/gengar/shiny.pal" +INCLUDE "gfx/pokemon/onix/normal.pal" +INCLUDE "gfx/pokemon/onix/shiny.pal" +INCLUDE "gfx/pokemon/drowzee/normal.pal" +INCLUDE "gfx/pokemon/drowzee/shiny.pal" +INCLUDE "gfx/pokemon/hypno/normal.pal" +INCLUDE "gfx/pokemon/hypno/shiny.pal" +INCLUDE "gfx/pokemon/krabby/normal.pal" +INCLUDE "gfx/pokemon/krabby/shiny.pal" +INCLUDE "gfx/pokemon/kingler/normal.pal" +INCLUDE "gfx/pokemon/kingler/shiny.pal" +INCLUDE "gfx/pokemon/voltorb/normal.pal" +INCLUDE "gfx/pokemon/voltorb/shiny.pal" +INCLUDE "gfx/pokemon/electrode/normal.pal" +INCLUDE "gfx/pokemon/electrode/shiny.pal" +INCLUDE "gfx/pokemon/exeggcute/normal.pal" +INCLUDE "gfx/pokemon/exeggcute/shiny.pal" +INCLUDE "gfx/pokemon/exeggutor/normal.pal" +INCLUDE "gfx/pokemon/exeggutor/shiny.pal" +INCLUDE "gfx/pokemon/cubone/normal.pal" +INCLUDE "gfx/pokemon/cubone/shiny.pal" +INCLUDE "gfx/pokemon/marowak/normal.pal" +INCLUDE "gfx/pokemon/marowak/shiny.pal" +INCLUDE "gfx/pokemon/hitmonlee/normal.pal" +INCLUDE "gfx/pokemon/hitmonlee/shiny.pal" +INCLUDE "gfx/pokemon/hitmonchan/normal.pal" +INCLUDE "gfx/pokemon/hitmonchan/shiny.pal" +INCLUDE "gfx/pokemon/lickitung/normal.pal" +INCLUDE "gfx/pokemon/lickitung/shiny.pal" +INCLUDE "gfx/pokemon/koffing/normal.pal" +INCLUDE "gfx/pokemon/koffing/shiny.pal" +INCLUDE "gfx/pokemon/weezing/normal.pal" +INCLUDE "gfx/pokemon/weezing/shiny.pal" +INCLUDE "gfx/pokemon/rhyhorn/normal.pal" +INCLUDE "gfx/pokemon/rhyhorn/shiny.pal" +INCLUDE "gfx/pokemon/rhydon/normal.pal" +INCLUDE "gfx/pokemon/rhydon/shiny.pal" +INCLUDE "gfx/pokemon/chansey/normal.pal" +INCLUDE "gfx/pokemon/chansey/shiny.pal" +INCLUDE "gfx/pokemon/tangela/normal.pal" +INCLUDE "gfx/pokemon/tangela/shiny.pal" +INCLUDE "gfx/pokemon/kangaskhan/normal.pal" +INCLUDE "gfx/pokemon/kangaskhan/shiny.pal" +INCLUDE "gfx/pokemon/horsea/normal.pal" +INCLUDE "gfx/pokemon/horsea/shiny.pal" +INCLUDE "gfx/pokemon/seadra/normal.pal" +INCLUDE "gfx/pokemon/seadra/shiny.pal" +INCLUDE "gfx/pokemon/goldeen/normal.pal" +INCLUDE "gfx/pokemon/goldeen/shiny.pal" +INCLUDE "gfx/pokemon/seaking/normal.pal" +INCLUDE "gfx/pokemon/seaking/shiny.pal" +INCLUDE "gfx/pokemon/staryu/normal.pal" +INCLUDE "gfx/pokemon/staryu/shiny.pal" +INCLUDE "gfx/pokemon/starmie/normal.pal" +INCLUDE "gfx/pokemon/starmie/shiny.pal" +INCLUDE "gfx/pokemon/mr__mime/normal.pal" +INCLUDE "gfx/pokemon/mr__mime/shiny.pal" +INCLUDE "gfx/pokemon/scyther/normal.pal" +INCLUDE "gfx/pokemon/scyther/shiny.pal" +INCLUDE "gfx/pokemon/jynx/normal.pal" +INCLUDE "gfx/pokemon/jynx/shiny.pal" +INCLUDE "gfx/pokemon/electabuzz/normal.pal" +INCLUDE "gfx/pokemon/electabuzz/shiny.pal" +INCLUDE "gfx/pokemon/magmar/normal.pal" +INCLUDE "gfx/pokemon/magmar/shiny.pal" +INCLUDE "gfx/pokemon/pinsir/normal.pal" +INCLUDE "gfx/pokemon/pinsir/shiny.pal" +INCLUDE "gfx/pokemon/tauros/normal.pal" +INCLUDE "gfx/pokemon/tauros/shiny.pal" +INCLUDE "gfx/pokemon/magikarp/normal.pal" +INCLUDE "gfx/pokemon/magikarp/shiny.pal" +INCLUDE "gfx/pokemon/gyarados/normal.pal" +INCLUDE "gfx/pokemon/gyarados/shiny.pal" +INCLUDE "gfx/pokemon/lapras/normal.pal" +INCLUDE "gfx/pokemon/lapras/shiny.pal" +INCLUDE "gfx/pokemon/ditto/normal.pal" +INCLUDE "gfx/pokemon/ditto/shiny.pal" +INCLUDE "gfx/pokemon/eevee/normal.pal" +INCLUDE "gfx/pokemon/eevee/shiny.pal" +INCLUDE "gfx/pokemon/vaporeon/normal.pal" +INCLUDE "gfx/pokemon/vaporeon/shiny.pal" +INCLUDE "gfx/pokemon/jolteon/normal.pal" +INCLUDE "gfx/pokemon/jolteon/shiny.pal" +INCLUDE "gfx/pokemon/flareon/normal.pal" +INCLUDE "gfx/pokemon/flareon/shiny.pal" +INCLUDE "gfx/pokemon/porygon/normal.pal" +INCLUDE "gfx/pokemon/porygon/shiny.pal" +INCLUDE "gfx/pokemon/omanyte/normal.pal" +INCLUDE "gfx/pokemon/omanyte/shiny.pal" +INCLUDE "gfx/pokemon/omastar/normal.pal" +INCLUDE "gfx/pokemon/omastar/shiny.pal" +INCLUDE "gfx/pokemon/kabuto/normal.pal" +INCLUDE "gfx/pokemon/kabuto/shiny.pal" +INCLUDE "gfx/pokemon/kabutops/normal.pal" +INCLUDE "gfx/pokemon/kabutops/shiny.pal" +INCLUDE "gfx/pokemon/aerodactyl/normal.pal" +INCLUDE "gfx/pokemon/aerodactyl/shiny.pal" +INCLUDE "gfx/pokemon/snorlax/normal.pal" +INCLUDE "gfx/pokemon/snorlax/shiny.pal" +INCLUDE "gfx/pokemon/articuno/normal.pal" +INCLUDE "gfx/pokemon/articuno/shiny.pal" +INCLUDE "gfx/pokemon/zapdos/normal.pal" +INCLUDE "gfx/pokemon/zapdos/shiny.pal" +INCLUDE "gfx/pokemon/moltres/normal.pal" +INCLUDE "gfx/pokemon/moltres/shiny.pal" +INCLUDE "gfx/pokemon/dratini/normal.pal" +INCLUDE "gfx/pokemon/dratini/shiny.pal" +INCLUDE "gfx/pokemon/dragonair/normal.pal" +INCLUDE "gfx/pokemon/dragonair/shiny.pal" +INCLUDE "gfx/pokemon/dragonite/normal.pal" +INCLUDE "gfx/pokemon/dragonite/shiny.pal" +INCLUDE "gfx/pokemon/mewtwo/normal.pal" +INCLUDE "gfx/pokemon/mewtwo/shiny.pal" +INCLUDE "gfx/pokemon/mew/normal.pal" +INCLUDE "gfx/pokemon/mew/shiny.pal" +INCLUDE "gfx/pokemon/chikorita/normal.pal" +INCLUDE "gfx/pokemon/chikorita/shiny.pal" +INCLUDE "gfx/pokemon/bayleef/normal.pal" +INCLUDE "gfx/pokemon/bayleef/shiny.pal" +INCLUDE "gfx/pokemon/meganium/normal.pal" +INCLUDE "gfx/pokemon/meganium/shiny.pal" +INCLUDE "gfx/pokemon/cyndaquil/normal.pal" +INCLUDE "gfx/pokemon/cyndaquil/shiny.pal" +INCLUDE "gfx/pokemon/quilava/normal.pal" +INCLUDE "gfx/pokemon/quilava/shiny.pal" +INCLUDE "gfx/pokemon/typhlosion/normal.pal" +INCLUDE "gfx/pokemon/typhlosion/shiny.pal" +INCLUDE "gfx/pokemon/totodile/normal.pal" +INCLUDE "gfx/pokemon/totodile/shiny.pal" +INCLUDE "gfx/pokemon/croconaw/normal.pal" +INCLUDE "gfx/pokemon/croconaw/shiny.pal" +INCLUDE "gfx/pokemon/feraligatr/normal.pal" +INCLUDE "gfx/pokemon/feraligatr/shiny.pal" +INCLUDE "gfx/pokemon/sentret/normal.pal" +INCLUDE "gfx/pokemon/sentret/shiny.pal" +INCLUDE "gfx/pokemon/furret/normal.pal" +INCLUDE "gfx/pokemon/furret/shiny.pal" +INCLUDE "gfx/pokemon/hoothoot/normal.pal" +INCLUDE "gfx/pokemon/hoothoot/shiny.pal" +INCLUDE "gfx/pokemon/noctowl/normal.pal" +INCLUDE "gfx/pokemon/noctowl/shiny.pal" +INCLUDE "gfx/pokemon/ledyba/normal.pal" +INCLUDE "gfx/pokemon/ledyba/shiny.pal" +INCLUDE "gfx/pokemon/ledian/normal.pal" +INCLUDE "gfx/pokemon/ledian/shiny.pal" +INCLUDE "gfx/pokemon/spinarak/normal.pal" +INCLUDE "gfx/pokemon/spinarak/shiny.pal" +INCLUDE "gfx/pokemon/ariados/normal.pal" +INCLUDE "gfx/pokemon/ariados/shiny.pal" +INCLUDE "gfx/pokemon/crobat/normal.pal" +INCLUDE "gfx/pokemon/crobat/shiny.pal" +INCLUDE "gfx/pokemon/chinchou/normal.pal" +INCLUDE "gfx/pokemon/chinchou/shiny.pal" +INCLUDE "gfx/pokemon/lanturn/normal.pal" +INCLUDE "gfx/pokemon/lanturn/shiny.pal" +INCLUDE "gfx/pokemon/pichu/normal.pal" +INCLUDE "gfx/pokemon/pichu/shiny.pal" +INCLUDE "gfx/pokemon/cleffa/normal.pal" +INCLUDE "gfx/pokemon/cleffa/shiny.pal" +INCLUDE "gfx/pokemon/igglybuff/normal.pal" +INCLUDE "gfx/pokemon/igglybuff/shiny.pal" +INCLUDE "gfx/pokemon/togepi/normal.pal" +INCLUDE "gfx/pokemon/togepi/shiny.pal" +INCLUDE "gfx/pokemon/togetic/normal.pal" +INCLUDE "gfx/pokemon/togetic/shiny.pal" +INCLUDE "gfx/pokemon/natu/normal.pal" +INCLUDE "gfx/pokemon/natu/shiny.pal" +INCLUDE "gfx/pokemon/xatu/normal.pal" +INCLUDE "gfx/pokemon/xatu/shiny.pal" +INCLUDE "gfx/pokemon/mareep/normal.pal" +INCLUDE "gfx/pokemon/mareep/shiny.pal" +INCLUDE "gfx/pokemon/flaaffy/normal.pal" +INCLUDE "gfx/pokemon/flaaffy/shiny.pal" +INCLUDE "gfx/pokemon/ampharos/normal.pal" +INCLUDE "gfx/pokemon/ampharos/shiny.pal" +INCLUDE "gfx/pokemon/bellossom/normal.pal" +INCLUDE "gfx/pokemon/bellossom/shiny.pal" +INCLUDE "gfx/pokemon/marill/normal.pal" +INCLUDE "gfx/pokemon/marill/shiny.pal" +INCLUDE "gfx/pokemon/azumarill/normal.pal" +INCLUDE "gfx/pokemon/azumarill/shiny.pal" +INCLUDE "gfx/pokemon/sudowoodo/normal.pal" +INCLUDE "gfx/pokemon/sudowoodo/shiny.pal" +INCLUDE "gfx/pokemon/politoed/normal.pal" +INCLUDE "gfx/pokemon/politoed/shiny.pal" +INCLUDE "gfx/pokemon/hoppip/normal.pal" +INCLUDE "gfx/pokemon/hoppip/shiny.pal" +INCLUDE "gfx/pokemon/skiploom/normal.pal" +INCLUDE "gfx/pokemon/skiploom/shiny.pal" +INCLUDE "gfx/pokemon/jumpluff/normal.pal" +INCLUDE "gfx/pokemon/jumpluff/shiny.pal" +INCLUDE "gfx/pokemon/aipom/normal.pal" +INCLUDE "gfx/pokemon/aipom/shiny.pal" +INCLUDE "gfx/pokemon/sunkern/normal.pal" +INCLUDE "gfx/pokemon/sunkern/shiny.pal" +INCLUDE "gfx/pokemon/sunflora/normal.pal" +INCLUDE "gfx/pokemon/sunflora/shiny.pal" +INCLUDE "gfx/pokemon/yanma/normal.pal" +INCLUDE "gfx/pokemon/yanma/shiny.pal" +INCLUDE "gfx/pokemon/wooper/normal.pal" +INCLUDE "gfx/pokemon/wooper/shiny.pal" +INCLUDE "gfx/pokemon/quagsire/normal.pal" +INCLUDE "gfx/pokemon/quagsire/shiny.pal" +INCLUDE "gfx/pokemon/espeon/normal.pal" +INCLUDE "gfx/pokemon/espeon/shiny.pal" +INCLUDE "gfx/pokemon/umbreon/normal.pal" +INCLUDE "gfx/pokemon/umbreon/shiny.pal" +INCLUDE "gfx/pokemon/murkrow/normal.pal" +INCLUDE "gfx/pokemon/murkrow/shiny.pal" +INCLUDE "gfx/pokemon/slowking/normal.pal" +INCLUDE "gfx/pokemon/slowking/shiny.pal" +INCLUDE "gfx/pokemon/misdreavus/normal.pal" +INCLUDE "gfx/pokemon/misdreavus/shiny.pal" +INCLUDE "gfx/pokemon/unown/normal.pal" +INCLUDE "gfx/pokemon/unown/shiny.pal" +INCLUDE "gfx/pokemon/wobbuffet/normal.pal" +INCLUDE "gfx/pokemon/wobbuffet/shiny.pal" +INCLUDE "gfx/pokemon/girafarig/normal.pal" +INCLUDE "gfx/pokemon/girafarig/shiny.pal" +INCLUDE "gfx/pokemon/pineco/normal.pal" +INCLUDE "gfx/pokemon/pineco/shiny.pal" +INCLUDE "gfx/pokemon/forretress/normal.pal" +INCLUDE "gfx/pokemon/forretress/shiny.pal" +INCLUDE "gfx/pokemon/dunsparce/normal.pal" +INCLUDE "gfx/pokemon/dunsparce/shiny.pal" +INCLUDE "gfx/pokemon/gligar/normal.pal" +INCLUDE "gfx/pokemon/gligar/shiny.pal" +INCLUDE "gfx/pokemon/steelix/normal.pal" +INCLUDE "gfx/pokemon/steelix/shiny.pal" +INCLUDE "gfx/pokemon/snubbull/normal.pal" +INCLUDE "gfx/pokemon/snubbull/shiny.pal" +INCLUDE "gfx/pokemon/granbull/normal.pal" +INCLUDE "gfx/pokemon/granbull/shiny.pal" +INCLUDE "gfx/pokemon/qwilfish/normal.pal" +INCLUDE "gfx/pokemon/qwilfish/shiny.pal" +INCLUDE "gfx/pokemon/scizor/normal.pal" +INCLUDE "gfx/pokemon/scizor/shiny.pal" +INCLUDE "gfx/pokemon/shuckle/normal.pal" +INCLUDE "gfx/pokemon/shuckle/shiny.pal" +INCLUDE "gfx/pokemon/heracross/normal.pal" +INCLUDE "gfx/pokemon/heracross/shiny.pal" +INCLUDE "gfx/pokemon/sneasel/normal.pal" +INCLUDE "gfx/pokemon/sneasel/shiny.pal" +INCLUDE "gfx/pokemon/teddiursa/normal.pal" +INCLUDE "gfx/pokemon/teddiursa/shiny.pal" +INCLUDE "gfx/pokemon/ursaring/normal.pal" +INCLUDE "gfx/pokemon/ursaring/shiny.pal" +INCLUDE "gfx/pokemon/slugma/normal.pal" +INCLUDE "gfx/pokemon/slugma/shiny.pal" +INCLUDE "gfx/pokemon/magcargo/normal.pal" +INCLUDE "gfx/pokemon/magcargo/shiny.pal" +INCLUDE "gfx/pokemon/swinub/normal.pal" +INCLUDE "gfx/pokemon/swinub/shiny.pal" +INCLUDE "gfx/pokemon/piloswine/normal.pal" +INCLUDE "gfx/pokemon/piloswine/shiny.pal" +INCLUDE "gfx/pokemon/corsola/normal.pal" +INCLUDE "gfx/pokemon/corsola/shiny.pal" +INCLUDE "gfx/pokemon/remoraid/normal.pal" +INCLUDE "gfx/pokemon/remoraid/shiny.pal" +INCLUDE "gfx/pokemon/octillery/normal.pal" +INCLUDE "gfx/pokemon/octillery/shiny.pal" +INCLUDE "gfx/pokemon/delibird/normal.pal" +INCLUDE "gfx/pokemon/delibird/shiny.pal" +INCLUDE "gfx/pokemon/mantine/normal.pal" +INCLUDE "gfx/pokemon/mantine/shiny.pal" +INCLUDE "gfx/pokemon/skarmory/normal.pal" +INCLUDE "gfx/pokemon/skarmory/shiny.pal" +INCLUDE "gfx/pokemon/houndour/normal.pal" +INCLUDE "gfx/pokemon/houndour/shiny.pal" +INCLUDE "gfx/pokemon/houndoom/normal.pal" +INCLUDE "gfx/pokemon/houndoom/shiny.pal" +INCLUDE "gfx/pokemon/kingdra/normal.pal" +INCLUDE "gfx/pokemon/kingdra/shiny.pal" +INCLUDE "gfx/pokemon/phanpy/normal.pal" +INCLUDE "gfx/pokemon/phanpy/shiny.pal" +INCLUDE "gfx/pokemon/donphan/normal.pal" +INCLUDE "gfx/pokemon/donphan/shiny.pal" +INCLUDE "gfx/pokemon/porygon2/normal.pal" +INCLUDE "gfx/pokemon/porygon2/shiny.pal" +INCLUDE "gfx/pokemon/stantler/normal.pal" +INCLUDE "gfx/pokemon/stantler/shiny.pal" +INCLUDE "gfx/pokemon/smeargle/normal.pal" +INCLUDE "gfx/pokemon/smeargle/shiny.pal" +INCLUDE "gfx/pokemon/tyrogue/normal.pal" +INCLUDE "gfx/pokemon/tyrogue/shiny.pal" +INCLUDE "gfx/pokemon/hitmontop/normal.pal" +INCLUDE "gfx/pokemon/hitmontop/shiny.pal" +INCLUDE "gfx/pokemon/smoochum/normal.pal" +INCLUDE "gfx/pokemon/smoochum/shiny.pal" +INCLUDE "gfx/pokemon/elekid/normal.pal" +INCLUDE "gfx/pokemon/elekid/shiny.pal" +INCLUDE "gfx/pokemon/magby/normal.pal" +INCLUDE "gfx/pokemon/magby/shiny.pal" +INCLUDE "gfx/pokemon/miltank/normal.pal" +INCLUDE "gfx/pokemon/miltank/shiny.pal" +INCLUDE "gfx/pokemon/blissey/normal.pal" +INCLUDE "gfx/pokemon/blissey/shiny.pal" +INCLUDE "gfx/pokemon/raikou/normal.pal" +INCLUDE "gfx/pokemon/raikou/shiny.pal" +INCLUDE "gfx/pokemon/entei/normal.pal" +INCLUDE "gfx/pokemon/entei/shiny.pal" +INCLUDE "gfx/pokemon/suicune/normal.pal" +INCLUDE "gfx/pokemon/suicune/shiny.pal" +INCLUDE "gfx/pokemon/larvitar/normal.pal" +INCLUDE "gfx/pokemon/larvitar/shiny.pal" +INCLUDE "gfx/pokemon/pupitar/normal.pal" +INCLUDE "gfx/pokemon/pupitar/shiny.pal" +INCLUDE "gfx/pokemon/tyranitar/normal.pal" +INCLUDE "gfx/pokemon/tyranitar/shiny.pal" +INCLUDE "gfx/pokemon/lugia/normal.pal" +INCLUDE "gfx/pokemon/lugia/shiny.pal" +INCLUDE "gfx/pokemon/ho_oh/normal.pal" +INCLUDE "gfx/pokemon/ho_oh/shiny.pal" +INCLUDE "gfx/pokemon/celebi/normal.pal" +INCLUDE "gfx/pokemon/celebi/shiny.pal" + +; 252 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 252 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +INCLUDE "gfx/pokemon/egg/normal.pal" +INCLUDE "gfx/pokemon/egg/shiny.pal" + +; 254 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 254 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; 255 + RGB 23, 23, 23 + RGB 17, 17, 17 +; 255 shiny + RGB 23, 23, 23 + RGB 17, 17, 17 diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm new file mode 100644 index 00000000..b5912852 --- /dev/null +++ b/data/pokemon/pic_pointers.asm @@ -0,0 +1,509 @@ +; Pics are defined in gfx/pics_gold.asm and gfx/pics_silver.asm + +PokemonPicPointers:: +; entries correspond to Pokémon species, two apiece + dba_pic BulbasaurFrontpic + dba_pic BulbasaurBackpic + dba_pic IvysaurFrontpic + dba_pic IvysaurBackpic + dba_pic VenusaurFrontpic + dba_pic VenusaurBackpic + dba_pic CharmanderFrontpic + dba_pic CharmanderBackpic + dba_pic CharmeleonFrontpic + dba_pic CharmeleonBackpic + dba_pic CharizardFrontpic + dba_pic CharizardBackpic + dba_pic SquirtleFrontpic + dba_pic SquirtleBackpic + dba_pic WartortleFrontpic + dba_pic WartortleBackpic + dba_pic BlastoiseFrontpic + dba_pic BlastoiseBackpic + dba_pic CaterpieFrontpic + dba_pic CaterpieBackpic + dba_pic MetapodFrontpic + dba_pic MetapodBackpic + dba_pic ButterfreeFrontpic + dba_pic ButterfreeBackpic + dba_pic WeedleFrontpic + dba_pic WeedleBackpic + dba_pic KakunaFrontpic + dba_pic KakunaBackpic + dba_pic BeedrillFrontpic + dba_pic BeedrillBackpic + dba_pic PidgeyFrontpic + dba_pic PidgeyBackpic + dba_pic PidgeottoFrontpic + dba_pic PidgeottoBackpic + dba_pic PidgeotFrontpic + dba_pic PidgeotBackpic + dba_pic RattataFrontpic + dba_pic RattataBackpic + dba_pic RaticateFrontpic + dba_pic RaticateBackpic + dba_pic SpearowFrontpic + dba_pic SpearowBackpic + dba_pic FearowFrontpic + dba_pic FearowBackpic + dba_pic EkansFrontpic + dba_pic EkansBackpic + dba_pic ArbokFrontpic + dba_pic ArbokBackpic + dba_pic PikachuFrontpic + dba_pic PikachuBackpic + dba_pic RaichuFrontpic + dba_pic RaichuBackpic + dba_pic SandshrewFrontpic + dba_pic SandshrewBackpic + dba_pic SandslashFrontpic + dba_pic SandslashBackpic + dba_pic NidoranFFrontpic + dba_pic NidoranFBackpic + dba_pic NidorinaFrontpic + dba_pic NidorinaBackpic + dba_pic NidoqueenFrontpic + dba_pic NidoqueenBackpic + dba_pic NidoranMFrontpic + dba_pic NidoranMBackpic + dba_pic NidorinoFrontpic + dba_pic NidorinoBackpic + dba_pic NidokingFrontpic + dba_pic NidokingBackpic + dba_pic ClefairyFrontpic + dba_pic ClefairyBackpic + dba_pic ClefableFrontpic + dba_pic ClefableBackpic + dba_pic VulpixFrontpic + dba_pic VulpixBackpic + dba_pic NinetalesFrontpic + dba_pic NinetalesBackpic + dba_pic JigglypuffFrontpic + dba_pic JigglypuffBackpic + dba_pic WigglytuffFrontpic + dba_pic WigglytuffBackpic + dba_pic ZubatFrontpic + dba_pic ZubatBackpic + dba_pic GolbatFrontpic + dba_pic GolbatBackpic + dba_pic OddishFrontpic + dba_pic OddishBackpic + dba_pic GloomFrontpic + dba_pic GloomBackpic + dba_pic VileplumeFrontpic + dba_pic VileplumeBackpic + dba_pic ParasFrontpic + dba_pic ParasBackpic + dba_pic ParasectFrontpic + dba_pic ParasectBackpic + dba_pic VenonatFrontpic + dba_pic VenonatBackpic + dba_pic VenomothFrontpic + dba_pic VenomothBackpic + dba_pic DiglettFrontpic + dba_pic DiglettBackpic + dba_pic DugtrioFrontpic + dba_pic DugtrioBackpic + dba_pic MeowthFrontpic + dba_pic MeowthBackpic + dba_pic PersianFrontpic + dba_pic PersianBackpic + dba_pic PsyduckFrontpic + dba_pic PsyduckBackpic + dba_pic GolduckFrontpic + dba_pic GolduckBackpic + dba_pic MankeyFrontpic + dba_pic MankeyBackpic + dba_pic PrimeapeFrontpic + dba_pic PrimeapeBackpic + dba_pic GrowlitheFrontpic + dba_pic GrowlitheBackpic + dba_pic ArcanineFrontpic + dba_pic ArcanineBackpic + dba_pic PoliwagFrontpic + dba_pic PoliwagBackpic + dba_pic PoliwhirlFrontpic + dba_pic PoliwhirlBackpic + dba_pic PoliwrathFrontpic + dba_pic PoliwrathBackpic + dba_pic AbraFrontpic + dba_pic AbraBackpic + dba_pic KadabraFrontpic + dba_pic KadabraBackpic + dba_pic AlakazamFrontpic + dba_pic AlakazamBackpic + dba_pic MachopFrontpic + dba_pic MachopBackpic + dba_pic MachokeFrontpic + dba_pic MachokeBackpic + dba_pic MachampFrontpic + dba_pic MachampBackpic + dba_pic BellsproutFrontpic + dba_pic BellsproutBackpic + dba_pic WeepinbellFrontpic + dba_pic WeepinbellBackpic + dba_pic VictreebelFrontpic + dba_pic VictreebelBackpic + dba_pic TentacoolFrontpic + dba_pic TentacoolBackpic + dba_pic TentacruelFrontpic + dba_pic TentacruelBackpic + dba_pic GeodudeFrontpic + dba_pic GeodudeBackpic + dba_pic GravelerFrontpic + dba_pic GravelerBackpic + dba_pic GolemFrontpic + dba_pic GolemBackpic + dba_pic PonytaFrontpic + dba_pic PonytaBackpic + dba_pic RapidashFrontpic + dba_pic RapidashBackpic + dba_pic SlowpokeFrontpic + dba_pic SlowpokeBackpic + dba_pic SlowbroFrontpic + dba_pic SlowbroBackpic + dba_pic MagnemiteFrontpic + dba_pic MagnemiteBackpic + dba_pic MagnetonFrontpic + dba_pic MagnetonBackpic + dba_pic FarfetchDFrontpic + dba_pic FarfetchDBackpic + dba_pic DoduoFrontpic + dba_pic DoduoBackpic + dba_pic DodrioFrontpic + dba_pic DodrioBackpic + dba_pic SeelFrontpic + dba_pic SeelBackpic + dba_pic DewgongFrontpic + dba_pic DewgongBackpic + dba_pic GrimerFrontpic + dba_pic GrimerBackpic + dba_pic MukFrontpic + dba_pic MukBackpic + dba_pic ShellderFrontpic + dba_pic ShellderBackpic + dba_pic CloysterFrontpic + dba_pic CloysterBackpic + dba_pic GastlyFrontpic + dba_pic GastlyBackpic + dba_pic HaunterFrontpic + dba_pic HaunterBackpic + dba_pic GengarFrontpic + dba_pic GengarBackpic + dba_pic OnixFrontpic + dba_pic OnixBackpic + dba_pic DrowzeeFrontpic + dba_pic DrowzeeBackpic + dba_pic HypnoFrontpic + dba_pic HypnoBackpic + dba_pic KrabbyFrontpic + dba_pic KrabbyBackpic + dba_pic KinglerFrontpic + dba_pic KinglerBackpic + dba_pic VoltorbFrontpic + dba_pic VoltorbBackpic + dba_pic ElectrodeFrontpic + dba_pic ElectrodeBackpic + dba_pic ExeggcuteFrontpic + dba_pic ExeggcuteBackpic + dba_pic ExeggutorFrontpic + dba_pic ExeggutorBackpic + dba_pic CuboneFrontpic + dba_pic CuboneBackpic + dba_pic MarowakFrontpic + dba_pic MarowakBackpic + dba_pic HitmonleeFrontpic + dba_pic HitmonleeBackpic + dba_pic HitmonchanFrontpic + dba_pic HitmonchanBackpic + dba_pic LickitungFrontpic + dba_pic LickitungBackpic + dba_pic KoffingFrontpic + dba_pic KoffingBackpic + dba_pic WeezingFrontpic + dba_pic WeezingBackpic + dba_pic RhyhornFrontpic + dba_pic RhyhornBackpic + dba_pic RhydonFrontpic + dba_pic RhydonBackpic + dba_pic ChanseyFrontpic + dba_pic ChanseyBackpic + dba_pic TangelaFrontpic + dba_pic TangelaBackpic + dba_pic KangaskhanFrontpic + dba_pic KangaskhanBackpic + dba_pic HorseaFrontpic + dba_pic HorseaBackpic + dba_pic SeadraFrontpic + dba_pic SeadraBackpic + dba_pic GoldeenFrontpic + dba_pic GoldeenBackpic + dba_pic SeakingFrontpic + dba_pic SeakingBackpic + dba_pic StaryuFrontpic + dba_pic StaryuBackpic + dba_pic StarmieFrontpic + dba_pic StarmieBackpic + dba_pic MrMimeFrontpic + dba_pic MrMimeBackpic + dba_pic ScytherFrontpic + dba_pic ScytherBackpic + dba_pic JynxFrontpic + dba_pic JynxBackpic + dba_pic ElectabuzzFrontpic + dba_pic ElectabuzzBackpic + dba_pic MagmarFrontpic + dba_pic MagmarBackpic + dba_pic PinsirFrontpic + dba_pic PinsirBackpic + dba_pic TaurosFrontpic + dba_pic TaurosBackpic + dba_pic MagikarpFrontpic + dba_pic MagikarpBackpic + dba_pic GyaradosFrontpic + dba_pic GyaradosBackpic + dba_pic LaprasFrontpic + dba_pic LaprasBackpic + dba_pic DittoFrontpic + dba_pic DittoBackpic + dba_pic EeveeFrontpic + dba_pic EeveeBackpic + dba_pic VaporeonFrontpic + dba_pic VaporeonBackpic + dba_pic JolteonFrontpic + dba_pic JolteonBackpic + dba_pic FlareonFrontpic + dba_pic FlareonBackpic + dba_pic PorygonFrontpic + dba_pic PorygonBackpic + dba_pic OmanyteFrontpic + dba_pic OmanyteBackpic + dba_pic OmastarFrontpic + dba_pic OmastarBackpic + dba_pic KabutoFrontpic + dba_pic KabutoBackpic + dba_pic KabutopsFrontpic + dba_pic KabutopsBackpic + dba_pic AerodactylFrontpic + dba_pic AerodactylBackpic + dba_pic SnorlaxFrontpic + dba_pic SnorlaxBackpic + dba_pic ArticunoFrontpic + dba_pic ArticunoBackpic + dba_pic ZapdosFrontpic + dba_pic ZapdosBackpic + dba_pic MoltresFrontpic + dba_pic MoltresBackpic + dba_pic DratiniFrontpic + dba_pic DratiniBackpic + dba_pic DragonairFrontpic + dba_pic DragonairBackpic + dba_pic DragoniteFrontpic + dba_pic DragoniteBackpic + dba_pic MewtwoFrontpic + dba_pic MewtwoBackpic + dba_pic MewFrontpic + dba_pic MewBackpic + dba_pic ChikoritaFrontpic + dba_pic ChikoritaBackpic + dba_pic BayleefFrontpic + dba_pic BayleefBackpic + dba_pic MeganiumFrontpic + dba_pic MeganiumBackpic + dba_pic CyndaquilFrontpic + dba_pic CyndaquilBackpic + dba_pic QuilavaFrontpic + dba_pic QuilavaBackpic + dba_pic TyphlosionFrontpic + dba_pic TyphlosionBackpic + dba_pic TotodileFrontpic + dba_pic TotodileBackpic + dba_pic CroconawFrontpic + dba_pic CroconawBackpic + dba_pic FeraligatrFrontpic + dba_pic FeraligatrBackpic + dba_pic SentretFrontpic + dba_pic SentretBackpic + dba_pic FurretFrontpic + dba_pic FurretBackpic + dba_pic HoothootFrontpic + dba_pic HoothootBackpic + dba_pic NoctowlFrontpic + dba_pic NoctowlBackpic + dba_pic LedybaFrontpic + dba_pic LedybaBackpic + dba_pic LedianFrontpic + dba_pic LedianBackpic + dba_pic SpinarakFrontpic + dba_pic SpinarakBackpic + dba_pic AriadosFrontpic + dba_pic AriadosBackpic + dba_pic CrobatFrontpic + dba_pic CrobatBackpic + dba_pic ChinchouFrontpic + dba_pic ChinchouBackpic + dba_pic LanturnFrontpic + dba_pic LanturnBackpic + dba_pic PichuFrontpic + dba_pic PichuBackpic + dba_pic CleffaFrontpic + dba_pic CleffaBackpic + dba_pic IgglybuffFrontpic + dba_pic IgglybuffBackpic + dba_pic TogepiFrontpic + dba_pic TogepiBackpic + dba_pic TogeticFrontpic + dba_pic TogeticBackpic + dba_pic NatuFrontpic + dba_pic NatuBackpic + dba_pic XatuFrontpic + dba_pic XatuBackpic + dba_pic MareepFrontpic + dba_pic MareepBackpic + dba_pic FlaaffyFrontpic + dba_pic FlaaffyBackpic + dba_pic AmpharosFrontpic + dba_pic AmpharosBackpic + dba_pic BellossomFrontpic + dba_pic BellossomBackpic + dba_pic MarillFrontpic + dba_pic MarillBackpic + dba_pic AzumarillFrontpic + dba_pic AzumarillBackpic + dba_pic SudowoodoFrontpic + dba_pic SudowoodoBackpic + dba_pic PolitoedFrontpic + dba_pic PolitoedBackpic + dba_pic HoppipFrontpic + dba_pic HoppipBackpic + dba_pic SkiploomFrontpic + dba_pic SkiploomBackpic + dba_pic JumpluffFrontpic + dba_pic JumpluffBackpic + dba_pic AipomFrontpic + dba_pic AipomBackpic + dba_pic SunkernFrontpic + dba_pic SunkernBackpic + dba_pic SunfloraFrontpic + dba_pic SunfloraBackpic + dba_pic YanmaFrontpic + dba_pic YanmaBackpic + dba_pic WooperFrontpic + dba_pic WooperBackpic + dba_pic QuagsireFrontpic + dba_pic QuagsireBackpic + dba_pic EspeonFrontpic + dba_pic EspeonBackpic + dba_pic UmbreonFrontpic + dba_pic UmbreonBackpic + dba_pic MurkrowFrontpic + dba_pic MurkrowBackpic + dba_pic SlowkingFrontpic + dba_pic SlowkingBackpic + dba_pic MisdreavusFrontpic + dba_pic MisdreavusBackpic + + ; Unown pics have their own table. See UnownPicPointers + dbw -1, -1 + dbw -1, -1 + + dba_pic WobbuffetFrontpic + dba_pic WobbuffetBackpic + dba_pic GirafarigFrontpic + dba_pic GirafarigBackpic + dba_pic PinecoFrontpic + dba_pic PinecoBackpic + dba_pic ForretressFrontpic + dba_pic ForretressBackpic + dba_pic DunsparceFrontpic + dba_pic DunsparceBackpic + dba_pic GligarFrontpic + dba_pic GligarBackpic + dba_pic SteelixFrontpic + dba_pic SteelixBackpic + dba_pic SnubbullFrontpic + dba_pic SnubbullBackpic + dba_pic GranbullFrontpic + dba_pic GranbullBackpic + dba_pic QwilfishFrontpic + dba_pic QwilfishBackpic + dba_pic ScizorFrontpic + dba_pic ScizorBackpic + dba_pic ShuckleFrontpic + dba_pic ShuckleBackpic + dba_pic HeracrossFrontpic + dba_pic HeracrossBackpic + dba_pic SneaselFrontpic + dba_pic SneaselBackpic + dba_pic TeddiursaFrontpic + dba_pic TeddiursaBackpic + dba_pic UrsaringFrontpic + dba_pic UrsaringBackpic + dba_pic SlugmaFrontpic + dba_pic SlugmaBackpic + dba_pic MagcargoFrontpic + dba_pic MagcargoBackpic + dba_pic SwinubFrontpic + dba_pic SwinubBackpic + dba_pic PiloswineFrontpic + dba_pic PiloswineBackpic + dba_pic CorsolaFrontpic + dba_pic CorsolaBackpic + dba_pic RemoraidFrontpic + dba_pic RemoraidBackpic + dba_pic OctilleryFrontpic + dba_pic OctilleryBackpic + dba_pic DelibirdFrontpic + dba_pic DelibirdBackpic + dba_pic MantineFrontpic + dba_pic MantineBackpic + dba_pic SkarmoryFrontpic + dba_pic SkarmoryBackpic + dba_pic HoundourFrontpic + dba_pic HoundourBackpic + dba_pic HoundoomFrontpic + dba_pic HoundoomBackpic + dba_pic KingdraFrontpic + dba_pic KingdraBackpic + dba_pic PhanpyFrontpic + dba_pic PhanpyBackpic + dba_pic DonphanFrontpic + dba_pic DonphanBackpic + dba_pic Porygon2Frontpic + dba_pic Porygon2Backpic + dba_pic StantlerFrontpic + dba_pic StantlerBackpic + dba_pic SmeargleFrontpic + dba_pic SmeargleBackpic + dba_pic TyrogueFrontpic + dba_pic TyrogueBackpic + dba_pic HitmontopFrontpic + dba_pic HitmontopBackpic + dba_pic SmoochumFrontpic + dba_pic SmoochumBackpic + dba_pic ElekidFrontpic + dba_pic ElekidBackpic + dba_pic MagbyFrontpic + dba_pic MagbyBackpic + dba_pic MiltankFrontpic + dba_pic MiltankBackpic + dba_pic BlisseyFrontpic + dba_pic BlisseyBackpic + dba_pic RaikouFrontpic + dba_pic RaikouBackpic + dba_pic EnteiFrontpic + dba_pic EnteiBackpic + dba_pic SuicuneFrontpic + dba_pic SuicuneBackpic + dba_pic LarvitarFrontpic + dba_pic LarvitarBackpic + dba_pic PupitarFrontpic + dba_pic PupitarBackpic + dba_pic TyranitarFrontpic + dba_pic TyranitarBackpic + dba_pic LugiaFrontpic + dba_pic LugiaBackpic + dba_pic HoOhFrontpic + dba_pic HoOhBackpic + dba_pic CelebiFrontpic + dba_pic CelebiBackpic diff --git a/data/pokemon/unown_pic_pointers.asm b/data/pokemon/unown_pic_pointers.asm new file mode 100644 index 00000000..1ae0da6b --- /dev/null +++ b/data/pokemon/unown_pic_pointers.asm @@ -0,0 +1,54 @@ +UnownPicPointers:: +; entries correspond to Unown letters, two apiece + dba_pic UnownAFrontpic + dba_pic UnownABackpic + dba_pic UnownBFrontpic + dba_pic UnownBBackpic + dba_pic UnownCFrontpic + dba_pic UnownCBackpic + dba_pic UnownDFrontpic + dba_pic UnownDBackpic + dba_pic UnownEFrontpic + dba_pic UnownEBackpic + dba_pic UnownFFrontpic + dba_pic UnownFBackpic + dba_pic UnownGFrontpic + dba_pic UnownGBackpic + dba_pic UnownHFrontpic + dba_pic UnownHBackpic + dba_pic UnownIFrontpic + dba_pic UnownIBackpic + dba_pic UnownJFrontpic + dba_pic UnownJBackpic + dba_pic UnownKFrontpic + dba_pic UnownKBackpic + dba_pic UnownLFrontpic + dba_pic UnownLBackpic + dba_pic UnownMFrontpic + dba_pic UnownMBackpic + dba_pic UnownNFrontpic + dba_pic UnownNBackpic + dba_pic UnownOFrontpic + dba_pic UnownOBackpic + dba_pic UnownPFrontpic + dba_pic UnownPBackpic + dba_pic UnownQFrontpic + dba_pic UnownQBackpic + dba_pic UnownRFrontpic + dba_pic UnownRBackpic + dba_pic UnownSFrontpic + dba_pic UnownSBackpic + dba_pic UnownTFrontpic + dba_pic UnownTBackpic + dba_pic UnownUFrontpic + dba_pic UnownUBackpic + dba_pic UnownVFrontpic + dba_pic UnownVBackpic + dba_pic UnownWFrontpic + dba_pic UnownWBackpic + dba_pic UnownXFrontpic + dba_pic UnownXBackpic + dba_pic UnownYFrontpic + dba_pic UnownYBackpic + dba_pic UnownZFrontpic + dba_pic UnownZBackpic diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 8e4dac0f..8f7fd669 100755 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -74,6 +74,6 @@ PredefPointers:: add_predef CheckTypeMatchup ; $40 add_predef ConvertMon_1to2 add_predef NewPokedexEntry - add_predef FrontpicPredef + add_predef UnusedFrontpicPredef add_predef UpdateTimePredef dbw -1, InexplicablyEmptyFunction ; ??? diff --git a/data/radio/channel_music.asm b/data/radio/channel_music.asm new file mode 100644 index 00000000..c11360af --- /dev/null +++ b/data/radio/channel_music.asm @@ -0,0 +1,12 @@ +RadioChannelSongs: +; entries correspond to radio channel ids + dw MUSIC_POKEMON_TALK + dw MUSIC_POKEMON_CENTER + dw MUSIC_TITLE + dw MUSIC_GAME_CORNER + dw MUSIC_VIRIDIAN_CITY + dw MUSIC_BICYCLE + dw MUSIC_ROCKET_OVERTURE + dw MUSIC_POKE_FLUTE_CHANNEL + dw MUSIC_RUINS_OF_ALPH_RADIO + dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO diff --git a/data/radio/oaks_pkmn_talk_routes.asm b/data/radio/oaks_pkmn_talk_routes.asm new file mode 100644 index 00000000..acef4bdd --- /dev/null +++ b/data/radio/oaks_pkmn_talk_routes.asm @@ -0,0 +1,19 @@ +; Oak's Pokémon Talk will list wild Pokémon on these maps. + +OaksPKMNTalkRoutes: + map_id ROUTE_29 + map_id ROUTE_46 + map_id ROUTE_30 + map_id ROUTE_32 + map_id ROUTE_34 + map_id ROUTE_35 + map_id ROUTE_37 + map_id ROUTE_38 + map_id ROUTE_39 + map_id ROUTE_42 + map_id ROUTE_43 + map_id ROUTE_44 + map_id ROUTE_45 + map_id ROUTE_36 + map_id ROUTE_31 +.End diff --git a/data/radio/pnp_hidden_people.asm b/data/radio/pnp_hidden_people.asm new file mode 100644 index 00000000..5eb17857 --- /dev/null +++ b/data/radio/pnp_hidden_people.asm @@ -0,0 +1,26 @@ +; Places and People will not describe these trainers. + +PnP_HiddenPeople: + db WILL + db BRUNO + db KAREN + db KOGA + db CHAMPION + ; fallthrough +PnP_HiddenPeople_BeatE4: + db BROCK + db MISTY + db LT_SURGE + db ERIKA + db JANINE + db SABRINA + db BLAINE + db BLUE + ; fallthrough +PnP_HiddenPeople_BeatKanto: + db RIVAL1 + db POKEMON_PROF + db CAL + db RIVAL2 + db RED + db -1 diff --git a/data/radio/pnp_places.asm b/data/radio/pnp_places.asm new file mode 100644 index 00000000..540078ef --- /dev/null +++ b/data/radio/pnp_places.asm @@ -0,0 +1,13 @@ +; Places and People will describe the landmarks of these maps. + +PnP_Places: + map_id PALLET_TOWN ; PALLET_TOWN + map_id ROUTE_22 ; ROUTE_22 + map_id PEWTER_CITY ; PEWTER_CITY + map_id CERULEAN_POLICE_STATION ; CERULEAN_CITY + map_id ROUTE_12 ; ROUTE_12 + map_id ROUTE_11 ; ROUTE_11 + map_id ROUTE_16 ; ROUTE_16 + map_id ROUTE_14 ; ROUTE_14 + map_id CINNABAR_POKECENTER_2F_BETA ; CINNABAR_ISLAND +.End diff --git a/data/sgb_ctrl_packets.asm b/data/sgb_ctrl_packets.asm new file mode 100644 index 00000000..b3c2b040 --- /dev/null +++ b/data/sgb_ctrl_packets.asm @@ -0,0 +1,133 @@ +; macros taken from pokered's data/sgb_packets.asm +; names taken from pandocs +; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands + +sgb_pal_trn: MACRO + db (SGB_PAL_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mlt_req: MACRO + db (SGB_MLT_REG << 3) + 1 + db \1 - 1 + ds 14 +ENDM + +sgb_chr_trn: MACRO + db (SGB_CHR_TRN << 3) + 1 + db \1 + (\2 << 1) + ds 14 +ENDM + +sgb_pct_trn: MACRO + db (SGB_PCT_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mask_en: MACRO + db (SGB_MASK_EN << 3) + 1 + db \1 + ds 14 +ENDM + +sgb_data_snd: MACRO + db (SGB_DATA_SND << 3) + 1 + dw \1 ; address + db \2 ; bank + db \3 ; length (1-11) +ENDM + +; Crystal does not support SGB, so this is unused. + +PalTrnPacket: sgb_pal_trn +MltReq1Packet: sgb_mlt_req 1 +MltReq2Packet: sgb_mlt_req 2 +ChrTrnPacket: sgb_chr_trn 0, 0 +PctTrnPacket: sgb_pct_trn + +MaskEnFreezePacket: sgb_mask_en 1 +MaskEnCancelPacket: sgb_mask_en 0 + +; These are packets containing SNES code. +; This set of packets is found in several Japanese SGB-compatible titles. +; It appears to be part of NCL's SGB devkit. + +DataSndPacket1: + sgb_data_snd $085d, $0, 11 + db $8c ; cpx #$8c (2) + db $d0, $f4 ; bne -$0c + db $60 ; rts + ds 7 + +DataSndPacket2: + sgb_data_snd $0852, $0, 11 + db $a9, $e7 ; lda #$e7 + db $9f, $01, $c0, $7e ; sta $7ec001, x + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e0 ; cpx #$8c (1) + +DataSndPacket3: + sgb_data_snd $0847, $0, 11 + db $c4 ; cmp #$c4 (2) + db $d0, $16 ; bne +$16 + db $a5 ; lda dp + db $cb ; wai + db $c9, $05 ; cmp #$05 + db $d0, $10 ; bne +$10 + db $a2, $28 ; ldx #$28 + +DataSndPacket4: + sgb_data_snd $083c, $0, 11 + db $f0, $12 ; beq +$12 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $c8 ; iny + db $d0, $1c ; bne +$1c + db $a5 ; lda dp + db $ca ; dex + db $c9 ; cmp #$c4 (1) + +DataSndPacket5: + sgb_data_snd $0831, $0, 11 + dbw $0c, $caa5 ; tsb $caa5 + db $c9, $7e ; cmp #$7e + db $d0, $06 ; bne +$06 + db $a5 ; lda dp + db $cb ; wai + db $c9, $7e ; cmp #$7e + +DataSndPacket6: + sgb_data_snd $0826, $0, 11 + db $39 ; bne +$39 (2) + dbw $cd, $0c48 ; cmp $0c48 + db $d0, $34 ; bne +$34 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $80, $d0 ; bra -$30 + +DataSndPacket7: + sgb_data_snd $081b, $0, 11 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + ; $0820: + db $a9, $01 ; lda #01 + dbw $cd, $0c4f ; cmp $c4f + db $d0 ; bne +$39 (1) + +DataSndPacket8: + sgb_data_snd $0810, $0, 11 + dbw $4c, $0820 ; jmp $0820 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $60 ; rts + db $ea ; nop + db $ea ; nop diff --git a/data/special_pointers.asm b/data/special_pointers.asm new file mode 100644 index 00000000..03492518 --- /dev/null +++ b/data/special_pointers.asm @@ -0,0 +1,130 @@ +; Special routines can be used with the "special" map script command. +; They often use wScriptVar for arguments and return values. + +add_special: MACRO +; Some ROM0 specials have a nonzero bank. +\1Special:: +IF _NARG == 1 + dba \1 +ELSE + dbw \2, \1 +ENDC +ENDM + +SpecialsPointers:: + add_special WarpToSpawnPoint ; $0 + +; Communications + add_special SetBitsForLinkTradeRequest + add_special WaitForLinkedFriend + add_special CheckLinkTimeout + add_special TryQuickSave + add_special CheckBothSelectedSameRoom + add_special FailedLinkToPast + add_special CloseLink + add_special WaitForOtherPlayerToExit ; $8 + add_special SetBitsForBattleRequest + add_special SetBitsForTimeCapsuleRequest + add_special CheckTimeCapsuleCompatibility + add_special EnterTimeCapsule + add_special TradeCenter + add_special Colosseum + add_special TimeCapsule + add_special CableClubCheckWhichChris ; $10 + add_special CheckMysteryGift + add_special GetMysteryGiftItem + add_special UnlockMysteryGift + +; Map events + add_special BugContestJudging + add_special CheckPartyFullAfterContest + add_special ContestDropOffMons + add_special ContestReturnMons + add_special GiveParkBalls ; $18 + add_special CheckMagikarpLength + add_special MagikarpHouseSign + add_special HealParty ; this is both a special and a predef + add_special PokemonCenterPC + add_special PlayersHousePC + add_special DayCareMan + add_special DayCareLady + add_special DayCareManOutside ; $20 + add_special MoveDeletion + add_special BankOfMom + add_special MagnetTrain + add_special NameRival + add_special SetDayOfWeek + add_special OverworldTownMap + add_special UnownPrinter + add_special MapRadio ; $28 + add_special UnownPuzzle + add_special SlotMachine + add_special CardFlip + add_special DummyNonfunctionalGameCornerGame + add_special ClearBGPalettesBufferScreen + add_special FadeOutPalettes + add_special FadeBlackQuickly + add_special FadeInPalettes ; $30 + add_special FadeInQuickly + add_special ReloadSpritesNoPalettes, 2 + add_special ClearBGPalettes + add_special UpdateTimePals + add_special ClearTilemap + add_special UpdateSprites + add_special ReplaceChrisSprite + add_special GameCornerPrizeMonCheckDex ; $38 + add_special UnusedSetSeenMon + add_special WaitSFX, 3 + add_special PlayMapMusic + add_special RestartMapMusic + add_special HealMachineAnim + add_special SurfStartStep + add_special FindPartyMonAboveLevel + add_special FindPartyMonAtLeastThatHappy ; $40 + add_special FindPartyMonThatSpecies + add_special FindPartyMonThatSpeciesYourTrainerID + add_special UnusedCheckUnusedTwoDayTimer + add_special DayCareMon1 + add_special DayCareMon2 + add_special SelectRandomBugContestContestants + add_special ActivateFishingSwarm + add_special ToggleMaptileDecorations ; $48 + add_special ToggleDecorationsVisibility + add_special GiveShuckle + add_special ReturnShuckle + add_special BillsGrandfather + add_special CheckPokerus + add_special DisplayCoinCaseBalance + add_special DisplayMoneyAndCoinBalance + add_special PlaceMoneyTopRight ; $50 + add_special CheckForLuckyNumberWinners + add_special CheckLuckyNumberShowFlag + add_special ResetLuckyNumberShowFlag + add_special PrintTodaysLuckyNumber + add_special SelectApricornForKurt + add_special NameRater + add_special DisplayLinkRecord + add_special GetFirstPokemonHappiness ; $58 + add_special CheckFirstMonIsEgg + add_special RandomUnseenWildMon + add_special RandomPhoneWildMon + add_special RandomPhoneMon + add_special LoadUsedSpritesGFX + add_special PlaySlowCry + add_special SnorlaxAwake + add_special OlderHaircutBrother ; $60 + add_special YoungerHaircutBrother + add_special DaisysGrooming + add_special PlayCurMonCry + add_special ProfOaksPCBoot + add_special GameboyCheck + add_special TrainerHouse + add_special PhotoStudio + add_special InitRoamMons ; $68 + add_special FadeOutMusic + add_special Diploma + add_special PrintDiploma + add_special InitialSetDSTFlag + add_special InitialClearDSTFlag + add_special MrChrono + add_special DummySpecial_c389 diff --git a/data/sprite_engine.asm b/data/sprite_anims/framesets.asm index e53b1c47..e53b1c47 100755 --- a/data/sprite_engine.asm +++ b/data/sprite_anims/framesets.asm diff --git a/data/sprites/emotes.asm b/data/sprites/emotes.asm new file mode 100644 index 00000000..2371c462 --- /dev/null +++ b/data/sprites/emotes.asm @@ -0,0 +1,21 @@ +emote: MACRO +; graphics pointer, length, starting tile + dw \1 + db \2 tiles, BANK(\1) + dw vTiles0 tile \3 +ENDM + +Emotes: +; entries correspond to EMOTE_* constants + emote ShockEmote, 4, $f8 + emote QuestionEmote, 4, $f8 + emote HappyEmote, 4, $f8 + emote SadEmote, 4, $f8 + emote HeartEmote, 4, $f8 + emote BoltEmote, 4, $f8 + emote SleepEmote, 4, $f8 + emote FishEmote, 4, $f8 + emote JumpShadowGFX, 1, $fc + emote FishingRodGFX, 2, $fc + emote BoulderDustGFX, 2, $fe + emote GrassRustleGFX, 1, $fe diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm new file mode 100644 index 00000000..ccf91082 --- /dev/null +++ b/data/sprites/facings.asm @@ -0,0 +1,239 @@ +Facings: +; entries correspond to FACING_* constants + dw FacingStepDown0 + dw FacingStepDown1 + dw FacingStepDown2 + dw FacingStepDown3 + dw FacingStepUp0 + dw FacingStepUp1 + dw FacingStepUp2 + dw FacingStepUp3 + dw FacingStepLeft0 + dw FacingStepLeft1 + dw FacingStepLeft2 + dw FacingStepLeft3 + dw FacingStepRight0 + dw FacingStepRight1 + dw FacingStepRight2 + dw FacingStepRight3 + dw FacingFishDown + dw FacingFishUp + dw FacingFishLeft + dw FacingFishRight + dw FacingEmote + dw FacingShadow + dw FacingBigDollAsymmetric + dw FacingBigDollSymmetric + dw FacingWeirdTree0 + dw FacingWeirdTree1 + dw FacingWeirdTree2 + dw FacingWeirdTree3 + dw FacingBoulderDust1 + dw FacingBoulderDust2 + dw FacingGrass1 + dw FacingGrass2 +.End + dw 0 + +NUM_FACINGS EQU (Facings.End - Facings) / 2 + +; Tables used as a reference to transform OAM data. + +; Format: +; db y, x, attributes, tile index + +FacingStepDown0: +FacingStepDown2: +FacingWeirdTree0: +FacingWeirdTree2: ; standing down + db 4 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, RELATIVE_ATTRIBUTES, $02 + db 8, 8, RELATIVE_ATTRIBUTES, $03 + +FacingStepDown1: ; walking down 1 + db 4 ; # + db 0, 0, 0, $80 + db 0, 8, 0, $81 + db 8, 0, RELATIVE_ATTRIBUTES, $82 + db 8, 8, RELATIVE_ATTRIBUTES, $83 + +FacingStepDown3: ; walking down 2 + db 4 ; # + db 0, 8, X_FLIP, $80 + db 0, 0, X_FLIP, $81 + db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $82 + db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $83 + +FacingStepUp0: +FacingStepUp2: ; standing up + db 4 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, RELATIVE_ATTRIBUTES, $06 + db 8, 8, RELATIVE_ATTRIBUTES, $07 + +FacingStepUp1: ; walking up 1 + db 4 ; # + db 0, 0, 0, $84 + db 0, 8, 0, $85 + db 8, 0, RELATIVE_ATTRIBUTES, $86 + db 8, 8, RELATIVE_ATTRIBUTES, $87 + +FacingStepUp3: ; walking up 2 + db 4 ; # + db 0, 8, X_FLIP, $84 + db 0, 0, X_FLIP, $85 + db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $86 + db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $87 + +FacingStepLeft0: +FacingStepLeft2: ; standing left + db 4 ; # + db 0, 0, 0, $08 + db 0, 8, 0, $09 + db 8, 0, RELATIVE_ATTRIBUTES, $0a + db 8, 8, RELATIVE_ATTRIBUTES, $0b + +FacingStepRight0: +FacingStepRight2: ; standing right + db 4 ; # + db 0, 8, X_FLIP, $08 + db 0, 0, X_FLIP, $09 + db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $0a + db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $0b + +FacingStepLeft1: +FacingStepLeft3: ; walking left + db 4 ; # + db 0, 0, 0, $88 + db 0, 8, 0, $89 + db 8, 0, RELATIVE_ATTRIBUTES, $8a + db 8, 8, RELATIVE_ATTRIBUTES, $8b + +FacingStepRight1: +FacingStepRight3: ; walking right + db 4 ; # + db 0, 8, X_FLIP, $88 + db 0, 0, X_FLIP, $89 + db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $8a + db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $8b + +FacingFishDown: ; fishing down + db 5 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, RELATIVE_ATTRIBUTES, $02 + db 8, 8, RELATIVE_ATTRIBUTES, $03 + db 16, 0, ABSOLUTE_TILE_ID, $fc + +FacingFishUp: ; fishing up + db 5 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, RELATIVE_ATTRIBUTES, $06 + db 8, 8, RELATIVE_ATTRIBUTES, $07 + db -8, 0, ABSOLUTE_TILE_ID, $fc + +FacingFishLeft: ; fishing left + db 5 ; # + db 0, 0, 0, $08 + db 0, 8, 0, $09 + db 8, 0, RELATIVE_ATTRIBUTES, $0a + db 8, 8, RELATIVE_ATTRIBUTES, $0b + db 5, -8, ABSOLUTE_TILE_ID | X_FLIP, $fd + +FacingFishRight: ; fishing right + db 5 ; # + db 0, 8, X_FLIP, $08 + db 0, 0, X_FLIP, $09 + db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $0a + db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $0b + db 5, 16, ABSOLUTE_TILE_ID, $fd + +FacingEmote: ; emote + db 4 ; # + db 0, 0, ABSOLUTE_TILE_ID, $f8 + db 0, 8, ABSOLUTE_TILE_ID, $f9 + db 8, 0, ABSOLUTE_TILE_ID, $fa + db 8, 8, ABSOLUTE_TILE_ID, $fb + +FacingShadow: ; shadow + db 2 ; # + db 0, 0, ABSOLUTE_TILE_ID, $fc + db 0, 8, ABSOLUTE_TILE_ID | X_FLIP, $fc + +FacingBigDollSymmetric: ; big snorlax or lapras doll + db 16 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 0, $02 + db 8, 8, 0, $03 + db 16, 0, 0, $04 + db 16, 8, 0, $05 + db 24, 0, 0, $06 + db 24, 8, 0, $07 + db 0, 24, X_FLIP, $00 + db 0, 16, X_FLIP, $01 + db 8, 24, X_FLIP, $02 + db 8, 16, X_FLIP, $03 + db 16, 24, X_FLIP, $04 + db 16, 16, X_FLIP, $05 + db 24, 24, X_FLIP, $06 + db 24, 16, X_FLIP, $07 + +FacingWeirdTree1: + db 4 ; # + db 0, 0, 0, $04 + db 0, 8, 0, $05 + db 8, 0, 0, $06 + db 8, 8, 0, $07 + +FacingWeirdTree3: + db 4 ; # + db 0, 8, X_FLIP, $04 + db 0, 0, X_FLIP, $05 + db 8, 8, X_FLIP, $06 + db 8, 0, X_FLIP, $07 + +FacingBigDollAsymmetric: ; big doll other than snorlax or lapras + db 14 ; # + db 0, 0, 0, $00 + db 0, 8, 0, $01 + db 8, 0, 0, $04 + db 8, 8, 0, $05 + db 16, 8, 0, $07 + db 24, 8, 0, $0a + db 0, 24, 0, $03 + db 0, 16, 0, $02 + db 8, 24, X_FLIP, $02 + db 8, 16, 0, $06 + db 16, 24, 0, $09 + db 16, 16, 0, $08 + db 24, 24, X_FLIP, $04 + db 24, 16, 0, $0b + +FacingBoulderDust1: ; boulder dust 1 + db 4 ; # + db 0, 0, ABSOLUTE_TILE_ID, $fe + db 0, 8, ABSOLUTE_TILE_ID, $fe + db 8, 0, ABSOLUTE_TILE_ID, $fe + db 8, 8, ABSOLUTE_TILE_ID, $fe + +FacingBoulderDust2: ; boulder dust 2 + db 4 ; # + db 0, 0, ABSOLUTE_TILE_ID, $ff + db 0, 8, ABSOLUTE_TILE_ID, $ff + db 8, 0, ABSOLUTE_TILE_ID, $ff + db 8, 8, ABSOLUTE_TILE_ID, $ff + +FacingGrass1: + db 2 ; # + db 8, 0, 0, $00 + db 8, 8, 0 | X_FLIP, $00 + +FacingGrass2: + db 2 ; # + db 9, -1, 0, $00 + db 9, 9, 0 | X_FLIP, $00 diff --git a/data/sprites/map_objects.asm b/data/sprites/map_objects.asm new file mode 100644 index 00000000..10afaf57 --- /dev/null +++ b/data/sprites/map_objects.asm @@ -0,0 +1,306 @@ +SpriteMovementData:: +; entries correspond to SPRITEMOVEDATA_* constants + +; SPRITEMOVEDATA_00 + db SPRITEMOVEFN_00 ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STILL + db SPRITEMOVEFN_STANDING ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db FIXED_FACING | SLIDING ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_WANDER + db SPRITEMOVEFN_RANDOM_WALK_XY ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SPINRANDOM_SLOW + db SPRITEMOVEFN_SLOW_RANDOM_SPIN ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_WALK_UP_DOWN + db SPRITEMOVEFN_RANDOM_WALK_Y ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_WALK_LEFT_RIGHT + db SPRITEMOVEFN_RANDOM_WALK_X ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STANDING_DOWN + db SPRITEMOVEFN_STANDING ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STANDING_UP + db SPRITEMOVEFN_STANDING ; movement function + db UP ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STANDING_LEFT + db SPRITEMOVEFN_STANDING ; movement function + db LEFT ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STANDING_RIGHT + db SPRITEMOVEFN_STANDING ; movement function + db RIGHT ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SPINRANDOM_FAST + db SPRITEMOVEFN_FAST_RANDOM_SPIN ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_PLAYER + db SPRITEMOVEFN_OBEY_DPAD ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_0C + db SPRITEMOVEFN_08 ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_0D + db SPRITEMOVEFN_09 ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_0E + db SPRITEMOVEFN_0A ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_0F + db SPRITEMOVEFN_0B ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_10 + db SPRITEMOVEFN_0C ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_11 + db SPRITEMOVEFN_0D ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_12 + db SPRITEMOVEFN_0E ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_FOLLOWING + db SPRITEMOVEFN_FOLLOW ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SCRIPTED + db SPRITEMOVEFN_SCRIPTED ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_BIGDOLLSYM + db SPRITEMOVEFN_BIG_SNORLAX ; movement function + db DOWN ; facing + db OBJECT_ACTION_BIG_DOLL_SYM ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db LOW_PRIORITY ; flags2 + db STRENGTH_BOULDER | BIG_OBJECT ; palette flags + +; SPRITEMOVEDATA_POKEMON + db SPRITEMOVEFN_BOUNCE ; movement function + db DOWN ; facing + db OBJECT_ACTION_BOUNCE ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SUDOWOODO + db SPRITEMOVEFN_STANDING ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db FIXED_FACING | SLIDING ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SMASHABLE_ROCK + db SPRITEMOVEFN_STANDING ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db USE_OBP1 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_STRENGTH_BOULDER + db SPRITEMOVEFN_STRENGTH ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db 0 ; flags2 + db STRENGTH_BOULDER ; palette flags + +; SPRITEMOVEDATA_FOLLOWNOTEXACT + db SPRITEMOVEFN_FOLLOWNOTEXACT ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db WONT_DELETE ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SHADOW + db SPRITEMOVEFN_SHADOW ; movement function + db DOWN ; facing + db OBJECT_ACTION_00 ; action + db WONT_DELETE | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1 + db LOW_PRIORITY ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_EMOTE + db SPRITEMOVEFN_EMOTE ; movement function + db DOWN ; facing + db OBJECT_ACTION_EMOTE ; action + db WONT_DELETE | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1 + db HIGH_PRIORITY ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SCREENSHAKE + db SPRITEMOVEFN_SCREENSHAKE ; movement function + db DOWN ; facing + db OBJECT_ACTION_00 ; action + db WONT_DELETE | EMOTE_OBJECT ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE + db SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE ; movement function + db LEFT ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SPINCLOCKWISE + db SPRITEMOVEFN_SPIN_CLOCKWISE ; movement function + db RIGHT ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_BIGDOLLASYM + db SPRITEMOVEFN_STRENGTH ; movement function + db DOWN ; facing + db OBJECT_ACTION_BIG_DOLL_ASYM ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db LOW_PRIORITY ; flags2 + db STRENGTH_BOULDER | BIG_OBJECT ; palette flags + +; SPRITEMOVEDATA_BIGDOLL + db SPRITEMOVEFN_STRENGTH ; movement function + db DOWN ; facing + db OBJECT_ACTION_BIG_DOLL ; action + db WONT_DELETE | FIXED_FACING | SLIDING | MOVE_ANYWHERE ; flags1 + db LOW_PRIORITY ; flags2 + db STRENGTH_BOULDER | BIG_OBJECT ; palette flags + +; SPRITEMOVEDATA_BOULDERDUST + db SPRITEMOVEFN_BOULDERDUST ; movement function + db DOWN ; facing + db OBJECT_ACTION_BOULDER_DUST ; action + db WONT_DELETE | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1 + db LOW_PRIORITY ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_GRASS + db SPRITEMOVEFN_GRASS ; movement function + db DOWN ; facing + db OBJECT_ACTION_GRASS_SHAKE ; action + db WONT_DELETE | FIXED_FACING | SLIDING | EMOTE_OBJECT ; flags1 + db HIGH_PRIORITY ; flags2 + db 0 ; palette flags + +; SPRITEMOVEDATA_SWIM_WANDER + db SPRITEMOVEFN_RANDOM_WALK_XY ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db SWIMMING ; palette flags + +; 25 + db SPRITEMOVEFN_00 ; movement function + db DOWN ; facing + db OBJECT_ACTION_STAND ; action + db 0 ; flags1 + db 0 ; flags2 + db 0 ; palette flags diff --git a/data/sprites/player_sprites.asm b/data/sprites/player_sprites.asm new file mode 100644 index 00000000..63d3ab67 --- /dev/null +++ b/data/sprites/player_sprites.asm @@ -0,0 +1,6 @@ +ChrisStateSprites: + db PLAYER_NORMAL, SPRITE_CHRIS + db PLAYER_BIKE, SPRITE_CHRIS_BIKE + db PLAYER_SURF, SPRITE_SURF + db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU + db -1 ; end diff --git a/data/sprites/sprite_mons.asm b/data/sprites/sprite_mons.asm new file mode 100644 index 00000000..3d53804d --- /dev/null +++ b/data/sprites/sprite_mons.asm @@ -0,0 +1,37 @@ +SpriteMons: +; entries correspond to SPRITE_* constants past SPRITE_POKEMON + db UNOWN + db GEODUDE + db GROWLITHE + db WEEDLE + db SHELLDER + db ODDISH + db GENGAR + db ZUBAT + db MAGIKARP + db SQUIRTLE + db TOGEPI + db BUTTERFREE + db DIGLETT + db POLIWAG + db PIKACHU + db CLEFAIRY + db CHARMANDER + db JYNX + db STARMIE + db BULBASAUR + db JIGGLYPUFF + db GRIMER + db EKANS + db PARAS + db TENTACOOL + db TAUROS + db MACHOP + db VOLTORB + db LAPRAS + db RHYDON + db MOLTRES + db SNORLAX + db GYARADOS + db LUGIA + db HO_OH diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm new file mode 100644 index 00000000..b208b862 --- /dev/null +++ b/data/sprites/sprites.asm @@ -0,0 +1,103 @@ +overworld_sprite: MACRO +; pointer, length, type, palette + dw \1 + db \2 tiles, BANK(\1), \3, \4 +ENDM + +OverworldSprites: +; entries correspond to SPRITE_* constants + overworld_sprite ChrisSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ChrisBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite GameboyKidSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN + overworld_sprite SilverSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite OakSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RedSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BlueSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BillSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ElderSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite JanineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite KurtSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite MomSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BlaineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RedsMomSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite DaisySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite ElmSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite WillSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite FalknerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite WhitneySpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BugsySpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite MortySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ChuckSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite JasmineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite PryceSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ClairSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BrockSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite KarenSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite BrunoSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite MistySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite LanceSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite SurgeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite ErikaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite KogaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SabrinaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite CooltrainerMSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite CooltrainerFSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BugCatcherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite TwinSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite YoungsterSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite LassSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite TeacherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BuenaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SuperNerdSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite RockerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite PokefanMSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite PokefanFSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite GrampsSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite GrannySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SwimmerGuySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SwimmerGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BigSnorlaxSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite SurfingPikachuSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite RocketSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RocketGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite NurseSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite LinkReceptionistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ClerkSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite FisherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite FishingGuruSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite ScientistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite KimonoGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite SageSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite UnusedGuySpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite GentlemanSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BlackBeltSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ReceptionistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite OfficerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite CalSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SlowpokeSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite CaptainSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite BigLaprasSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite GymGuySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SailorSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BikerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite PharmacistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite MonsterSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite FairySpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BirdSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite DragonSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BigOnixSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BROWN + overworld_sprite N64SpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite SudowoodoSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN + overworld_sprite SurfSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite PokeBallSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite PokedexSpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite PaperSpriteGFX, 4, STILL_SPRITE, PAL_OW_BLUE + overworld_sprite VirtualBoySpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite OldLinkReceptionistSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite RockSpriteGFX, 4, STILL_SPRITE, PAL_OW_ROCK + overworld_sprite BoulderSpriteGFX, 4, STILL_SPRITE, PAL_OW_ROCK + overworld_sprite SnesSpriteGFX, 4, STILL_SPRITE, PAL_OW_BLUE + overworld_sprite FamicomSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite FruitTreeSpriteGFX, 4, STILL_SPRITE, PAL_OW_TREE + overworld_sprite GoldTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite SilverTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_SILVER diff --git a/data/stadium/stadium_gold.bin b/data/stadium/stadium_gold.bin new file mode 100644 index 00000000..1b690363 --- /dev/null +++ b/data/stadium/stadium_gold.bin @@ -0,0 +1 @@ +N64PS3nZ[05iBuQ]0U`5Ѷ*LP%'gER^]@jtYiO8SXXxDT.*634V_U-N7KeR1ܦz)^@
K9{muŨbqG6_W*Y'.E)gyyYkiu%HKmB>Aa0ѥ扟&#\Rյ&U+y:;$i-C)=>Xʷi*=e/lYiAI_7by\j<^ar}ik쵩1rh:ДmԮ>7ᅂU%
\ No newline at end of file diff --git a/data/stadium/stadium_silver.bin b/data/stadium/stadium_silver.bin new file mode 100644 index 00000000..7e092ab1 --- /dev/null +++ b/data/stadium/stadium_silver.bin @@ -0,0 +1,2 @@ +N64PS3yPZ1VB|<%v1Pe0-`5Ѷ*LP%'gE2^]@jtYԲi8$SX4Cd.h#V66Q2)whd˘% +嗫eQ<p`$(z){^?Kr{muŨbG6_W*U'.C)gyyK)}%HKmB>Aa0ѥ扟&#\Rյ&U+y:;$i-C)=>Xʷi*=e/lYiAI_7by\j<^ar}ik쵩1rh"{Ԯ>7ᅂR
\ No newline at end of file diff --git a/data/text/battle.asm b/data/text/battle.asm index a222cac5..58fad4a9 100755 --- a/data/text/battle.asm +++ b/data/text/battle.asm @@ -405,9 +405,8 @@ BecameConfusedText: text "<TARGET>" line "became confused!" prompt -; ItemHealedConfusion -BattleText_ItemHealedConfusion: ; ItemHealedConfusion +BattleText_ItemHealedConfusion: text "A @" text_ram wStringBuffer1 text " rid" @@ -442,7 +441,7 @@ UsedBindText: cont "<TARGET>!" prompt -WhirlpoolTrapText: +WasTrappedText: text "<TARGET>" line "was trapped!" prompt @@ -806,7 +805,7 @@ SubFadedText: line "SUBSTITUTE faded!" prompt -LearnedMoveText: +MimicLearnedMoveText: text "<USER>" line "learned" cont "@" @@ -1072,7 +1071,7 @@ BeatUpAttackText: line "attack!" done -CanReceiveGiftText: +CantReceiveGiftText: text "<TARGET> can't" line "receive the gift!" prompt diff --git a/data/text/common_1.asm b/data/text/common_1.asm index 40f4bb79..0bea4456 100755 --- a/data/text/common_1.asm +++ b/data/text/common_1.asm @@ -27,73 +27,73 @@ _NothingHereText:: line "here…" done -UnknownText_0x1bc0a2:: +_RecoveredSomeHPText:: text_ram wStringBuffer1 text_start line "recovered @" - text_decimal wLinkBuffer, 2, 3 + text_decimal wCurHPAnimDeltaHP, 2, 3 text "HP!" done -UnknownText_0x1bc0bb:: +_CuredOfPoisonText:: text_ram wStringBuffer1 text "'s" line "cured of poison." done -UnknownText_0x1bc0d2:: +_RidOfParalysisText:: text_ram wStringBuffer1 text "'s" line "rid of paralysis." done -UnknownText_0x1bc0ea:: +_BurnWasHealedText:: text_ram wStringBuffer1 text "'s" line "burn was healed." done -UnknownText_0x1bc101:: +_WasDefrostedText:: text_ram wStringBuffer1 text_start line "was defrosted." done -UnknownText_0x1bc115:: +_WokeUpText:: text_ram wStringBuffer1 text_start line "woke up." done -UnknownText_0x1bc123:: +_HealthReturnedText:: text_ram wStringBuffer1 text "'s" line "health returned." done -UnknownText_0x1bc13a:: +_RevitalizedText:: text_ram wStringBuffer1 text_start line "is revitalized." done -UnknownText_0x1bc14f:: +_GrewToLevelText:: text_ram wStringBuffer1 text " grew to" line "level @" text_decimal wCurPartyLevel, 1, 3 text "!@" - sound_dex_fanfare_50_79 + sound_dex_fanfare_50_79 ; plays SFX_DEX_FANFARE_50_79, identical to SFX_LEVEL_UP text_promptbutton - db "@" + text_end -UnknownText_0x1bc16e:: +_CameToItsSensesText:: text_ram wStringBuffer1 text " came" line "to its senses." done -UnknownText_0x1bc29c:: +_OakTimeWokeUpText:: text "<……><……><……><……><……><……>" line "<……><……><……><……><……><……>" @@ -104,52 +104,56 @@ UnknownText_0x1bc29c:: line "clock for me?" prompt -UnknownText_0x1bc2eb:: +_OakTimeWhatTimeIsItText:: text "What time is it?" done -UnknownText_0x1bc2fd:: - text "What?@@" +_OakTimeWhatHoursText:: + text "What?@" + text_end + +_OakTimeHoursQuestionMarkText:: text "?" done -UnknownText_0x1bc308:: +_OakTimeHowManyMinutesText:: text "How many minutes?" done -UnknownText_0x1bc31b:: - text "Whoa!@@" +_OakTimeWhoaMinutesText:: + text "Whoa!@" + text_end -UnknownText_0x1bc323:: +_OakTimeMinutesQuestionMarkText:: text "?" done -UnknownText_0x1bc326:: +_OakTimeOversleptText:: text "!" line "I overslept!" done -UnknownText_0x1bc336:: +_OakTimeYikesText:: text "!" line "Yikes! I over-" cont "slept!" done -UnknownText_0x1bc34f:: +_OakTimeSoDarkText:: text "!" line "No wonder it's so" cont "dark!" done -UnknownText_0x1bc369:: +_OakTimeWhatDayIsItText:: text "What day is it?" done -UnknownText_0x1bc37a:: +_OakTimeIsItText:: text ", is it?" done -Text_EnemyWithdrew:: +_EnemyWithdrewText:: text "<ENEMY>" line "withdrew" cont "@" @@ -157,7 +161,7 @@ Text_EnemyWithdrew:: text "!" prompt -Text_EnemyUsedOn:: +_EnemyUsedOnText:: text "<ENEMY>" line "used @" text_ram wMonOrItemNameBuffer @@ -223,7 +227,7 @@ Text_BreedingIsNotPossible:: UnknownText_0x1bd0d8:: text "The compatibility" line "is @" - text_decimal wTempNumBuffer, 1, 3 + text_decimal wBreedingCompatibility, 1, 3 text "." cont "Should they breed?" done @@ -280,41 +284,41 @@ UnknownText_0x1bc45e:: line "amount." done -UnknownText_0x1bc471:: +_NothingToChooseText:: text "There's nothing to" line "choose." prompt -UnknownText_0x1bc48c:: +_WhichSidePutOnText:: text "Which side do you" line "want to put it on?" done -UnknownText_0x1bc4b2:: +_WhichSidePutAwayText:: text "Which side do you" line "want to put away?" done -UnknownText_0x1bc4d7:: +_PutAwayTheDecoText:: text "Put away the" line "@" text_ram wStringBuffer3 text "." prompt -UnknownText_0x1bc4ec:: +_NothingToPutAwayText:: text "There's nothing to" line "put away." prompt -UnknownText_0x1bc509:: +_SetUpTheDecoText:: text "Set up the" line "@" text_ram wStringBuffer3 text "." prompt -UnknownText_0x1bc51c:: +_PutAwayAndSetUpText:: text "Put away the" line "@" text_ram wStringBuffer3 @@ -326,74 +330,74 @@ UnknownText_0x1bc51c:: text "." prompt -UnknownText_0x1bc546:: +_AlreadySetUpText:: text "That's already set" line "up." prompt -UnknownText_0x1bc55d:: +_LookTownMapText:: text "It's the TOWN MAP." done -UnknownText_0x1bc570:: +_LookPikachuPosterText:: text "It's a poster of a" line "cute PIKACHU." done -UnknownText_0x1bc591:: +_LookClefairyPosterText:: text "It's a poster of a" line "cute CLEFAIRY." done -UnknownText_0x1bc5b3:: +_LookJigglypuffPosterText:: text "It's a poster of a" line "cute JIGGLYPUFF." done -UnknownText_0x1bc5d7:: +_LookAdorableDecoText:: text "It's an adorable" line "@" text_ram wStringBuffer3 text "." done -UnknownText_0x1bc5ef:: +_LookGiantDecoText:: text "A giant doll! It's" line "fluffy and cuddly." done -UnknownText_0x1bc615:: +_MomHiHowAreYouText:: text "Hi, <PLAYER>!" line "How are you?" prompt -UnknownText_0x1bc62a:: +_MomFoundAnItemText:: text "I found a useful" line "item shopping, so" prompt -UnknownText_0x1bc64e:: +_MomBoughtWithYourMoneyText:: text "I bought it with" line "your money. Sorry!" prompt -UnknownText_0x1bc673:: +_MomItsInPCText:: text "It's in your PC." line "You'll like it!" done -UnknownText_0x1bc693:: +_MomFoundADollText:: text "While shopping" line "today, I saw this" cont "adorable doll, so" prompt -UnknownText_0x1bc6c7:: +_MomItsInYourRoomText:: text "It's in your room." line "You'll love it!" done -UnknownText_0x1bc6e9:: +_MonWasSentToText:: text_ram wPlayerTrademonSpeciesName text " was" line "sent to @" @@ -401,29 +405,29 @@ UnknownText_0x1bc6e9:: text "." done -UnknownText_0x1bc701:: +_MonNameSentToText:: text_start done -UnknownText_0x1bc703:: +_BidsFarewellToMonText:: text_ram wOTTrademonSenderName text " bids" line "farewell to" done -UnknownText_0x1bc719:: +_MonNameBidsFarewellText:: text_ram wOTTrademonSpeciesName text "." done -UnknownText_0x1bc71f:: +_TakeGoodCareOfMonText:: text "Take good care of" line "@" text_ram wOTTrademonSpeciesName text "." done -UnknownText_0x1bc739:: +_ForYourMonSendsText:: text "For @" text_ram wPlayerTrademonSenderName text "'s" @@ -432,7 +436,7 @@ UnknownText_0x1bc739:: text "," done -UnknownText_0x1bc74c:: +_OTSendsText:: text_ram wOTTrademonSenderName text " sends" line "@" @@ -440,14 +444,16 @@ UnknownText_0x1bc74c:: text "." done -UnknownText_0x1bc75e:: +_WillTradeText:: text_ram wOTTrademonSenderName text " will" line "trade @" text_ram wOTTrademonSpeciesName - db "@@" + text_end + + text_end ; unused -UnknownText_0x1bc774:: +_ForYourMonWillTradeText:: text "for @" text_ram wPlayerTrademonSenderName text "'s" @@ -477,7 +483,9 @@ _OPT_OakText1:: text_start line "OAK: @" text_ram wMonOrItemNameBuffer - db "@@" + text_end + + text_end ; unused _OPT_OakText2:: text_start @@ -498,162 +506,162 @@ _OPT_MaryText1:: text "'s" done -OPT_SweetAdorably:: +_OPT_SweetAdorablyText:: text_start line "sweet and adorably" done -OPT_WigglySlickly:: +_OPT_WigglySlicklyText:: text_start line "wiggly and slickly" done -OPT_AptlyNamed:: +_OPT_AptlyNamedText:: text_start line "aptly named and" done -OPT_UndeniablyKindOf:: +_OPT_UndeniablyKindOfText:: text_start line "undeniably kind of" done -OPT_Unbearably:: +_OPT_UnbearablyText:: text_start line "so, so unbearably" done -OPT_WowImpressively:: +_OPT_WowImpressivelyText:: text_start line "wow, impressively" done -OPT_AlmostPoisonously:: +_OPT_AlmostPoisonouslyText:: text_start line "almost poisonously" done -OPT_Sensually:: +_OPT_SensuallyText:: text_start line "ooh, so sensually" done -OPT_Mischievously:: +_OPT_MischievouslyText:: text_start line "so mischievously" done -OPT_Topically:: +_OPT_TopicallyText:: text_start line "so very topically" done -OPT_Addictively:: +_OPT_AddictivelyText:: text_start line "sure addictively" done -OPT_LooksInWater:: +_OPT_LooksInWaterText:: text_start line "looks in water is" done -OPT_EvolutionMustBe:: +_OPT_EvolutionMustBeText:: text_start line "evolution must be" done -OPT_Provocatively:: +_OPT_ProvocativelyText:: text_start line "provocatively" done -OPT_FlippedOut:: +_OPT_FlippedOutText:: text_start line "so flipped out and" done -OPT_HeartMeltingly:: +_OPT_HeartMeltinglyText:: text_start line "heart-meltingly" done -OPT_Cute:: +_OPT_CuteText:: text_start line "cute." done -OPT_Weird:: +_OPT_WeirdText:: text_start line "weird." done -OPT_Pleasant:: +_OPT_PleasantText:: text_start line "pleasant." done -OPT_BoldSortOf:: +_OPT_BoldSortOfText:: text_start line "bold, sort of." done -OPT_Frightening:: +_OPT_FrighteningText:: text_start line "frightening." done -OPT_SuaveDebonair:: +_OPT_SuaveDebonairText:: text_start line "suave & debonair!" done -OPT_Powerful:: +_OPT_PowerfulText:: text_start line "powerful." done -OPT_Exciting:: +_OPT_ExcitingText:: text_start line "exciting." done -OPT_Groovy:: +_OPT_NowText:: text_start line "now!" done -OPT_Inspiring:: +_OPT_InspiringText:: text_start line "inspiring." done -OPT_Friendly:: +_OPT_FriendlyText:: text_start line "friendly." done -OPT_HotHotHot:: +_OPT_HotHotHotText:: text_start line "hot, hot, hot!" done -OPT_Stimulating:: +_OPT_StimulatingText:: text_start line "stimulating." done -OPT_Guarded:: +_OPT_GuardedText:: text_start line "guarded." done -OPT_Lovely:: +_OPT_LovelyText:: text_start line "lovely." done -OPT_Speedy:: +_OPT_SpeedyText:: text_start line "speedy." done @@ -666,7 +674,7 @@ _PokedexShowText:: text_start line "@" text_ram wStringBuffer1 - db "@" + text_end ; Pokémon Music Channel / Pokémusic @@ -815,84 +823,86 @@ _PnP_Text4:: text_ram wStringBuffer2 text " @" text_ram wStringBuffer1 - db "@@" + text_end -_PnP_cute:: + text_end ; unused + +_PnP_CuteText:: text_start line "is cute." done -_PnP_lazy:: +_PnP_LazyText:: text_start line "is sort of lazy." done -_PnP_happy:: +_PnP_HappyText:: text_start line "is always happy." done -_PnP_noisy:: +_PnP_NoisyText:: text_start line "is quite noisy." done -_PnP_precocious:: +_PnP_PrecociousText:: text_start line "is precocious." done -_PnP_bold:: +_PnP_BoldText:: text_start line "is somewhat bold." done -_PnP_picky:: +_PnP_PickyText:: text_start line "is too picky!" done -_PnP_sortofok:: +_PnP_SortOfOKText:: text_start line "is sort of OK." done -_PnP_soso:: +_PnP_SoSoText:: text_start line "is just so-so." done -_PnP_great:: +_PnP_GreatText:: text_start line "is actually great." done -_PnP_mytype:: +_PnP_MyTypeText:: text_start line "is just my type." done -_PnP_cool:: +_PnP_CoolText:: text_start line "is so cool, no?" done -_PnP_inspiring:: +_PnP_InspiringText:: text_start line "is inspiring!" done -_PnP_weird:: +_PnP_WeirdText:: text_start line "is kind of weird." done -_PnP_rightforme:: +_PnP_RightForMeText:: text_start line "is right for me?" done -_PnP_odd:: +_PnP_OddText:: text_start line "is definitely odd!" done @@ -901,7 +911,9 @@ _PnP_Text5:: text_start line "@" text_ram wStringBuffer1 - db "@@" + text_end + + text_end ; unused _RocketRadioText1:: text_start @@ -961,7 +973,7 @@ _RocketRadioText10:: text "Is he listening?" done -UnknownText_0x1bd2bc:: +_AskFloorElevatorText:: text "Which floor?" done @@ -993,7 +1005,7 @@ _ButNoSpaceText:: line "no space left…" done -UnknownText_0x1bd34b:: +_JustSawSomeRareMonText:: text "I just saw some" line "rare @" text_ram wStringBuffer1 @@ -1007,12 +1019,12 @@ UnknownText_0x1bd34b:: cont "#MON, OK?" prompt -UnknownText_0x1bd39e:: +_SavingRecordText:: text "SAVING RECORD…" line "DON'T TURN OFF!" done -ReceivedMysteryGiftText_:: +_ReceiveItemText:: text_ram wPlayerName text " received" line "@" @@ -1020,37 +1032,38 @@ ReceivedMysteryGiftText_:: text "!@" sound_item text_promptbutton - db "@" + text_end -NoCoinsText_:: +_NoCoinsText:: text "You have no coins." prompt -NoCoinCaseText_:: +_NoCoinCaseText:: text "You don't have a" line "COIN CASE." prompt -UnknownText_0x1bd407:: +_NPCTradeCableText:: text "OK, connect the" line "Game Link Cable." prompt -UnknownText_0x1bd429:: +Text_NPCTraded:: text "<PLAYER> traded" line "@" text_ram wStringBuffer2 text " for" cont "@" text_ram wMonOrItemNameBuffer - text ".@@" + text ".@" + text_end -UnknownText_0x1bd445:: +_NPCTradeFanfareText:: sound_dex_fanfare_80_109 text_pause - db "@" + text_end -UnknownText_0x1bd449:: +_NPCTradeIntroText1:: text "I collect #MON." line "Do you have" cont "@" @@ -1063,12 +1076,12 @@ UnknownText_0x1bd449:: text "?" done -UnknownText_0x1bd48c:: +_NPCTradeCancelText1:: text "You don't want to" line "trade? Aww…" done -UnknownText_0x1bd4aa:: +_NPCTradeWrongText1:: text "Huh? That's not" line "@" text_ram wStringBuffer1 @@ -1076,7 +1089,7 @@ UnknownText_0x1bd4aa:: cont "What a letdown…" done -UnknownText_0x1bd4d2:: +_NPCTradeCompleteText1:: text "Yay! I got myself" line "@" text_ram wStringBuffer1 @@ -1084,14 +1097,14 @@ UnknownText_0x1bd4d2:: cont "Thanks!" done -UnknownText_0x1bd4f4:: +_NPCTradeAfterText1:: text "Hi, how's my old" line "@" text_ram wStringBuffer2 text " doing?" done -UnknownText_0x1bd512:: +_NPCTradeIntroText2:: text "Hi, I'm looking" line "for this #MON." @@ -1106,7 +1119,7 @@ UnknownText_0x1bd512:: text "?" done -UnknownText_0x1bd565:: +_NPCTradeCancelText2:: text "You don't have" line "one either?" @@ -1114,7 +1127,7 @@ UnknownText_0x1bd565:: line "disappointing…" done -UnknownText_0x1bd5a1:: +_NPCTradeWrongText2:: text "You don't have" line "@" text_ram wStringBuffer1 @@ -1122,7 +1135,7 @@ UnknownText_0x1bd5a1:: cont "too bad, then." done -UnknownText_0x1bd5cc:: +_NPCTradeCompleteText2:: text "Great! Thank you!" para "I finally got" @@ -1131,7 +1144,7 @@ UnknownText_0x1bd5cc:: text "." done -UnknownText_0x1bd5f4:: +_NPCTradeAfterText2:: text "Hi! The @" text_ram wMonOrItemNameBuffer text_start @@ -1139,7 +1152,7 @@ UnknownText_0x1bd5f4:: cont "doing great!" done -UnknownText_0x1bd621:: +_NPCTradeIntroText3:: text_ram wMonOrItemNameBuffer text "'s cute," line "but I don't have" @@ -1155,12 +1168,12 @@ UnknownText_0x1bd621:: text "?" done -UnknownText_0x1bd673:: +_NPCTradeCancelText3:: text "You don't want to" line "trade? Oh, darn…" done -UnknownText_0x1bd696:: +_NPCTradeWrongText3:: text "That's not" line "@" text_ram wStringBuffer1 @@ -1170,7 +1183,7 @@ UnknownText_0x1bd696:: line "me if you get one." done -UnknownText_0x1bd6cd:: +_NPCTradeCompleteText3:: text "Wow! Thank you!" line "I always wanted" cont "@" @@ -1178,7 +1191,7 @@ UnknownText_0x1bd6cd:: text "!" done -UnknownText_0x1bd6f5:: +_NPCTradeAfterText3:: text "How is that" line "@" text_ram wStringBuffer2 @@ -1191,7 +1204,7 @@ UnknownText_0x1bd6f5:: line "so cute!" done -UnknownText_0x1bd77f:: +_MomLeavingText1:: text "Wow, that's a cute" line "#MON." @@ -1219,14 +1232,14 @@ UnknownText_0x1bd77f:: line "save your money?" done -UnknownText_0x1bd868:: +_MomLeavingText2:: text "OK, I'll take care" line "of your money." para "<……><……><……>" prompt -UnknownText_0x1bd88e:: +_MomLeavingText3:: text "Be careful." para "#MON are your" @@ -1236,7 +1249,7 @@ UnknownText_0x1bd88e:: para "Now, go on!" done -UnknownText_0x1bd8da:: +_MomIsThisAboutYourMoneyText:: text "Hi! Welcome home!" line "You're trying very" cont "hard, I see." @@ -1248,47 +1261,47 @@ UnknownText_0x1bd8da:: line "your money?" done -UnknownText_0x1bd942:: +_MomBankWhatDoYouWantToDoText:: text "What do you want" line "to do?" done -UnknownText_0x1bd95b:: +_MomStoreMoneyText:: text "How much do you" line "want to save?" done -UnknownText_0x1bd97a:: +_MomTakeMoneyText:: text "How much do you" line "want to take?" done -UnknownText_0x1bd999:: +_MomSaveMoneyText:: text "Do you want to" line "save some money?" done -UnknownText_0x1bd9ba:: +_MomHaventSavedThatMuchText:: text "You haven't saved" line "that much." prompt -UnknownText_0x1bd9d7:: +_MomNotEnoughRoomInWalletText:: text "You can't take" line "that much." prompt -UnknownText_0x1bd9f1:: +_MomInsufficientFundsInWalletText:: text "You don't have" line "that much." prompt -UnknownText_0x1bda0b:: +_MomNotEnoughRoomInBankText:: text "You can't save" line "that much." prompt -UnknownText_0x1bda25:: +_MomStartSavingMoneyText:: text "OK, I'll save your" line "money. Trust me!" @@ -1296,17 +1309,17 @@ UnknownText_0x1bda25:: line "with it!" done -UnknownText_0x1bda5b:: +_MomStoredMoneyText:: text "Your money's safe" line "here! Get going!" done -UnknownText_0x1bda7e:: +_MomTakenMoneyText:: text "<PLAYER>, don't" line "give up!" done -UnknownText_0x1bda90:: +_MomJustDoWhatYouCanText:: text "Just do what" line "you can." done @@ -1377,7 +1390,7 @@ _OnlyOneMonText:: line "just one #MON." prompt -_CantRaiseEggText:: +_CantAcceptEggText:: text "Sorry, but I can't" line "accept an EGG." prompt @@ -1461,7 +1474,7 @@ _HaveNoRoomText:: line "for it." prompt -_DCNotEnoughMoneyText:: +_NotEnoughMoneyText:: text "You don't have" line "enough money." prompt @@ -1507,7 +1520,7 @@ _TakeGoodCareOfEggText:: line "it." done -_RefuseEggText:: +_IllKeepItThanksText:: text "Well then, I'll" line "keep it. Thanks!" done @@ -1518,28 +1531,28 @@ _NoRoomForEggText:: cont "Come back later." done -UnknownText_0x1be024:: +_WhichMonPhotoText:: text "Which #MON" line "should I photo-" cont "graph?" prompt -UnknownText_0x1be047:: +_HoldStillText:: text "All righty. Hold" line "still for a bit." prompt -UnknownText_0x1be06a:: +_PrestoAllDoneText:: text "Presto! All done." line "Come again, OK?" done -UnknownText_0x1c0000:: +_NoPhotoText:: text "Oh, no picture?" line "Come again, OK?" done -UnknownText_0x1c0021:: +_EggPhotoText:: text "An EGG? My talent" line "is worth more…" done @@ -1633,7 +1646,7 @@ Text_Gained:: text_ram wStringBuffer1 text " gained@@" -Text_ABoostedStringBuffer2ExpPoints:: +_BoostedExpPointsText:: text_start line "a boosted" cont "@" @@ -1641,7 +1654,7 @@ Text_ABoostedStringBuffer2ExpPoints:: text " EXP. Points!" prompt -Text_StringBuffer2ExpPoints:: +_ExpPointsText:: text_start line "@" text_decimal wStringBuffer2, 2, 4 @@ -1674,44 +1687,46 @@ Text_YourFoesWeakGetmMon:: text "!" done -Text_ThatsEnoughComeBack:: +Text_BattleMonNickComma:: text_ram wBattleMonNick text ",@@" + +_ThatsEnoughComeBackText:: text " that's" line "enough! Come back!" done -Text_OKComeBack:: +_OKComeBackText:: text " OK!" line "Come back!" done -Text_GoodComeBack:: +_GoodComeBackText:: text " good!" line "Come back!" done -Text_ComeBack:: +_ComeBackText:: text " come" line "back!" done -BattleText_PlayerPickedUpPayDayMoney: +_PlayerPickedUpPayDayMoney:: text "<PLAYER> picked up" line "¥@" text_decimal wPayDayMoney, 3, 6 text "!" prompt -UnknownText_0x1c0373:: +_BootedTMText:: text "Booted up a TM." prompt -UnknownText_0x1c0384:: +_BootedHMText:: text "Booted up an HM." prompt -UnknownText_0x1c0396:: +_ContainedMoveText:: text "It contained" line "@" text_ram wStringBuffer2 @@ -1723,7 +1738,7 @@ UnknownText_0x1c0396:: line "to a #MON?" done -UnknownText_0x1c03c2:: +_TMHMNotCompatibleText:: text_ram wStringBuffer2 text " is" line "not compatible" @@ -1737,7 +1752,7 @@ UnknownText_0x1c03c2:: text "." prompt -UnknownText_0x1c03fa:: +_NoRoomTMHMText:: text "You have no room" line "for any more" cont "@" @@ -1745,44 +1760,44 @@ UnknownText_0x1c03fa:: text "S." prompt -UnknownText_0x1c0421:: +_ReceivedTMHMText:: text "You received" line "@" text_ram wStringBuffer1 text "!" prompt -UnknownText_0x1c0436:: +_MysteryGiftCanceledText:: text "The link has been" line "cancelled." prompt -UnknownText_0x1c0454:: +_MysteryGiftCommErrorText:: text "Communication" line "error." prompt -UnknownText_0x1c046a:: +_RetrieveMysteryGiftText:: text "Must retrieve GIFT" line "at #MON CENTER." prompt -UnknownText_0x1c048e:: +_YourFriendIsNotReadyText:: text "Your friend isn't" line "ready." prompt -UnknownText_0x1c04a7:: +_MysteryGiftFiveADayText:: text "Sorry--only five" line "GIFTS a day." prompt -UnknownText_0x1c04c6:: +_MysteryGiftOneADayText:: text "Sorry. One GIFT" line "a day per person." prompt -UnknownText_0x1c04e9:: +_MysteryGiftSentText:: text_ram wMysteryGiftPartnerName text " sent" line "@" @@ -1790,7 +1805,7 @@ UnknownText_0x1c04e9:: text "." prompt -UnknownText_0x1c04fa:: +_MysteryGiftSentHomeText:: text_ram wMysteryGiftPartnerName text " sent" line "@" @@ -1801,35 +1816,35 @@ UnknownText_0x1c04fa:: text "'s home." prompt -BadgeRequiredText_:: +_BadgeRequiredText:: text "Sorry! A new BADGE" line "is required." prompt -CantUseFieldMoveHereText_:: +_CantUseItemText:: text "Can't use that" line "here." prompt -Text_UsedCut_:: +_UseCutText:: text_ram wStringBuffer2 text " used" line "CUT!" prompt -Text_NothingToCut_:: +_CutNothingText:: text "There's nothing to" line "CUT here." prompt -Text_UsedFlash_:: +_BlindingFlashText:: text "A blinding FLASH" line "lights the area!@" text_promptbutton db "@@" -UsedSurfText_:: +_UsedSurfText:: text_ram wStringBuffer2 text " used" line "SURF!" - done
\ No newline at end of file + done diff --git a/data/text/common_2.asm b/data/text/common_2.asm index c8b243be..931605fd 100644 --- a/data/text/common_2.asm +++ b/data/text/common_2.asm @@ -1,80 +1,80 @@ -CantSurfText_:: +_CantSurfText:: text "You can't SURF" line "here." prompt -AlreadySurfingText_:: +_AlreadySurfingText:: text "You're already" line "SURFING." prompt -AskSurfText_:: +_AskSurfText:: text "The water is calm." line "Want to SURF?" done -Text_UsedWaterfall_:: +_UseWaterfallText:: text_ram wStringBuffer2 text " used" line "WATERFALL!" done -Text_CantDoWaterfall_:: +_HugeWaterfallText:: text "Wow, it's a huge" line "waterfall." done -Text_AskUseWaterfall_:: +_AskWaterfallText:: text "Do you want to use" line "WATERFALL?" done -Text_UsedDig_:: +_UseDigText:: text_ram wStringBuffer2 text " used" line "DIG!" done -Text_UsedEscapeRope_:: +_UseEscapeRopeText:: text "<PLAYER> used an" line "ESCAPE ROPE." done -Text_CantUseDigEscapeRopeHere_:: +_CantUseDigText:: text "Can't use that" line "here." done -Text_ReturnToLastMonCenter_:: +_TeleportReturnText:: text "Return to the last" line "#MON CENTER." done -Text_CantUseTeleportHere_:: +_CantUseTeleportText:: text "Can't use that" line "here." para "" done -Text_AlreadyUsingStrength_:: +_AlreadyUsingStrengthText:: text "A #MON is using" line "STRENGTH already." prompt -Text_UsedStrength_:: +_UseStrengthText:: text_ram wStringBuffer2 text " used" line "STRENGTH!" done -Text_AllowedToMoveBoulders_:: +_MoveBoulderText:: text_ram wStringBuffer1 text " can" line "move boulders." prompt -Text_AskStrength_:: +_AskStrengthText:: text "A #MON may be" line "able to move this." @@ -82,23 +82,23 @@ Text_AskStrength_:: line "STRENGTH?" done -Text_BouldersMayNowBeMoved_:: +_BouldersMoveText:: text "Boulders may now" line "be moved!" done -Text_MonMayBeAbleToMove_:: +_BouldersMayMoveText:: text "A #MON may be" line "able to move this." done -Text_UsedWhirlpool_:: +_UseWhirlpoolText:: text_ram wStringBuffer2 text " used" line "WHIRLPOOL!" prompt -Text_MightyWhirlpool_:: +_MayPassWhirlpoolText:: text "It's a vicious" line "whirlpool!" @@ -106,7 +106,7 @@ Text_MightyWhirlpool_:: line "able to pass it." done -Text_AskWhirlpool_:: +_AskWhirlpoolText:: text "A whirlpool is in" line "the way." @@ -114,17 +114,17 @@ Text_AskWhirlpool_:: line "WHIRLPOOL?" done -Text_DidAHeadbutt_:: +_UseHeadbuttText:: text_ram wStringBuffer2 text " did a" line "HEADBUTT!" prompt -Text_NothingFromHeadbutt_:: +_HeadbuttNothingText:: text "Nope. Nothing…" done -Text_AskHeadbutt_:: +_AskHeadbuttText:: text "A #MON could be" line "in this tree." @@ -132,18 +132,18 @@ Text_AskHeadbutt_:: line "it?" done -Text_UsedRockSmash_:: +_UseRockSmashText:: text_ram wStringBuffer2 text " used" line "ROCK SMASH!" prompt -Text_MayBeBreakable_:: +_MaySmashText:: text "A #MON may be" line "able to break it." done -Text_AskRockSmash_:: +_AskRockSmashText:: text "This rock looks" line "breakable." @@ -151,47 +151,48 @@ Text_AskRockSmash_:: line "SMASH?" done -Text_OhABite_:: +_RodBiteText:: text "Oh!" line "A bite!" prompt -Text_NotEvenANibble_:: +_RodNothingText:: text "Not even a nibble!" prompt -Text_NothingHereToFish_:: +; unused +_UnusedNothingHereText:: text "Looks like there's" line "nothing here." prompt -Text_CantGetOffBike_:: +_CantGetOffBikeText:: text "You can't get off" line "here!" done -Text_GotOnTheBike_:: +_GotOnBikeText:: text "<PLAYER> got on the" line "@" text_ram wStringBuffer2 text "." done -Text_GotOffTheBike_:: +_GotOffBikeText:: text "<PLAYER> got off" line "the @" text_ram wStringBuffer2 text "." done -Text_AskCut_:: +_AskCutText:: text "This tree can be" line "CUT!" para "Want to use CUT?" done -Text_MonCanCutThis_:: +_CanCutText:: text "This tree can be" line "CUT!" done @@ -209,7 +210,7 @@ _CantCarryItemText:: cont "items!" done -UnknownText_0x1c0a4e:: +_WhitedOutText:: text "<PLAYER> is out of" line "useable #MON!" @@ -217,24 +218,24 @@ UnknownText_0x1c0a4e:: line "out!" done -UnknownText_0x1c0a77:: +_ItemfinderItemNearbyText:: text "Yes! ITEMFINDER" line "indicates there's" cont "an item nearby." prompt -UnknownText_0x1c0aa9:: +_ItemfinderNopeText:: text "Nope! ITEMFINDER" line "isn't responding." prompt -UnknownText_0x1c0acc:: +_PoisonFaintText:: text_ram wStringBuffer3 text_start line "fainted!" prompt -UnknownText_0x1c0ada:: +_PoisonWhiteoutText:: text "<PLAYER> is out of" line "useable #MON!" @@ -242,18 +243,18 @@ UnknownText_0x1c0ada:: line "out!" prompt -UnknownText_0x1c0b03:: +_UseSweetScentText:: text_ram wStringBuffer3 text " used" line "SWEET SCENT!" done -UnknownText_0x1c0b1a:: +_SweetScentNothingText:: text "Looks like there's" line "nothing here…" done -UnknownText_0x1c0b3b:: +_SquirtbottleNothingText:: text "<PLAYER> sprinkled" line "water." @@ -261,26 +262,26 @@ UnknownText_0x1c0b3b:: line "happened…" done -UnknownText_0x1c0b65:: +_UseSacredAshText:: text "<PLAYER>'s #MON" line "were all healed!" done -Text_AnEGGCantHoldAnItem:: +_AnEggCantHoldAnItemText:: text "An EGG can't hold" line "an item." prompt -Text_PackNoItems_:: +_PackNoItemText:: text "No items." done -Text_ThrowAwayHowMany_:: +_AskThrowAwayText:: text "Throw away how" line "many?" done -Text_ConfirmThrowAway_:: +_AskQuantityThrowAwayText:: text "Throw away @" text_decimal wItemQuantityChangeBuffer, 1, 2 text_start @@ -289,46 +290,46 @@ Text_ConfirmThrowAway_:: text "(S)?" done -Text_ThrewAway_:: +_ThrewAwayText:: text "Threw away" line "@" text_ram wStringBuffer2 text "(S)." prompt -Text_ThisIsntTheTime_:: +_OakThisIsntTheTimeText:: text "OAK: <PLAYER>!" line "This isn't the" cont "time to use that!" prompt -Text_YouDontHaveAMon:: +_YouDontHaveAMonText:: text "You don't have a" line "#MON!" prompt -Text_RegisteredTheItem_:: +_RegisteredItemText:: text "Registered the" line "@" text_ram wStringBuffer2 text "." prompt -Text_CantRegisterThatItem_:: +_CantRegisterText:: text "You can't register" line "that item." prompt -Text_MoveItemWhere_:: +_AskItemMoveText:: text "Where should this" line "be moved to?" done -Text_PackEmptyString_:: +_PackEmptyText:: text_start done -Text_YouCantUseItInABattle:: +_YouCantUseItInABattleText:: text "You can't use it" line "in a battle." prompt @@ -372,94 +373,100 @@ _EndUsedMove5Text:: text "!" done -UnknownText_0x1c0cc6:: +Text_BattleEffectActivate:: text "<USER>'s" line "@" text_ram wStringBuffer2 - db "@@" + text_end + + text_end ; unused -UnknownText_0x1c0cd0:: +_BattleStatWentWayUpText:: text_pause text "<SCROLL>went way up!" prompt -UnknownText_0x1c0ce0:: +_BattleStatWentUpText:: text " went up!" prompt -UnknownText_0x1c0ceb:: +Text_BattleFoeEffectActivate:: text "<TARGET>'s" line "@" text_ram wStringBuffer2 - db "@@" + text_end + + text_end ; unused -UnknownText_0x1c0cf5:: +_BattleStatSharplyFellText:: text_pause text "<SCROLL>sharply fell!" prompt -UnknownText_0x1c0d06:: +_BattleStatFellText:: text " fell!" prompt -UnknownText_0x1c0d0e:: - text "<USER>@@" +Text_BattleUser:: + text "<USER>@" + text_end -UnknownText_0x1c0d12:: +_BattleMadeWhirlwindText:: text_start line "made a whirlwind!" prompt -UnknownText_0x1c0d26:: +_BattleTookSunlightText:: text_start line "took in sunlight!" prompt -UnknownText_0x1c0d3a:: +_BattleLoweredHeadText:: text_start line "lowered its head!" prompt -UnknownText_0x1c0d4e:: +_BattleGlowingText:: text_start line "is glowing!" prompt -UnknownText_0x1c0d5c:: +_BattleFlewText:: text_start line "flew up high!" prompt -UnknownText_0x1c0d6c:: +_BattleDugText:: text_start line "dug a hole!" prompt -UnknownText_0x1c0db0:: +Text_BreedHuh:: text "Huh?" - para "@@" + para "@" + text_end -UnknownText_0x1c0db8:: +_BreedClearboxText:: text_start done -UnknownText_0x1c0dba:: +_BreedEggHatchText:: text_ram wStringBuffer1 text " came" line "out of its EGG!@" sound_caught_mon text_promptbutton - db "@" + text_end -UnknownText_0x1c0dd8:: +_BreedAskNicknameText:: text "Give a nickname to" line "@" text_ram wStringBuffer1 text "?" done -UnknownText_0x1c0df3:: +_LeftWithDayCareLadyText:: text "It's @" text_ram wBreedMon2Nick text_start @@ -467,41 +474,41 @@ UnknownText_0x1c0df3:: cont "the DAY-CARE LADY." done -UnknownText_0x1c0e24:: +_LeftWithDayCareManText:: text "It's @" - text_ram wDayCareMan + 1 + text_ram wBreedMon1Nick text_start line "that was left with" cont "the DAY-CARE MAN." done -UnknownText_0x1c0e54:: +_BreedBrimmingWithEnergyText:: text "It's brimming with" line "energy." prompt -UnknownText_0x1c0e6f:: +_BreedNoInterestText:: text "It has no interest" line "in @" text_ram wStringBuffer1 text "." prompt -UnknownText_0x1c0e8d:: +_BreedAppearsToCareForText:: text "It appears to care" line "for @" text_ram wStringBuffer1 text "." prompt -UnknownText_0x1c0eac:: +_BreedFriendlyText:: text "It's friendly with" line "@" text_ram wStringBuffer1 text "." prompt -UnknownText_0x1c0ec6:: +_BreedShowsInterestText:: text "It shows interest" line "in @" text_ram wStringBuffer1 @@ -513,51 +520,51 @@ _EmptyMailboxText:: line "here." prompt -ClearedMailPutAwayText:: +_MailClearedPutAwayText:: text "The cleared MAIL" line "was put away." prompt -MailPackFullText:: +_MailPackFullText:: text "The PACK is full." prompt -MailMessageLostText:: +_MailMessageLostText:: text "The MAIL's message" line "will be lost. OK?" done -MailAlreadyHoldingItemText:: +_MailAlreadyHoldingItemText:: text "It's already hold-" line "ing an item." prompt -MailEggText:: +_MailEggText:: text "An EGG can't hold" line "any MAIL." prompt -MailMovedFromBoxText:: +_MailMovedFromBoxText:: text "The MAIL was moved" line "from the MAILBOX." prompt -Text_WasSentToBillsPC:: +_WasSentToBillsPCText:: text_ram wStringBuffer1 text " was" line "sent to BILL's PC." prompt -Text_GottaHavePokemon_:: +_PCGottaHavePokemonText:: text "You gotta have" line "#MON to call!" prompt -Text_BillsPCWhat_:: +_PCWhatText:: text "What?" done -Text_PleaseRemoveMailBeforeMovePkmnWOMail_:: +_PCMonHoldingMailText:: text "There is a #MON" line "holding MAIL." @@ -565,39 +572,39 @@ Text_PleaseRemoveMailBeforeMovePkmnWOMail_:: line "MAIL." prompt -Text_YouDontHaveASinglePokemon_:: +_PCNoSingleMonText:: text "You don't have a" line "single #MON!" prompt -Text_ItsYourLastPokemon_:: +_PCCantDepositLastMonText:: text "You can't deposit" line "your last #MON!" prompt -Text_CantTakeAnyMorePokemon_:: +_PCCantTakeText:: text "You can't take any" line "more #MON." prompt -Text_CaughtBugMon_:: +_ContestCaughtMonText:: text "Caught @" text_ram wStringBuffer1 text "!" prompt -UnknownText_0x1c10cf:: +_ContestAskSwitchText:: text "Switch #MON?" done -UnknownText_0x1c10dd:: +_ContestAlreadyCaughtText:: text "You already caught" line "a @" text_ram wStringBuffer1 text "." prompt -ContestJudging_FirstPlaceText:: +_ContestJudging_FirstPlaceText:: text "This Bug-Catching" line "Contest winner is@" text_pause @@ -609,9 +616,10 @@ ContestJudging_FirstPlaceText:: line "who caught a" cont "@" text_ram wStringBuffer1 - text "!@@" + text "!@" + text_end -ContestJudging_FirstPlaceScoreText:: +_ContestJudging_FirstPlaceScoreText:: text_start para "The winning score" @@ -620,7 +628,7 @@ ContestJudging_FirstPlaceScoreText:: text " points!" prompt -ContestJudging_SecondPlaceText:: +_ContestJudging_SecondPlaceText:: text "Placing second was" line "@" text_ram wBugContestWinnerName @@ -629,9 +637,10 @@ ContestJudging_SecondPlaceText:: para "who caught a" line "@" text_ram wStringBuffer1 - text "!@@" + text "!@" + text_end -ContestJudging_SecondPlaceScoreText:: +_ContestJudging_SecondPlaceScoreText:: text_start para "The score was" @@ -640,7 +649,7 @@ ContestJudging_SecondPlaceScoreText:: text " points!" prompt -ContestJudging_ThirdPlaceText:: +_ContestJudging_ThirdPlaceText:: text "Placing third was" line "@" text_ram wBugContestWinnerName @@ -649,9 +658,10 @@ ContestJudging_ThirdPlaceText:: para "who caught a" line "@" text_ram wStringBuffer1 - text "!@@" + text "!@" + text_end -ContestJudging_ThirdPlaceScoreText:: +_ContestJudging_ThirdPlaceScoreText:: text_start para "The score was" @@ -660,7 +670,7 @@ ContestJudging_ThirdPlaceScoreText:: text " points!" prompt -UnknownText_0x1c1203:: +_MagikarpGuruMeasureText:: text "Let me measure" line "that MAGIKARP." @@ -670,7 +680,7 @@ UnknownText_0x1c1203:: text "." prompt -UnknownText_0x1c123a:: +_KarpGuruRecordText:: text "CURRENT RECORD" para "@" @@ -679,9 +689,9 @@ UnknownText_0x1c123a:: line "@" text_ram wMagikarpRecordHoldersName text_promptbutton - db "@" + text_end -UnknownText_0x1c1261:: +_LuckyNumberMatchPartyText:: text "Congratulations!" para "We have a match" @@ -693,7 +703,7 @@ UnknownText_0x1c1261:: line "your party." prompt -UnknownText_0x1c12ae:: +_LuckyNumberMatchPCText:: text "Congratulations!" para "We have a match" @@ -705,7 +715,7 @@ UnknownText_0x1c12ae:: line "your PC BOX." prompt -UnknownText_0x1c12fc:: +_CaughtAskNicknameText:: text "Give a nickname to" line "the @" text_ram wStringBuffer1 @@ -713,18 +723,18 @@ UnknownText_0x1c12fc:: cont "received?" done -UnknownText_0x1c1328:: +_PokecenterPCCantUseText:: text "Bzzzzt! You must" line "have a #MON to" cont "use this!" prompt -UnknownText_0x1c1353:: +_PlayersPCTurnOnText:: text "<PLAYER> turned on" line "the PC." prompt -UnknownText_0x1c1368:: +_PlayersPCAskWhatDoText:: text "What do you want" line "to do?" done @@ -748,7 +758,7 @@ _PlayersPCNoRoomWithdrawText:: line "for more items." prompt -UnknownText_0x1c13df:: +_PlayersPCNoItemsText:: text "No items here!" prompt @@ -771,16 +781,16 @@ _PlayersPCNoRoomDepositText:: line "store items." prompt -UnknownText_0x1c144d:: +_PokecenterPCTurnOnText:: text "<PLAYER> turned on" line "the PC." prompt -UnknownText_0x1c1462:: +_PokecenterPCWhoseText:: text "Access whose PC?" done -UnknownText_0x1c1474:: +_PokecenterBillsPCText:: text "BILL's PC" line "accessed." @@ -788,14 +798,14 @@ UnknownText_0x1c1474:: line "System opened." prompt -UnknownText_0x1c14a4:: +_PokecenterPlayersPCText:: text "Accessed own PC." para "Item Storage" line "System opened." prompt -UnknownText_0x1c14d2:: +_PokecenterOaksPCText:: text "PROF.OAK's PC" line "accessed." @@ -803,7 +813,7 @@ UnknownText_0x1c14d2:: line "System opened." prompt -UnknownText_0x1c1505:: +_PokecenterPCOaksClosedText:: text "…" line "Link closed…" done @@ -973,27 +983,27 @@ _OakPCText4:: line "OAK's PC closed." done -UnknownText_0x1c1a5b:: +_DummyGameYeahText:: text " , yeah!" done -UnknownText_0x1c1a65:: +_DummyGameDarnText:: text "Darn…" done -UnknownText_0x1c1a6c:: +_StartMenuContestEndText:: text "Would you like to" line "end the Contest?" done -UnknownText_0x1c1a90:: +_ItemsTossOutHowManyText:: text "Toss out how many" line "@" text_ram wStringBuffer2 text "(S)?" done -UnknownText_0x1c1aad:: +_ItemsThrowAwayText:: text "Throw away @" text_decimal wItemQuantityChangeBuffer, 1, 2 text_start @@ -1002,25 +1012,25 @@ UnknownText_0x1c1aad:: text "(S)?" done -UnknownText_0x1c1aca:: +_ItemsDiscardedText:: text "Discarded" line "@" text_ram wStringBuffer1 text "(S)." prompt -UnknownText_0x1c1adf:: +_ItemsTooImportantText:: text "That's too impor-" line "tant to toss out!" prompt -UnknownText_0x1c1b03:: +_ItemsOakWarningText:: text "OAK: <PLAYER>!" line "This isn't the" cont "time to use that!" done -UnknownText_0x1c1b2c:: +_PokemonSwapItemText:: text "Took @" text_ram wMonOrItemNameBuffer text "'s" @@ -1034,7 +1044,7 @@ UnknownText_0x1c1b2c:: text "." prompt -UnknownText_0x1c1b57:: +_PokemonHoldItemText:: text "Made @" text_ram wMonOrItemNameBuffer text_start @@ -1043,23 +1053,23 @@ UnknownText_0x1c1b57:: text "." prompt -UnknownText_0x1c1b6f:: +_PokemonRemoveMailText:: text "Please remove the" line "MAIL first." prompt -UnknownText_0x1c1b8e:: +_PokemonNotHoldingText:: text_ram wMonOrItemNameBuffer text " isn't" line "holding anything." prompt -UnknownText_0x1c1baa:: +_ItemStorageFullText:: text "Item storage space" line "full." prompt -UnknownText_0x1c1bc4:: +_PokemonTookItemText:: text "Took @" text_ram wStringBuffer1 text_start @@ -1068,7 +1078,7 @@ UnknownText_0x1c1bc4:: text "." prompt -UnknownText_0x1c1bdc:: +_PokemonAskSwapItemText:: text_ram wMonOrItemNameBuffer text " is" line "already holding" @@ -1079,48 +1089,48 @@ UnknownText_0x1c1bdc:: line "Switch items?" done -UnknownText_0x1c1c09:: +_ItemCantHeldText:: text "This item can't be" line "held." prompt -UnknownText_0x1c1c22:: +_MailLoseMessageText:: text "The MAIL will lose" line "its message. OK?" done -UnknownText_0x1c1c47:: +_MailDetachedText:: text "MAIL detached from" line "@" text_ram wStringBuffer1 text "." prompt -UnknownText_0x1c1c62:: +_MailNoSpaceText:: text "There's no space" line "for removing MAIL." prompt -UnknownText_0x1c1c86:: +_MailAskSendToPCText:: text "Send the removed" line "MAIL to your PC?" done -UnknownText_0x1c1ca9:: +_MailboxFullText:: text "Your PC's MAILBOX" line "is full." prompt -UnknownText_0x1c1cc4:: +_MailSentToPCText:: text "The MAIL was sent" line "to your PC." prompt -UnknownText_0x1c1ce3:: +_PokemonNotEnoughHPText:: text "Not enough HP!" prompt -UnknownText_0x1c1cf3:: +_MayRegisterItemText:: text "An item in your" line "PACK may be" @@ -1128,7 +1138,7 @@ UnknownText_0x1c1cf3:: line "on SELECT Button." done -_ClockTimeUnknownText:: +_MainMenuTimeUnknownText:: text "Clock time unknown" done @@ -1149,11 +1159,12 @@ _OakText2:: text "This world is in-" line "habited by crea-" cont "tures that we call" - cont "#MON.@@" + cont "#MON.@" + text_end _OakText3:: text_promptbutton - db "@" + text_end _OakText4:: text "People and #MON" @@ -1207,7 +1218,7 @@ _OakText7:: line "later!" done -UnknownText_0x1c40e6:: +_ClockTimeMayBeWrongText:: text "The clock's time" line "may be wrong." @@ -1215,7 +1226,7 @@ UnknownText_0x1c40e6:: line "time." prompt -UnknownText_0x1c411c:: +_ClockSetWithControlPadText:: text "Set with the" line "Control Pad." @@ -1223,28 +1234,28 @@ UnknownText_0x1c411c:: line "Cancel: B Button" done -UnknownText_0x1c415b:: +_ClockIsThisOKText:: text "Is this OK?" done -UnknownText_0x1c4168:: +_ClockHasResetText:: text "The clock has been" line "reset." done -UnknownText_0x1c4183:: +_LinkTimeoutText:: text "Too much time has" line "elapsed. Please" cont "try again." prompt -UnknownText_0x1c41b1:: +_LinkTradeCantBattleText:: text "If you trade that" line "#MON, you won't" cont "be able to battle." prompt -UnknownText_0x1c41e6:: +_LinkAbnormalMonText:: text "Your friend's" line "@" text_ram wStringBuffer1 @@ -1252,54 +1263,54 @@ UnknownText_0x1c41e6:: cont "to be abnormal!" prompt -UnknownText_0x1c4212:: +_LinkAskTradeForText:: text "Trade @" - text_ram wTemporaryBuffer + text_ram wceef text_start line "for @" text_ram wStringBuffer1 text "?" done -UnknownText_0x1c454b:: +_WouldYouLikeToSaveTheGameText:: text "Would you like to" line "save the game?" done -UnknownText_0x1c456d:: +_SavingDontTurnOffThePowerText:: text "SAVING… DON'T TURN" line "OFF THE POWER." done -UnknownText_0x1c4590:: +_SavedTheGameText:: text "<PLAYER> saved" line "the game." done -UnknownText_0x1c45a3:: +_AlreadyASaveFileText:: text "There is already a" line "save file. Is it" cont "OK to overwrite?" done -UnknownText_0x1c45d9:: +_AnotherSaveFileText:: text "There is another" line "save file. Is it" cont "OK to overwrite?" done -UnknownText_0x1c460d:: +_SaveFileCorruptedText:: text "The save file is" line "corrupted!" prompt -UnknownText_0x1c462a:: +_ChangeBoxSaveText:: text "When you change a" line "#MON BOX, data" cont "will be saved. OK?" done -UnknownText_0x1c465f:: +_MoveMonWOMailSaveText:: text "Each time you move" line "a #MON, data" cont "will be saved. OK?" @@ -1310,7 +1321,7 @@ UnknownText_0x1c4693:: line "area was exceeded." done -UnknownText_0x1c46b7:: +_WindowPoppingErrorText:: text "No windows avail-" line "able for popping." done @@ -1323,22 +1334,22 @@ _ObjectEventText:: text "Object event." done -BGEventText_:: +_BGEventText:: text "BG event" done -CoordinatesEventText_:: +_CoordinatesEventText:: text "Coordinates event" done -UnknownText_0x1c4719:: +_ReceivedItemText:: text "<PLAYER> received" line "@" text_ram wStringBuffer4 text "." done -UnknownText_0x1c472c:: +_PutItemInPocketText:: text "<PLAYER> put the" line "@" text_ram wStringBuffer1 @@ -1348,7 +1359,7 @@ UnknownText_0x1c472c:: text "." prompt -UnknownText_0x1c474b:: +_PocketIsFullText:: text "The @" text_ram wStringBuffer3 text_start @@ -1384,11 +1395,11 @@ UnknownText_0x1c4be3:: line "is evolving!" done -UnknownText_0x1c4bfd:: +_MartHowManyText:: text "How many?" done -UnknownText_0x1c4c08:: +_MartFinalPriceText:: text_decimal wItemQuantityChangeBuffer, 1, 2 text " @" text_ram wStringBuffer2 @@ -1398,7 +1409,7 @@ UnknownText_0x1c4c08:: text "." done -UnknownText_0x1c4c28:: +_HerbShopLadyIntroText:: text "Hello, dear." para "I sell inexpensive" @@ -1413,11 +1424,11 @@ UnknownText_0x1c4c28:: para "Hehehehe…" done -UnknownText_0x1c4ca3:: +_HerbalLadyHowManyText:: text "How many?" done -UnknownText_0x1c4cae:: +_HerbalLadyFinalPriceText:: text_decimal wItemQuantityChangeBuffer, 1, 2 text " @" text_ram wStringBuffer2 @@ -1427,27 +1438,27 @@ UnknownText_0x1c4cae:: text "." done -UnknownText_0x1c4cce:: +_HerbalLadyThanksText:: text "Thank you, dear." line "Hehehehe…" done -UnknownText_0x1c4cea:: +_HerbalLadyPackFullText:: text "Oh? Your PACK is" line "full, dear." done -UnknownText_0x1c4d08:: +_HerbalLadyNoMoneyText:: text "Hehehe… You don't" line "have the money." done -UnknownText_0x1c4d2a:: +_HerbalLadyComeAgainText:: text "Come again, dear." line "Hehehehe…" done -UnknownText_0x1c4d47:: +_BargainShopIntroText:: text "Hiya! Care to see" line "some bargains?" @@ -1458,7 +1469,7 @@ UnknownText_0x1c4d47:: line "one of each item." done -UnknownText_0x1c4db0:: +_BargainShopFinalPriceText:: text_ram wStringBuffer2 text " costs" line "¥@" @@ -1466,41 +1477,41 @@ UnknownText_0x1c4db0:: text ". Want it?" done -UnknownText_0x1c4dcd:: +_BargainShopThanksText:: text "Thanks." done -UnknownText_0x1c4dd6:: +_BargainShopPackFullText:: text "Uh-oh, your PACK" line "is chock-full." done -UnknownText_0x1c4df7:: +_BargainShopSoldOutText:: text "You bought that" line "already. I'm all" cont "sold out of it." done -UnknownText_0x1c4e28:: +_BargainShopNoFundsText:: text "Uh-oh, you're" line "short on funds." done -UnknownText_0x1c4e46:: +_BargainShopComeAgainText:: text "Come by again" line "sometime." done -UnknownText_0x1c4e5f:: +_PharmacyIntroText:: text "What's up? Need" line "some medicine?" done -UnknownText_0x1c4e7e:: +_PharmacyHowManyText:: text "How many?" done -UnknownText_0x1c4e89:: +_PharmacyFinalPriceText:: text_decimal wItemQuantityChangeBuffer, 1, 2 text " @" text_ram wStringBuffer2 @@ -1510,35 +1521,36 @@ UnknownText_0x1c4e89:: text "." done -UnknownText_0x1c4eab:: +_PharmacyThanksText:: text "Thanks much!" done -UnknownText_0x1c4eb9:: +_PharmacyPackFullText:: text "You don't have any" line "more space." done -UnknownText_0x1c4ed8:: +_PharmacyNoMoneyText:: text "Huh? That's not" line "enough money." done -UnknownText_0x1c4ef6:: +_PharmacyComeAgainText:: text "All right." line "See you around." done -UnknownText_0x1c4f12:: +;unused +_NothingToSellText:: text "You don't have" line "anything to sell." prompt -UnknownText_0x1c4f33:: +_MartSellHowManyText:: text "How many?" done -UnknownText_0x1c4f3e:: +_MartSellPriceText:: text "I can pay you" line "¥@" text_decimal hMoneyTemp, 3, 6 @@ -1547,41 +1559,41 @@ UnknownText_0x1c4f3e:: para "Is that OK?" done -UnknownText_0x1c4f62:: +_MartWelcomeText:: text "Welcome! How may I" line "help you?" done -UnknownText_0x1c4f80:: +_MartThanksText:: text "Here you are." line "Thank you!" done -UnknownText_0x1c4f9a:: +_MartNoMoneyText:: text "You don't have" line "enough money." done -UnknownText_0x1c4fb7:: +_MartPackFullText:: text "You can't carry" line "any more items." done -UnknownText_0x1c4fd7:: +_MartCantBuyText:: text "Sorry, I can't buy" line "that from you." done -UnknownText_0x1c4ff9:: +_MartComeAgainText:: text "Please come again!" done -UnknownText_0x1c500d:: +_MartAskMoreText:: text "Can I do anything" line "else for you?" done -UnknownText_0x1c502e:: +_MartBoughtText:: text "Got ¥@" text_decimal hMoneyTemp, 3, 6 text " for" @@ -1590,7 +1602,7 @@ UnknownText_0x1c502e:: text "(S)." done -UnknownText_0x1c5049:: +_SlotsBetHowManyCoinsText:: text "Bet how many" line "coins?" - done
\ No newline at end of file + done diff --git a/data/text/common_3.asm b/data/text/common_3.asm index 503d5a76..4064b0f4 100644 --- a/data/text/common_3.asm +++ b/data/text/common_3.asm @@ -1,116 +1,117 @@ -UnknownText_0x1c505e:: +_SlotsStartText:: text "Start!" done -UnknownText_0x1c5066:: +_SlotsNotEnoughCoinsText:: text "Not enough" line "coins." prompt -UnknownText_0x1c5079:: +_SlotsRanOutOfCoinsText:: text "Darn… Ran out of" line "coins…" done -UnknownText_0x1c5092:: +_SlotsPlayAgainText:: text "Play again?" done -UnknownText_0x1c509f:: +_SlotsLinedUpText:: text "lined up!" line "Won @" text_ram wStringBuffer2 text " coins!" done -UnknownText_0x1c50bb:: +_SlotsDarnText:: text "Darn!" done -UnknownText_0x1c5821:: +_GearTodayText:: text_today - db "@" + text_end -UnknownText_0x1c5824:: +_GearEllipseText:: text "<……>" done -UnknownText_0x1c5827:: +_GearOutOfServiceText:: text "You're out of the" line "service area." prompt -UnknownText_0x1c5847:: +_PokegearAskWhoCallText:: text "Whom do you want" line "to call?" done -UnknownText_0x1c5862:: +_PokegearPressButtonText:: text "Press any button" line "to exit." done -UnknownText_0x1c587d:: +_PokegearAskDeleteText:: text "Delete this stored" line "phone number?" done -UnknownText_0x1c5565:: +_PhoneWrongNumberText:: text "Huh? Sorry, wrong" line "number!" done -UnknownText_0x1c5580:: +_PhoneClickText:: text "Click!" done -UnknownText_0x1c5588:: +_PhoneEllipseText:: text "<……>" done -UnknownText_0x1c558b:: +_PhoneOutOfAreaText:: text "That number is out" line "of the area." done -UnknownText_0x1c55ac:: +_PhoneJustTalkToThemText:: text "Just go talk to" line "that person!" done -UnknownText_0x1c55ca:: +_PhoneThankYouText:: text "Thank you!" done +; unused UnknownText_0x1c55d6:: text " :" done -UnknownText_0x1c55db:: +_PasswordAskResetText:: text "Password OK." line "Select CONTINUE &" cont "reset settings." prompt -UnknownText_0x1c560b:: +_PasswordWrongText:: text "Wrong password!" prompt -UnknownText_0x1c561c:: +_PasswordAskResetClockText:: text "Reset the clock?" done -UnknownText_0x1c562e:: +_PasswordAskEnterText:: text "Please enter the" line "password." done -UnknownText_0x1c564a:: +_ClearAllSaveDataText:: text "Clear all save" line "data area?" done -Text_LearnedMove_:: +_LearnedMoveText:: text_ram wMonOrItemNameBuffer text " learned" line "@" @@ -118,21 +119,21 @@ Text_LearnedMove_:: text "!@" sound_dex_fanfare_50_79 text_promptbutton - db "@" + text_end -Text_ForgetWhich_:: +_MoveAskForgetText:: text "Which move should" next "be forgotten?" done -Text_StopLearning_:: +_StopLearningMoveText:: text "Stop learning" line "@" text_ram wStringBuffer2 text "?" done -Text_DidNotLearn_:: +_DidNotLearnMoveText:: text_ram wMonOrItemNameBuffer text_start line "did not learn" @@ -141,7 +142,7 @@ Text_DidNotLearn_:: text "." prompt -Text_TryingToLearn_:: +_AskForgetMoveText:: text_ram wMonOrItemNameBuffer text " is" line "trying to learn" @@ -162,12 +163,14 @@ Text_TryingToLearn_:: text "?" done -Text_1_2_and_Poof_:: +Text_MoveForgetCount:: text "1, 2 and…@" text_pause - db "@@" + text_end -Text_PoofForgot_:: + text_end ; unused + +_MoveForgotText:: text " Poof!@" text_pause text_start @@ -182,47 +185,47 @@ Text_PoofForgot_:: para "And…" prompt -Text_CantForgetHM_:: +_MoveCantForgetHMText:: text "HM moves can't be" line "forgotten now." prompt -UnknownText_0x1c5793:: +_CardFlipPlayWithThreeCoinsText:: text "Play with three" line "coins?" done -UnknownText_0x1c57ab:: +_CardFlipNotEnoughCoinsText:: text "Not enough coins…" prompt -UnknownText_0x1c57be:: +_CardFlipChooseACardText:: text "Choose a card." done -UnknownText_0x1c57ce:: +_CardFlipPlaceYourBetText:: text "Place your bet." done -UnknownText_0x1c57df:: +_CardFlipPlayAgainText:: text "Want to play" line "again?" done -UnknownText_0x1c57f4:: +_CardFlipShuffledText:: text "The cards have" line "been shuffled." prompt -UnknownText_0x1c5813:: +_CardFlipYeahText:: text "Yeah!" done -UnknownText_0x1c581a:: +_CardFlipDarnText:: text "Darn…" done -Text_ThisMonCantBeCaught_:: +_BallDodgedText:: text "It dodged the" line "thrown BALL!" @@ -230,66 +233,68 @@ Text_ThisMonCantBeCaught_:: line "can't be caught!" prompt -Text_YouMissedThePokemon_:: +_BallMissedText:: text "You missed the" line "#MON!" prompt -Text_ThePokemonBrokeFree_:: +_BallBrokeFreeText:: text "Oh no! The #MON" line "broke free!" prompt -Text_AppearedToBeCaught_:: +_BallAppearedCaughtText:: text "Aww! It appeared" line "to be caught!" prompt -Text_AarghAlmostHadIt_:: +_BallAlmostHadItText:: text "Aargh!" line "Almost had it!" prompt -Text_ShootItWasSoCloseToo_:: +_BallSoCloseText:: text "Shoot! It was so" line "close too!" prompt -Text_GotchaMonWasCaught_:: +Text_BallCaught:: text "Gotcha! @" text_ram wEnemyMonNick text_start line "was caught!@" sound_caught_mon - db "@@" + text_end + + text_end ; unused -Text_Promptbutton_2:: +_WaitButtonText:: text_promptbutton - db "@" + text_end -Text_SentToBillsPC_:: +_BallSentToPCText:: text_ram wMonOrItemNameBuffer text " was" line "sent to BILL's PC." prompt -Text_MonNewlyAddedToPokedex_:: +_NewDexDataText:: text_ram wEnemyMonNick text "'s data" line "was newly added to" cont "the #DEX.@" sound_slot_machine_start text_promptbutton - db "@" + text_end -Text_AskNicknameNewlyCaughtMon_:: +_AskGiveNicknameText:: text "Give a nickname to" line "@" text_ram wStringBuffer1 text "?" done -Text_StatRoseFromVitamin_:: +_ItemStatRoseText:: text_ram wStringBuffer1 text "'s" line "@" @@ -297,18 +302,18 @@ Text_StatRoseFromVitamin_:: text " rose." prompt -Text_MilkDrinkCantBeUsed_:: +_ItemCantUseOnMonText:: text "That can't be used" line "on this #MON." prompt -Text_RepelUsedEarlierIsStillInEffect:: +_RepelUsedEarlierIsStillInEffectText:: text "The REPEL used" line "earlier is still" cont "in effect." prompt -Text_NowThatsACatchyTune_:: +_PlayedFluteText:: text "Played the #" line "FLUTE." @@ -316,50 +321,53 @@ Text_NowThatsACatchyTune_:: line "catchy tune!" prompt -Text_AllSleepingMonWokeUp_:: +_FluteWakeUpText:: text "All sleeping" line "#MON woke up." prompt -Text_PlayedThePokeFlute_:: +Text_PlayedPokeFlute:: text "<PLAYER> played the" line "# FLUTE.@" text_promptbutton - db "@@" + text_end + + text_end ; unused -Text_CoinCase_:: +; BUG: "done" is not a valid terminator here, needs to change to "text_end" +_CoinCaseCountText:: text "Coins:" line "@" text_decimal wCoins, 2, 4 done -Text_RaiseThePPOfWhichMove_:: +_RaiseThePPOfWhichMoveText:: text "Raise the PP of" line "which move?" done -Text_RestoreThePPOfWhichMove_:: +_RestoreThePPOfWhichMoveText:: text "Restore the PP of" line "which move?" done -Text_PPIsMaxedOut_:: +_PPIsMaxedOutText:: text_ram wStringBuffer2 text "'s PP" line "is maxed out." prompt -Text_PPsIncreased_:: +_PPsIncreasedText:: text_ram wStringBuffer2 text "'s PP" line "increased." prompt -Text_PPWasRestored_:: +_PPRestoredText:: text "PP was restored." prompt -Text_TrophyInside_:: +_SentTrophyHomeText:: text "There was a trophy" line "inside!@" sound_dex_fanfare_50_79 @@ -371,73 +379,73 @@ Text_TrophyInside_:: line "trophy home." prompt -Text_LooksBitter_:: +_ItemLooksBitterText:: text "It looks bitter…" prompt -Text_CantUseOnEgg_:: +_ItemCantUseOnEggText:: text "That can't be used" line "on an EGG." prompt -Text_IsntTheTimeToUseThat_:: +_ItemOakWarningText:: text "OAK: <PLAYER>!" line "This isn't the" cont "time to use that!" prompt -Text_BelongsToSomeoneElse_:: +_ItemBelongsToSomeoneElseText:: text "That belongs to" line "someone else!" prompt -Text_WontHaveAnyEffect_:: +_ItemWontHaveEffectText:: text "It won't have any" line "effect." prompt -Text_BlockedTheBall_:: +_BallBlockedText:: text "The trainer" line "blocked the BALL!" prompt -Text_DontBeAThief_:: +_BallDontBeAThiefText:: text "Don't be a thief!" prompt -Text_CyclingIsntAllowed_:: +_NoCyclingText:: text "Cycling isn't" line "allowed here." prompt -Text_CantGetOnYourItemNow_:: +_ItemCantGetOnText:: text "Can't get on your" line "@" text_ram wStringBuffer1 text " now." prompt -Text_CantUseBallBoxIsFull_:: +_BallBoxFullText:: text "The #MON BOX" line "is full. That" cont "can't be used now." prompt -Text_UsedItem_:: +_ItemUsedText:: text "<PLAYER> used the" line "@" text_ram wStringBuffer2 text "." done -Text_GotOnItem_:: +_ItemGotOnText:: text "<PLAYER> got on the@" text_low text_ram wStringBuffer2 text "." prompt -Text_GotOffItem_:: +_ItemGotOffText:: text "<PLAYER> got off@" text_low text "the @" @@ -445,7 +453,7 @@ Text_GotOffItem_:: text "." prompt -Text_KnowsMove_:: +_KnowsMoveText:: text_ram wStringBuffer1 text " knows" line "@" @@ -453,39 +461,39 @@ Text_KnowsMove_:: text "." prompt -UnknownText_0x1c5eba:: +_MoveKnowsOneText:: text "That #MON knows" line "only one move." done -UnknownText_0x1c5eda:: +_AskDeleteMoveText:: text "Oh, make it forget" line "@" text_ram wStringBuffer1 text "?" done -UnknownText_0x1c5ef5:: +_DeleterForgotMoveText:: text "Done! Your #MON" line "forgot the move." done -UnknownText_0x1c5f17:: +_DeleterEggText:: text "An EGG doesn't" line "know any moves!" done -UnknownText_0x1c5f36:: +_DeleterNoComeAgainText:: text "No? Come visit me" line "again." done -UnknownText_0x1c5f50:: +_DeleterAskWhichMoveText:: text "Which move should" line "it forget, then?" prompt -UnknownText_0x1c5f74:: +_DeleterIntroText:: text "Um… Oh, yes, I'm" line "the MOVE DELETER." @@ -496,43 +504,43 @@ UnknownText_0x1c5f74:: line "#MON forget?" done -UnknownText_0x1c5fd1:: +_DeleterAskWhichMonText:: text "Which #MON?" prompt -Text_DSTIsThatOK:: +_DSTIsThatOKText:: text " DST," line "is that OK?" done -UnknownText_0x1c5ff1:: +_TimeAskOkayText:: text "," line "is that OK?" done -UnknownText_0x1c6000:: +_TimesetAskDSTText:: text "Do you want to" line "switch to Daylight" cont "Saving Time?" done -UnknownText_0x1c6030:: +_TimesetDSTText:: text "I set the clock" line "forward by one" cont "hour." prompt -UnknownText_0x1c6056:: +_TimesetAskNotDSTText:: text "Is Daylight Saving" line "Time over?" done -UnknownText_0x1c6075:: +_TimesetNotDSTText:: text "I put the clock" line "back one hour." prompt -UnknownText_0x1c6095:: +_TimesetAskAdjustDSTText:: text "Do you want to" line "adjust your clock" @@ -540,7 +548,7 @@ UnknownText_0x1c6095:: line "Saving Time?" done -UnknownText_0x1c60d1:: +_MomLostGearBookletText:: text "I lost the in-" line "struction booklet" cont "for the #GEAR." diff --git a/data/text/dakutens.asm b/data/text/dakutens.asm new file mode 100644 index 00000000..7a53c71f --- /dev/null +++ b/data/text/dakutens.asm @@ -0,0 +1,15 @@ +Dakutens: + db "かが", "きぎ", "くぐ", "けげ", "こご" + db "さざ", "しじ", "すず", "せぜ", "そぞ" + db "ただ", "ちぢ", "つづ", "てで", "とど" + db "はば", "ひび", "ふぶ", "へべ", "ほぼ" + db "カガ", "キギ", "クグ", "ケゲ", "コゴ" + db "サザ", "シジ", "スズ", "セゼ", "ソゾ" + db "タダ", "チヂ", "ツヅ", "テデ", "トド" + db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" + db -1 ; end + +Handakutens: + db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" + db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" + db -1 ; end diff --git a/data/text/mail_input_chars.asm b/data/text/mail_input_chars.asm new file mode 100644 index 00000000..ac76e71e --- /dev/null +++ b/data/text/mail_input_chars.asm @@ -0,0 +1,17 @@ +; see engine/naming_screen.asm + +MailEntry_Uppercase: + db "A B C D E F G H I J" + db "K L M N O P Q R S T" + db "U V W X Y Z , ? !" + db "1 2 3 4 5 6 7 8 9 0" + db "<PK> <MN> <PO> <KE> é ♂ ♀ ¥ … ×" + db "lower DEL END " + +MailEntry_Lowercase: + db "a b c d e f g h i j" + db "k l m n o p q r s t" + db "u v w x y z . - /" + db "'d 'l 'm 'r 's 't 'v & ( )" + db "“ ” [ ] ' : ; " + db "UPPER DEL END " diff --git a/data/text/name_input_chars.asm b/data/text/name_input_chars.asm new file mode 100644 index 00000000..d8928914 --- /dev/null +++ b/data/text/name_input_chars.asm @@ -0,0 +1,31 @@ +; see engine/naming_screen.asm + +NameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "× ( ) : ; [ ] <PK> <MN>" + db "UPPER DEL END " + +BoxNameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "é 'd 'l 'm 'r 's 't 'v 0" + db "1 2 3 4 5 6 7 8 9" + db "UPPER DEL END " + +NameInputUpper: + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "- ? ! / . , " + db "lower DEL END " + +BoxNameInputUpper: + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "× ( ) : ; [ ] <PK> <MN>" + db "- ? ! ♂ ♀ / . , &" + db "lower DEL END " diff --git a/data/text_buffers.asm b/data/text_buffers.asm new file mode 100644 index 00000000..7c28c11e --- /dev/null +++ b/data/text_buffers.asm @@ -0,0 +1,9 @@ +StringBufferPointers:: +; entries correspond to arguments for text_buffer (TX_STRINGBUFFER) + dw wStringBuffer3 ; 0 + dw wStringBuffer4 ; 1 + dw wStringBuffer5 ; 2 + dw wStringBuffer2 ; 3 + dw wStringBuffer1 ; 4 + dw wEnemyMonNick ; 5 + dw wBattleMonNick ; 6 diff --git a/data/tilesets.asm b/data/tilesets.asm new file mode 100644 index 00000000..bc1f1b2f --- /dev/null +++ b/data/tilesets.asm @@ -0,0 +1,43 @@ +tileset: MACRO + dba \1GFX, \1Meta, \1Coll + dw \1Anim + dw NULL + dw \1PalMap +ENDM + +; Associated data: +; - The *GFX, *Meta, and *Coll are defined in gfx/tilesets.asm +; - The *PalMap are defined in gfx/tileset_palette_maps.asm +; - The *Anim are defined in engine/tilesets/tileset_anims.asm + +Tilesets:: +; entries correspond to TILESET_* constants + tileset Tileset0 + tileset TilesetJohto + tileset TilesetJohtoModern + tileset TilesetKanto + tileset TilesetHouse + tileset TilesetPlayersHouse + tileset TilesetPokecenter + tileset TilesetGate + tileset TilesetPort + tileset TilesetLab + tileset TilesetFacility + tileset TilesetMart + tileset TilesetMansion + tileset TilesetGameCorner + tileset TilesetEliteFourRoom + tileset TilesetTraditionalHouse + tileset TilesetTrainStation + tileset TilesetChampionsRoom + tileset TilesetLighthouse + tileset TilesetPlayersRoom + tileset TilesetTower + tileset TilesetCave + tileset TilesetPark + tileset TilesetRuinsOfAlph + tileset TilesetRadioTower + tileset TilesetUnderground + tileset TilesetIcePath + tileset TilesetDarkCave + tileset TilesetForest diff --git a/data/trainers/attributes.asm b/data/trainers/attributes.asm new file mode 100644 index 00000000..86f5841c --- /dev/null +++ b/data/trainers/attributes.asm @@ -0,0 +1,398 @@ +TrainerClassAttributes: +; entries correspond to trainer classes (see constants/trainer_constants.asm) + +; Falkner + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Whitney + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Bugsy + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Morty + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Pryce + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Jasmine + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Chuck + db FULL_HEAL, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Clair + db FULL_HEAL, HYPER_POTION ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Rival1 + db NO_ITEM, NO_ITEM ; items + db 15 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Pokemon Prof + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_AGGRESSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Will + db MAX_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Cal + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Bruno + db MAX_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Karen + db FULL_HEAL, MAX_POTION ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Koga + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Champion + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Brock + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Misty + db FULL_HEAL, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Lt Surge + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Scientist + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Erika + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Youngster + db NO_ITEM, NO_ITEM ; items + db 4 ; base reward + dw AI_BASIC | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Schoolboy + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_OFTEN + +; Bird Keeper + db NO_ITEM, NO_ITEM ; items + db 6 ; base reward + dw AI_BASIC | AI_TYPES | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Lass + db NO_ITEM, NO_ITEM ; items + db 6 ; base reward + dw AI_BASIC | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_OFTEN + +; Janine + db DIRE_HIT, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Cooltrainerm + db NO_ITEM, NO_ITEM ; items + db 12 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Cooltrainerf + db NO_ITEM, NO_ITEM ; items + db 12 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Beauty + db NO_ITEM, NO_ITEM ; items + db 22 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Pokemaniac + db NO_ITEM, NO_ITEM ; items + db 15 ; base reward + dw AI_BASIC | AI_SETUP | AI_OFFENSIVE | AI_AGGRESSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Gruntm + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Gentleman + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_SETUP | AI_AGGRESSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Skier + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Teacher + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_OPPORTUNIST | AI_AGGRESSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Sabrina + db HYPER_POTION, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Bug Catcher + db NO_ITEM, NO_ITEM ; items + db 4 ; base reward + dw AI_BASIC | AI_SETUP | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Fisher + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_OFTEN + +; Swimmerm + db NO_ITEM, NO_ITEM ; items + db 2 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OFFENSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Swimmerf + db NO_ITEM, NO_ITEM ; items + db 5 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Sailor + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Super Nerd + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Rival2 + db NO_ITEM, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Guitarist + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Hiker + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_OFFENSIVE | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Biker + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_TYPES | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Blaine + db MAX_POTION, FULL_HEAL ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Burglar + db NO_ITEM, NO_ITEM ; items + db 22 ; base reward + dw AI_BASIC | AI_OFFENSIVE | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Firebreather + db NO_ITEM, NO_ITEM ; items + db 12 ; base reward + dw AI_BASIC | AI_SETUP | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Juggler + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Blackbelt T + db NO_ITEM, NO_ITEM ; items + db 6 ; base reward + dw AI_BASIC | AI_OFFENSIVE | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Executivem + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Psychic T + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Picnicker + db NO_ITEM, NO_ITEM ; items + db 5 ; base reward + dw AI_BASIC | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Camper + db NO_ITEM, NO_ITEM ; items + db 5 ; base reward + dw AI_BASIC | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Executivef + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Sage + db NO_ITEM, NO_ITEM ; items + db 8 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Medium + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Boarder + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Pokefanm + db NO_ITEM, NO_ITEM ; items + db 20 ; base reward + dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Kimono Girl + db NO_ITEM, NO_ITEM ; items + db 18 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Twins + db NO_ITEM, NO_ITEM ; items + db 5 ; base reward + dw NO_AI + dw CONTEXT_USE | SWITCH_OFTEN + +; Pokefanf + db NO_ITEM, NO_ITEM ; items + db 20 ; base reward + dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Red + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Blue + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Officer + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_STATUS + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Gruntf + db NO_ITEM, NO_ITEM ; items + db 10 ; base reward + dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm new file mode 100644 index 00000000..ea68f2f4 --- /dev/null +++ b/data/trainers/class_names.asm @@ -0,0 +1,68 @@ +TrainerClassNames:: +; entries correspond to trainer classes (see constants/trainer_constants.asm) + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "RIVAL@" + db "#MON PROF.@" + db "ELITE FOUR@" + db "<PKMN> TRAINER@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "CHAMPION@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "SCIENTIST@" + db "LEADER@" + db "YOUNGSTER@" + db "SCHOOLBOY@" + db "BIRD KEEPER@" + db "LASS@" + db "LEADER@" + db "COOLTRAINER@" + db "COOLTRAINER@" + db "BEAUTY@" + db "#MANIAC@" + db "ROCKET@" + db "GENTLEMAN@" + db "SKIER@" + db "TEACHER@" + db "LEADER@" + db "BUG CATCHER@" + db "FISHER@" + db "SWIMMER♂@" + db "SWIMMER♀@" + db "SAILOR@" + db "SUPER NERD@" + db "RIVAL@" + db "GUITARIST@" + db "HIKER@" + db "BIKER@" + db "LEADER@" + db "BURGLAR@" + db "FIREBREATHER@" + db "JUGGLER@" + db "BLACKBELT@" + db "ROCKET@" + db "PSYCHIC@" + db "PICNICKER@" + db "CAMPER@" + db "ROCKET@" + db "SAGE@" + db "MEDIUM@" + db "BOARDER@" + db "#FAN@" + db "KIMONO GIRL@" + db "TWINS@" + db "#FAN@" + db "<PKMN> TRAINER@" + db "LEADER@" + db "OFFICER@" + db "ROCKET@" diff --git a/data/trainers/leaders.asm b/data/trainers/leaders.asm new file mode 100644 index 00000000..a41f641e --- /dev/null +++ b/data/trainers/leaders.asm @@ -0,0 +1,32 @@ +; These lists determine the battle music and victory music, and whether to +; award HAPPINESS_GYMBATTLE for winning. + +; Note: CHAMPION and RED are unused for battle music checks, since they are +; accounted for prior to the list check. + +GymLeaders: + db FALKNER + db WHITNEY + db BUGSY + db MORTY + db PRYCE + db JASMINE + db CHUCK + db CLAIR + db WILL + db BRUNO + db KAREN + db KOGA + db CHAMPION + db RED +; fallthrough +KantoGymLeaders: + db BROCK + db MISTY + db LT_SURGE + db ERIKA + db JANINE + db SABRINA + db BLAINE + db BLUE + db -1 diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm new file mode 100644 index 00000000..b21729f8 --- /dev/null +++ b/data/trainers/palettes.asm @@ -0,0 +1,74 @@ +TrainerPalettes: +; entries correspond to trainer classes + +; Each .gbcpal is generated from the corresponding .png, and +; only the middle two colors are included, not black or white. + +PlayerPalette: ; Chris uses the same colors as Cal +INCLUDE "gfx/trainers/cal.pal" +INCLUDE "gfx/trainers/falkner.pal" +INCLUDE "gfx/trainers/whitney.pal" +INCLUDE "gfx/trainers/bugsy.pal" +INCLUDE "gfx/trainers/morty.pal" +INCLUDE "gfx/trainers/pryce.pal" +INCLUDE "gfx/trainers/jasmine.pal" +INCLUDE "gfx/trainers/chuck.pal" +INCLUDE "gfx/trainers/clair.pal" +INCLUDE "gfx/trainers/rival1.pal" +INCLUDE "gfx/trainers/oak.pal" +INCLUDE "gfx/trainers/will.pal" +INCLUDE "gfx/trainers/cal.pal" +INCLUDE "gfx/trainers/bruno.pal" +INCLUDE "gfx/trainers/karen.pal" +INCLUDE "gfx/trainers/koga.pal" +INCLUDE "gfx/trainers/champion.pal" +INCLUDE "gfx/trainers/brock.pal" +INCLUDE "gfx/trainers/misty.pal" +INCLUDE "gfx/trainers/lt_surge.pal" +INCLUDE "gfx/trainers/scientist.pal" +INCLUDE "gfx/trainers/erika.pal" +INCLUDE "gfx/trainers/youngster.pal" +INCLUDE "gfx/trainers/schoolboy.pal" +INCLUDE "gfx/trainers/bird_keeper.pal" +INCLUDE "gfx/trainers/lass.pal" +INCLUDE "gfx/trainers/janine.pal" +INCLUDE "gfx/trainers/cooltrainer_m.pal" +INCLUDE "gfx/trainers/cooltrainer_f.pal" +INCLUDE "gfx/trainers/beauty.pal" +INCLUDE "gfx/trainers/pokemaniac.pal" +INCLUDE "gfx/trainers/grunt_m.pal" +INCLUDE "gfx/trainers/gentleman.pal" +INCLUDE "gfx/trainers/skier.pal" +INCLUDE "gfx/trainers/teacher.pal" +INCLUDE "gfx/trainers/sabrina.pal" +INCLUDE "gfx/trainers/bug_catcher.pal" +INCLUDE "gfx/trainers/fisher.pal" +INCLUDE "gfx/trainers/swimmer_m.pal" +INCLUDE "gfx/trainers/swimmer_f.pal" +INCLUDE "gfx/trainers/sailor.pal" +INCLUDE "gfx/trainers/super_nerd.pal" +INCLUDE "gfx/trainers/rival2.pal" +INCLUDE "gfx/trainers/guitarist.pal" +INCLUDE "gfx/trainers/hiker.pal" +INCLUDE "gfx/trainers/biker.pal" +INCLUDE "gfx/trainers/blaine.pal" +INCLUDE "gfx/trainers/burglar.pal" +INCLUDE "gfx/trainers/firebreather.pal" +INCLUDE "gfx/trainers/juggler.pal" +INCLUDE "gfx/trainers/blackbelt_t.pal" +INCLUDE "gfx/trainers/executive_m.pal" +INCLUDE "gfx/trainers/psychic_t.pal" +INCLUDE "gfx/trainers/picnicker.pal" +INCLUDE "gfx/trainers/camper.pal" +INCLUDE "gfx/trainers/executive_f.pal" +INCLUDE "gfx/trainers/sage.pal" +INCLUDE "gfx/trainers/medium.pal" +INCLUDE "gfx/trainers/boarder.pal" +INCLUDE "gfx/trainers/pokefan_m.pal" +INCLUDE "gfx/trainers/kimono_girl.pal" +INCLUDE "gfx/trainers/twins.pal" +INCLUDE "gfx/trainers/pokefan_f.pal" +INCLUDE "gfx/trainers/red.pal" +INCLUDE "gfx/trainers/blue.pal" +INCLUDE "gfx/trainers/officer.pal" +INCLUDE "gfx/trainers/grunt_f.pal" diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm new file mode 100644 index 00000000..134fec36 --- /dev/null +++ b/data/trainers/pic_pointers.asm @@ -0,0 +1,70 @@ +; Pics are defined in gfx/pics.asm + +TrainerPicPointers:: +; entries correspond to trainer classes (see constants/trainer_constants.asm) + dba_pic FalknerPic + dba_pic WhitneyPic + dba_pic BugsyPic + dba_pic MortyPic + dba_pic PrycePic + dba_pic JasminePic + dba_pic ChuckPic + dba_pic ClairPic + dba_pic Rival1Pic + dba_pic PokemonProfPic + dba_pic WillPic + dba_pic CalPic + dba_pic BrunoPic + dba_pic KarenPic + dba_pic KogaPic + dba_pic ChampionPic + dba_pic BrockPic + dba_pic MistyPic + dba_pic LtSurgePic + dba_pic ScientistPic + dba_pic ErikaPic + dba_pic YoungsterPic + dba_pic SchoolboyPic + dba_pic BirdKeeperPic + dba_pic LassPic + dba_pic JaninePic + dba_pic CooltrainermPic + dba_pic CooltrainerfPic + dba_pic BeautyPic + dba_pic PokemaniacPic + dba_pic GruntmPic + dba_pic GentlemanPic + dba_pic SkierPic + dba_pic TeacherPic + dba_pic SabrinaPic + dba_pic BugCatcherPic + dba_pic FisherPic + dba_pic SwimmermPic + dba_pic SwimmerfPic + dba_pic SailorPic + dba_pic SuperNerdPic + dba_pic Rival2Pic + dba_pic GuitaristPic + dba_pic HikerPic + dba_pic BikerPic + dba_pic BlainePic + dba_pic BurglarPic + dba_pic FirebreatherPic + dba_pic JugglerPic + dba_pic BlackbeltTPic + dba_pic ExecutivemPic + dba_pic PsychicTPic + dba_pic PicnickerPic + dba_pic CamperPic + dba_pic ExecutivefPic + dba_pic SagePic + dba_pic MediumPic + dba_pic BoarderPic + dba_pic PokefanmPic + dba_pic KimonoGirlPic + dba_pic TwinsPic + dba_pic PokefanfPic + dba_pic RedPic + dba_pic BluePic + dba_pic OfficerPic + dba_pic GruntfPic diff --git a/data/types/type_boost_items.asm b/data/types/type_boost_items.asm new file mode 100644 index 00000000..85a58db1 --- /dev/null +++ b/data/types/type_boost_items.asm @@ -0,0 +1,19 @@ +TypeBoostItems: + db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW + db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT_I + db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK + db HELD_POISON_BOOST, POISON ; POISON BARB + db HELD_GROUND_BOOST, GROUND ; SOFT_SAND + db HELD_ROCK_BOOST, ROCK ; HARD_STONE + db HELD_BUG_BOOST, BUG ; SILVERPOWDER + db HELD_GHOST_BOOST, GHOST ; SPELL_TAG + db HELD_FIRE_BOOST, FIRE ; CHARCOAL + db HELD_WATER_BOOST, WATER ; MYSTIC WATER + db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED + db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET + db HELD_PSYCHIC_BOOST, PSYCHIC_TYPE ; TWISTEDSPOON + db HELD_ICE_BOOST, ICE ; NEVERMELTICE + db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE + db HELD_DARK_BOOST, DARK ; BLACKGLASSES + db HELD_STEEL_BOOST, STEEL ; METAL_COAT + db -1 diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm new file mode 100644 index 00000000..81906b0f --- /dev/null +++ b/data/types/type_matchups.asm @@ -0,0 +1,118 @@ +TypeMatchups: + ; attacker, defender, *= + db NORMAL, ROCK, NOT_VERY_EFFECTIVE + db NORMAL, STEEL, NOT_VERY_EFFECTIVE + db FIRE, FIRE, NOT_VERY_EFFECTIVE + db FIRE, WATER, NOT_VERY_EFFECTIVE + db FIRE, GRASS, SUPER_EFFECTIVE + db FIRE, ICE, SUPER_EFFECTIVE + db FIRE, BUG, SUPER_EFFECTIVE + db FIRE, ROCK, NOT_VERY_EFFECTIVE + db FIRE, DRAGON, NOT_VERY_EFFECTIVE + db FIRE, STEEL, SUPER_EFFECTIVE + db WATER, FIRE, SUPER_EFFECTIVE + db WATER, WATER, NOT_VERY_EFFECTIVE + db WATER, GRASS, NOT_VERY_EFFECTIVE + db WATER, GROUND, SUPER_EFFECTIVE + db WATER, ROCK, SUPER_EFFECTIVE + db WATER, DRAGON, NOT_VERY_EFFECTIVE + db ELECTRIC, WATER, SUPER_EFFECTIVE + db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE + db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE + db ELECTRIC, GROUND, NO_EFFECT + db ELECTRIC, FLYING, SUPER_EFFECTIVE + db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, FIRE, NOT_VERY_EFFECTIVE + db GRASS, WATER, SUPER_EFFECTIVE + db GRASS, GRASS, NOT_VERY_EFFECTIVE + db GRASS, POISON, NOT_VERY_EFFECTIVE + db GRASS, GROUND, SUPER_EFFECTIVE + db GRASS, FLYING, NOT_VERY_EFFECTIVE + db GRASS, BUG, NOT_VERY_EFFECTIVE + db GRASS, ROCK, SUPER_EFFECTIVE + db GRASS, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, STEEL, NOT_VERY_EFFECTIVE + db ICE, WATER, NOT_VERY_EFFECTIVE + db ICE, GRASS, SUPER_EFFECTIVE + db ICE, ICE, NOT_VERY_EFFECTIVE + db ICE, GROUND, SUPER_EFFECTIVE + db ICE, FLYING, SUPER_EFFECTIVE + db ICE, DRAGON, SUPER_EFFECTIVE + db ICE, STEEL, NOT_VERY_EFFECTIVE + db ICE, FIRE, NOT_VERY_EFFECTIVE + db FIGHTING, NORMAL, SUPER_EFFECTIVE + db FIGHTING, ICE, SUPER_EFFECTIVE + db FIGHTING, POISON, NOT_VERY_EFFECTIVE + db FIGHTING, FLYING, NOT_VERY_EFFECTIVE + db FIGHTING, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db FIGHTING, BUG, NOT_VERY_EFFECTIVE + db FIGHTING, ROCK, SUPER_EFFECTIVE + db FIGHTING, DARK, SUPER_EFFECTIVE + db FIGHTING, STEEL, SUPER_EFFECTIVE + db POISON, GRASS, SUPER_EFFECTIVE + db POISON, POISON, NOT_VERY_EFFECTIVE + db POISON, GROUND, NOT_VERY_EFFECTIVE + db POISON, ROCK, NOT_VERY_EFFECTIVE + db POISON, GHOST, NOT_VERY_EFFECTIVE + db POISON, STEEL, NO_EFFECT + db GROUND, FIRE, SUPER_EFFECTIVE + db GROUND, ELECTRIC, SUPER_EFFECTIVE + db GROUND, GRASS, NOT_VERY_EFFECTIVE + db GROUND, POISON, SUPER_EFFECTIVE + db GROUND, FLYING, NO_EFFECT + db GROUND, BUG, NOT_VERY_EFFECTIVE + db GROUND, ROCK, SUPER_EFFECTIVE + db GROUND, STEEL, SUPER_EFFECTIVE + db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE + db FLYING, GRASS, SUPER_EFFECTIVE + db FLYING, FIGHTING, SUPER_EFFECTIVE + db FLYING, BUG, SUPER_EFFECTIVE + db FLYING, ROCK, NOT_VERY_EFFECTIVE + db FLYING, STEEL, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, FIGHTING, SUPER_EFFECTIVE + db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE + db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, DARK, NO_EFFECT + db PSYCHIC_TYPE, STEEL, NOT_VERY_EFFECTIVE + db BUG, FIRE, NOT_VERY_EFFECTIVE + db BUG, GRASS, SUPER_EFFECTIVE + db BUG, FIGHTING, NOT_VERY_EFFECTIVE + db BUG, POISON, NOT_VERY_EFFECTIVE + db BUG, FLYING, NOT_VERY_EFFECTIVE + db BUG, PSYCHIC_TYPE, SUPER_EFFECTIVE + db BUG, GHOST, NOT_VERY_EFFECTIVE + db BUG, DARK, SUPER_EFFECTIVE + db BUG, STEEL, NOT_VERY_EFFECTIVE + db ROCK, FIRE, SUPER_EFFECTIVE + db ROCK, ICE, SUPER_EFFECTIVE + db ROCK, FIGHTING, NOT_VERY_EFFECTIVE + db ROCK, GROUND, NOT_VERY_EFFECTIVE + db ROCK, FLYING, SUPER_EFFECTIVE + db ROCK, BUG, SUPER_EFFECTIVE + db ROCK, STEEL, NOT_VERY_EFFECTIVE + db GHOST, NORMAL, NO_EFFECT + db GHOST, PSYCHIC_TYPE, SUPER_EFFECTIVE + db GHOST, DARK, NOT_VERY_EFFECTIVE + db GHOST, STEEL, NOT_VERY_EFFECTIVE + db GHOST, GHOST, SUPER_EFFECTIVE + db DRAGON, DRAGON, SUPER_EFFECTIVE + db DRAGON, STEEL, NOT_VERY_EFFECTIVE + db DARK, FIGHTING, NOT_VERY_EFFECTIVE + db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE + db DARK, GHOST, SUPER_EFFECTIVE + db DARK, DARK, NOT_VERY_EFFECTIVE + db DARK, STEEL, NOT_VERY_EFFECTIVE + db STEEL, FIRE, NOT_VERY_EFFECTIVE + db STEEL, WATER, NOT_VERY_EFFECTIVE + db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE + db STEEL, ICE, SUPER_EFFECTIVE + db STEEL, ROCK, SUPER_EFFECTIVE + db STEEL, STEEL, NOT_VERY_EFFECTIVE + + db -2 ; end (with Foresight) + +; Foresight removes Ghost's immunities. + db NORMAL, GHOST, NO_EFFECT + db FIGHTING, GHOST, NO_EFFECT + + db -1 ; end diff --git a/data/wild/bug_contest_mons.asm b/data/wild/bug_contest_mons.asm new file mode 100644 index 00000000..79712703 --- /dev/null +++ b/data/wild/bug_contest_mons.asm @@ -0,0 +1,13 @@ +ContestMons: + ; %, species, min, max + db 20, CATERPIE, 7, 18 + db 20, WEEDLE, 7, 18 + db 10, METAPOD, 9, 18 + db 10, KAKUNA, 9, 18 + db 5, BUTTERFREE, 12, 15 + db 5, BEEDRILL, 12, 15 + db 10, VENONAT, 10, 16 + db 10, PARAS, 10, 17 + db 5, SCYTHER, 13, 14 + db 5, PINSIR, 13, 14 + db -1, VENOMOTH, 30, 40 diff --git a/data/wild/fish.asm b/data/wild/fish.asm index de7e57a3..1976c8f9 100644 --- a/data/wild/fish.asm +++ b/data/wild/fish.asm @@ -1,225 +1,230 @@ -FishGroups: ; 92488 - dbwww 50 percent + 1, .Shore_Old, .Shore_Good, .Shore_Super - dbwww 50 percent + 1, .Ocean_Old, .Ocean_Good, .Ocean_Super - dbwww 50 percent + 1, .Lake_Old, .Lake_Good, .Lake_Super - dbwww 50 percent + 1, .Pond_Old, .Pond_Good, .Pond_Super - dbwww 50 percent + 1, .Dratini_Old, .Dratini_Good, .Dratini_Super - dbwww 50 percent + 1, .Qwilfish_Swarm_Old, .Qwilfish_Swarm_Good, .Qwilfish_Swarm_Super - dbwww 50 percent + 1, .Remoraid_Swarm_Old, .Remoraid_Swarm_Good, .Remoraid_Swarm_Super - dbwww 50 percent + 1, .Gyarados_Old, .Gyarados_Good, .Gyarados_Super - dbwww 50 percent + 1, .Dratini_2_Old, .Dratini_2_Good, .Dratini_2_Super - dbwww 50 percent + 1, .WhirlIslands_Old, .WhirlIslands_Good, .WhirlIslands_Super - dbwww 50 percent + 1, .Qwilfish_Old, .Qwilfish_Good, .Qwilfish_Super - dbwww 50 percent + 1, .Remoraid_Old, .Remoraid_Good, .Remoraid_Super - dbwww 50 percent + 1, .Qwilfish_NoSwarm_Old, .Qwilfish_NoSwarm_Good, .Qwilfish_NoSwarm_Super +time_group EQUS "0," ; use the nth TimeFishGroups entry -.Shore_Old: ; 924e3 +fishgroup: MACRO +; chance, old rod, good rod, super rod + dbwww \1, \2, \3, \4 +ENDM + +FishGroups: +; entries correspond to FISHGROUP_* constants + fishgroup 50 percent + 1, .Shore_Old, .Shore_Good, .Shore_Super + fishgroup 50 percent + 1, .Ocean_Old, .Ocean_Good, .Ocean_Super + fishgroup 50 percent + 1, .Lake_Old, .Lake_Good, .Lake_Super + fishgroup 50 percent + 1, .Pond_Old, .Pond_Good, .Pond_Super + fishgroup 50 percent + 1, .Dratini_Old, .Dratini_Good, .Dratini_Super + fishgroup 50 percent + 1, .Qwilfish_Swarm_Old, .Qwilfish_Swarm_Good, .Qwilfish_Swarm_Super + fishgroup 50 percent + 1, .Remoraid_Swarm_Old, .Remoraid_Swarm_Good, .Remoraid_Swarm_Super + fishgroup 50 percent + 1, .Gyarados_Old, .Gyarados_Good, .Gyarados_Super + fishgroup 50 percent + 1, .Dratini_2_Old, .Dratini_2_Good, .Dratini_2_Super + fishgroup 50 percent + 1, .WhirlIslands_Old, .WhirlIslands_Good, .WhirlIslands_Super + fishgroup 50 percent + 1, .Qwilfish_Old, .Qwilfish_Good, .Qwilfish_Super + fishgroup 50 percent + 1, .Remoraid_Old, .Remoraid_Good, .Remoraid_Super + fishgroup 50 percent + 1, .Qwilfish_NoSwarm_Old, .Qwilfish_NoSwarm_Good, .Qwilfish_NoSwarm_Super + +.Shore_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, KRABBY, 10 -.Shore_Good: ; 924ec +.Shore_Good: db 35 percent, MAGIKARP, 20 db 70 percent, KRABBY, 20 db 90 percent + 1, KRABBY, 20 - db 100 percent, 0, 0 -.Shore_Super: ; 924f8 + db 100 percent, time_group 0 +.Shore_Super: db 40 percent, KRABBY, 40 - db 70 percent, 0, 1 + db 70 percent, time_group 1 db 90 percent + 1, KRABBY, 40 db 100 percent, KINGLER, 40 -.Ocean_Old: ; 92504 +.Ocean_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, TENTACOOL, 10 -.Ocean_Good: ; 9250d +.Ocean_Good: db 35 percent, MAGIKARP, 20 db 70 percent, TENTACOOL, 20 db 90 percent + 1, CHINCHOU, 20 - db 100 percent, 0, 2 -.Ocean_Super: ; 92519 + db 100 percent, time_group 2 +.Ocean_Super: db 40 percent, CHINCHOU, 40 - db 70 percent, 0, 3 + db 70 percent, time_group 3 db 90 percent + 1, TENTACRUEL, 40 db 100 percent, LANTURN, 40 -.Lake_Old: ; 92525 +.Lake_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, GOLDEEN, 10 -.Lake_Good: ; 9252e +.Lake_Good: db 35 percent, MAGIKARP, 20 db 70 percent, GOLDEEN, 20 db 90 percent + 1, GOLDEEN, 20 - db 100 percent, 0, 4 -.Lake_Super: ; 9253a + db 100 percent, time_group 4 +.Lake_Super: db 40 percent, GOLDEEN, 40 - db 70 percent, 0, 5 + db 70 percent, time_group 5 db 90 percent + 1, MAGIKARP, 40 db 100 percent, SEAKING, 40 -.Pond_Old: ; 92546 +.Pond_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, POLIWAG, 10 -.Pond_Good: ; 9254f +.Pond_Good: db 35 percent, MAGIKARP, 20 db 70 percent, POLIWAG, 20 db 90 percent + 1, POLIWAG, 20 - db 100 percent, 0, 6 -.Pond_Super: ; 9255b + db 100 percent, time_group 6 +.Pond_Super: db 40 percent, POLIWAG, 40 - db 70 percent, 0, 7 + db 70 percent, time_group 7 db 90 percent + 1, MAGIKARP, 40 db 100 percent, POLIWAG, 40 -.Dratini_Old: ; 92567 +.Dratini_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, MAGIKARP, 10 -.Dratini_Good: ; 92570 +.Dratini_Good: db 35 percent, MAGIKARP, 20 db 70 percent, MAGIKARP, 20 db 90 percent + 1, MAGIKARP, 20 - db 100 percent, 0, 8 -.Dratini_Super: ; 9257c + db 100 percent, time_group 8 +.Dratini_Super: db 40 percent, MAGIKARP, 40 - db 70 percent, 0, 9 + db 70 percent, time_group 9 db 90 percent + 1, MAGIKARP, 40 db 100 percent, DRAGONAIR, 40 -.Qwilfish_Swarm_Old: ; 92588 +.Qwilfish_Swarm_Old: db 70 percent + 1, MAGIKARP, 5 db 85 percent + 1, MAGIKARP, 5 db 100 percent, QWILFISH, 5 -.Qwilfish_Swarm_Good: ; 92591 +.Qwilfish_Swarm_Good: db 35 percent, MAGIKARP, 20 db 70 percent, QWILFISH, 20 db 90 percent + 1, QWILFISH, 20 - db 100 percent, 0, 10 -.Qwilfish_Swarm_Super: ; 9259d + db 100 percent, time_group 10 +.Qwilfish_Swarm_Super: db 40 percent, QWILFISH, 40 - db 70 percent, 0, 11 + db 70 percent, time_group 11 db 90 percent + 1, QWILFISH, 40 db 100 percent, QWILFISH, 40 -.Remoraid_Swarm_Old: ; 925a9 +.Remoraid_Swarm_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, REMORAID, 10 -.Remoraid_Swarm_Good: ; 925b2 +.Remoraid_Swarm_Good: db 35 percent, MAGIKARP, 20 db 70 percent, REMORAID, 20 db 90 percent + 1, REMORAID, 20 - db 100 percent, 0, 12 -.Remoraid_Swarm_Super: ; 925be + db 100 percent, time_group 12 +.Remoraid_Swarm_Super: db 40 percent, REMORAID, 40 - db 70 percent, 0, 13 + db 70 percent, time_group 13 db 90 percent + 1, REMORAID, 40 db 100 percent, REMORAID, 40 -.Gyarados_Old: ; 925ca +.Gyarados_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, MAGIKARP, 10 -.Gyarados_Good: ; 925d3 +.Gyarados_Good: db 35 percent, MAGIKARP, 20 db 70 percent, MAGIKARP, 20 db 90 percent + 1, MAGIKARP, 20 - db 100 percent, 0, 14 -.Gyarados_Super: ; 925df + db 100 percent, time_group 14 +.Gyarados_Super: db 40 percent, MAGIKARP, 40 - db 70 percent, 0, 15 + db 70 percent, time_group 15 db 90 percent + 1, MAGIKARP, 40 db 100 percent, MAGIKARP, 40 -.Dratini_2_Old: ; 925eb +.Dratini_2_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, MAGIKARP, 10 -.Dratini_2_Good: ; 925f4 +.Dratini_2_Good: db 35 percent, MAGIKARP, 10 db 70 percent, MAGIKARP, 10 db 90 percent + 1, MAGIKARP, 10 - db 100 percent, 0, 16 -.Dratini_2_Super: ; 92600 + db 100 percent, time_group 16 +.Dratini_2_Super: db 40 percent, MAGIKARP, 10 - db 70 percent, 0, 17 + db 70 percent, time_group 17 db 90 percent + 1, MAGIKARP, 10 db 100 percent, DRAGONAIR, 10 -.WhirlIslands_Old: ; 9260c +.WhirlIslands_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, KRABBY, 10 -.WhirlIslands_Good: ; 92615 +.WhirlIslands_Good: db 35 percent, MAGIKARP, 20 db 70 percent, KRABBY, 20 db 90 percent + 1, KRABBY, 20 - db 100 percent, 0, 18 -.WhirlIslands_Super: ; 92621 + db 100 percent, time_group 18 +.WhirlIslands_Super: db 40 percent, KRABBY, 40 - db 70 percent, 0, 19 + db 70 percent, time_group 19 db 90 percent + 1, KINGLER, 40 db 100 percent, SEADRA, 40 .Qwilfish_NoSwarm_Old: -.Qwilfish_Old: ; 9262d +.Qwilfish_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, TENTACOOL, 10 .Qwilfish_NoSwarm_Good: -.Qwilfish_Good: ; 92636 +.Qwilfish_Good: db 35 percent, MAGIKARP, 20 db 70 percent, TENTACOOL, 20 db 90 percent + 1, TENTACOOL, 20 - db 100 percent, 0, 20 + db 100 percent, time_group 20 .Qwilfish_NoSwarm_Super: -.Qwilfish_Super: ; 92642 +.Qwilfish_Super: db 40 percent, TENTACOOL, 40 - db 70 percent, 0, 21 + db 70 percent, time_group 21 db 90 percent + 1, MAGIKARP, 40 db 100 percent, QWILFISH, 40 -.Remoraid_Old: ; 9264e +.Remoraid_Old: db 70 percent + 1, MAGIKARP, 10 db 85 percent + 1, MAGIKARP, 10 db 100 percent, POLIWAG, 10 -.Remoraid_Good: ; 92657 +.Remoraid_Good: db 35 percent, MAGIKARP, 20 db 70 percent, POLIWAG, 20 db 90 percent + 1, POLIWAG, 20 - db 100 percent, 0, 6 -.Remoraid_Super: ; 92663 + db 100 percent, time_group 6 +.Remoraid_Super: db 40 percent, POLIWAG, 40 - db 70 percent, 0, 7 + db 70 percent, time_group 7 db 90 percent + 1, MAGIKARP, 40 db 100 percent, REMORAID, 40 -; 9266f - -TimeFishGroups: ; 9266f +TimeFishGroups: ; day nite - db CORSOLA, 20, STARYU, 20 - db CORSOLA, 40, STARYU, 40 - db SHELLDER, 20, SHELLDER, 20 - db SHELLDER, 40, SHELLDER, 40 - db GOLDEEN, 20, GOLDEEN, 20 - db GOLDEEN, 40, GOLDEEN, 40 - db POLIWAG, 20, POLIWAG, 20 - db POLIWAG, 40, POLIWAG, 40 - db DRATINI, 20, DRATINI, 20 - db DRATINI, 40, DRATINI, 40 - db QWILFISH, 20, QWILFISH, 20 - db QWILFISH, 40, QWILFISH, 40 - db REMORAID, 20, REMORAID, 20 - db REMORAID, 40, REMORAID, 40 - db GYARADOS, 20, GYARADOS, 20 - db GYARADOS, 40, GYARADOS, 40 - db DRATINI, 10, DRATINI, 10 - db DRATINI, 10, DRATINI, 10 - db HORSEA, 20, HORSEA, 20 - db HORSEA, 40, HORSEA, 40 - db TENTACOOL, 20, TENTACOOL, 20 - db TENTACOOL, 40, TENTACOOL, 40 -; 926c7 + db CORSOLA, 20, STARYU, 20 ; 0 + db CORSOLA, 40, STARYU, 40 ; 1 + db SHELLDER, 20, SHELLDER, 20 ; 2 + db SHELLDER, 40, SHELLDER, 40 ; 3 + db GOLDEEN, 20, GOLDEEN, 20 ; 4 + db GOLDEEN, 40, GOLDEEN, 40 ; 5 + db POLIWAG, 20, POLIWAG, 20 ; 6 + db POLIWAG, 40, POLIWAG, 40 ; 7 + db DRATINI, 20, DRATINI, 20 ; 8 + db DRATINI, 40, DRATINI, 40 ; 9 + db QWILFISH, 20, QWILFISH, 20 ; 10 + db QWILFISH, 40, QWILFISH, 40 ; 11 + db REMORAID, 20, REMORAID, 20 ; 12 + db REMORAID, 40, REMORAID, 40 ; 13 + db GYARADOS, 20, GYARADOS, 20 ; 14 + db GYARADOS, 40, GYARADOS, 40 ; 15 + db DRATINI, 10, DRATINI, 10 ; 16 + db DRATINI, 10, DRATINI, 10 ; 17 + db HORSEA, 20, HORSEA, 20 ; 18 + db HORSEA, 40, HORSEA, 40 ; 19 + db TENTACOOL, 20, TENTACOOL, 20 ; 20 + db TENTACOOL, 40, TENTACOOL, 40 ; 21 diff --git a/data/wild/flee_mons.asm b/data/wild/flee_mons.asm new file mode 100644 index 00000000..1c3700fd --- /dev/null +++ b/data/wild/flee_mons.asm @@ -0,0 +1,35 @@ +FleeMons: +; referenced by TryEnemyFlee and FastBallMultiplier + +SometimesFleeMons: + db MAGNEMITE + db GRIMER + db TANGELA + db MR__MIME + db EEVEE + db PORYGON + db DRATINI + db DRAGONAIR + db TOGETIC + db UMBREON + db UNOWN + db SNUBBULL + db HERACROSS + db -1 + +OftenFleeMons: + db CUBONE + db ARTICUNO + db ZAPDOS + db MOLTRES + db QUAGSIRE + db DELIBIRD + db PHANPY + db TEDDIURSA + db -1 + +AlwaysFleeMons: + db RAIKOU + db ENTEI + db SUICUNE + db -1 diff --git a/data/wild/johto_grass.asm b/data/wild/johto_grass.asm index f241dd5d..ebc95c3f 100644 --- a/data/wild/johto_grass.asm +++ b/data/wild/johto_grass.asm @@ -1,6 +1,8 @@ ; Johto Pokémon in grass - map SPROUT_TOWER_2F +JohtoGrassWildMons: + + map_id SPROUT_TOWER_2F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 3, RATTATA @@ -27,7 +29,7 @@ db 5, RATTATA db 5, RATTATA - map SPROUT_TOWER_3F + map_id SPROUT_TOWER_3F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 3, RATTATA @@ -54,7 +56,7 @@ db 5, RATTATA db 5, RATTATA - map TIN_TOWER_2F + map_id TIN_TOWER_2F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -81,7 +83,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_3F + map_id TIN_TOWER_3F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -108,7 +110,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_4F + map_id TIN_TOWER_4F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -135,7 +137,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_5F + map_id TIN_TOWER_5F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -162,7 +164,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_6F + map_id TIN_TOWER_6F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -189,7 +191,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_7F + map_id TIN_TOWER_7F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -216,7 +218,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_8F + map_id TIN_TOWER_8F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -243,7 +245,7 @@ db 24, RATTATA db 24, RATTATA - map TIN_TOWER_9F + map_id TIN_TOWER_9F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 20, RATTATA @@ -270,14 +272,14 @@ db 24, RATTATA db 24, RATTATA - map BURNED_TOWER_1F + map_id BURNED_TOWER_1F db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 13, RATTATA db 14, KOFFING db 15, RATTATA db 14, ZUBAT - db 15, RATTATA + db 16, KOFFING db 15, RATICATE db 15, RATICATE ; day @@ -285,7 +287,7 @@ db 14, KOFFING db 15, RATTATA db 14, ZUBAT - db 15, RATTATA + db 16, KOFFING db 15, RATICATE db 15, RATICATE ; nite @@ -293,65 +295,87 @@ db 14, KOFFING db 15, RATTATA db 14, ZUBAT - db 15, RATTATA + db 16, KOFFING db 15, RATICATE db 15, RATICATE - map BURNED_TOWER_B1F + map_id BURNED_TOWER_B1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 14, RATTATA db 14, KOFFING db 16, KOFFING + db 16, RATTATA db 15, ZUBAT - db 12, KOFFING - db 16, KOFFING - db 16, WEEZING + db 14, MAGMAR + db 14, MAGMAR ; day db 14, RATTATA db 14, KOFFING db 16, KOFFING + db 16, MAGMAR db 15, ZUBAT - db 12, KOFFING - db 16, KOFFING - db 16, WEEZING + db 14, RATTATA + db 14, RATTATA ; nite db 14, RATTATA db 14, KOFFING db 16, KOFFING + db 16, RATTATA db 15, ZUBAT - db 12, KOFFING - db 16, KOFFING - db 16, WEEZING + db 14, MAGMAR + db 14, MAGMAR - map NATIONAL_PARK + map_id NATIONAL_PARK db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 12, NIDORAN_M - db 12, NIDORAN_F - db 14, LEDYBA - db 13, PIDGEY db 10, CATERPIE - db 10, WEEDLE - db 10, WEEDLE + db 10, METAPOD + db 12, CATERPIE + db 12, PIDGEY + db 10, PIDGEY + db 14, PIDGEY + db 14, PIDGEY ; day - db 12, NIDORAN_F - db 12, NIDORAN_M - db 14, SUNKERN - db 13, PIDGEY db 10, CATERPIE + db 10, METAPOD + db 11, SUNKERN + db 12, PIDGEY + db 13, SUNKERN + db 14, PIDGEY + db 14, PIDGEY + + ELIF DEF(_SILVER) + ; morn db 10, WEEDLE + db 10, KAKUNA + db 12, WEEDLE + db 12, PIDGEY + db 10, PIDGEY + db 14, PIDGEY + db 14, PIDGEY + ; day db 10, WEEDLE + db 10, KAKUNA + db 11, SUNKERN + db 12, PIDGEY + db 13, SUNKERN + db 14, PIDGEY + db 14, PIDGEY + ENDC + ; nite - db 12, PSYDUCK - db 13, HOOTHOOT - db 14, SPINARAK - db 15, HOOTHOOT - db 10, VENONAT - db 12, VENONAT - db 12, VENONAT + db 10, HOOTHOOT + db 10, HOOTHOOT + db 12, HOOTHOOT + db 12, HOOTHOOT + db 10, HOOTHOOT + db 14, HOOTHOOT + db 14, HOOTHOOT - map RUINS_OF_ALPH_OUTSIDE + map_id RUINS_OF_ALPH_OUTSIDE db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 20, NATU @@ -374,11 +398,11 @@ db 22, NATU db 18, NATU db 24, NATU - db 22, WOOPER - db 22, QUAGSIRE - db 22, QUAGSIRE + db 20, SMEARGLE + db 22, SMEARGLE + db 22, SMEARGLE - map RUINS_OF_ALPH_INNER_CHAMBER + map_id RUINS_OF_ALPH_INNER_CHAMBER db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 5, UNOWN @@ -405,8 +429,10 @@ db 5, UNOWN db 5, UNOWN - map UNION_CAVE_1F + map_id UNION_CAVE_1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 6, GEODUDE db 6, SANDSHREW @@ -425,68 +451,124 @@ db 6, ONIX ; nite db 6, GEODUDE + db 6, SANDSHREW + db 5, ZUBAT + db 4, RATTATA + db 7, ZUBAT + db 6, ONIX + db 6, ONIX + + ELIF DEF(_SILVER) + ; morn + db 6, GEODUDE db 6, RATTATA - db 5, WOOPER + db 5, ZUBAT db 4, RATTATA db 7, ZUBAT db 6, ONIX db 6, ONIX + ; day + db 6, GEODUDE + db 6, RATTATA + db 5, ZUBAT + db 4, RATTATA + db 7, ZUBAT + db 6, ONIX + db 6, ONIX + ; nite + db 6, GEODUDE + db 6, RATTATA + db 5, ZUBAT + db 4, RATTATA + db 7, ZUBAT + db 6, ONIX + db 6, ONIX + ENDC - map UNION_CAVE_B1F + map_id UNION_CAVE_B1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 8, GEODUDE - db 6, ZUBAT - db 8, ZUBAT + db 8, SANDSHREW + db 7, ZUBAT db 8, ONIX + db 9, ZUBAT + db 6, RATTATA db 6, RATTATA - db 8, RATTATA - db 8, RATTATA ; day db 8, GEODUDE - db 6, ZUBAT - db 8, ZUBAT + db 8, SANDSHREW + db 7, ZUBAT db 8, ONIX + db 9, ZUBAT + db 6, RATTATA db 6, RATTATA - db 8, RATTATA - db 8, RATTATA ; nite db 8, GEODUDE - db 6, ZUBAT - db 8, WOOPER + db 8, SANDSHREW + db 7, ZUBAT db 8, ONIX + db 9, ZUBAT db 6, RATTATA + db 6, RATTATA + + ELIF DEF(_SILVER) + ; morn + db 8, GEODUDE db 8, RATTATA + db 7, ZUBAT + db 8, ONIX + db 9, ZUBAT + db 6, RATTATA + db 6, RATTATA + ; day + db 8, GEODUDE db 8, RATTATA + db 7, ZUBAT + db 8, ONIX + db 9, ZUBAT + db 6, RATTATA + db 6, RATTATA + ; nite + db 8, GEODUDE + db 8, RATTATA + db 7, ZUBAT + db 8, ONIX + db 9, ZUBAT + db 6, RATTATA + db 6, RATTATA + ENDC - map UNION_CAVE_B2F + map_id UNION_CAVE_B2F db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 22, ZUBAT + db 22, RATICATE db 22, GOLBAT - db 22, ZUBAT - db 21, RATICATE - db 20, GEODUDE + db 21, GEODUDE + db 20, RATTATA db 23, ONIX db 23, ONIX ; day db 22, ZUBAT + db 22, RATICATE db 22, GOLBAT - db 22, ZUBAT - db 21, RATICATE - db 20, GEODUDE + db 21, GEODUDE + db 20, RATTATA db 23, ONIX db 23, ONIX ; nite db 22, ZUBAT + db 22, RATICATE db 22, GOLBAT - db 22, QUAGSIRE - db 21, RATICATE - db 20, GEODUDE + db 21, GEODUDE + db 20, RATTATA db 23, ONIX db 23, ONIX - map SLOWPOKE_WELL_B1F + map_id SLOWPOKE_WELL_B1F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 5, ZUBAT @@ -513,7 +595,7 @@ db 8, SLOWPOKE db 8, SLOWPOKE - map SLOWPOKE_WELL_B2F + map_id SLOWPOKE_WELL_B2F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn db 21, ZUBAT @@ -540,88 +622,110 @@ db 23, SLOWPOKE db 23, SLOWPOKE - map ILEX_FOREST + map_id ILEX_FOREST db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 5, CATERPIE - db 5, WEEDLE - db 7, METAPOD - db 7, KAKUNA - db 7, PIDGEY + db 6, METAPOD + db 6, CATERPIE + db 5, PARAS + db 5, ZUBAT db 6, PARAS db 6, PARAS ; day db 5, CATERPIE + db 6, CATERPIE + db 5, METAPOD + db 6, METAPOD + db 5, ZUBAT + db 6, PARAS + db 6, PARAS + + ELIF DEF(_SILVER) + ; morn db 5, WEEDLE - db 7, METAPOD - db 7, KAKUNA - db 7, PIDGEY + db 6, KAKUNA + db 6, WEEDLE + db 5, PARAS + db 5, ZUBAT + db 6, PARAS + db 6, PARAS + ; day + db 5, WEEDLE + db 6, WEEDLE + db 5, KAKUNA + db 6, KAKUNA + db 5, ZUBAT db 6, PARAS db 6, PARAS + ENDC + ; nite db 5, ODDISH - db 5, VENONAT - db 7, ODDISH - db 7, PSYDUCK - db 7, HOOTHOOT + db 6, ODDISH + db 6, ZUBAT + db 5, PARAS + db 5, ZUBAT db 6, PARAS db 6, PARAS - map MOUNT_MORTAR_1F_OUTSIDE + map_id MOUNT_MORTAR_1F_OUTSIDE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn - db 14, RATTATA db 13, ZUBAT + db 15, ZUBAT db 14, MACHOP - db 13, GOLBAT + db 14, RATTATA db 14, GEODUDE - db 16, RATICATE - db 16, RATICATE + db 16, RATTATA + db 15, MARILL ; day - db 14, RATTATA db 13, ZUBAT + db 15, ZUBAT db 14, MACHOP - db 13, GOLBAT + db 14, RATTATA db 14, GEODUDE - db 16, RATICATE - db 16, RATICATE + db 16, RATTATA + db 15, MARILL ; nite - db 14, RATTATA db 13, ZUBAT - db 14, MARILL - db 13, GOLBAT + db 15, ZUBAT + db 14, MACHOP + db 14, RATTATA db 14, GEODUDE - db 16, RATICATE - db 16, RATICATE + db 16, RATTATA + db 15, MARILL - map MOUNT_MORTAR_1F_INSIDE + map_id MOUNT_MORTAR_1F_INSIDE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 13, GEODUDE + db 13, MACHOP + db 15, GEODUDE db 14, RATTATA db 15, MACHOP - db 14, RATICATE - db 15, ZUBAT - db 15, GOLBAT - db 15, GOLBAT + db 14, ZUBAT + db 14, ZUBAT ; day db 13, GEODUDE + db 13, MACHOP + db 15, GEODUDE db 14, RATTATA db 15, MACHOP - db 14, RATICATE - db 15, ZUBAT - db 15, GOLBAT - db 15, GOLBAT + db 14, ZUBAT + db 14, ZUBAT ; nite db 13, GEODUDE + db 13, MACHOP + db 15, GEODUDE db 14, RATTATA - db 15, RATICATE + db 15, MACHOP + db 14, ZUBAT db 14, ZUBAT - db 15, MARILL - db 15, GOLBAT - db 15, GOLBAT - map MOUNT_MORTAR_2F_INSIDE + map_id MOUNT_MORTAR_2F_INSIDE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 31, GRAVELER @@ -641,507 +745,768 @@ db 30, GOLBAT ; nite db 31, GRAVELER + db 32, MACHOKE db 31, GEODUDE db 30, RATICATE + db 28, MACHOP + db 30, GOLBAT db 30, GOLBAT - db 28, MARILL - db 32, GOLBAT - db 32, GOLBAT - map MOUNT_MORTAR_B1F + map_id MOUNT_MORTAR_B1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 15, ZUBAT db 17, ZUBAT - db 17, GOLBAT + db 16, RATTATA db 16, MACHOP db 16, GEODUDE - db 18, RATICATE - db 18, RATICATE + db 16, RATICATE + db 16, RATICATE ; day db 15, ZUBAT db 17, ZUBAT - db 17, GOLBAT + db 16, RATTATA db 16, MACHOP db 16, GEODUDE - db 18, RATICATE - db 18, RATICATE + db 16, RATICATE + db 16, RATICATE ; nite db 15, ZUBAT db 17, ZUBAT - db 17, GOLBAT - db 16, MARILL + db 16, RATTATA + db 16, MACHOP db 16, GEODUDE - db 18, RATICATE - db 18, RATICATE + db 16, RATICATE + db 16, RATICATE - map ICE_PATH_1F + map_id ICE_PATH_1F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 21, SWINUB + db 22, GOLBAT + db 22, ZUBAT + db 23, SWINUB db 22, ZUBAT + db 22, JYNX + db 22, JYNX + ; day + db 21, SWINUB db 22, GOLBAT + db 22, ZUBAT db 23, SWINUB - db 24, GOLBAT + db 22, JYNX + db 20, JYNX + db 20, JYNX + ; nite + db 21, SWINUB db 22, GOLBAT + db 22, ZUBAT + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX + + ELIF DEF(_SILVER) + ; morn + db 21, SWINUB db 22, GOLBAT + db 22, DELIBIRD + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX ; day db 21, SWINUB - db 22, ZUBAT db 22, GOLBAT + db 22, DELIBIRD db 23, SWINUB - db 24, GOLBAT + db 22, JYNX + db 20, JYNX + db 20, JYNX + ; nite + db 21, SWINUB db 22, GOLBAT + db 22, DELIBIRD + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX + ENDC + + map_id ICE_PATH_B1F + db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 21, SWINUB db 22, GOLBAT + db 22, ZUBAT + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX + ; day + db 21, SWINUB + db 22, GOLBAT + db 22, ZUBAT + db 23, SWINUB + db 22, JYNX + db 20, JYNX + db 20, JYNX ; nite - db 21, DELIBIRD + db 21, SWINUB + db 22, GOLBAT + db 22, ZUBAT + db 23, SWINUB db 22, ZUBAT + db 22, JYNX + db 22, JYNX + + ELIF DEF(_SILVER) + ; morn + db 21, SWINUB db 22, GOLBAT - db 23, DELIBIRD - db 24, GOLBAT + db 22, DELIBIRD + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX + ; day + db 21, SWINUB db 22, GOLBAT + db 22, DELIBIRD + db 23, SWINUB + db 22, JYNX + db 20, JYNX + db 20, JYNX + ; nite + db 21, SWINUB db 22, GOLBAT + db 22, DELIBIRD + db 23, SWINUB + db 22, ZUBAT + db 22, JYNX + db 22, JYNX + ENDC - map ICE_PATH_B1F + map_id ICE_PATH_B2F_MAHOGANY_SIDE db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 22, SWINUB + db 23, GOLBAT + db 23, ZUBAT + db 24, SWINUB db 23, ZUBAT + db 23, JYNX + db 23, JYNX + ; day + db 22, SWINUB db 23, GOLBAT + db 23, ZUBAT db 24, SWINUB - db 25, GOLBAT + db 23, JYNX + db 21, JYNX + db 21, JYNX + ; nite + db 22, SWINUB db 23, GOLBAT - db 22, JYNX + db 23, ZUBAT + db 24, SWINUB + db 23, ZUBAT + db 23, JYNX + db 23, JYNX + + ELIF DEF(_SILVER) + ; morn + db 22, SWINUB + db 23, GOLBAT + db 23, DELIBIRD + db 24, SWINUB + db 23, ZUBAT + db 23, JYNX + db 23, JYNX ; day db 22, SWINUB + db 23, GOLBAT + db 23, DELIBIRD + db 24, SWINUB + db 23, JYNX + db 21, JYNX + db 21, JYNX + ; nite + db 22, SWINUB + db 23, GOLBAT + db 23, DELIBIRD + db 24, SWINUB db 23, ZUBAT + db 23, JYNX + db 23, JYNX + ENDC + + map_id ICE_PATH_B2F_BLACKTHORN_SIDE + db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 22, SWINUB db 23, GOLBAT + db 23, ZUBAT db 24, SWINUB - db 25, GOLBAT + db 23, ZUBAT + db 23, JYNX + db 23, JYNX + ; day + db 22, SWINUB db 23, GOLBAT - db 22, JYNX + db 23, ZUBAT + db 24, SWINUB + db 23, JYNX + db 21, JYNX + db 21, JYNX ; nite - db 22, DELIBIRD + db 22, SWINUB + db 23, GOLBAT db 23, ZUBAT + db 24, SWINUB + db 23, ZUBAT + db 23, JYNX + db 23, JYNX + + ELIF DEF(_SILVER) + ; morn + db 22, SWINUB db 23, GOLBAT - db 24, DELIBIRD - db 25, GOLBAT + db 23, DELIBIRD + db 24, SWINUB + db 23, ZUBAT + db 23, JYNX + db 23, JYNX + ; day + db 22, SWINUB + db 23, GOLBAT + db 23, DELIBIRD + db 24, SWINUB + db 23, JYNX + db 21, JYNX + db 21, JYNX + ; nite + db 22, SWINUB db 23, GOLBAT - db 22, SNEASEL + db 23, DELIBIRD + db 24, SWINUB + db 23, ZUBAT + db 23, JYNX + db 23, JYNX + ENDC - map ICE_PATH_B2F_MAHOGANY_SIDE + map_id ICE_PATH_B3F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 23, SWINUB - db 24, ZUBAT db 24, GOLBAT + db 24, ZUBAT db 25, SWINUB - db 26, GOLBAT - db 22, JYNX + db 24, ZUBAT + db 24, JYNX db 24, JYNX ; day db 23, SWINUB - db 24, ZUBAT db 24, GOLBAT + db 24, ZUBAT db 25, SWINUB - db 26, GOLBAT - db 22, JYNX db 24, JYNX + db 22, JYNX + db 22, JYNX ; nite - db 23, DELIBIRD - db 24, ZUBAT + db 23, SWINUB db 24, GOLBAT - db 25, DELIBIRD - db 26, GOLBAT - db 22, SNEASEL - db 24, SNEASEL + db 24, ZUBAT + db 25, SWINUB + db 24, ZUBAT + db 24, JYNX + db 24, JYNX - map ICE_PATH_B2F_BLACKTHORN_SIDE - db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + ELIF DEF(_SILVER) ; morn db 23, SWINUB - db 24, ZUBAT db 24, GOLBAT + db 24, DELIBIRD db 25, SWINUB - db 26, GOLBAT - db 22, JYNX + db 24, ZUBAT + db 24, JYNX db 24, JYNX ; day db 23, SWINUB - db 24, ZUBAT db 24, GOLBAT + db 24, DELIBIRD db 25, SWINUB - db 26, GOLBAT - db 22, JYNX db 24, JYNX - ; nite - db 23, DELIBIRD - db 24, ZUBAT - db 24, GOLBAT - db 25, DELIBIRD - db 26, GOLBAT - db 22, SNEASEL - db 24, SNEASEL - - map ICE_PATH_B3F - db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite - ; morn - db 24, SWINUB - db 25, ZUBAT - db 25, GOLBAT - db 26, SWINUB db 22, JYNX - db 24, JYNX - db 26, JYNX - ; day - db 24, SWINUB - db 25, ZUBAT - db 25, GOLBAT - db 26, SWINUB db 22, JYNX - db 24, JYNX - db 26, JYNX ; nite + db 23, SWINUB + db 24, GOLBAT db 24, DELIBIRD - db 25, ZUBAT - db 25, GOLBAT - db 26, DELIBIRD - db 22, SNEASEL - db 24, SNEASEL - db 26, SNEASEL + db 25, SWINUB + db 24, ZUBAT + db 24, JYNX + db 24, JYNX + ENDC - map WHIRL_ISLAND_NW + map_id WHIRL_ISLAND_NW db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; day db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; nite db 22, KRABBY db 23, ZUBAT - db 22, KRABBY db 24, KRABBY - db 25, GOLBAT - db 24, GOLBAT - db 24, GOLBAT + db 22, SEEL + db 23, GOLBAT + db 24, SEEL + db 24, SEEL - map WHIRL_ISLAND_NE + map_id WHIRL_ISLAND_NE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; day db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; nite db 22, KRABBY db 23, ZUBAT - db 22, KRABBY db 24, KRABBY - db 25, GOLBAT - db 24, GOLBAT - db 24, GOLBAT + db 22, SEEL + db 23, GOLBAT + db 24, SEEL + db 24, SEEL - map WHIRL_ISLAND_SW + map_id WHIRL_ISLAND_SW db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; day db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; nite db 22, KRABBY db 23, ZUBAT - db 22, KRABBY db 24, KRABBY - db 25, GOLBAT - db 24, GOLBAT - db 24, GOLBAT + db 22, SEEL + db 23, GOLBAT + db 24, SEEL + db 24, SEEL - map WHIRL_ISLAND_CAVE + map_id WHIRL_ISLAND_CAVE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; day db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; nite db 22, KRABBY db 23, ZUBAT - db 22, KRABBY db 24, KRABBY - db 25, GOLBAT - db 24, GOLBAT - db 24, GOLBAT + db 22, SEEL + db 23, GOLBAT + db 24, SEEL + db 24, SEEL - map WHIRL_ISLAND_SE + map_id WHIRL_ISLAND_SE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; day db 22, KRABBY db 23, ZUBAT - db 22, SEEL db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT db 24, SEEL db 24, SEEL ; nite db 22, KRABBY db 23, ZUBAT - db 22, KRABBY db 24, KRABBY - db 25, GOLBAT + db 22, SEEL + db 23, GOLBAT + db 24, SEEL + db 24, SEEL + + map_id WHIRL_ISLAND_B1F + db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ; morn + db 23, KRABBY + db 24, ZUBAT + db 25, KRABBY + db 23, SEEL + db 24, GOLBAT + db 25, SEEL + db 25, SEEL + ; day + db 23, KRABBY + db 24, ZUBAT + db 25, KRABBY + db 23, SEEL db 24, GOLBAT + db 25, SEEL + db 25, SEEL + ; nite + db 23, KRABBY + db 24, ZUBAT + db 25, KRABBY + db 23, SEEL db 24, GOLBAT + db 25, SEEL + db 25, SEEL - map WHIRL_ISLAND_B1F + map_id WHIRL_ISLAND_B2F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 23, KRABBY db 24, ZUBAT - db 23, SEEL db 25, KRABBY - db 26, GOLBAT + db 23, SEEL + db 24, GOLBAT db 25, SEEL db 25, SEEL ; day db 23, KRABBY db 24, ZUBAT - db 23, SEEL db 25, KRABBY - db 26, GOLBAT + db 23, SEEL + db 24, GOLBAT db 25, SEEL db 25, SEEL ; nite db 23, KRABBY db 24, ZUBAT - db 23, KRABBY db 25, KRABBY - db 26, GOLBAT - db 25, GOLBAT - db 25, GOLBAT + db 23, SEEL + db 24, GOLBAT + db 25, SEEL + db 25, SEEL - map WHIRL_ISLAND_B2F + map_id WHIRL_ISLAND_LUGIA_CHAMBER db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 24, KRABBY db 25, ZUBAT - db 24, SEEL db 26, KRABBY - db 27, GOLBAT + db 24, SEEL + db 25, GOLBAT db 26, SEEL db 26, SEEL ; day db 24, KRABBY db 25, ZUBAT - db 24, SEEL db 26, KRABBY - db 27, GOLBAT + db 24, SEEL + db 25, GOLBAT db 26, SEEL db 26, SEEL ; nite db 24, KRABBY db 25, ZUBAT - db 24, KRABBY db 26, KRABBY - db 27, GOLBAT - db 26, GOLBAT - db 26, GOLBAT + db 24, SEEL + db 25, GOLBAT + db 26, SEEL + db 26, SEEL - map WHIRL_ISLAND_LUGIA_CHAMBER + map_id SILVER_CAVE_ROOM_1 db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 25, KRABBY - db 26, ZUBAT - db 25, SEEL - db 27, KRABBY - db 28, GOLBAT - db 27, SEEL - db 27, SEEL + db 42, ONIX + db 44, URSARING + db 43, GRAVELER + db 43, GRAVELER + db 45, GOLBAT + db 20, LARVITAR + db 15, LARVITAR ; day - db 25, KRABBY - db 26, ZUBAT - db 25, SEEL - db 27, KRABBY - db 28, GOLBAT - db 27, SEEL - db 27, SEEL + db 42, ONIX + db 44, URSARING + db 43, GRAVELER + db 43, GRAVELER + db 45, GOLBAT + db 20, LARVITAR + db 15, LARVITAR ; nite - db 25, KRABBY - db 26, ZUBAT - db 25, KRABBY - db 27, KRABBY - db 28, GOLBAT - db 27, GOLBAT - db 27, GOLBAT + db 42, ONIX + db 44, URSARING + db 43, GRAVELER + db 43, GRAVELER + db 45, GOLBAT + db 20, LARVITAR + db 15, LARVITAR - map SILVER_CAVE_ROOM_1 - db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ELIF DEF(_SILVER) ; morn - db 43, GRAVELER - db 44, URSARING db 42, ONIX - db 45, MAGMAR + db 44, DONPHAN + db 43, GRAVELER + db 43, GRAVELER db 45, GOLBAT db 20, LARVITAR db 15, LARVITAR ; day - db 43, GRAVELER - db 44, URSARING db 42, ONIX - db 45, MAGMAR + db 44, DONPHAN + db 43, GRAVELER + db 43, GRAVELER db 45, GOLBAT db 20, LARVITAR db 15, LARVITAR ; nite - db 43, GRAVELER - db 44, GOLBAT db 42, ONIX - db 42, GOLBAT - db 45, GOLDUCK - db 46, GOLBAT - db 46, GOLBAT + db 44, DONPHAN + db 43, GRAVELER + db 43, GRAVELER + db 45, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + ENDC - map SILVER_CAVE_ROOM_2 + map_id SILVER_CAVE_ROOM_2 db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 48, GOLBAT - db 48, MACHOKE + db 45, QUAGSIRE + db 48, GOLDUCK db 47, URSARING - db 46, PARASECT - db 48, PARASECT - db 15, LARVITAR + db 45, QUAGSIRE + db 48, GOLBAT db 20, LARVITAR + db 15, LARVITAR ; day + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, URSARING + db 45, QUAGSIRE db 48, GOLBAT - db 48, MACHOKE + db 20, LARVITAR + db 15, LARVITAR + ; nite + db 45, QUAGSIRE + db 48, GOLDUCK db 47, URSARING - db 46, PARASECT - db 48, PARASECT + db 45, MISDREAVUS + db 48, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + + ELIF DEF(_SILVER) + ; morn + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, DONPHAN + db 45, QUAGSIRE + db 48, GOLBAT + db 20, LARVITAR db 15, LARVITAR + ; day + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, DONPHAN + db 45, QUAGSIRE + db 48, GOLBAT db 20, LARVITAR + db 15, LARVITAR ; nite - db 48, GOLBAT + db 45, QUAGSIRE db 48, GOLDUCK - db 46, GOLBAT - db 46, PARASECT - db 48, PARASECT - db 45, MISDREAVUS + db 47, DONPHAN db 45, MISDREAVUS + db 48, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + ENDC - map SILVER_CAVE_ROOM_3 + map_id SILVER_CAVE_ROOM_3 db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 51, GOLBAT db 48, ONIX - db 48, GRAVELER + db 48, GOLBAT db 50, URSARING + db 51, GOLDUCK db 20, LARVITAR db 15, LARVITAR - db 20, PUPITAR ; day db 51, GOLBAT db 48, ONIX - db 48, GRAVELER + db 48, GOLBAT db 50, URSARING + db 51, GOLDUCK + db 20, LARVITAR + db 15, LARVITAR + ; nite + db 51, GOLBAT + db 48, ONIX + db 48, GOLBAT + db 50, URSARING + db 51, GOLDUCK + db 20, LARVITAR + db 15, LARVITAR + + ELIF DEF(_SILVER) + ; morn + db 51, GOLBAT + db 48, ONIX + db 48, GOLBAT + db 50, DONPHAN + db 51, GOLDUCK + db 20, LARVITAR + db 15, LARVITAR + ; day + db 51, GOLBAT + db 48, ONIX + db 48, GOLBAT + db 50, DONPHAN + db 51, GOLDUCK db 20, LARVITAR db 15, LARVITAR - db 20, PUPITAR ; nite db 51, GOLBAT db 48, ONIX - db 48, GRAVELER - db 49, GOLBAT - db 45, GOLDUCK - db 53, GOLBAT - db 53, GOLBAT + db 48, GOLBAT + db 50, DONPHAN + db 51, GOLDUCK + db 20, LARVITAR + db 15, LARVITAR + ENDC - map SILVER_CAVE_ITEM_ROOMS + map_id SILVER_CAVE_ITEM_ROOMS db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, URSARING + db 45, QUAGSIRE db 48, GOLBAT - db 46, GOLBAT - db 50, GOLBAT - db 46, PARASECT - db 48, PARASECT - db 50, PARASECT - db 52, PARASECT + db 20, LARVITAR + db 15, LARVITAR ; day + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, URSARING + db 45, QUAGSIRE db 48, GOLBAT - db 46, GOLBAT - db 50, GOLBAT - db 46, PARASECT - db 48, PARASECT - db 50, PARASECT - db 52, PARASECT + db 20, LARVITAR + db 15, LARVITAR ; nite db 45, MISDREAVUS + db 48, GOLDUCK + db 47, URSARING + db 45, QUAGSIRE db 48, GOLBAT - db 50, GOLBAT - db 46, PARASECT - db 48, PARASECT - db 50, PARASECT - db 52, PARASECT + db 20, LARVITAR + db 15, LARVITAR - map DARK_CAVE_VIOLET_ENTRANCE + ELIF DEF(_SILVER) + ; morn + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, DONPHAN + db 45, QUAGSIRE + db 48, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + ; day + db 45, QUAGSIRE + db 48, GOLDUCK + db 47, DONPHAN + db 45, QUAGSIRE + db 48, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + ; nite + db 45, MISDREAVUS + db 48, GOLDUCK + db 47, DONPHAN + db 45, QUAGSIRE + db 48, GOLBAT + db 20, LARVITAR + db 15, LARVITAR + ENDC + + map_id DARK_CAVE_VIOLET_ENTRANCE db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 3, GEODUDE db 2, ZUBAT db 2, GEODUDE db 4, GEODUDE - db 2, TEDDIURSA + db 3, ZUBAT db 4, ZUBAT db 4, DUNSPARCE ; day @@ -1149,7 +1514,7 @@ db 2, ZUBAT db 2, GEODUDE db 4, GEODUDE - db 2, ZUBAT + db 3, ZUBAT db 4, ZUBAT db 4, DUNSPARCE ; nite @@ -1157,26 +1522,26 @@ db 2, ZUBAT db 2, GEODUDE db 4, GEODUDE - db 2, ZUBAT + db 3, ZUBAT db 4, ZUBAT db 4, DUNSPARCE - map DARK_CAVE_BLACKTHORN_ENTRANCE + map_id DARK_CAVE_BLACKTHORN_ENTRANCE db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 23, GEODUDE db 23, ZUBAT db 25, GRAVELER - db 25, URSARING - db 20, TEDDIURSA + db 20, WOBBUFFET + db 25, WOBBUFFET db 23, GOLBAT db 23, GOLBAT ; day db 23, GEODUDE db 23, ZUBAT db 25, GRAVELER - db 25, URSARING - db 30, URSARING + db 20, WOBBUFFET + db 25, WOBBUFFET db 23, GOLBAT db 23, GOLBAT ; nite @@ -1188,444 +1553,791 @@ db 23, GOLBAT db 23, GOLBAT - map ROUTE_29 + map_id ROUTE_29 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 2, PIDGEY - db 2, SENTRET - db 3, PIDGEY db 3, SENTRET - db 2, RATTATA - db 3, HOPPIP - db 3, HOPPIP + db 3, PIDGEY + db 2, SENTRET + db 4, RATTATA + db 4, PIDGEY + db 4, PIDGEY ; day db 2, PIDGEY - db 2, SENTRET - db 3, PIDGEY db 3, SENTRET - db 2, RATTATA - db 3, HOPPIP - db 3, HOPPIP + db 3, PIDGEY + db 2, SENTRET + db 4, RATTATA + db 4, PIDGEY + db 4, PIDGEY ; nite db 2, HOOTHOOT - db 2, RATTATA - db 3, HOOTHOOT - db 3, RATTATA - db 2, RATTATA db 3, HOOTHOOT db 3, HOOTHOOT + db 2, RATTATA + db 4, RATTATA + db 4, HOOTHOOT + db 4, HOOTHOOT - map ROUTE_30 + map_id ROUTE_30 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 3, LEDYBA + db 2, PIDGEY db 3, CATERPIE db 4, CATERPIE + db 4, METAPOD + db 4, PIDGEY + db 4, PIDGEY db 4, PIDGEY - db 3, WEEDLE - db 4, HOPPIP - db 4, HOPPIP ; day - db 3, PIDGEY + db 2, PIDGEY db 3, CATERPIE + db 4, PIDGEY + db 4, METAPOD db 4, CATERPIE + db 5, METAPOD + db 5, METAPOD + ; nite + db 3, SPINARAK + db 3, RATTATA + db 4, HOOTHOOT + db 4, RATTATA + db 4, HOOTHOOT + db 4, HOOTHOOT + db 4, HOOTHOOT + + ELIF DEF(_SILVER) + ; morn + db 3, LEDYBA + db 3, WEEDLE + db 4, WEEDLE + db 4, KAKUNA + db 4, PIDGEY + db 4, PIDGEY db 4, PIDGEY + ; day + db 2, PIDGEY db 3, WEEDLE - db 4, HOPPIP - db 4, HOPPIP + db 4, PIDGEY + db 4, KAKUNA + db 4, WEEDLE + db 5, KAKUNA + db 5, KAKUNA ; nite - db 3, SPINARAK - db 3, HOOTHOOT - db 4, POLIWAG + db 2, HOOTHOOT + db 3, RATTATA + db 4, HOOTHOOT + db 4, RATTATA db 4, HOOTHOOT - db 3, ZUBAT db 4, HOOTHOOT db 4, HOOTHOOT + ENDC - map ROUTE_31 + map_id ROUTE_31 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 4, LEDYBA + db 3, PIDGEY db 4, CATERPIE - db 5, BELLSPROUT - db 5, PIDGEY - db 4, WEEDLE - db 5, HOPPIP - db 5, HOPPIP + db 3, BELLSPROUT + db 5, METAPOD + db 5, CATERPIE + db 5, METAPOD + db 5, METAPOD ; day - db 4, PIDGEY + db 3, PIDGEY db 4, CATERPIE - db 5, BELLSPROUT + db 3, BELLSPROUT + db 5, METAPOD + db 5, CATERPIE + db 6, METAPOD + db 6, METAPOD + ; nite + db 4, SPINARAK + db 4, RATTATA + db 3, BELLSPROUT + db 5, RATTATA + db 5, HOOTHOOT + db 5, HOOTHOOT + db 5, HOOTHOOT + + ELIF DEF(_SILVER) + ; morn + db 4, LEDYBA + db 4, WEEDLE + db 3, BELLSPROUT + db 5, KAKUNA db 5, PIDGEY + db 5, PIDGEY + db 5, PIDGEY + ; day + db 3, PIDGEY db 4, WEEDLE - db 5, HOPPIP - db 5, HOPPIP + db 3, BELLSPROUT + db 5, KAKUNA + db 5, WEEDLE + db 6, KAKUNA + db 6, KAKUNA ; nite - db 4, SPINARAK - db 4, POLIWAG - db 5, BELLSPROUT + db 3, HOOTHOOT + db 4, RATTATA + db 3, BELLSPROUT + db 5, RATTATA db 5, HOOTHOOT - db 4, ZUBAT - db 5, GASTLY - db 5, GASTLY + db 5, HOOTHOOT + db 5, HOOTHOOT + ENDC - map ROUTE_32 + map_id ROUTE_32 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn + db 6, BELLSPROUT + db 4, RATTATA + db 6, MAREEP + db 6, HOPPIP + db 6, RATTATA + db 4, WOOPER + db 4, ZUBAT + ; day + db 6, BELLSPROUT + db 4, RATTATA + db 6, MAREEP + db 6, HOPPIP + db 6, RATTATA + db 8, RATTATA + db 8, RATTATA + ; nite + db 6, WOOPER + db 4, RATTATA + db 6, BELLSPROUT + db 6, MAREEP + db 8, WOOPER + db 8, ZUBAT + db 8, ZUBAT + + ELIF DEF(_SILVER) + ; morn + db 6, BELLSPROUT db 4, EKANS - db 5, RATTATA - db 7, BELLSPROUT + db 6, MAREEP db 6, HOPPIP - db 7, PIDGEY - db 7, HOPPIP - db 7, HOPPIP + db 6, RATTATA + db 4, WOOPER + db 4, ZUBAT ; day + db 6, BELLSPROUT db 4, EKANS - db 5, RATTATA - db 7, BELLSPROUT + db 6, MAREEP db 6, HOPPIP - db 7, PIDGEY - db 7, HOPPIP - db 7, HOPPIP + db 6, RATTATA + db 8, RATTATA + db 8, RATTATA ; nite - db 4, WOOPER - db 5, RATTATA - db 7, BELLSPROUT - db 6, ZUBAT - db 7, HOOTHOOT - db 7, GASTLY - db 7, GASTLY + db 6, WOOPER + db 4, EKANS + db 6, BELLSPROUT + db 6, MAREEP + db 8, WOOPER + db 8, ZUBAT + db 8, ZUBAT + ENDC - map ROUTE_33 + map_id ROUTE_33 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn + db 6, HOPPIP + db 7, RATTATA + db 6, SPEAROW db 6, RATTATA + db 8, HOPPIP + db 4, ZUBAT + db 4, ZUBAT + ; day + db 6, HOPPIP + db 7, RATTATA db 6, SPEAROW - db 6, GEODUDE + db 6, RATTATA + db 8, HOPPIP + db 8, RATTATA + db 8, RATTATA + ; nite + db 6, ZUBAT + db 7, RATTATA + db 6, RATTATA + db 6, RATTATA + db 8, ZUBAT + db 8, ZUBAT + db 8, ZUBAT + + ELIF DEF(_SILVER) + ; morn db 6, HOPPIP db 7, EKANS - db 7, HOPPIP - db 7, HOPPIP - ; day - db 6, RATTATA db 6, SPEAROW - db 6, GEODUDE + db 6, RATTATA + db 8, HOPPIP + db 4, ZUBAT + db 4, ZUBAT + ; day db 6, HOPPIP db 7, EKANS - db 7, HOPPIP - db 7, HOPPIP - ; nite + db 6, SPEAROW db 6, RATTATA + db 8, HOPPIP + db 8, RATTATA + db 8, RATTATA + ; nite db 6, ZUBAT - db 6, GEODUDE - db 6, ZUBAT - db 7, RATTATA - db 7, RATTATA - db 7, RATTATA + db 7, EKANS + db 6, RATTATA + db 6, RATTATA + db 8, ZUBAT + db 8, ZUBAT + db 8, ZUBAT + ENDC - map ROUTE_34 + map_id ROUTE_34 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 10, SNUBBULL + db 10, DROWZEE db 11, RATTATA - db 12, PIDGEY + db 12, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 13, RATTATA db 10, DITTO db 10, DITTO ; day - db 10, SNUBBULL + db 10, DROWZEE db 11, RATTATA - db 12, PIDGEY + db 12, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 13, RATTATA db 10, DITTO db 10, DITTO ; nite - db 12, DROWZEE + db 10, DROWZEE db 11, RATTATA - db 12, HOOTHOOT + db 12, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 13, RATTATA db 10, DITTO db 10, DITTO - map ROUTE_35 + map_id ROUTE_35 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 12, SNUBBULL - db 14, PIDGEY - db 13, GROWLITHE + db 12, NIDORAN_M + db 12, NIDORAN_F + db 14, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 14, PIDGEY db 10, DITTO db 12, YANMA ; day - db 12, SNUBBULL - db 14, PIDGEY - db 13, GROWLITHE + db 12, NIDORAN_M + db 12, NIDORAN_F + db 14, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 14, PIDGEY db 10, DITTO db 12, YANMA ; nite - db 12, DROWZEE + db 12, NIDORAN_M + db 12, NIDORAN_F + db 14, DROWZEE + db 10, ABRA db 14, HOOTHOOT - db 13, PSYDUCK + db 10, DITTO + db 12, YANMA + + ELIF DEF(_SILVER) + ; morn + db 12, NIDORAN_F + db 12, NIDORAN_M + db 14, DROWZEE db 10, ABRA - db 12, JIGGLYPUFF + db 14, PIDGEY db 10, DITTO db 12, YANMA + ; day + db 12, NIDORAN_F + db 12, NIDORAN_M + db 14, DROWZEE + db 10, ABRA + db 14, PIDGEY + db 10, DITTO + db 12, YANMA + ; nite + db 12, NIDORAN_F + db 12, NIDORAN_M + db 14, DROWZEE + db 10, ABRA + db 14, HOOTHOOT + db 10, DITTO + db 12, YANMA + ENDC - map ROUTE_36 + map_id ROUTE_36 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 4, LEDYBA - db 4, PIDGEY - db 5, BELLSPROUT - db 5, GROWLITHE - db 5, PIDGEY - db 6, PIDGEY - db 6, PIDGEY + db 12, NIDORAN_M + db 12, NIDORAN_F + db 13, PIDGEY + db 13, GROWLITHE + db 13, STANTLER + db 15, PIDGEY + db 15, PIDGEY ; day - db 4, PIDGEY - db 4, PIDGEY - db 5, BELLSPROUT - db 5, GROWLITHE - db 5, PIDGEY - db 6, PIDGEY - db 6, PIDGEY + db 12, NIDORAN_M + db 12, NIDORAN_F + db 14, PIDGEY + db 13, GROWLITHE + db 13, STANTLER + db 15, GROWLITHE + db 15, GROWLITHE ; nite - db 4, SPINARAK - db 4, HOOTHOOT - db 5, BELLSPROUT - db 5, HOOTHOOT - db 5, HOOTHOOT - db 5, GASTLY - db 5, GASTLY + db 12, NIDORAN_M + db 12, NIDORAN_F + db 13, HOOTHOOT + db 13, GROWLITHE + db 13, STANTLER + db 15, HOOTHOOT + db 15, HOOTHOOT - map ROUTE_37 + ELIF DEF(_SILVER) + ; morn + db 12, NIDORAN_F + db 12, NIDORAN_M + db 13, PIDGEY + db 13, VULPIX + db 13, STANTLER + db 15, PIDGEY + db 15, PIDGEY + ; day + db 12, NIDORAN_F + db 12, NIDORAN_M + db 14, PIDGEY + db 13, VULPIX + db 13, STANTLER + db 15, VULPIX + db 15, VULPIX + ; nite + db 12, NIDORAN_F + db 12, NIDORAN_M + db 13, HOOTHOOT + db 13, VULPIX + db 13, STANTLER + db 15, HOOTHOOT + db 15, HOOTHOOT + ENDC + + map_id ROUTE_37 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 13, LEDYBA + db 13, PIDGEY + db 15, STANTLER + db 15, PIDGEY db 14, GROWLITHE db 15, PIDGEY - db 16, GROWLITHE - db 15, PIDGEOTTO - db 15, LEDIAN - db 15, LEDIAN + db 15, PIDGEY + db 15, PIDGEY ; day db 13, PIDGEY - db 14, GROWLITHE + db 15, STANTLER db 15, PIDGEY - db 16, GROWLITHE + db 14, GROWLITHE db 15, PIDGEOTTO + db 16, GROWLITHE + db 16, GROWLITHE + ; nite + db 13, SPINARAK + db 15, STANTLER + db 15, HOOTHOOT + db 14, GROWLITHE + db 15, SPINARAK + db 15, SPINARAK + db 15, SPINARAK + + ELIF DEF(_SILVER) + ; morn + db 13, LEDYBA + db 15, STANTLER db 15, PIDGEY + db 14, VULPIX + db 15, LEDYBA + db 15, LEDYBA + db 15, LEDYBA + ; day + db 13, PIDGEY + db 15, STANTLER db 15, PIDGEY + db 14, VULPIX + db 15, PIDGEOTTO + db 16, VULPIX + db 16, VULPIX ; nite - db 13, SPINARAK - db 14, STANTLER + db 13, HOOTHOOT + db 15, STANTLER + db 15, HOOTHOOT + db 14, VULPIX + db 15, HOOTHOOT db 15, HOOTHOOT - db 16, STANTLER - db 15, NOCTOWL - db 15, ARIADOS - db 15, ARIADOS + db 15, HOOTHOOT + ENDC - map ROUTE_38 + map_id ROUTE_38 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 16, RATTATA db 16, RATICATE db 16, MAGNEMITE - db 16, PIDGEOTTO - db 13, TAUROS - db 13, MILTANK + db 16, FARFETCH_D db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL ; day db 16, RATTATA db 16, RATICATE db 16, MAGNEMITE - db 16, PIDGEOTTO - db 13, TAUROS - db 13, MILTANK + db 16, FARFETCH_D db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL ; nite + db 16, RATTATA + db 16, RATICATE + db 16, MAGNEMITE + db 16, RATTATA + db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL + + ELIF DEF(_SILVER) + ; morn db 16, MEOWTH db 16, RATICATE db 16, MAGNEMITE - db 16, NOCTOWL + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL + ; day db 16, MEOWTH + db 16, RATICATE + db 16, MAGNEMITE + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL + ; nite db 16, MEOWTH + db 16, RATICATE + db 16, MAGNEMITE db 16, MEOWTH + db 13, MILTANK + db 13, TAUROS + db 13, SNUBBULL + ENDC - map ROUTE_39 - db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + map_id ROUTE_39 + IF DEF(_GOLD) + db 2 percent, 2 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 16, RATTATA - db 16, RATICATE + db 17, RATICATE db 16, MAGNEMITE - db 16, PIDGEOTTO + db 16, FARFETCH_D db 15, MILTANK db 15, TAUROS db 15, TAUROS ; day db 16, RATTATA - db 16, RATICATE + db 17, RATICATE db 16, MAGNEMITE - db 16, PIDGEOTTO + db 16, FARFETCH_D db 15, MILTANK db 15, TAUROS db 15, TAUROS ; nite + db 16, RATTATA + db 17, RATICATE + db 16, MAGNEMITE + db 16, RATTATA + db 15, MILTANK + db 15, TAUROS + db 15, TAUROS + + ELIF DEF(_SILVER) + db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + ; morn db 16, MEOWTH - db 16, RATICATE + db 17, RATICATE db 16, MAGNEMITE - db 16, NOCTOWL - db 18, MEOWTH - db 18, MEOWTH - db 18, MEOWTH + db 16, FARFETCH_D + db 15, MILTANK + db 15, TAUROS + db 15, TAUROS + ; day + db 16, MEOWTH + db 17, RATICATE + db 16, MAGNEMITE + db 16, FARFETCH_D + db 15, MILTANK + db 15, TAUROS + db 15, TAUROS + ; nite + db 16, MEOWTH + db 17, RATICATE + db 16, MAGNEMITE + db 16, MEOWTH + db 15, MILTANK + db 15, TAUROS + db 15, TAUROS + ENDC - map ROUTE_42 + map_id ROUTE_42 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 13, EKANS + db 15, MANKEY + db 13, MAREEP db 14, SPEAROW - db 15, RATTATA - db 16, RATICATE - db 15, ARBOK - db 16, FEAROW - db 16, FEAROW + db 16, SPEAROW + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY ; day - db 13, EKANS + db 15, MANKEY + db 13, MAREEP db 14, SPEAROW - db 15, RATTATA - db 16, RATICATE - db 15, ARBOK - db 16, FEAROW - db 16, FEAROW + db 16, SPEAROW + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY ; nite - db 13, RATTATA + db 15, MANKEY + db 13, MAREEP db 14, ZUBAT - db 15, RATICATE - db 16, GOLBAT - db 15, MARILL - db 16, GOLBAT - db 16, GOLBAT + db 16, ZUBAT + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY - map ROUTE_43 + ELIF DEF(_SILVER) + ; morn + db 13, MAREEP + db 14, SPEAROW + db 15, MAREEP + db 16, SPEAROW + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY + ; day + db 13, MAREEP + db 14, SPEAROW + db 15, MAREEP + db 16, SPEAROW + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY + ; nite + db 13, MAREEP + db 14, ZUBAT + db 15, MAREEP + db 16, ZUBAT + db 15, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY + ENDC + + map_id ROUTE_43 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 15, SENTRET - db 16, PIDGEOTTO - db 16, FARFETCH_D - db 15, FURRET - db 17, RATICATE - db 17, FURRET - db 17, FURRET + db 15, FLAAFFY + db 15, GIRAFARIG + db 17, PIDGEOTTO + db 15, MAREEP + db 16, VENONAT + db 17, PIDGEOTTO + db 17, PIDGEOTTO ; day - db 15, SENTRET - db 16, PIDGEOTTO - db 16, FARFETCH_D - db 15, FURRET - db 17, RATICATE - db 17, FURRET - db 17, FURRET + db 15, FLAAFFY + db 15, GIRAFARIG + db 17, PIDGEOTTO + db 15, MAREEP + db 17, FLAAFFY + db 17, FLAAFFY + db 17, FLAAFFY ; nite - db 15, VENONAT - db 16, NOCTOWL - db 16, RATICATE - db 17, VENONAT - db 17, RATICATE - db 17, VENOMOTH - db 17, VENOMOTH + db 15, FLAAFFY + db 15, GIRAFARIG + db 17, NOCTOWL + db 16, VENONAT + db 15, MAREEP + db 16, VENONAT + db 16, VENONAT - map ROUTE_44 + map_id ROUTE_44 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 23, TANGELA - db 22, LICKITUNG + db 22, WEEPINBELL db 22, BELLSPROUT - db 24, WEEPINBELL db 24, LICKITUNG + db 24, WEEPINBELL db 26, LICKITUNG db 26, LICKITUNG ; day db 23, TANGELA - db 22, LICKITUNG + db 22, WEEPINBELL db 22, BELLSPROUT - db 24, WEEPINBELL db 24, LICKITUNG + db 24, WEEPINBELL db 26, LICKITUNG db 26, LICKITUNG ; nite db 23, TANGELA - db 22, POLIWAG + db 22, WEEPINBELL db 22, BELLSPROUT + db 24, LICKITUNG db 24, WEEPINBELL - db 24, POLIWHIRL - db 26, POLIWHIRL - db 26, POLIWHIRL + db 26, LICKITUNG + db 26, LICKITUNG - map ROUTE_45 + map_id ROUTE_45 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 23, GEODUDE db 23, GRAVELER db 24, GLIGAR - db 25, DONPHAN + db 20, TEDDIURSA + db 25, GRAVELER + db 27, GRAVELER + db 27, GRAVELER + ; day + db 23, GEODUDE + db 23, GRAVELER + db 24, GLIGAR + db 20, TEDDIURSA + db 25, GRAVELER + db 27, GRAVELER + db 27, GRAVELER + ; nite + db 23, GEODUDE + db 23, GRAVELER + db 24, GLIGAR + db 20, TEDDIURSA + db 25, GRAVELER + db 27, GRAVELER + db 27, GRAVELER + + ELIF DEF(_SILVER) + ; morn + db 23, GEODUDE + db 23, GRAVELER + db 24, GRAVELER db 20, PHANPY + db 25, GRAVELER db 27, SKARMORY db 27, SKARMORY ; day db 23, GEODUDE db 23, GRAVELER - db 24, GLIGAR - db 25, DONPHAN - db 30, DONPHAN + db 24, GRAVELER + db 20, PHANPY + db 25, GRAVELER db 27, SKARMORY db 27, SKARMORY ; nite db 23, GEODUDE db 23, GRAVELER - db 24, GLIGAR + db 24, GRAVELER + db 20, PHANPY db 25, GRAVELER - db 27, GRAVELER - db 27, GRAVELER - db 27, GRAVELER + db 27, SKARMORY + db 27, SKARMORY + ENDC - map ROUTE_46 + map_id ROUTE_46 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 2, GEODUDE - db 2, SPEAROW db 3, GEODUDE - db 3, RATTATA - db 2, PHANPY - db 2, RATTATA + db 2, SPEAROW db 2, RATTATA - ; day db 2, GEODUDE - db 2, SPEAROW + db 3, SPEAROW + db 3, JIGGLYPUFF + db 5, JIGGLYPUFF + ; day db 3, GEODUDE - db 3, RATTATA - db 2, RATTATA - db 2, RATTATA + db 2, SPEAROW db 2, RATTATA - ; nite db 2, GEODUDE - db 2, RATTATA + db 3, SPEAROW + db 3, JIGGLYPUFF + db 5, JIGGLYPUFF + ; nite db 3, GEODUDE db 3, RATTATA db 2, RATTATA - db 2, RATTATA - db 2, RATTATA + db 2, GEODUDE + db 4, GEODUDE + db 3, JIGGLYPUFF + db 5, JIGGLYPUFF - map SILVER_CAVE_OUTSIDE + map_id SILVER_CAVE_OUTSIDE db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 41, TANGELA + db 42, PONYTA + db 42, URSARING + db 44, RAPIDASH + db 41, DODUO + db 43, DODRIO + db 43, DODRIO + ; day + db 41, TANGELA + db 42, PONYTA + db 42, URSARING + db 44, RAPIDASH + db 41, DODUO + db 43, DODRIO + db 43, DODRIO + ; nite + db 41, TANGELA + db 42, PONYTA + db 42, URSARING + db 44, RAPIDASH + db 38, SNEASEL + db 42, SNEASEL + db 42, SNEASEL + + ELIF DEF(_SILVER) ; morn db 41, TANGELA db 42, PONYTA - db 42, ARBOK + db 42, DONPHAN db 44, RAPIDASH db 41, DODUO db 43, DODRIO @@ -1633,18 +2345,19 @@ ; day db 41, TANGELA db 42, PONYTA - db 42, ARBOK + db 42, DONPHAN db 44, RAPIDASH db 41, DODUO db 43, DODRIO db 43, DODRIO ; nite db 41, TANGELA - db 42, POLIWHIRL - db 42, GOLBAT - db 44, POLIWHIRL - db 40, GOLBAT - db 44, GOLBAT - db 44, GOLBAT + db 42, PONYTA + db 42, DONPHAN + db 44, RAPIDASH + db 38, SNEASEL + db 42, SNEASEL + db 42, SNEASEL + ENDC db -1 ; end diff --git a/data/wild/johto_water.asm b/data/wild/johto_water.asm index a4d957ef..0924807c 100644 --- a/data/wild/johto_water.asm +++ b/data/wild/johto_water.asm @@ -1,231 +1,249 @@ ; Johto Pokémon in water - map RUINS_OF_ALPH_OUTSIDE +JohtoWaterWildMons: + + map_id RUINS_OF_ALPH_OUTSIDE db 2 percent ; encounter rate db 15, WOOPER db 20, QUAGSIRE db 15, QUAGSIRE - map UNION_CAVE_1F + map_id UNION_CAVE_1F db 2 percent ; encounter rate db 15, WOOPER db 20, QUAGSIRE db 15, QUAGSIRE - map UNION_CAVE_B1F + map_id UNION_CAVE_B1F db 2 percent ; encounter rate db 15, WOOPER db 20, QUAGSIRE db 15, QUAGSIRE - map UNION_CAVE_B2F + map_id UNION_CAVE_B2F db 4 percent ; encounter rate db 15, TENTACOOL db 20, QUAGSIRE db 20, TENTACRUEL - map SLOWPOKE_WELL_B1F + map_id SLOWPOKE_WELL_B1F db 2 percent ; encounter rate db 15, SLOWPOKE db 20, SLOWPOKE db 10, SLOWPOKE - map SLOWPOKE_WELL_B2F + map_id SLOWPOKE_WELL_B2F + IF DEF(_GOLD) + db 4 percent ; encounter rate + ELIF DEF(_SILVER) db 2 percent ; encounter rate + ENDC db 15, SLOWPOKE db 20, SLOWPOKE db 20, SLOWBRO - map ILEX_FOREST + map_id ILEX_FOREST db 2 percent ; encounter rate db 15, PSYDUCK db 10, PSYDUCK db 15, GOLDUCK - map MOUNT_MORTAR_1F_OUTSIDE + map_id MOUNT_MORTAR_1F_OUTSIDE db 4 percent ; encounter rate + db 20, GOLDEEN db 15, GOLDEEN - db 20, MARILL db 20, SEAKING - map MOUNT_MORTAR_2F_INSIDE + map_id MOUNT_MORTAR_2F_INSIDE db 2 percent ; encounter rate db 20, GOLDEEN - db 25, MARILL + db 25, GOLDEEN db 25, SEAKING - map MOUNT_MORTAR_B1F + map_id MOUNT_MORTAR_B1F db 2 percent ; encounter rate + db 20, GOLDEEN db 15, GOLDEEN - db 20, MARILL db 20, SEAKING - map WHIRL_ISLAND_SW + map_id WHIRL_ISLAND_SW db 4 percent ; encounter rate db 20, TENTACOOL db 15, HORSEA db 20, TENTACRUEL - map WHIRL_ISLAND_B2F + map_id WHIRL_ISLAND_B2F db 4 percent ; encounter rate db 15, HORSEA db 20, HORSEA db 20, TENTACRUEL - map WHIRL_ISLAND_LUGIA_CHAMBER + map_id WHIRL_ISLAND_LUGIA_CHAMBER db 4 percent ; encounter rate db 20, HORSEA db 20, TENTACRUEL db 20, SEADRA - map SILVER_CAVE_ROOM_2 + map_id SILVER_CAVE_ROOM_2 db 2 percent ; encounter rate db 35, SEAKING - db 35, GOLDUCK + db 40, SEAKING db 35, GOLDEEN - map DARK_CAVE_VIOLET_ENTRANCE + map_id DARK_CAVE_VIOLET_ENTRANCE db 2 percent ; encounter rate db 15, MAGIKARP db 10, MAGIKARP db 5, MAGIKARP - map DARK_CAVE_BLACKTHORN_ENTRANCE + map_id DARK_CAVE_BLACKTHORN_ENTRANCE db 2 percent ; encounter rate db 15, MAGIKARP db 10, MAGIKARP db 5, MAGIKARP - map DRAGONS_DEN_B1F + map_id DRAGONS_DEN_B1F db 4 percent ; encounter rate db 15, MAGIKARP db 10, MAGIKARP db 10, DRATINI - map OLIVINE_PORT - db 2 percent ; encounter rate - db 20, TENTACOOL - db 15, TENTACOOL - db 20, TENTACRUEL - - map ROUTE_30 + map_id ROUTE_30 db 2 percent ; encounter rate db 20, POLIWAG db 15, POLIWAG db 20, POLIWHIRL - map ROUTE_31 + map_id ROUTE_31 db 2 percent ; encounter rate db 20, POLIWAG db 15, POLIWAG db 20, POLIWHIRL - map ROUTE_32 + map_id ROUTE_32 db 6 percent ; encounter rate db 15, TENTACOOL db 20, QUAGSIRE db 20, TENTACRUEL - map ROUTE_34 + map_id ROUTE_34 db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map ROUTE_35 + map_id ROUTE_35 db 4 percent ; encounter rate db 20, PSYDUCK db 15, PSYDUCK db 20, GOLDUCK - map ROUTE_40 + map_id ROUTE_40 db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map ROUTE_41 + map_id ROUTE_41 db 6 percent ; encounter rate + + IF DEF(_GOLD) db 20, TENTACOOL db 20, TENTACRUEL db 20, MANTINE - map ROUTE_42 + ELIF DEF(_SILVER) + db 20, TENTACOOL + db 20, TENTACRUEL + db 15, TENTACOOL + ENDC + + map_id ROUTE_42 db 4 percent ; encounter rate db 20, GOLDEEN db 15, GOLDEEN db 20, SEAKING - map ROUTE_43 + map_id ROUTE_43 db 2 percent ; encounter rate db 20, MAGIKARP db 15, MAGIKARP db 10, MAGIKARP - map ROUTE_44 + map_id ROUTE_44 db 2 percent ; encounter rate db 25, POLIWAG db 20, POLIWAG db 25, POLIWHIRL - map ROUTE_45 + map_id ROUTE_45 db 2 percent ; encounter rate db 20, MAGIKARP db 15, MAGIKARP db 5, MAGIKARP - map NEW_BARK_TOWN + map_id NEW_BARK_TOWN db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map CHERRYGROVE_CITY + map_id CHERRYGROVE_CITY db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map VIOLET_CITY + map_id VIOLET_CITY db 2 percent ; encounter rate db 20, POLIWAG db 15, POLIWAG db 20, POLIWHIRL - map CIANWOOD_CITY + map_id CIANWOOD_CITY db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map OLIVINE_CITY + map_id OLIVINE_CITY db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map ECRUTEAK_CITY + map_id ECRUTEAK_CITY db 2 percent ; encounter rate db 20, POLIWAG db 15, POLIWAG db 20, POLIWHIRL - map LAKE_OF_RAGE + map_id LAKE_OF_RAGE + IF DEF(_GOLD) + db 4 percent ; encounter rate + ELIF DEF(_SILVER) db 6 percent ; encounter rate + ENDC db 15, MAGIKARP db 10, MAGIKARP db 15, GYARADOS - map BLACKTHORN_CITY + map_id BLACKTHORN_CITY db 4 percent ; encounter rate db 15, MAGIKARP db 10, MAGIKARP db 5, MAGIKARP - map SILVER_CAVE_OUTSIDE + map_id SILVER_CAVE_OUTSIDE db 2 percent ; encounter rate db 35, POLIWHIRL db 40, POLIWHIRL db 35, POLIWAG + map_id OLIVINE_PORT + db 2 percent ; encounter rate + db 20, TENTACOOL + db 15, TENTACOOL + db 20, TENTACRUEL + db -1 ; end diff --git a/data/wild/kanto_grass.asm b/data/wild/kanto_grass.asm index e06627d1..2884d010 100644 --- a/data/wild/kanto_grass.asm +++ b/data/wild/kanto_grass.asm @@ -1,40 +1,44 @@ ; Kanto Pokémon in grass - map DIGLETTS_CAVE +KantoGrassWildMons: + + map_id DIGLETTS_CAVE db 4 percent, 2 percent, 8 percent ; encounter rates: morn/day/nite ; morn - db 3, DIGLETT - db 6, DIGLETT - db 12, DIGLETT - db 24, DIGLETT + db 15, DIGLETT + db 17, DIGLETT + db 19, DIGLETT + db 13, DIGLETT + db 19, DUGTRIO db 24, DUGTRIO + db 29, DUGTRIO + ; day + db 15, DIGLETT + db 17, DIGLETT + db 19, DIGLETT + db 13, DIGLETT + db 19, DUGTRIO db 24, DUGTRIO + db 29, DUGTRIO + ; nite + db 15, DIGLETT + db 17, DIGLETT + db 19, DIGLETT + db 13, DIGLETT + db 19, DUGTRIO db 24, DUGTRIO - ; day - db 2, DIGLETT - db 4, DIGLETT - db 8, DIGLETT - db 16, DIGLETT - db 16, DUGTRIO - db 16, DUGTRIO - db 16, DUGTRIO - ; nite - db 4, DIGLETT - db 8, DIGLETT - db 16, DIGLETT - db 32, DIGLETT - db 32, DUGTRIO - db 32, DUGTRIO - db 32, DUGTRIO - - map MOUNT_MOON + db 29, DUGTRIO + + map_id MOUNT_MOON db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 6, ZUBAT db 8, GEODUDE db 8, SANDSHREW db 12, PARAS - db 10, GEODUDE + db 10, SANDSLASH db 8, CLEFAIRY db 8, CLEFAIRY ; day @@ -42,105 +46,165 @@ db 8, GEODUDE db 8, SANDSHREW db 12, PARAS - db 10, GEODUDE + db 10, SANDSLASH db 8, CLEFAIRY db 8, CLEFAIRY ; nite db 6, ZUBAT db 8, GEODUDE + db 8, SANDSHREW + db 12, PARAS + db 10, SANDSLASH + db 8, CLEFAIRY db 8, CLEFAIRY + + ELIF DEF(_SILVER) + ; morn + db 6, ZUBAT + db 8, GEODUDE + db 8, ZUBAT + db 12, PARAS + db 10, GEODUDE + db 8, CLEFAIRY + db 8, CLEFAIRY + ; day + db 6, ZUBAT + db 8, GEODUDE + db 8, ZUBAT + db 12, PARAS + db 10, GEODUDE + db 8, CLEFAIRY + db 8, CLEFAIRY + ; nite + db 6, ZUBAT + db 8, GEODUDE + db 8, ZUBAT db 12, PARAS db 10, GEODUDE - db 12, CLEFAIRY - db 12, CLEFAIRY + db 8, CLEFAIRY + db 8, CLEFAIRY + ENDC - map ROCK_TUNNEL_1F + map_id ROCK_TUNNEL_1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 10, CUBONE - db 11, GEODUDE + db 10, GEODUDE db 12, MACHOP - db 12, ZUBAT - db 15, MACHOKE - db 12, MAROWAK - db 12, MAROWAK + db 8, ZUBAT + db 14, MACHOKE + db 13, CUBONE + db 13, CUBONE ; day db 10, CUBONE - db 11, GEODUDE + db 10, GEODUDE db 12, MACHOP - db 12, ZUBAT - db 15, MACHOKE - db 12, MAROWAK - db 12, MAROWAK + db 8, ZUBAT + db 14, MACHOKE + db 13, CUBONE + db 13, CUBONE ; nite - db 12, ZUBAT - db 11, GEODUDE - db 12, GEODUDE - db 17, HAUNTER - db 15, ZUBAT - db 15, ZUBAT - db 15, ZUBAT + db 10, CUBONE + db 10, GEODUDE + db 12, MACHOP + db 8, ZUBAT + db 14, MACHOKE + db 13, CUBONE + db 13, CUBONE - map ROCK_TUNNEL_B1F + map_id ROCK_TUNNEL_B1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 12, CUBONE - db 14, GEODUDE + db 12, GEODUDE db 16, ONIX - db 12, ZUBAT - db 15, MAROWAK - db 15, KANGASKHAN - db 15, KANGASKHAN + db 10, ZUBAT + db 14, MAROWAK + db 14, KANGASKHAN + db 14, KANGASKHAN ; day db 12, CUBONE - db 14, GEODUDE + db 12, GEODUDE db 16, ONIX - db 12, ZUBAT - db 15, MAROWAK - db 15, KANGASKHAN - db 15, KANGASKHAN + db 10, ZUBAT + db 14, MAROWAK + db 14, KANGASKHAN + db 14, KANGASKHAN ; nite - db 12, ZUBAT - db 14, GEODUDE + db 12, CUBONE + db 12, GEODUDE db 16, ONIX - db 15, ZUBAT - db 15, HAUNTER - db 15, GOLBAT - db 15, GOLBAT + db 10, ZUBAT + db 14, MAROWAK + db 14, KANGASKHAN + db 14, KANGASKHAN - map VICTORY_ROAD + map_id VICTORY_ROAD db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 34, GRAVELER - db 32, RHYHORN - db 33, ONIX - db 34, GOLBAT - db 35, SANDSLASH - db 35, RHYDON - db 35, RHYDON - ; day - db 34, GRAVELER - db 32, RHYHORN - db 33, ONIX - db 34, GOLBAT - db 35, SANDSLASH - db 35, RHYDON - db 35, RHYDON - ; nite - db 34, GOLBAT - db 34, GRAVELER - db 32, ONIX - db 36, GRAVELER - db 38, GRAVELER - db 40, GRAVELER - db 40, GRAVELER - - map TOHJO_FALLS + db 32, GRAVELER + db 32, GOLBAT + db 33, URSARING + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + ; day + db 32, GRAVELER + db 32, GOLBAT + db 33, URSARING + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + ; nite + db 32, GRAVELER + db 32, GOLBAT + db 33, URSARING + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + + ELIF DEF(_SILVER) + ; morn + db 32, GRAVELER + db 32, GOLBAT + db 33, DONPHAN + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + ; day + db 32, GRAVELER + db 32, GOLBAT + db 33, DONPHAN + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + ; nite + db 32, GRAVELER + db 32, GOLBAT + db 33, DONPHAN + db 34, ONIX + db 36, ONIX + db 35, RHYHORN + db 35, RHYHORN + ENDC + + map_id TOHJO_FALLS + IF DEF(_GOLD) + db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite + ELIF DEF(_SILVER) db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite + ENDC ; morn db 22, ZUBAT db 22, RATICATE - db 24, GOLBAT + db 22, GOLBAT db 21, SLOWPOKE db 20, RATTATA db 23, SLOWPOKE @@ -148,7 +212,7 @@ ; day db 22, ZUBAT db 22, RATICATE - db 24, GOLBAT + db 22, GOLBAT db 21, SLOWPOKE db 20, RATTATA db 23, SLOWPOKE @@ -156,13 +220,13 @@ ; nite db 22, ZUBAT db 22, RATICATE - db 24, GOLBAT + db 22, GOLBAT db 21, SLOWPOKE db 20, RATTATA db 23, SLOWPOKE db 23, SLOWPOKE - map ROUTE_1 + map_id ROUTE_1 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 2, PIDGEY @@ -185,25 +249,27 @@ db 2, RATTATA db 3, RATTATA db 3, HOOTHOOT - db 6, RATICATE + db 6, RATTATA db 4, HOOTHOOT db 4, HOOTHOOT - map ROUTE_2 + map_id ROUTE_2 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 3, CATERPIE - db 3, LEDYBA - db 5, PIDGEY + db 3, PIDGEY + db 5, METAPOD db 7, BUTTERFREE - db 7, LEDIAN + db 7, PIDGEOTTO db 4, PIKACHU db 4, PIKACHU ; day db 3, CATERPIE db 3, PIDGEY - db 5, PIDGEY - db 7, BUTTERFREE + db 5, METAPOD + db 7, PIDGEY db 7, PIDGEOTTO db 4, PIKACHU db 4, PIKACHU @@ -213,341 +279,659 @@ db 5, HOOTHOOT db 7, NOCTOWL db 7, ARIADOS - db 4, NOCTOWL - db 4, NOCTOWL + db 4, PIKACHU + db 4, PIKACHU - map ROUTE_3 + ELIF DEF(_SILVER) + ; morn + db 3, WEEDLE + db 3, LEDYBA + db 5, KAKUNA + db 7, BEEDRILL + db 7, LEDIAN + db 4, PIKACHU + db 4, PIKACHU + ; day + db 3, WEEDLE + db 3, PIDGEY + db 5, KAKUNA + db 7, PIDGEY + db 7, PIDGEOTTO + db 4, PIKACHU + db 4, PIKACHU + ; nite + db 3, HOOTHOOT + db 3, HOOTHOOT + db 5, HOOTHOOT + db 7, NOCTOWL + db 7, NOCTOWL + db 4, PIKACHU + db 4, PIKACHU + ENDC + + map_id ROUTE_3 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 5, SPEAROW + db 5, RATTATA + db 8, SPEAROW + db 6, JIGGLYPUFF + db 10, RATTATA + db 8, SPEAROW + db 8, SPEAROW + ; day + db 5, SPEAROW + db 5, RATTATA + db 8, SPEAROW + db 6, JIGGLYPUFF + db 10, RATTATA + db 8, SPEAROW + db 8, SPEAROW + ; nite + db 5, RATTATA + db 5, ZUBAT + db 8, RATTATA + db 6, JIGGLYPUFF + db 10, RATTATA + db 8, RATTATA + db 8, RATTATA + + ELIF DEF(_SILVER) ; morn db 5, SPEAROW db 5, RATTATA db 8, EKANS - db 10, RATICATE + db 6, JIGGLYPUFF db 10, ARBOK - db 10, SANDSHREW - db 10, SANDSHREW + db 8, SPEAROW + db 8, SPEAROW ; day db 5, SPEAROW db 5, RATTATA db 8, EKANS - db 10, RATICATE + db 6, JIGGLYPUFF db 10, ARBOK - db 10, SANDSHREW - db 10, SANDSHREW + db 8, SPEAROW + db 8, SPEAROW ; nite db 5, RATTATA + db 5, ZUBAT + db 8, EKANS + db 6, JIGGLYPUFF + db 10, ARBOK + db 8, RATTATA + db 8, RATTATA + ENDC + + map_id ROUTE_4 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + + IF DEF(_GOLD) + ; morn + db 5, SPEAROW + db 5, RATTATA + db 8, SPEAROW + db 6, JIGGLYPUFF db 10, RATTATA - db 10, RATICATE - db 6, ZUBAT + db 8, SPEAROW + db 8, SPEAROW + ; day + db 5, SPEAROW db 5, RATTATA - db 6, CLEFAIRY - db 6, CLEFAIRY + db 8, SPEAROW + db 6, JIGGLYPUFF + db 10, RATTATA + db 8, SPEAROW + db 8, SPEAROW + ; nite + db 5, SPEAROW + db 5, ZUBAT + db 8, RATTATA + db 6, JIGGLYPUFF + db 10, RATTATA + db 8, RATTATA + db 8, RATTATA - map ROUTE_4 - db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ELIF DEF(_SILVER) ; morn db 5, SPEAROW db 5, RATTATA db 8, EKANS - db 10, RATICATE + db 6, JIGGLYPUFF db 10, ARBOK - db 10, SANDSHREW - db 10, SANDSHREW + db 8, SPEAROW + db 8, SPEAROW ; day db 5, SPEAROW db 5, RATTATA db 8, EKANS - db 10, RATICATE + db 6, JIGGLYPUFF db 10, ARBOK - db 10, SANDSHREW - db 10, SANDSHREW + db 8, SPEAROW + db 8, SPEAROW ; nite db 5, RATTATA - db 10, RATTATA - db 10, RATICATE - db 6, ZUBAT - db 5, RATTATA - db 6, CLEFAIRY - db 6, CLEFAIRY + db 5, ZUBAT + db 8, EKANS + db 6, JIGGLYPUFF + db 10, ARBOK + db 8, RATTATA + db 8, RATTATA + ENDC - map ROUTE_5 + map_id ROUTE_5 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 13, PIDGEY - db 13, SNUBBULL - db 15, PIDGEOTTO + db 13, BELLSPROUT + db 14, PIDGEY + db 15, PIDGEY db 12, ABRA - db 14, JIGGLYPUFF db 14, ABRA db 14, ABRA ; day db 13, PIDGEY - db 13, SNUBBULL - db 15, PIDGEOTTO + db 13, BELLSPROUT + db 14, PIDGEY + db 15, PIDGEY db 12, ABRA - db 14, JIGGLYPUFF db 14, ABRA db 14, ABRA ; nite - db 13, HOOTHOOT - db 13, MEOWTH - db 15, NOCTOWL + db 13, ODDISH + db 14, ODDISH + db 13, BELLSPROUT + db 15, GLOOM db 12, ABRA - db 14, JIGGLYPUFF db 14, ABRA db 14, ABRA - map ROUTE_6 + ELIF DEF(_SILVER) + ; morn + db 13, PIDGEY + db 13, BELLSPROUT + db 14, MEOWTH + db 15, PIDGEY + db 12, ABRA + db 14, ABRA + db 14, ABRA + ; day + db 13, PIDGEY + db 13, BELLSPROUT + db 14, MEOWTH + db 15, PIDGEY + db 12, ABRA + db 14, ABRA + db 14, ABRA + ; nite + db 13, ODDISH + db 14, MEOWTH + db 13, BELLSPROUT + db 15, GLOOM + db 12, ABRA + db 14, ABRA + db 14, ABRA + ENDC + + map_id ROUTE_6 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 13, RATTATA - db 13, SNUBBULL - db 14, MAGNEMITE - db 15, RATICATE - db 12, JIGGLYPUFF - db 15, GRANBULL - db 15, GRANBULL + db 13, PIDGEY + db 13, BELLSPROUT + db 14, PIDGEY + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA ; day - db 13, RATTATA - db 13, SNUBBULL - db 14, MAGNEMITE - db 15, RATICATE - db 12, JIGGLYPUFF - db 15, GRANBULL - db 15, GRANBULL - ; nite - db 13, MEOWTH - db 13, DROWZEE - db 14, MAGNEMITE - db 15, PSYDUCK - db 12, JIGGLYPUFF - db 15, RATICATE - db 15, RATICATE + db 13, PIDGEY + db 13, BELLSPROUT + db 14, PIDGEY + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA + ; nite + db 13, ODDISH + db 14, ODDISH + db 13, BELLSPROUT + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA - map ROUTE_7 + ELIF DEF(_SILVER) + ; morn + db 13, PIDGEY + db 13, BELLSPROUT + db 14, MEOWTH + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA + ; day + db 13, PIDGEY + db 13, BELLSPROUT + db 14, MEOWTH + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA + ; nite + db 13, ODDISH + db 14, MEOWTH + db 13, BELLSPROUT + db 15, MAGNEMITE + db 12, ABRA + db 14, ABRA + db 14, ABRA + ENDC + + map_id ROUTE_7 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 17, RATTATA db 17, SPEAROW - db 18, SNUBBULL - db 18, RATICATE - db 18, JIGGLYPUFF - db 16, ABRA - db 16, ABRA + db 18, GROWLITHE + db 19, RATICATE + db 19, RATTATA + db 15, RATTATA + db 15, RATTATA ; day db 17, RATTATA db 17, SPEAROW - db 18, SNUBBULL - db 18, RATICATE - db 18, JIGGLYPUFF - db 16, ABRA - db 16, ABRA + db 18, GROWLITHE + db 19, RATICATE + db 19, RATTATA + db 15, GROWLITHE + db 15, GROWLITHE + ; nite + db 17, RATTATA + db 17, MURKROW + db 18, GROWLITHE + db 19, RATICATE + db 19, MURKROW + db 15, HOUNDOUR + db 15, HOUNDOUR + + ELIF DEF(_SILVER) + ; morn + db 17, MEOWTH + db 17, SPEAROW + db 18, VULPIX + db 19, RATICATE + db 19, PERSIAN + db 15, RATTATA + db 15, RATTATA + ; day + db 17, MEOWTH + db 17, SPEAROW + db 18, VULPIX + db 19, RATICATE + db 19, PERSIAN + db 15, VULPIX + db 15, VULPIX ; nite db 17, MEOWTH db 17, MURKROW - db 18, HOUNDOUR - db 18, PERSIAN - db 18, JIGGLYPUFF - db 16, ABRA - db 16, ABRA + db 18, VULPIX + db 19, RATICATE + db 19, PERSIAN + db 15, HOUNDOUR + db 15, HOUNDOUR + ENDC - map ROUTE_8 + map_id ROUTE_8 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 17, SNUBBULL + db 17, PIDGEOTTO db 19, PIDGEOTTO - db 16, ABRA - db 17, GROWLITHE - db 16, JIGGLYPUFF - db 18, KADABRA - db 18, KADABRA + db 15, ABRA + db 18, GROWLITHE + db 17, PIDGEOTTO + db 15, KADABRA + db 15, KADABRA ; day - db 17, SNUBBULL + db 17, PIDGEOTTO db 19, PIDGEOTTO - db 16, ABRA - db 17, GROWLITHE - db 16, JIGGLYPUFF - db 18, KADABRA - db 18, KADABRA + db 15, ABRA + db 18, GROWLITHE + db 17, PIDGEOTTO + db 15, KADABRA + db 15, KADABRA ; nite + db 17, NOCTOWL + db 20, HAUNTER + db 15, ABRA + db 19, NOCTOWL + db 18, GROWLITHE + db 15, KADABRA + db 15, KADABRA + + ELIF DEF(_SILVER) + ; morn db 17, MEOWTH - db 20, NOCTOWL - db 16, ABRA - db 17, HAUNTER - db 16, JIGGLYPUFF - db 18, KADABRA - db 18, KADABRA - - map ROUTE_9 + db 19, PIDGEOTTO + db 15, ABRA + db 18, VULPIX + db 17, PIDGEOTTO + db 15, KADABRA + db 15, KADABRA + ; day + db 17, MEOWTH + db 19, PIDGEOTTO + db 15, ABRA + db 18, VULPIX + db 17, PIDGEOTTO + db 15, KADABRA + db 15, KADABRA + ; nite + db 17, MEOWTH + db 20, HAUNTER + db 15, ABRA + db 19, NOCTOWL + db 18, VULPIX + db 15, KADABRA + db 15, KADABRA + ENDC + + map_id ROUTE_9 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn + db 13, MANKEY db 15, RATTATA - db 15, SPEAROW + db 13, SPEAROW db 15, RATICATE db 15, FEAROW - db 15, FEAROW - db 18, MAROWAK - db 18, MAROWAK + db 15, PRIMEAPE + db 15, PRIMEAPE ; day + db 13, MANKEY db 15, RATTATA - db 15, SPEAROW + db 13, SPEAROW db 15, RATICATE db 15, FEAROW - db 15, FEAROW - db 18, MAROWAK - db 18, MAROWAK + db 15, PRIMEAPE + db 15, PRIMEAPE ; nite + db 13, MANKEY db 15, RATTATA - db 15, VENONAT db 15, RATICATE - db 15, VENOMOTH - db 15, ZUBAT - db 18, RATICATE - db 18, RATICATE + db 13, RATTATA + db 15, RATICATE + db 15, PRIMEAPE + db 15, PRIMEAPE - map ROUTE_10_NORTH - db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ELIF DEF(_SILVER) ; morn + db 13, RATTATA db 15, SPEAROW - db 17, VOLTORB + db 13, SPEAROW db 15, RATICATE db 15, FEAROW - db 15, MAROWAK - db 16, ELECTABUZZ - db 16, ELECTABUZZ + db 15, RATICATE + db 15, RATICATE ; day + db 13, RATTATA db 15, SPEAROW - db 17, VOLTORB + db 13, SPEAROW db 15, RATICATE db 15, FEAROW - db 15, MAROWAK - db 18, ELECTABUZZ - db 18, ELECTABUZZ + db 15, RATICATE + db 15, RATICATE ; nite - db 15, VENONAT - db 17, VOLTORB + db 13, RATTATA + db 15, RATTATA + db 15, RATICATE + db 13, RATTATA db 15, RATICATE - db 15, VENOMOTH - db 15, ZUBAT - db 16, ELECTABUZZ - db 16, ELECTABUZZ + db 15, RATICATE + db 15, RATICATE + ENDC - map ROUTE_11 + map_id ROUTE_10_NORTH db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 14, HOPPIP - db 13, RATICATE + db 16, SPEAROW + db 17, VOLTORB + db 16, RATICATE + db 18, FEAROW + db 16, QUAGSIRE + db 15, ELECTABUZZ + db 15, ELECTABUZZ + ; day + db 16, SPEAROW + db 17, VOLTORB + db 17, RATICATE + db 18, FEAROW + db 15, ELECTABUZZ + db 17, ELECTABUZZ + db 17, ELECTABUZZ + ; nite + db 16, QUAGSIRE + db 17, VOLTORB + db 16, RATICATE + db 17, QUAGSIRE + db 18, RATICATE + db 15, ELECTABUZZ + db 15, ELECTABUZZ + + map_id ROUTE_11 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + db 14, DROWZEE + db 15, RATTATA db 15, MAGNEMITE - db 16, PIDGEOTTO - db 16, RATTATA - db 16, HOPPIP - db 16, HOPPIP + db 16, DROWZEE + db 16, HYPNO + db 16, HYPNO + db 16, HYPNO ; day - db 14, HOPPIP - db 13, RATICATE + db 14, DROWZEE + db 15, RATTATA db 15, MAGNEMITE - db 16, PIDGEOTTO - db 16, RATTATA - db 16, HOPPIP - db 16, HOPPIP + db 16, DROWZEE + db 16, HYPNO + db 16, HYPNO + db 16, HYPNO ; nite db 14, DROWZEE - db 13, MEOWTH + db 15, RATTATA db 15, MAGNEMITE - db 16, NOCTOWL - db 16, RATICATE + db 16, DROWZEE + db 16, HYPNO db 16, HYPNO db 16, HYPNO - map ROUTE_13 + map_id ROUTE_13 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn + db 23, NIDORINA db 23, NIDORINO + db 25, PIDGEOTTO + db 22, HOPPIP + db 24, HOPPIP + db 22, QUAGSIRE + db 25, CHANSEY + ; day db 23, NIDORINA + db 23, NIDORINO db 25, PIDGEOTTO - db 25, HOPPIP - db 27, HOPPIP - db 27, HOPPIP + db 22, HOPPIP + db 24, HOPPIP + db 24, HOPPIP + db 25, CHANSEY + ; nite + db 23, NIDORINA + db 23, NIDORINO + db 25, NOCTOWL + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE + db 25, CHANSEY + + ELIF DEF(_SILVER) + ; morn + db 23, NIDORINO + db 23, NIDORINA + db 25, PIDGEOTTO + db 22, HOPPIP + db 24, HOPPIP + db 22, QUAGSIRE db 25, CHANSEY ; day db 23, NIDORINO db 23, NIDORINA db 25, PIDGEOTTO - db 25, HOPPIP - db 27, HOPPIP - db 27, HOPPIP + db 22, HOPPIP + db 24, HOPPIP + db 24, HOPPIP db 25, CHANSEY ; nite - db 23, VENONAT - db 23, QUAGSIRE + db 23, NIDORINO + db 23, NIDORINA db 25, NOCTOWL - db 25, VENOMOTH - db 25, QUAGSIRE - db 25, QUAGSIRE + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE db 25, CHANSEY + ENDC - map ROUTE_14 + map_id ROUTE_14 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn - db 26, NIDORINO - db 26, NIDORINA - db 28, PIDGEOTTO - db 28, HOPPIP - db 30, SKIPLOOM - db 30, SKIPLOOM - db 28, CHANSEY - ; day - db 26, NIDORINO - db 26, NIDORINA - db 28, PIDGEOTTO - db 28, HOPPIP - db 30, SKIPLOOM - db 30, SKIPLOOM - db 28, CHANSEY - ; nite - db 26, VENONAT - db 26, QUAGSIRE - db 28, NOCTOWL - db 28, VENOMOTH - db 28, QUAGSIRE - db 28, QUAGSIRE - db 28, CHANSEY + db 23, NIDORINA + db 23, NIDORINO + db 25, PIDGEOTTO + db 24, HOPPIP + db 26, SKIPLOOM + db 22, QUAGSIRE + db 25, CHANSEY + ; day + db 23, NIDORINA + db 23, NIDORINO + db 25, PIDGEOTTO + db 24, HOPPIP + db 26, SKIPLOOM + db 26, SKIPLOOM + db 25, CHANSEY + ; nite + db 23, NIDORINA + db 23, NIDORINO + db 25, NOCTOWL + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE + db 25, CHANSEY - map ROUTE_15 + ELIF DEF(_SILVER) + ; morn + db 23, NIDORINO + db 23, NIDORINA + db 25, PIDGEOTTO + db 24, HOPPIP + db 26, SKIPLOOM + db 22, QUAGSIRE + db 25, CHANSEY + ; day + db 23, NIDORINO + db 23, NIDORINA + db 25, PIDGEOTTO + db 24, HOPPIP + db 26, SKIPLOOM + db 26, SKIPLOOM + db 25, CHANSEY + ; nite + db 23, NIDORINO + db 23, NIDORINA + db 25, NOCTOWL + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE + db 25, CHANSEY + ENDC + + map_id ROUTE_15 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 23, NIDORINA + db 23, NIDORINO + db 25, PIDGEOTTO + db 22, HOPPIP + db 24, HOPPIP + db 22, QUAGSIRE + db 25, CHANSEY + ; day + db 23, NIDORINA + db 23, NIDORINO + db 25, PIDGEOTTO + db 22, HOPPIP + db 24, HOPPIP + db 24, HOPPIP + db 25, CHANSEY + ; nite + db 23, NIDORINA + db 23, NIDORINO + db 25, NOCTOWL + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE + db 25, CHANSEY + + ELIF DEF(_SILVER) ; morn db 23, NIDORINO db 23, NIDORINA db 25, PIDGEOTTO - db 25, HOPPIP - db 27, HOPPIP - db 27, HOPPIP + db 22, HOPPIP + db 24, HOPPIP + db 22, QUAGSIRE db 25, CHANSEY ; day db 23, NIDORINO db 23, NIDORINA db 25, PIDGEOTTO - db 25, HOPPIP - db 27, HOPPIP - db 27, HOPPIP + db 22, HOPPIP + db 24, HOPPIP + db 24, HOPPIP db 25, CHANSEY ; nite - db 23, VENONAT - db 23, QUAGSIRE + db 23, NIDORINO + db 23, NIDORINA db 25, NOCTOWL - db 25, VENOMOTH - db 25, QUAGSIRE - db 25, QUAGSIRE + db 22, QUAGSIRE + db 24, QUAGSIRE + db 24, QUAGSIRE db 25, CHANSEY + ENDC - map ROUTE_16 + map_id ROUTE_16 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 26, GRIMER db 27, FEAROW db 28, GRIMER db 29, FEAROW - db 29, FEAROW + db 27, SLUGMA db 30, MUK db 30, MUK ; day @@ -555,53 +939,53 @@ db 27, FEAROW db 28, GRIMER db 29, FEAROW - db 29, SLUGMA + db 27, SLUGMA db 30, MUK db 30, MUK ; nite db 26, GRIMER db 27, GRIMER db 28, GRIMER - db 29, MURKROW - db 29, MURKROW + db 28, MURKROW + db 27, SLUGMA db 30, MUK db 30, MUK - map ROUTE_17 + map_id ROUTE_17 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 30, FEAROW + db 28, FEAROW + db 27, GRIMER db 29, GRIMER - db 31, GRIMER - db 32, FEAROW - db 33, GRIMER - db 33, MUK - db 33, MUK - ; day db 30, FEAROW db 29, SLUGMA + db 32, MUK + db 32, MUK + ; day + db 28, FEAROW + db 27, SLUGMA db 29, GRIMER - db 32, FEAROW - db 32, SLUGMA - db 33, MUK - db 33, MUK + db 30, FEAROW + db 25, SLUGMA + db 32, MUK + db 32, MUK ; nite - db 30, GRIMER + db 28, GRIMER + db 27, GRIMER db 29, GRIMER - db 31, GRIMER - db 32, GRIMER - db 33, GRIMER - db 33, MUK - db 33, MUK + db 30, MUK + db 29, SLUGMA + db 32, MUK + db 32, MUK - map ROUTE_18 + map_id ROUTE_18 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 26, GRIMER db 27, FEAROW db 28, GRIMER db 29, FEAROW - db 29, FEAROW + db 27, SLUGMA db 30, MUK db 30, MUK ; day @@ -609,46 +993,46 @@ db 27, FEAROW db 28, GRIMER db 29, FEAROW - db 29, SLUGMA + db 27, SLUGMA db 30, MUK db 30, MUK ; nite db 26, GRIMER db 27, GRIMER db 28, GRIMER - db 29, GRIMER - db 29, GRIMER + db 28, MUK + db 27, SLUGMA db 30, MUK db 30, MUK - map ROUTE_21 + map_id ROUTE_21 db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn db 30, TANGELA - db 25, RATTATA + db 25, TANGELA db 35, TANGELA - db 20, RATICATE - db 30, MR__MIME + db 20, TANGELA + db 30, TANGELA db 28, MR__MIME db 28, MR__MIME ; day db 30, TANGELA - db 25, RATTATA + db 25, TANGELA db 35, TANGELA - db 20, RATICATE + db 20, TANGELA db 28, MR__MIME db 30, MR__MIME db 30, MR__MIME ; nite db 30, TANGELA - db 25, RATTATA + db 25, TANGELA db 35, TANGELA - db 20, RATICATE + db 20, TANGELA db 30, TANGELA - db 28, TANGELA - db 28, TANGELA + db 28, MR__MIME + db 28, MR__MIME - map ROUTE_22 + map_id ROUTE_22 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn db 3, RATTATA @@ -668,146 +1052,233 @@ db 7, FEAROW ; nite db 3, RATTATA - db 3, POLIWAG + db 3, RATTATA db 5, RATTATA - db 4, POLIWAG - db 6, RATTATA + db 4, RATTATA + db 6, PONYTA db 7, RATTATA db 7, RATTATA - map ROUTE_24 + map_id ROUTE_24 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 8, CATERPIE - db 10, CATERPIE - db 12, METAPOD - db 12, ABRA + db 8, BELLSPROUT db 10, BELLSPROUT - db 14, BUTTERFREE - db 14, BUTTERFREE + db 9, ABRA + db 12, WEEPINBELL + db 8, VENONAT + db 14, WEEPINBELL + db 14, WEEPINBELL ; day - db 8, CATERPIE - db 12, SUNKERN - db 10, CATERPIE - db 12, ABRA + db 8, BELLSPROUT + db 10, SUNKERN + db 9, ABRA + db 12, WEEPINBELL db 10, BELLSPROUT - db 14, BUTTERFREE - db 14, BUTTERFREE + db 14, WEEPINBELL + db 14, WEEPINBELL ; nite - db 10, VENONAT + db 8, VENONAT db 10, ODDISH - db 12, ODDISH - db 12, ABRA + db 9, ABRA + db 13, WEEPINBELL db 10, BELLSPROUT - db 14, GLOOM - db 14, GLOOM + db 10, VENOMOTH + db 10, VENOMOTH - map ROUTE_25 + map_id ROUTE_25 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - db 10, CATERPIE - db 10, PIDGEY - db 12, PIDGEOTTO - db 12, METAPOD + db 8, PIDGEY db 10, BELLSPROUT - db 14, BUTTERFREE - db 14, BUTTERFREE + db 8, VENONAT + db 9, ABRA + db 10, PIDGEOTTO + db 14, WEEPINBELL + db 14, WEEPINBELL ; day - db 10, CATERPIE + db 8, PIDGEY + db 10, BELLSPROUT db 10, PIDGEY + db 9, ABRA db 12, PIDGEOTTO - db 12, METAPOD - db 10, BELLSPROUT - db 14, BUTTERFREE - db 14, BUTTERFREE + db 14, WEEPINBELL + db 14, WEEPINBELL ; nite + db 8, VENONAT db 10, ODDISH - db 10, HOOTHOOT - db 10, VENONAT - db 12, NOCTOWL + db 10, VENOMOTH + db 9, ABRA + db 14, WEEPINBELL + db 10, BELLSPROUT db 10, BELLSPROUT - db 14, NOCTOWL - db 14, NOCTOWL - map ROUTE_26 + map_id ROUTE_26 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 28, DODUO db 28, SANDSLASH db 32, PONYTA - db 30, RATICATE db 30, DODUO - db 30, ARBOK - db 30, ARBOK + db 30, DODRIO + db 30, RATICATE + db 30, QUAGSIRE ; day db 28, DODUO db 28, SANDSLASH db 32, PONYTA + db 30, DODUO + db 30, RATICATE + db 30, DODRIO + db 30, DODRIO + ; nite + db 28, RATICATE + db 28, SANDSLASH + db 32, PONYTA + db 30, RATICATE + db 30, QUAGSIRE + db 32, QUAGSIRE + db 32, QUAGSIRE + + ELIF DEF(_SILVER) + ; morn + db 28, DODUO + db 28, RATICATE + db 32, PONYTA + db 30, DODUO + db 30, ARBOK db 30, RATICATE + db 30, QUAGSIRE + ; day + db 28, DODUO + db 28, RATICATE + db 32, PONYTA db 30, DODUO + db 30, RATICATE db 30, ARBOK db 30, ARBOK ; nite - db 28, NOCTOWL db 28, RATICATE - db 32, NOCTOWL + db 28, RATICATE + db 32, PONYTA db 30, RATICATE db 30, QUAGSIRE - db 30, QUAGSIRE - db 30, QUAGSIRE + db 30, ARBOK + db 30, ARBOK + ENDC - map ROUTE_27 + map_id ROUTE_27 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) ; morn db 28, DODUO - db 28, ARBOK + db 28, RATICATE + db 30, DODUO + db 28, QUAGSIRE + db 32, PONYTA + db 30, SANDSLASH + db 30, SANDSLASH + ; day + db 28, DODUO + db 28, RATICATE + db 30, DODUO db 30, RATICATE + db 32, PONYTA + db 30, SANDSLASH + db 30, SANDSLASH + ; nite + db 28, QUAGSIRE + db 28, RATICATE + db 30, QUAGSIRE + db 30, RATICATE + db 32, PONYTA + db 30, SANDSLASH + db 30, SANDSLASH + + ELIF DEF(_SILVER) + ; morn + db 28, DODUO + db 28, ARBOK db 30, DODUO + db 28, QUAGSIRE db 32, PONYTA db 30, DODRIO db 30, DODRIO ; day db 28, DODUO db 28, ARBOK - db 30, RATICATE db 30, DODUO + db 30, RATICATE db 32, PONYTA db 30, DODRIO db 30, DODRIO ; nite db 28, QUAGSIRE - db 28, NOCTOWL - db 30, RATICATE + db 28, ARBOK db 30, QUAGSIRE - db 32, NOCTOWL - db 32, NOCTOWL - db 32, NOCTOWL + db 30, RATICATE + db 32, PONYTA + db 32, QUAGSIRE + db 32, QUAGSIRE + ENDC - map ROUTE_28 + map_id ROUTE_28 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 39, TANGELA + db 40, PONYTA + db 40, URSARING + db 42, RAPIDASH + db 41, DODUO + db 43, DODRIO + db 43, DODRIO + ; day + db 39, TANGELA + db 40, PONYTA + db 40, URSARING + db 42, RAPIDASH + db 41, DODUO + db 43, DODRIO + db 43, DODRIO + ; nite + db 39, TANGELA + db 40, PONYTA + db 40, URSARING + db 40, SNEASEL + db 42, RAPIDASH + db 42, RAPIDASH + db 42, RAPIDASH + + ELIF DEF(_SILVER) ; morn db 39, TANGELA db 40, PONYTA - db 40, RAPIDASH - db 42, ARBOK + db 40, DONPHAN + db 42, RAPIDASH db 41, DODUO db 43, DODRIO db 43, DODRIO ; day db 39, TANGELA db 40, PONYTA - db 40, RAPIDASH - db 42, ARBOK + db 40, DONPHAN + db 42, RAPIDASH db 41, DODUO db 43, DODRIO db 43, DODRIO ; nite db 39, TANGELA - db 40, POLIWHIRL - db 40, GOLBAT - db 40, POLIWHIRL - db 42, GOLBAT - db 42, GOLBAT - db 42, GOLBAT + db 40, PONYTA + db 40, DONPHAN + db 40, SNEASEL + db 42, RAPIDASH + db 42, RAPIDASH + db 42, RAPIDASH + ENDC db -1 ; end diff --git a/data/wild/kanto_water.asm b/data/wild/kanto_water.asm index 558d56a2..1f91e95e 100644 --- a/data/wild/kanto_water.asm +++ b/data/wild/kanto_water.asm @@ -1,147 +1,149 @@ ; Kanto Pokémon in water - map TOHJO_FALLS - db 4 percent ; encounter rate - db 20, GOLDEEN - db 20, SLOWPOKE - db 20, SEAKING - - map VERMILION_PORT - db 2 percent ; encounter rate - db 35, TENTACOOL - db 30, TENTACOOL - db 35, TENTACRUEL +KantoWaterWildMons: - map ROUTE_4 + map_id ROUTE_4 db 4 percent ; encounter rate db 10, GOLDEEN db 5, GOLDEEN db 10, SEAKING - map ROUTE_6 + map_id ROUTE_6 db 2 percent ; encounter rate db 10, PSYDUCK db 5, PSYDUCK db 10, GOLDUCK - map ROUTE_9 + map_id ROUTE_9 db 4 percent ; encounter rate db 15, GOLDEEN db 10, GOLDEEN db 15, SEAKING - map ROUTE_10_NORTH + map_id ROUTE_10_NORTH db 4 percent ; encounter rate db 15, GOLDEEN db 10, GOLDEEN db 15, SEAKING - map ROUTE_12 + map_id ROUTE_12 db 6 percent ; encounter rate db 25, TENTACOOL db 25, QUAGSIRE db 25, TENTACRUEL - map ROUTE_13 + map_id ROUTE_13 db 6 percent ; encounter rate db 25, TENTACOOL db 25, QUAGSIRE db 25, TENTACRUEL - map ROUTE_19 + map_id ROUTE_19 db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL - map ROUTE_20 + map_id ROUTE_20 db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL - map ROUTE_21 + map_id ROUTE_21 db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL - map ROUTE_22 + map_id ROUTE_22 db 2 percent ; encounter rate db 10, POLIWAG db 5, POLIWAG db 10, POLIWHIRL - map ROUTE_24 + map_id ROUTE_24 db 4 percent ; encounter rate db 10, GOLDEEN db 5, GOLDEEN db 10, SEAKING - map ROUTE_25 + map_id ROUTE_25 db 4 percent ; encounter rate db 10, GOLDEEN db 5, GOLDEEN db 10, SEAKING - map ROUTE_26 + map_id ROUTE_26 db 6 percent ; encounter rate db 30, TENTACOOL db 25, TENTACOOL db 30, TENTACRUEL - map ROUTE_27 + map_id ROUTE_27 db 6 percent ; encounter rate db 20, TENTACOOL db 15, TENTACOOL db 20, TENTACRUEL - map ROUTE_28 + map_id TOHJO_FALLS + db 4 percent ; encounter rate + db 20, GOLDEEN + db 20, SLOWPOKE + db 20, SEAKING + + map_id ROUTE_28 db 2 percent ; encounter rate db 40, POLIWAG db 35, POLIWAG db 40, POLIWHIRL - map PALLET_TOWN + map_id PALLET_TOWN db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL - map VIRIDIAN_CITY + map_id VIRIDIAN_CITY db 2 percent ; encounter rate db 10, POLIWAG db 5, POLIWAG db 10, POLIWHIRL - map CERULEAN_CITY + map_id CERULEAN_CITY db 4 percent ; encounter rate db 10, GOLDEEN db 5, GOLDEEN db 10, SEAKING - map VERMILION_CITY + map_id VERMILION_CITY db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL - map CELADON_CITY + map_id CELADON_CITY db 2 percent ; encounter rate db 20, GRIMER db 15, GRIMER db 15, MUK - map FUCHSIA_CITY + map_id FUCHSIA_CITY db 2 percent ; encounter rate db 20, MAGIKARP db 15, MAGIKARP db 10, MAGIKARP - map CINNABAR_ISLAND + map_id CINNABAR_ISLAND db 6 percent ; encounter rate db 35, TENTACOOL db 30, TENTACOOL db 35, TENTACRUEL + map_id VERMILION_PORT + db 2 percent ; encounter rate + db 35, TENTACOOL + db 30, TENTACOOL + db 35, TENTACRUEL + db -1 ; end diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm new file mode 100644 index 00000000..bf3144bb --- /dev/null +++ b/data/wild/probabilities.asm @@ -0,0 +1,18 @@ +mon_prob: MACRO +; percent, index + db \1, \2 * 2 +ENDM + +GrassMonProbTable: + mon_prob 30, 0 ; 30% chance + mon_prob 60, 1 ; 30% chance + mon_prob 80, 2 ; 20% chance + mon_prob 90, 3 ; 10% chance + mon_prob 95, 4 ; 5% chance + mon_prob 99, 5 ; 4% chance + mon_prob 100, 6 ; 1% chance + +WaterMonProbTable: + mon_prob 60, 0 ; 60% chance + mon_prob 90, 1 ; 30% chance + mon_prob 100, 2 ; 10% chance diff --git a/data/wild/roammon_maps.asm b/data/wild/roammon_maps.asm new file mode 100644 index 00000000..628a2679 --- /dev/null +++ b/data/wild/roammon_maps.asm @@ -0,0 +1,33 @@ +; Maps that roaming monsters can be on, and possible maps they can jump to. +; Notably missing are Route 40 and Route 41, which are water routes. + +roam_map: MACRO + map_id \1 + db _NARG - 1 +rept _NARG - 1 + map_id \2 + shift +endr + db 0 +ENDM + +RoamMaps: +; there are NUM_ROAMMON_MAPS entries + ; start map, ...other maps + roam_map ROUTE_29, ROUTE_30, ROUTE_46 + roam_map ROUTE_30, ROUTE_29, ROUTE_31 + roam_map ROUTE_31, ROUTE_30, ROUTE_32, ROUTE_36 + roam_map ROUTE_32, ROUTE_36, ROUTE_31, ROUTE_33 + roam_map ROUTE_33, ROUTE_32, ROUTE_34 + roam_map ROUTE_34, ROUTE_33, ROUTE_35 + roam_map ROUTE_35, ROUTE_34, ROUTE_36 + roam_map ROUTE_36, ROUTE_35, ROUTE_31, ROUTE_32, ROUTE_37 + roam_map ROUTE_37, ROUTE_36, ROUTE_38, ROUTE_42 + roam_map ROUTE_38, ROUTE_37, ROUTE_39, ROUTE_42 + roam_map ROUTE_39, ROUTE_38 + roam_map ROUTE_42, ROUTE_43, ROUTE_44, ROUTE_37, ROUTE_38 + roam_map ROUTE_43, ROUTE_42, ROUTE_44 + roam_map ROUTE_44, ROUTE_42, ROUTE_43, ROUTE_45 + roam_map ROUTE_45, ROUTE_44, ROUTE_46 + roam_map ROUTE_46, ROUTE_45, ROUTE_29 + db -1 ; end diff --git a/data/wild/swarm_grass.asm b/data/wild/swarm_grass.asm index 61d0d853..954ec7bb 100644 --- a/data/wild/swarm_grass.asm +++ b/data/wild/swarm_grass.asm @@ -1,7 +1,94 @@ -; swarms in grass +; Pokémon swarms in grass + +SwarmGrassWildMons: + +; Yanma swarm + map_id ROUTE_35 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + db 12, NIDORAN_M + db 12, NIDORAN_F + db 12, YANMA + db 14, YANMA + db 14, PIDGEY + db 10, DITTO + db 10, DITTO + ; day + db 12, NIDORAN_M + db 12, NIDORAN_F + db 12, YANMA + db 14, YANMA + db 14, PIDGEY + db 10, DITTO + db 10, DITTO + ; nite + db 12, NIDORAN_M + db 12, NIDORAN_F + db 12, YANMA + db 14, YANMA + db 14, HOOTHOOT + db 10, DITTO + db 10, DITTO + +; Snubbull swarm + map_id ROUTE_38 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + + IF DEF(_GOLD) + ; morn + db 16, SNUBBULL + db 16, RATICATE + db 16, MAGNEMITE + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + ; day + db 16, SNUBBULL + db 16, RATICATE + db 16, MAGNEMITE + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + ; nite + db 16, SNUBBULL + db 16, RATICATE + db 16, MAGNEMITE + db 16, RATTATA + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + + ELIF DEF(_SILVER) + ; morn + db 16, SNUBBULL + db 16, MEOWTH + db 16, MAGNEMITE + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + ; day + db 16, SNUBBULL + db 16, MEOWTH + db 16, MAGNEMITE + db 16, FARFETCH_D + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + ; nite + db 16, SNUBBULL + db 16, MEOWTH + db 16, MAGNEMITE + db 16, MEOWTH + db 13, MILTANK + db 13, TAUROS + db 13, TAUROS + ENDC ; Dunsparce swarm - map DARK_CAVE_VIOLET_ENTRANCE + map_id DARK_CAVE_VIOLET_ENTRANCE db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn db 3, GEODUDE @@ -28,32 +115,32 @@ db 4, DUNSPARCE db 4, DUNSPARCE -; Yanma swarm - map ROUTE_35 - db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite +; Marill swarm + map_id MOUNT_MORTAR_1F_OUTSIDE + db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn - db 12, NIDORAN_M - db 12, NIDORAN_F - db 12, YANMA - db 14, YANMA - db 14, PIDGEY - db 10, DITTO - db 10, DITTO + db 13, MARILL + db 15, ZUBAT + db 14, MACHOP + db 15, MARILL + db 14, GEODUDE + db 16, RATTATA + db 16, RATTATA ; day - db 12, NIDORAN_M - db 12, NIDORAN_F - db 12, YANMA - db 14, YANMA - db 14, PIDGEY - db 10, DITTO - db 10, DITTO + db 13, MARILL + db 15, ZUBAT + db 14, MACHOP + db 15, MARILL + db 14, GEODUDE + db 16, RATTATA + db 16, RATTATA ; nite - db 12, NIDORAN_M - db 12, NIDORAN_F - db 12, YANMA - db 14, YANMA - db 14, HOOTHOOT - db 10, DITTO - db 10, DITTO + db 13, MARILL + db 15, ZUBAT + db 14, MACHOP + db 15, MARILL + db 14, GEODUDE + db 16, RATTATA + db 16, RATTATA db -1 ; end diff --git a/data/wild/swarm_water.asm b/data/wild/swarm_water.asm index 67751b2b..d535dc6d 100644 --- a/data/wild/swarm_water.asm +++ b/data/wild/swarm_water.asm @@ -1,5 +1,12 @@ -; swarms in water +; Pokémon swarms in water - ; No swarms encountered while surfing in Crystal +SwarmWaterWildMons: + +; Marill swarm + map_id MOUNT_MORTAR_1F_OUTSIDE + db 4 percent ; encounter rate + db 20, GOLDEEN + db 20, MARILL + db 20, SEAKING db -1 ; end diff --git a/data/wild/treemon_maps.asm b/data/wild/treemon_maps.asm new file mode 100644 index 00000000..ed547b84 --- /dev/null +++ b/data/wild/treemon_maps.asm @@ -0,0 +1,48 @@ +treemon_map: MACRO + map_id \1 + db \2 ; treemon set +ENDM + +TreeMonMaps: + treemon_map ROUTE_26, TREEMON_SET_FOREST + treemon_map ROUTE_27, TREEMON_SET_FOREST + treemon_map ROUTE_28, TREEMON_SET_NONE + treemon_map ROUTE_29, TREEMON_SET_CANYON + treemon_map ROUTE_30, TREEMON_SET_CANYON + treemon_map ROUTE_31, TREEMON_SET_CANYON + treemon_map ROUTE_32, TREEMON_SET_CANYON + treemon_map ROUTE_33, TREEMON_SET_CANYON + treemon_map ROUTE_34, TREEMON_SET_FOREST + treemon_map ROUTE_35, TREEMON_SET_FOREST + treemon_map ROUTE_36, TREEMON_SET_FOREST + treemon_map ROUTE_37, TREEMON_SET_FOREST + treemon_map ROUTE_38, TREEMON_SET_FOREST + treemon_map ROUTE_39, TREEMON_SET_FOREST + treemon_map ROUTE_40, TREEMON_SET_NONE + treemon_map ROUTE_41, TREEMON_SET_NONE + treemon_map ROUTE_42, TREEMON_SET_CANYON + treemon_map ROUTE_43, TREEMON_SET_CANYON + treemon_map ROUTE_44, TREEMON_SET_CANYON + treemon_map ROUTE_45, TREEMON_SET_CANYON + treemon_map ROUTE_46, TREEMON_SET_CANYON + treemon_map NEW_BARK_TOWN, TREEMON_SET_CITY + treemon_map CHERRYGROVE_CITY, TREEMON_SET_NONE + treemon_map VIOLET_CITY, TREEMON_SET_CITY + treemon_map AZALEA_TOWN, TREEMON_SET_FOREST + treemon_map CIANWOOD_CITY, TREEMON_SET_NONE + treemon_map GOLDENROD_CITY, TREEMON_SET_NONE + treemon_map OLIVINE_CITY, TREEMON_SET_NONE + treemon_map ECRUTEAK_CITY, TREEMON_SET_CITY + treemon_map MAHOGANY_TOWN, TREEMON_SET_CITY + treemon_map LAKE_OF_RAGE, TREEMON_SET_FOREST + treemon_map BLACKTHORN_CITY, TREEMON_SET_CITY + treemon_map SILVER_CAVE_OUTSIDE, TREEMON_SET_NONE + treemon_map ILEX_FOREST, TREEMON_SET_FOREST + db -1 + +RockMonMaps: + treemon_map CIANWOOD_CITY, TREEMON_SET_ROCK + treemon_map ROUTE_40, TREEMON_SET_ROCK + treemon_map DARK_CAVE_VIOLET_ENTRANCE, TREEMON_SET_ROCK + treemon_map SLOWPOKE_WELL_B1F, TREEMON_SET_ROCK + db -1 diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm new file mode 100644 index 00000000..f2687339 --- /dev/null +++ b/data/wild/treemons.asm @@ -0,0 +1,92 @@ +TreeMons: +; entries correspond to TREEMON_SET_* constants + dw TreeMonSet_None + dw TreeMonSet_Forest + dw TreeMonSet_Canyon + dw TreeMonSet_Rock + dw TreeMonSet_Unused + dw TreeMonSet_City + +; Two tables each (common, rare). +; Structure: +; db %, species, level + +TreeMonSet_None: +TreeMonSet_Unused: +TreeMonSet_City: +; common + db 50, VENONAT, 15 + db 30, VENONAT, 15 + db 10, ABRA, 15 + db 5, ABRA, 15 + db 5, VENOMOTH, 15 + db -1 +; rare + db 50, VENONAT, 15 + db 30, MAGNEMITE, 15 + db 10, ABRA, 15 + db 5, ABRA, 15 + db 5, VENOMOTH, 15 + db -1 + +TreeMonSet_Forest: + +IF DEF(_GOLD) +; common + db 50, CATERPIE, 10 + db 15, CATERPIE, 10 + db 15, METAPOD, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, BUTTERFREE, 10 + db -1 +; rare + db 50, CATERPIE, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, BUTTERFREE, 10 + db -1 + +ELIF DEF(_SILVER) +; common + db 50, WEEDLE, 10 + db 15, WEEDLE, 10 + db 15, KAKUNA, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, BEEDRILL, 10 + db -1 +; rare + db 50, WEEDLE, 10 + db 15, PINECO, 10 + db 15, PINECO, 10 + db 10, EXEGGCUTE, 10 + db 5, EXEGGCUTE, 10 + db 5, BEEDRILL, 10 + db -1 +ENDC + +TreeMonSet_Canyon: +; common + db 50, SPEAROW, 10 + db 15, SPEAROW, 10 + db 15, SPEAROW, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 +; rare + db 50, SPEAROW, 10 + db 15, HERACROSS, 10 + db 15, HERACROSS, 10 + db 10, AIPOM, 10 + db 5, AIPOM, 10 + db 5, AIPOM, 10 + db -1 + +TreeMonSet_Rock: + db 90, KRABBY, 15 + db 10, SHUCKLE, 15 + db -1 diff --git a/data/wild/unlocked_unowns.asm b/data/wild/unlocked_unowns.asm new file mode 100644 index 00000000..d09064c4 --- /dev/null +++ b/data/wild/unlocked_unowns.asm @@ -0,0 +1,24 @@ +unown_set: MACRO +rept _NARG + db UNOWN_\1 + shift +endr + db -1 +ENDM + +UnlockedUnownLetterSets: +; entries correspond to wUnlockedUnowns bits + dw .Set_A_K ; ENGINE_UNLOCKED_UNOWNS_A_TO_K + dw .Set_L_R ; ENGINE_UNLOCKED_UNOWNS_L_TO_R + dw .Set_S_W ; ENGINE_UNLOCKED_UNOWNS_S_TO_W + dw .Set_X_Z ; ENGINE_UNLOCKED_UNOWNS_X_TO_Z +.End + +.Set_A_K: + unown_set A, B, C, D, E, F, G, H, I, J, K +.Set_L_R: + unown_set L, M, N, O, P, Q, R +.Set_S_W: + unown_set S, T, U, V, W +.Set_X_Z: + unown_set X, Y, Z |
