diff --git a/data/data2b.s b/data/data2b.s index b65087d7a..8d759b0b2 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -4866,21 +4866,3 @@ gUnknown_0831ACDC:: @ 831ACDC .align 2 gUnknown_0831ACE0:: @ 831ACE0 .byte 0xe0, 0xf0, 0xf0, 0xe0, 0xe0, 0x00, 0x00, 0x00 - -@ 831ACE8 - .include "data/type_effectiveness.inc" - -@ 831AE38 - .include "data/text/type_names.inc" - -@ 831AEB8 - .include "data/trainer_money.inc" - -@ 831AF98 - .include "data/text/ability_descriptions.inc" - -@ 831B6DB - .include "data/text/ability_names.inc" - -@ 831BAD4 - .include "data/text/ability_description_pointers.inc" diff --git a/data/text/ability_description_pointers.inc b/data/text/ability_description_pointers.inc deleted file mode 100644 index 41d3e84ef..000000000 --- a/data/text/ability_description_pointers.inc +++ /dev/null @@ -1,80 +0,0 @@ - .align 2 -gAbilityDescriptionPointers:: @ 831BAD4 - .4byte gNoneAbilityDescription - .4byte gStenchAbilityDescription - .4byte gDrizzleAbilityDescription - .4byte gSpeedBoostAbilityDescription - .4byte gBattleArmorAbilityDescription - .4byte gSturdyAbilityDescription - .4byte gDampAbilityDescription - .4byte gLimberAbilityDescription - .4byte gSandVeilAbilityDescription - .4byte gStaticAbilityDescription - .4byte gVoltAbsorbAbilityDescription - .4byte gWaterAbsorbAbilityDescription - .4byte gObliviousAbilityDescription - .4byte gCloudNineAbilityDescription - .4byte gCompoundEyesAbilityDescription - .4byte gInsomniaAbilityDescription - .4byte gColorChangeAbilityDescription - .4byte gImmunityAbilityDescription - .4byte gFlashFireAbilityDescription - .4byte gShieldDustAbilityDescription - .4byte gOwnTempoAbilityDescription - .4byte gSuctionCupsAbilityDescription - .4byte gIntimidateAbilityDescription - .4byte gShadowTagAbilityDescription - .4byte gRoughSkinAbilityDescription - .4byte gWonderGuardAbilityDescription - .4byte gLevitateAbilityDescription - .4byte gEffectSporeAbilityDescription - .4byte gSynchronizeAbilityDescription - .4byte gClearBodyAbilityDescription - .4byte gNaturalCureAbilityDescription - .4byte gLightningRodAbilityDescription - .4byte gSereneGraceAbilityDescription - .4byte gSwiftSwimAbilityDescription - .4byte gChlorophyllAbilityDescription - .4byte gIlluminateAbilityDescription - .4byte gTraceAbilityDescription - .4byte gHugePowerAbilityDescription - .4byte gPoisonPointAbilityDescription - .4byte gInnerFocusAbilityDescription - .4byte gMagmaArmorAbilityDescription - .4byte gWaterVeilAbilityDescription - .4byte gMagnetPullAbilityDescription - .4byte gSoundproofAbilityDescription - .4byte gRainDishAbilityDescription - .4byte gSandStreamAbilityDescription - .4byte gPressureAbilityDescription - .4byte gThickFatAbilityDescription - .4byte gEarlyBirdAbilityDescription - .4byte gFlameBodyAbilityDescription - .4byte gRunAwayAbilityDescription - .4byte gKeenEyeAbilityDescription - .4byte gHyperCutterAbilityDescription - .4byte gPickupAbilityDescription - .4byte gTruantAbilityDescription - .4byte gHustleAbilityDescription - .4byte gCuteCharmAbilityDescription - .4byte gPlusAbilityDescription - .4byte gMinusAbilityDescription - .4byte gForecastAbilityDescription - .4byte gStickyHoldAbilityDescription - .4byte gShedSkinAbilityDescription - .4byte gGutsAbilityDescription - .4byte gMarvelScaleAbilityDescription - .4byte gLiquidOozeAbilityDescription - .4byte gOvergrowAbilityDescription - .4byte gBlazeAbilityDescription - .4byte gTorrentAbilityDescription - .4byte gSwarmAbilityDescription - .4byte gRockHeadAbilityDescription - .4byte gDroughtAbilityDescription - .4byte gArenaTrapAbilityDescription - .4byte gVitalSpiritAbilityDescription - .4byte gWhiteSmokeAbilityDescription - .4byte gPurePowerAbilityDescription - .4byte gShellArmorAbilityDescription - .4byte gCacophonyAbilityDescription - .4byte gAirLockAbilityDescription diff --git a/data/text/ability_descriptions.inc b/data/text/ability_descriptions.inc deleted file mode 100644 index fe8305542..000000000 --- a/data/text/ability_descriptions.inc +++ /dev/null @@ -1,233 +0,0 @@ -gNoneAbilityDescription:: @ 831AF98 - .string "No special ability.$" - -gStenchAbilityDescription:: @ 831AFAC - .string "Helps repel wild POKéMON.$" - -gDrizzleAbilityDescription:: @ 831AFC6 - .string "Summons rain in battle.$" - -gSpeedBoostAbilityDescription:: @ 831AFDE - .string "Gradually boosts SPEED.$" - -gBattleArmorAbilityDescription:: @ 831AFF6 - .string "Blocks critical hits.$" - -gSturdyAbilityDescription:: @ 831B00C - .string "Negates 1-hit KO attacks.$" - -gDampAbilityDescription:: @ 831B026 - .string "Prevents self-destruction.$" - -gLimberAbilityDescription:: @ 831B041 - .string "Prevents paralysis.$" - -gSandVeilAbilityDescription:: @ 831B055 - .string "Ups evasion in a sandstorm.$" - -gStaticAbilityDescription:: @ 831B071 - .string "Paralyzes on contact.$" - -gVoltAbsorbAbilityDescription:: @ 831B087 - .string "Turns electricity into HP.$" - -gWaterAbsorbAbilityDescription:: @ 831B0A2 - .string "Changes water into HP.$" - -gObliviousAbilityDescription:: @ 831B0B9 - .string "Prevents attraction.$" - -gCloudNineAbilityDescription:: @ 831B0CE - .string "Negates weather effects.$" - -gCompoundEyesAbilityDescription:: @ 831B0E7 - .string "Raises accuracy.$" - -gInsomniaAbilityDescription:: @ 831B0F8 - .string "Prevents sleep.$" - -gColorChangeAbilityDescription:: @ 831B108 - .string "Changes type to foe’s move.$" - -gImmunityAbilityDescription:: @ 831B124 - .string "Prevents poisoning.$" - -gFlashFireAbilityDescription:: @ 831B138 - .string "Powers up if hit by fire.$" - -gShieldDustAbilityDescription:: @ 831B152 - .string "Prevents added effects.$" - -gOwnTempoAbilityDescription:: @ 831B16A - .string "Prevents confusion.$" - -gSuctionCupsAbilityDescription:: @ 831B17E - .string "Firmly anchors the body.$" - -gIntimidateAbilityDescription:: @ 831B197 - .string "Lowers the foe’s ATTACK.$" - -gShadowTagAbilityDescription:: @ 831B1B0 - .string "Prevents the foe’s escape.$" - -gRoughSkinAbilityDescription:: @ 831B1CB - .string "Hurts to touch.$" - -gWonderGuardAbilityDescription:: @ 831B1DB - .string "“Super effective” hits.$" - -gLevitateAbilityDescription:: @ 831B1F3 - .string "Not hit by GROUND attacks.$" - -gEffectSporeAbilityDescription:: @ 831B20E - .string "Leaves spores on contact.$" - -gSynchronizeAbilityDescription:: @ 831B228 - .string "Passes on status problems.$" - -gClearBodyAbilityDescription:: @ 831B243 - .string "Prevents ability reduction.$" - -gNaturalCureAbilityDescription:: @ 831B25F - .string "Heals upon switching out.$" - -gLightningRodAbilityDescription:: @ 831B279 - .string "Draws electrical moves.$" - -gSereneGraceAbilityDescription:: @ 831B291 - .string "Promotes added effects.$" - -gSwiftSwimAbilityDescription:: @ 831B2A9 - .string "Raises SPEED in rain.$" - -gChlorophyllAbilityDescription:: @ 831B2BF - .string "Raises SPEED in sunshine.$" - -gIlluminateAbilityDescription:: @ 831B2D9 - .string "Encounter rate increases.$" - -gTraceAbilityDescription:: @ 831B2F3 - .string "Copies special ability.$" - -gHugePowerAbilityDescription:: @ 831B30B - .string "Raises ATTACK.$" - -gPoisonPointAbilityDescription:: @ 831B31A - .string "Poisons foe on contact.$" - -gInnerFocusAbilityDescription:: @ 831B332 - .string "Prevents flinching.$" - -gMagmaArmorAbilityDescription:: @ 831B346 - .string "Prevents freezing.$" - -gWaterVeilAbilityDescription:: @ 831B359 - .string "Prevents burns.$" - -gMagnetPullAbilityDescription:: @ 831B369 - .string "Traps STEEL-type POKéMON.$" - -gSoundproofAbilityDescription:: @ 831B383 - .string "Avoids sound-based moves.$" - -gRainDishAbilityDescription:: @ 831B39D - .string "Slight HP recovery in rain.$" - -gSandStreamAbilityDescription:: @ 831B3B9 - .string "Summons a sandstorm.$" - -gPressureAbilityDescription:: @ 831B3CE - .string "Raises foe’s PP usage.$" - -gThickFatAbilityDescription:: @ 831B3E5 - .string "Heat-and-cold protection.$" - -gEarlyBirdAbilityDescription:: @ 831B3FF - .string "Awakens quickly from sleep.$" - -gFlameBodyAbilityDescription:: @ 831B41B - .string "Burns the foe on contact.$" - -gRunAwayAbilityDescription:: @ 831B435 - .string "Makes escaping easier.$" - -gKeenEyeAbilityDescription:: @ 831B44C - .string "Prevents loss of accuracy.$" - -gHyperCutterAbilityDescription:: @ 831B467 - .string "Prevents ATTACK reduction.$" - -gPickupAbilityDescription:: @ 831B482 - .string "May pick up items.$" - -gTruantAbilityDescription:: @ 831B495 - .string "Moves only every two turns.$" - -gHustleAbilityDescription:: @ 831B4B1 - .string "Trades accuracy for power.$" - -gCuteCharmAbilityDescription:: @ 831B4CC - .string "Infatuates on contact.$" - -gPlusAbilityDescription:: @ 831B4E3 - .string "Powers up with MINUS.$" - -gMinusAbilityDescription:: @ 831B4F9 - .string "Powers up with PLUS.$" - -gForecastAbilityDescription:: @ 831B50E - .string "Changes with the weather.$" - -gStickyHoldAbilityDescription:: @ 831B528 - .string "Prevents item theft.$" - -gShedSkinAbilityDescription:: @ 831B53D - .string "Heals the body by shedding.$" - -gGutsAbilityDescription:: @ 831B559 - .string "Ups ATTACK if suffering.$" - -gMarvelScaleAbilityDescription:: @ 831B572 - .string "Ups DEFENSE if suffering.$" - -gLiquidOozeAbilityDescription:: @ 831B58C - .string "Draining causes injury.$" - -gOvergrowAbilityDescription:: @ 831B5A4 - .string "Ups GRASS moves in a pinch.$" - -gBlazeAbilityDescription:: @ 831B5C0 - .string "Ups FIRE moves in a pinch.$" - -gTorrentAbilityDescription:: @ 831B5DB - .string "Ups WATER moves in a pinch.$" - -gSwarmAbilityDescription:: @ 831B5F7 - .string "Ups BUG moves in a pinch.$" - -gRockHeadAbilityDescription:: @ 831B611 - .string "Prevents recoil damage.$" - -gDroughtAbilityDescription:: @ 831B629 - .string "Summons sunlight in battle.$" - -gArenaTrapAbilityDescription:: @ 831B645 - .string "Prevents fleeing.$" - -gVitalSpiritAbilityDescription:: @ 831B657 - .string "Prevents sleep.$" - -gWhiteSmokeAbilityDescription:: @ 831B667 - .string "Prevents ability reduction.$" - -gPurePowerAbilityDescription:: @ 831B683 - .string "Raises ATTACK.$" - -gShellArmorAbilityDescription:: @ 831B692 - .string "Blocks critical hits.$" - -gCacophonyAbilityDescription:: @ 831B6A8 - .string "Avoids sound-based moves.$" - -gAirLockAbilityDescription:: @ 831B6C2 - .string "Negates weather effects.$" diff --git a/data/text/ability_names.inc b/data/text/ability_names.inc deleted file mode 100644 index a630b8080..000000000 --- a/data/text/ability_names.inc +++ /dev/null @@ -1,79 +0,0 @@ -gAbilityNames:: @ 831B6DB - .string "-------$", 13 - .string "STENCH$", 13 - .string "DRIZZLE$", 13 - .string "SPEED BOOST$", 13 - .string "BATTLE ARMOR$", 13 - .string "STURDY$", 13 - .string "DAMP$", 13 - .string "LIMBER$", 13 - .string "SAND VEIL$", 13 - .string "STATIC$", 13 - .string "VOLT ABSORB$", 13 - .string "WATER ABSORB$", 13 - .string "OBLIVIOUS$", 13 - .string "CLOUD NINE$", 13 - .string "COMPOUNDEYES$", 13 - .string "INSOMNIA$", 13 - .string "COLOR CHANGE$", 13 - .string "IMMUNITY$", 13 - .string "FLASH FIRE$", 13 - .string "SHIELD DUST$", 13 - .string "OWN TEMPO$", 13 - .string "SUCTION CUPS$", 13 - .string "INTIMIDATE$", 13 - .string "SHADOW TAG$", 13 - .string "ROUGH SKIN$", 13 - .string "WONDER GUARD$", 13 - .string "LEVITATE$", 13 - .string "EFFECT SPORE$", 13 - .string "SYNCHRONIZE$", 13 - .string "CLEAR BODY$", 13 - .string "NATURAL CURE$", 13 - .string "LIGHTNINGROD$", 13 - .string "SERENE GRACE$", 13 - .string "SWIFT SWIM$", 13 - .string "CHLOROPHYLL$", 13 - .string "ILLUMINATE$", 13 - .string "TRACE$", 13 - .string "HUGE POWER$", 13 - .string "POISON POINT$", 13 - .string "INNER FOCUS$", 13 - .string "MAGMA ARMOR$", 13 - .string "WATER VEIL$", 13 - .string "MAGNET PULL$", 13 - .string "SOUNDPROOF$", 13 - .string "RAIN DISH$", 13 - .string "SAND STREAM$", 13 - .string "PRESSURE$", 13 - .string "THICK FAT$", 13 - .string "EARLY BIRD$", 13 - .string "FLAME BODY$", 13 - .string "RUN AWAY$", 13 - .string "KEEN EYE$", 13 - .string "HYPER CUTTER$", 13 - .string "PICKUP$", 13 - .string "TRUANT$", 13 - .string "HUSTLE$", 13 - .string "CUTE CHARM$", 13 - .string "PLUS$", 13 - .string "MINUS$", 13 - .string "FORECAST$", 13 - .string "STICKY HOLD$", 13 - .string "SHED SKIN$", 13 - .string "GUTS$", 13 - .string "MARVEL SCALE$", 13 - .string "LIQUID OOZE$", 13 - .string "OVERGROW$", 13 - .string "BLAZE$", 13 - .string "TORRENT$", 13 - .string "SWARM$", 13 - .string "ROCK HEAD$", 13 - .string "DROUGHT$", 13 - .string "ARENA TRAP$", 13 - .string "VITAL SPIRIT$", 13 - .string "WHITE SMOKE$", 13 - .string "PURE POWER$", 13 - .string "SHELL ARMOR$", 13 - .string "CACOPHONY$", 13 - .string "AIR LOCK$", 13 diff --git a/data/text/type_names.inc b/data/text/type_names.inc deleted file mode 100644 index c79e705c2..000000000 --- a/data/text/type_names.inc +++ /dev/null @@ -1,19 +0,0 @@ -gTypeNames:: @ 831AE38 - .string "NORMAL$", 7 - .string "FIGHT$", 7 - .string "FLYING$", 7 - .string "POISON$", 7 - .string "GROUND$", 7 - .string "ROCK$", 7 - .string "BUG$", 7 - .string "GHOST$", 7 - .string "STEEL$", 7 - .string "???$", 7 - .string "FIRE$", 7 - .string "WATER$", 7 - .string "GRASS$", 7 - .string "ELECTR$", 7 - .string "PSYCHC$", 7 - .string "ICE$", 7 - .string "DRAGON$", 7 - .string "DARK$", 7 diff --git a/data/trainer_money.inc b/data/trainer_money.inc deleted file mode 100644 index 5b8032d95..000000000 --- a/data/trainer_money.inc +++ /dev/null @@ -1,59 +0,0 @@ -@ This is a factor in how much money you get for beating a trainer. - .align 2 -gTrainerMoneyTable:: @ 831AEB8 - .byte TRAINER_CLASS_TEAM_AQUA, 5, 0, 0 - .byte TRAINER_CLASS_AQUA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_AQUA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_AROMA_LADY, 10, 0, 0 - .byte TRAINER_CLASS_RUIN_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_INTERVIEWER, 12, 0, 0 - .byte TRAINER_CLASS_TUBER_1, 1, 0, 0 - .byte TRAINER_CLASS_TUBER_2, 1, 0, 0 - .byte TRAINER_CLASS_SIS_AND_BRO, 3, 0, 0 - .byte TRAINER_CLASS_COOLTRAINER_1, 12, 0, 0 - .byte TRAINER_CLASS_HEX_MANIAC, 6, 0, 0 - .byte TRAINER_CLASS_LADY, 50, 0, 0 - .byte TRAINER_CLASS_BEAUTY, 20, 0, 0 - .byte TRAINER_CLASS_RICH_BOY, 50, 0, 0 - .byte TRAINER_CLASS_POKEMANIAC, 15, 0, 0 - .byte TRAINER_CLASS_SWIMMER_M, 2, 0, 0 - .byte TRAINER_CLASS_BLACK_BELT, 8, 0, 0 - .byte TRAINER_CLASS_GUITARIST, 8, 0, 0 - .byte TRAINER_CLASS_KINDLER, 8, 0, 0 - .byte TRAINER_CLASS_CAMPER, 4, 0, 0 - .byte TRAINER_CLASS_OLD_COUPLE, 10, 0, 0 - .byte TRAINER_CLASS_BUG_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_PSYCHIC, 6, 0, 0 - .byte TRAINER_CLASS_GENTLEMAN, 20, 0, 0 - .byte TRAINER_CLASS_ELITE_FOUR, 25, 0, 0 - .byte TRAINER_CLASS_LEADER, 25, 0, 0 - .byte TRAINER_CLASS_SCHOOL_KID, 5, 0, 0 - .byte TRAINER_CLASS_SR_AND_JR, 4, 0, 0 - .byte TRAINER_CLASS_POKEFAN, 20, 0, 0 - .byte TRAINER_CLASS_EXPERT, 10, 0, 0 - .byte TRAINER_CLASS_YOUNGSTER, 4, 0, 0 - .byte TRAINER_CLASS_CHAMPION, 50, 0, 0 - .byte TRAINER_CLASS_FISHERMAN, 10, 0, 0 - .byte TRAINER_CLASS_TRIATHLETE, 10, 0, 0 - .byte TRAINER_CLASS_DRAGON_TAMER, 12, 0, 0 - .byte TRAINER_CLASS_BIRD_KEEPER, 8, 0, 0 - .byte TRAINER_CLASS_NINJA_BOY, 3, 0, 0 - .byte TRAINER_CLASS_BATTLE_GIRL, 6, 0, 0 - .byte TRAINER_CLASS_PARASOL_LADY, 10, 0, 0 - .byte TRAINER_CLASS_SWIMMER_F, 2, 0, 0 - .byte TRAINER_CLASS_PICNICKER, 4, 0, 0 - .byte TRAINER_CLASS_TWINS, 3, 0, 0 - .byte TRAINER_CLASS_SAILOR, 8, 0, 0 - .byte TRAINER_CLASS_COLLECTOR, 15, 0, 0 - .byte TRAINER_CLASS_PKMN_TRAINER_3, 15, 0, 0 - .byte TRAINER_CLASS_PKMN_BREEDER, 10, 0, 0 - .byte TRAINER_CLASS_PKMN_RANGER, 12, 0, 0 - .byte TRAINER_CLASS_TEAM_MAGMA, 5, 0, 0 - .byte TRAINER_CLASS_MAGMA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_MAGMA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_LASS, 4, 0, 0 - .byte TRAINER_CLASS_BUG_CATCHER, 4, 0, 0 - .byte TRAINER_CLASS_HIKER, 10, 0, 0 - .byte TRAINER_CLASS_YOUNG_COUPLE, 8, 0, 0 - .byte TRAINER_CLASS_WINSTRATE, 10, 0, 0 - .byte -1, 5, 0, 0 diff --git a/data/type_effectiveness.inc b/data/type_effectiveness.inc deleted file mode 100644 index 0739199c2..000000000 --- a/data/type_effectiveness.inc +++ /dev/null @@ -1,119 +0,0 @@ -@ format: attacking type, defending type, damage multiplier -@ the multiplier is a (decimal) fixed-point number: -@ 20 is ×2.0 -@ 05 is ×0.5 -@ 00 is ×0 - -gTypeEffectiveness:: @ 831ACE8 - .byte TYPE_NORMAL, TYPE_ROCK, 5 - .byte TYPE_NORMAL, TYPE_STEEL, 5 - .byte TYPE_FIRE, TYPE_FIRE, 5 - .byte TYPE_FIRE, TYPE_WATER, 5 - .byte TYPE_FIRE, TYPE_GRASS, 20 - .byte TYPE_FIRE, TYPE_ICE, 20 - .byte TYPE_FIRE, TYPE_BUG, 20 - .byte TYPE_FIRE, TYPE_ROCK, 5 - .byte TYPE_FIRE, TYPE_DRAGON, 5 - .byte TYPE_FIRE, TYPE_STEEL, 20 - .byte TYPE_WATER, TYPE_FIRE, 20 - .byte TYPE_WATER, TYPE_WATER, 5 - .byte TYPE_WATER, TYPE_GRASS, 5 - .byte TYPE_WATER, TYPE_GROUND, 20 - .byte TYPE_WATER, TYPE_ROCK, 20 - .byte TYPE_WATER, TYPE_DRAGON, 5 - .byte TYPE_ELECTRIC, TYPE_WATER, 20 - .byte TYPE_ELECTRIC, TYPE_ELECTRIC, 5 - .byte TYPE_ELECTRIC, TYPE_GRASS, 5 - .byte TYPE_ELECTRIC, TYPE_GROUND, 0 - .byte TYPE_ELECTRIC, TYPE_FLYING, 20 - .byte TYPE_ELECTRIC, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_FIRE, 5 - .byte TYPE_GRASS, TYPE_WATER, 20 - .byte TYPE_GRASS, TYPE_GRASS, 5 - .byte TYPE_GRASS, TYPE_POISON, 5 - .byte TYPE_GRASS, TYPE_GROUND, 20 - .byte TYPE_GRASS, TYPE_FLYING, 5 - .byte TYPE_GRASS, TYPE_BUG, 5 - .byte TYPE_GRASS, TYPE_ROCK, 20 - .byte TYPE_GRASS, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_WATER, 5 - .byte TYPE_ICE, TYPE_GRASS, 20 - .byte TYPE_ICE, TYPE_ICE, 5 - .byte TYPE_ICE, TYPE_GROUND, 20 - .byte TYPE_ICE, TYPE_FLYING, 20 - .byte TYPE_ICE, TYPE_DRAGON, 20 - .byte TYPE_ICE, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_FIRE, 5 - .byte TYPE_FIGHTING, TYPE_NORMAL, 20 - .byte TYPE_FIGHTING, TYPE_ICE, 20 - .byte TYPE_FIGHTING, TYPE_POISON, 5 - .byte TYPE_FIGHTING, TYPE_FLYING, 5 - .byte TYPE_FIGHTING, TYPE_PSYCHIC, 5 - .byte TYPE_FIGHTING, TYPE_BUG, 5 - .byte TYPE_FIGHTING, TYPE_ROCK, 20 - .byte TYPE_FIGHTING, TYPE_DARK, 20 - .byte TYPE_FIGHTING, TYPE_STEEL, 20 - .byte TYPE_POISON, TYPE_GRASS, 20 - .byte TYPE_POISON, TYPE_POISON, 5 - .byte TYPE_POISON, TYPE_GROUND, 5 - .byte TYPE_POISON, TYPE_ROCK, 5 - .byte TYPE_POISON, TYPE_GHOST, 5 - .byte TYPE_POISON, TYPE_STEEL, 0 - .byte TYPE_GROUND, TYPE_FIRE, 20 - .byte TYPE_GROUND, TYPE_ELECTRIC, 20 - .byte TYPE_GROUND, TYPE_GRASS, 5 - .byte TYPE_GROUND, TYPE_POISON, 20 - .byte TYPE_GROUND, TYPE_FLYING, 0 - .byte TYPE_GROUND, TYPE_BUG, 5 - .byte TYPE_GROUND, TYPE_ROCK, 20 - .byte TYPE_GROUND, TYPE_STEEL, 20 - .byte TYPE_FLYING, TYPE_ELECTRIC, 5 - .byte TYPE_FLYING, TYPE_GRASS, 20 - .byte TYPE_FLYING, TYPE_FIGHTING, 20 - .byte TYPE_FLYING, TYPE_BUG, 20 - .byte TYPE_FLYING, TYPE_ROCK, 5 - .byte TYPE_FLYING, TYPE_STEEL, 5 - .byte TYPE_PSYCHIC, TYPE_FIGHTING, 20 - .byte TYPE_PSYCHIC, TYPE_POISON, 20 - .byte TYPE_PSYCHIC, TYPE_PSYCHIC, 5 - .byte TYPE_PSYCHIC, TYPE_DARK, 0 - .byte TYPE_PSYCHIC, TYPE_STEEL, 5 - .byte TYPE_BUG, TYPE_FIRE, 5 - .byte TYPE_BUG, TYPE_GRASS, 20 - .byte TYPE_BUG, TYPE_FIGHTING, 5 - .byte TYPE_BUG, TYPE_POISON, 5 - .byte TYPE_BUG, TYPE_FLYING, 5 - .byte TYPE_BUG, TYPE_PSYCHIC, 20 - .byte TYPE_BUG, TYPE_GHOST, 5 - .byte TYPE_BUG, TYPE_DARK, 20 - .byte TYPE_BUG, TYPE_STEEL, 5 - .byte TYPE_ROCK, TYPE_FIRE, 20 - .byte TYPE_ROCK, TYPE_ICE, 20 - .byte TYPE_ROCK, TYPE_FIGHTING, 5 - .byte TYPE_ROCK, TYPE_GROUND, 5 - .byte TYPE_ROCK, TYPE_FLYING, 20 - .byte TYPE_ROCK, TYPE_BUG, 20 - .byte TYPE_ROCK, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_NORMAL, 0 - .byte TYPE_GHOST, TYPE_PSYCHIC, 20 - .byte TYPE_GHOST, TYPE_DARK, 5 - .byte TYPE_GHOST, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_GHOST, 20 - .byte TYPE_DRAGON, TYPE_DRAGON, 20 - .byte TYPE_DRAGON, TYPE_STEEL, 5 - .byte TYPE_DARK, TYPE_FIGHTING, 5 - .byte TYPE_DARK, TYPE_PSYCHIC, 20 - .byte TYPE_DARK, TYPE_GHOST, 20 - .byte TYPE_DARK, TYPE_DARK, 5 - .byte TYPE_DARK, TYPE_STEEL, 5 - .byte TYPE_STEEL, TYPE_FIRE, 5 - .byte TYPE_STEEL, TYPE_WATER, 5 - .byte TYPE_STEEL, TYPE_ELECTRIC, 5 - .byte TYPE_STEEL, TYPE_ICE, 20 - .byte TYPE_STEEL, TYPE_ROCK, 20 - .byte TYPE_STEEL, TYPE_STEEL, 5 - .byte 0xFE, 0xFE, 0 - .byte TYPE_NORMAL, TYPE_GHOST, 0 - .byte TYPE_FIGHTING, TYPE_GHOST, 0 - .byte 0xFF, 0xFF, 0 diff --git a/include/battle.h b/include/battle.h index 971b9e4f5..89a38254a 100644 --- a/include/battle.h +++ b/include/battle.h @@ -75,21 +75,6 @@ #define MOVE_TARGET_FOES_AND_ALLY 0x20 #define MOVE_TARGET_OPPONENTS_FIELD 0x40 -// defines for the u8 array gTypeEffectiveness -#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) -#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) -#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) - -// defines for the gTypeEffectiveness multipliers -#define TYPE_MUL_NO_EFFECT 0 -#define TYPE_MUL_NOT_EFFECTIVE 5 -#define TYPE_MUL_NORMAL 10 -#define TYPE_MUL_SUPER_EFFECTIVE 20 - -// special type table Ids -#define TYPE_FORESIGHT 0xFE -#define TYPE_ENDTABLE 0xFF - #define BATTLE_BUFFER_LINK_SIZE 0x1000 struct TrainerMonNoItemDefaultMoves diff --git a/include/battle_main.h b/include/battle_main.h index d7a522f17..a725b631f 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -1,6 +1,30 @@ #ifndef GUARD_BATTLE_MAIN_H #define GUARD_BATTLE_MAIN_H +struct TrainerMoney +{ + u8 classId; + u8 value; +}; + +#define TYPE_NAME_LENGTH 6 +#define ABILITY_NAME_LENGTH 12 + +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers +#define TYPE_MUL_NO_EFFECT 0 +#define TYPE_MUL_NOT_EFFECTIVE 5 +#define TYPE_MUL_NORMAL 10 +#define TYPE_MUL_SUPER_EFFECTIVE 20 + +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF + void CB2_InitBattle(void); void BattleMainCB2(void); void CB2_QuitRecordedBattle(void); @@ -42,6 +66,12 @@ void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battlerId); +extern const u8 gTypeEffectiveness[336]; +extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; +extern const struct TrainerMoney gTrainerMoneyTable[]; +extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1]; +extern const u8 *const gAbilityDescriptionPointers[]; + extern const u8 gStatusConditionString_PoisonJpn[8]; extern const u8 gStatusConditionString_SleepJpn[8]; extern const u8 gStatusConditionString_ParalysisJpn[8]; diff --git a/include/data/text/abilities.h b/include/data/text/abilities.h new file mode 100644 index 000000000..2efd76afc --- /dev/null +++ b/include/data/text/abilities.h @@ -0,0 +1,247 @@ +#ifndef POKEEMERALD_DATA_TEXT_ABILITIES_H +#define POKEEMERALD_DATA_TEXT_ABILITIES_H + +static const u8 gNoneAbilityDescription[] = _("No special ability."); +static const u8 gStenchAbilityDescription[] = _("Helps repel wild POKéMON."); +static const u8 gDrizzleAbilityDescription[] = _("Summons rain in battle."); +static const u8 gSpeedBoostAbilityDescription[] = _("Gradually boosts SPEED."); +static const u8 gBattleArmorAbilityDescription[] = _("Blocks critical hits."); +static const u8 gSturdyAbilityDescription[] = _("Negates 1-hit KO attacks."); +static const u8 gDampAbilityDescription[] = _("Prevents self-destruction."); +static const u8 gLimberAbilityDescription[] = _("Prevents paralysis."); +static const u8 gSandVeilAbilityDescription[] = _("Ups evasion in a sandstorm."); +static const u8 gStaticAbilityDescription[] = _("Paralyzes on contact."); +static const u8 gVoltAbsorbAbilityDescription[] = _("Turns electricity into HP."); +static const u8 gWaterAbsorbAbilityDescription[] = _("Changes water into HP."); +static const u8 gObliviousAbilityDescription[] = _("Prevents attraction."); +static const u8 gCloudNineAbilityDescription[] = _("Negates weather effects."); +static const u8 gCompoundEyesAbilityDescription[] = _("Raises accuracy."); +static const u8 gInsomniaAbilityDescription[] = _("Prevents sleep."); +static const u8 gColorChangeAbilityDescription[] = _("Changes type to foe’s move."); +static const u8 gImmunityAbilityDescription[] = _("Prevents poisoning."); +static const u8 gFlashFireAbilityDescription[] = _("Powers up if hit by fire."); +static const u8 gShieldDustAbilityDescription[] = _("Prevents added effects."); +static const u8 gOwnTempoAbilityDescription[] = _("Prevents confusion."); +static const u8 gSuctionCupsAbilityDescription[] = _("Firmly anchors the body."); +static const u8 gIntimidateAbilityDescription[] = _("Lowers the foe’s ATTACK."); +static const u8 gShadowTagAbilityDescription[] = _("Prevents the foe’s escape."); +static const u8 gRoughSkinAbilityDescription[] = _("Hurts to touch."); +static const u8 gWonderGuardAbilityDescription[] = _("“Super effective” hits."); +static const u8 gLevitateAbilityDescription[] = _("Not hit by GROUND attacks."); +static const u8 gEffectSporeAbilityDescription[] = _("Leaves spores on contact."); +static const u8 gSynchronizeAbilityDescription[] = _("Passes on status problems."); +static const u8 gClearBodyAbilityDescription[] = _("Prevents ability reduction."); +static const u8 gNaturalCureAbilityDescription[] = _("Heals upon switching out."); +static const u8 gLightningRodAbilityDescription[] = _("Draws electrical moves."); +static const u8 gSereneGraceAbilityDescription[] = _("Promotes added effects."); +static const u8 gSwiftSwimAbilityDescription[] = _("Raises SPEED in rain."); +static const u8 gChlorophyllAbilityDescription[] = _("Raises SPEED in sunshine."); +static const u8 gIlluminateAbilityDescription[] = _("Encounter rate increases."); +static const u8 gTraceAbilityDescription[] = _("Copies special ability."); +static const u8 gHugePowerAbilityDescription[] = _("Raises ATTACK."); +static const u8 gPoisonPointAbilityDescription[] = _("Poisons foe on contact."); +static const u8 gInnerFocusAbilityDescription[] = _("Prevents flinching."); +static const u8 gMagmaArmorAbilityDescription[] = _("Prevents freezing."); +static const u8 gWaterVeilAbilityDescription[] = _("Prevents burns."); +static const u8 gMagnetPullAbilityDescription[] = _("Traps STEEL-type POKéMON."); +static const u8 gSoundproofAbilityDescription[] = _("Avoids sound-based moves."); +static const u8 gRainDishAbilityDescription[] = _("Slight HP recovery in rain."); +static const u8 gSandStreamAbilityDescription[] = _("Summons a sandstorm."); +static const u8 gPressureAbilityDescription[] = _("Raises foe’s PP usage."); +static const u8 gThickFatAbilityDescription[] = _("Heat-and-cold protection."); +static const u8 gEarlyBirdAbilityDescription[] = _("Awakens quickly from sleep."); +static const u8 gFlameBodyAbilityDescription[] = _("Burns the foe on contact."); +static const u8 gRunAwayAbilityDescription[] = _("Makes escaping easier."); +static const u8 gKeenEyeAbilityDescription[] = _("Prevents loss of accuracy."); +static const u8 gHyperCutterAbilityDescription[] = _("Prevents ATTACK reduction."); +static const u8 gPickupAbilityDescription[] = _("May pick up items."); +static const u8 gTruantAbilityDescription[] = _("Moves only every two turns."); +static const u8 gHustleAbilityDescription[] = _("Trades accuracy for power."); +static const u8 gCuteCharmAbilityDescription[] = _("Infatuates on contact."); +static const u8 gPlusAbilityDescription[] = _("Powers up with MINUS."); +static const u8 gMinusAbilityDescription[] = _("Powers up with PLUS."); +static const u8 gForecastAbilityDescription[] = _("Changes with the weather."); +static const u8 gStickyHoldAbilityDescription[] = _("Prevents item theft."); +static const u8 gShedSkinAbilityDescription[] = _("Heals the body by shedding."); +static const u8 gGutsAbilityDescription[] = _("Ups ATTACK if suffering."); +static const u8 gMarvelScaleAbilityDescription[] = _("Ups DEFENSE if suffering."); +static const u8 gLiquidOozeAbilityDescription[] = _("Draining causes injury."); +static const u8 gOvergrowAbilityDescription[] = _("Ups GRASS moves in a pinch."); +static const u8 gBlazeAbilityDescription[] = _("Ups FIRE moves in a pinch."); +static const u8 gTorrentAbilityDescription[] = _("Ups WATER moves in a pinch."); +static const u8 gSwarmAbilityDescription[] = _("Ups BUG moves in a pinch."); +static const u8 gRockHeadAbilityDescription[] = _("Prevents recoil damage."); +static const u8 gDroughtAbilityDescription[] = _("Summons sunlight in battle."); +static const u8 gArenaTrapAbilityDescription[] = _("Prevents fleeing."); +static const u8 gVitalSpiritAbilityDescription[] = _("Prevents sleep."); +static const u8 gWhiteSmokeAbilityDescription[] = _("Prevents ability reduction."); +static const u8 gPurePowerAbilityDescription[] = _("Raises ATTACK."); +static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits."); +static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves."); +static const u8 gAirLockAbilityDescription[] = _("Negates weather effects."); + +const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] = +{ + _("-------"), + _("STENCH"), + _("DRIZZLE"), + _("SPEED BOOST"), + _("BATTLE ARMOR"), + _("STURDY"), + _("DAMP"), + _("LIMBER"), + _("SAND VEIL"), + _("STATIC"), + _("VOLT ABSORB"), + _("WATER ABSORB"), + _("OBLIVIOUS"), + _("CLOUD NINE"), + _("COMPOUNDEYES"), + _("INSOMNIA"), + _("COLOR CHANGE"), + _("IMMUNITY"), + _("FLASH FIRE"), + _("SHIELD DUST"), + _("OWN TEMPO"), + _("SUCTION CUPS"), + _("INTIMIDATE"), + _("SHADOW TAG"), + _("ROUGH SKIN"), + _("WONDER GUARD"), + _("LEVITATE"), + _("EFFECT SPORE"), + _("SYNCHRONIZE"), + _("CLEAR BODY"), + _("NATURAL CURE"), + _("LIGHTNINGROD"), + _("SERENE GRACE"), + _("SWIFT SWIM"), + _("CHLOROPHYLL"), + _("ILLUMINATE"), + _("TRACE"), + _("HUGE POWER"), + _("POISON POINT"), + _("INNER FOCUS"), + _("MAGMA ARMOR"), + _("WATER VEIL"), + _("MAGNET PULL"), + _("SOUNDPROOF"), + _("RAIN DISH"), + _("SAND STREAM"), + _("PRESSURE"), + _("THICK FAT"), + _("EARLY BIRD"), + _("FLAME BODY"), + _("RUN AWAY"), + _("KEEN EYE"), + _("HYPER CUTTER"), + _("PICKUP"), + _("TRUANT"), + _("HUSTLE"), + _("CUTE CHARM"), + _("PLUS"), + _("MINUS"), + _("FORECAST"), + _("STICKY HOLD"), + _("SHED SKIN"), + _("GUTS"), + _("MARVEL SCALE"), + _("LIQUID OOZE"), + _("OVERGROW"), + _("BLAZE"), + _("TORRENT"), + _("SWARM"), + _("ROCK HEAD"), + _("DROUGHT"), + _("ARENA TRAP"), + _("VITAL SPIRIT"), + _("WHITE SMOKE"), + _("PURE POWER"), + _("SHELL ARMOR"), + _("CACOPHONY"), + _("AIR LOCK"), +}; + +const u8 *const gAbilityDescriptionPointers[] = +{ + gNoneAbilityDescription, + gStenchAbilityDescription, + gDrizzleAbilityDescription, + gSpeedBoostAbilityDescription, + gBattleArmorAbilityDescription, + gSturdyAbilityDescription, + gDampAbilityDescription, + gLimberAbilityDescription, + gSandVeilAbilityDescription, + gStaticAbilityDescription, + gVoltAbsorbAbilityDescription, + gWaterAbsorbAbilityDescription, + gObliviousAbilityDescription, + gCloudNineAbilityDescription, + gCompoundEyesAbilityDescription, + gInsomniaAbilityDescription, + gColorChangeAbilityDescription, + gImmunityAbilityDescription, + gFlashFireAbilityDescription, + gShieldDustAbilityDescription, + gOwnTempoAbilityDescription, + gSuctionCupsAbilityDescription, + gIntimidateAbilityDescription, + gShadowTagAbilityDescription, + gRoughSkinAbilityDescription, + gWonderGuardAbilityDescription, + gLevitateAbilityDescription, + gEffectSporeAbilityDescription, + gSynchronizeAbilityDescription, + gClearBodyAbilityDescription, + gNaturalCureAbilityDescription, + gLightningRodAbilityDescription, + gSereneGraceAbilityDescription, + gSwiftSwimAbilityDescription, + gChlorophyllAbilityDescription, + gIlluminateAbilityDescription, + gTraceAbilityDescription, + gHugePowerAbilityDescription, + gPoisonPointAbilityDescription, + gInnerFocusAbilityDescription, + gMagmaArmorAbilityDescription, + gWaterVeilAbilityDescription, + gMagnetPullAbilityDescription, + gSoundproofAbilityDescription, + gRainDishAbilityDescription, + gSandStreamAbilityDescription, + gPressureAbilityDescription, + gThickFatAbilityDescription, + gEarlyBirdAbilityDescription, + gFlameBodyAbilityDescription, + gRunAwayAbilityDescription, + gKeenEyeAbilityDescription, + gHyperCutterAbilityDescription, + gPickupAbilityDescription, + gTruantAbilityDescription, + gHustleAbilityDescription, + gCuteCharmAbilityDescription, + gPlusAbilityDescription, + gMinusAbilityDescription, + gForecastAbilityDescription, + gStickyHoldAbilityDescription, + gShedSkinAbilityDescription, + gGutsAbilityDescription, + gMarvelScaleAbilityDescription, + gLiquidOozeAbilityDescription, + gOvergrowAbilityDescription, + gBlazeAbilityDescription, + gTorrentAbilityDescription, + gSwarmAbilityDescription, + gRockHeadAbilityDescription, + gDroughtAbilityDescription, + gArenaTrapAbilityDescription, + gVitalSpiritAbilityDescription, + gWhiteSmokeAbilityDescription, + gPurePowerAbilityDescription, + gShellArmorAbilityDescription, + gCacophonyAbilityDescription, + gAirLockAbilityDescription, +}; + +#endif // POKEEMERALD_DATA_TEXT_ABILITIES_H diff --git a/include/data2.h b/include/data2.h index df71f6e88..d71958201 100644 --- a/include/data2.h +++ b/include/data2.h @@ -14,8 +14,6 @@ extern struct MonCoords gTrainerFrontPicCoords[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern const u8 gMoveNames[][13]; -extern const u8 gAbilityNames[][13]; -extern const u8 gTypeNames[][7]; extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpritePalette gUnknown_0831C628; extern const struct SpriteTemplate gUnknown_0831C688; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 19017e12c..2a1c0feb6 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -42,7 +42,6 @@ extern struct SpriteTemplate gUnknown_0202499C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern const u8 gTypeNames[][7]; extern const u8 gText_BattleSwitchWhich[]; extern const u8 gText_MoveInterfacePP[]; diff --git a/src/battle_main.c b/src/battle_main.c index 09a4268cd..9715221ba 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -300,6 +300,214 @@ u8 gNumberOfMovesToChoose; u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; // rom const data + +// format: attacking type, defending type, damage multiplier +// the multiplier is a (decimal) fixed-point number: +// 20 is ×2.0 TYPE_MUL_SUPER_EFFECTIVE +// 10 is ×1.0 TYPE_MUL_NORMAL +// 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE +// 00 is ×0.0 TYPE_MUL_NO_EFFECT +const u8 gTypeEffectiveness[336] = +{ + TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_NORMAL, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIRE, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIRE, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIRE, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIRE, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIRE, TYPE_BUG, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIRE, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIRE, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIRE, TYPE_STEEL, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_WATER, TYPE_FIRE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_WATER, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, + TYPE_WATER, TYPE_GRASS, TYPE_MUL_NOT_EFFECTIVE, + TYPE_WATER, TYPE_GROUND, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_WATER, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_WATER, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ELECTRIC, TYPE_WATER, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ELECTRIC, TYPE_ELECTRIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ELECTRIC, TYPE_GRASS, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ELECTRIC, TYPE_GROUND, TYPE_MUL_NO_EFFECT, + TYPE_ELECTRIC, TYPE_FLYING, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ELECTRIC, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_WATER, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GRASS, TYPE_GRASS, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_POISON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_GROUND, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GRASS, TYPE_FLYING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_BUG, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GRASS, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GRASS, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ICE, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ICE, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ICE, TYPE_ICE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ICE, TYPE_GROUND, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ICE, TYPE_FLYING, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ICE, TYPE_DRAGON, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ICE, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ICE, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIGHTING, TYPE_NORMAL, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIGHTING, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIGHTING, TYPE_POISON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIGHTING, TYPE_FLYING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIGHTING, TYPE_PSYCHIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIGHTING, TYPE_BUG, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FIGHTING, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIGHTING, TYPE_DARK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FIGHTING, TYPE_STEEL, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_POISON, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_POISON, TYPE_POISON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_POISON, TYPE_GROUND, TYPE_MUL_NOT_EFFECTIVE, + TYPE_POISON, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_POISON, TYPE_GHOST, TYPE_MUL_NOT_EFFECTIVE, + TYPE_POISON, TYPE_STEEL, TYPE_MUL_NO_EFFECT, + TYPE_GROUND, TYPE_FIRE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GROUND, TYPE_ELECTRIC, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GROUND, TYPE_GRASS, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GROUND, TYPE_POISON, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GROUND, TYPE_FLYING, TYPE_MUL_NO_EFFECT, + TYPE_GROUND, TYPE_BUG, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GROUND, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GROUND, TYPE_STEEL, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FLYING, TYPE_ELECTRIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FLYING, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FLYING, TYPE_FIGHTING, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FLYING, TYPE_BUG, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_FLYING, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FLYING, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_PSYCHIC, TYPE_FIGHTING, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_PSYCHIC, TYPE_POISON, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_PSYCHIC, TYPE_PSYCHIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_PSYCHIC, TYPE_DARK, TYPE_MUL_NO_EFFECT, + TYPE_PSYCHIC, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_BUG, TYPE_FIGHTING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_POISON, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_FLYING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_PSYCHIC, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_BUG, TYPE_GHOST, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_DARK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_BUG, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ROCK, TYPE_FIRE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ROCK, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ROCK, TYPE_FIGHTING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ROCK, TYPE_GROUND, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ROCK, TYPE_FLYING, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ROCK, TYPE_BUG, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_ROCK, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GHOST, TYPE_NORMAL, TYPE_MUL_NO_EFFECT, + TYPE_GHOST, TYPE_PSYCHIC, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_GHOST, TYPE_DARK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GHOST, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GHOST, TYPE_GHOST, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_DRAGON, TYPE_DRAGON, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_DRAGON, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_DARK, TYPE_FIGHTING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_DARK, TYPE_PSYCHIC, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_DARK, TYPE_GHOST, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_DARK, TYPE_DARK, TYPE_MUL_NOT_EFFECTIVE, + TYPE_DARK, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_STEEL, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, + TYPE_STEEL, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, + TYPE_STEEL, TYPE_ELECTRIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_STEEL, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_STEEL, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, + TYPE_STEEL, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_FORESIGHT, TYPE_FORESIGHT, TYPE_MUL_NO_EFFECT, + TYPE_NORMAL, TYPE_GHOST, TYPE_MUL_NO_EFFECT, + TYPE_FIGHTING, TYPE_GHOST, TYPE_MUL_NO_EFFECT, + TYPE_ENDTABLE, TYPE_ENDTABLE, TYPE_MUL_NO_EFFECT +}; + +const u8 gTypeNames[][TYPE_NAME_LENGTH + 1] = +{ + _("NORMAL"), + _("FIGHT"), + _("FLYING"), + _("POISON"), + _("GROUND"), + _("ROCK"), + _("BUG"), + _("GHOST"), + _("STEEL"), + _("???"), + _("FIRE"), + _("WATER"), + _("GRASS"), + _("ELECTR"), + _("PSYCHC"), + _("ICE"), + _("DRAGON"), + _("DARK"), +}; + +// This is a factor in how much money you get for beating a trainer. +const struct TrainerMoney gTrainerMoneyTable[] = +{ + {TRAINER_CLASS_TEAM_AQUA, 5}, + {TRAINER_CLASS_AQUA_ADMIN, 10}, + {TRAINER_CLASS_AQUA_LEADER, 20}, + {TRAINER_CLASS_AROMA_LADY, 10}, + {TRAINER_CLASS_RUIN_MANIAC, 15}, + {TRAINER_CLASS_INTERVIEWER, 12}, + {TRAINER_CLASS_TUBER_1, 1}, + {TRAINER_CLASS_TUBER_2, 1}, + {TRAINER_CLASS_SIS_AND_BRO, 3}, + {TRAINER_CLASS_COOLTRAINER_1, 12}, + {TRAINER_CLASS_HEX_MANIAC, 6}, + {TRAINER_CLASS_LADY, 50}, + {TRAINER_CLASS_BEAUTY, 20}, + {TRAINER_CLASS_RICH_BOY, 50}, + {TRAINER_CLASS_POKEMANIAC, 15}, + {TRAINER_CLASS_SWIMMER_M, 2}, + {TRAINER_CLASS_BLACK_BELT, 8}, + {TRAINER_CLASS_GUITARIST, 8}, + {TRAINER_CLASS_KINDLER, 8}, + {TRAINER_CLASS_CAMPER, 4}, + {TRAINER_CLASS_OLD_COUPLE, 10}, + {TRAINER_CLASS_BUG_MANIAC, 15}, + {TRAINER_CLASS_PSYCHIC, 6}, + {TRAINER_CLASS_GENTLEMAN, 20}, + {TRAINER_CLASS_ELITE_FOUR, 25}, + {TRAINER_CLASS_LEADER, 25}, + {TRAINER_CLASS_SCHOOL_KID, 5}, + {TRAINER_CLASS_SR_AND_JR, 4}, + {TRAINER_CLASS_POKEFAN, 20}, + {TRAINER_CLASS_EXPERT, 10}, + {TRAINER_CLASS_YOUNGSTER, 4}, + {TRAINER_CLASS_CHAMPION, 50}, + {TRAINER_CLASS_FISHERMAN, 10}, + {TRAINER_CLASS_TRIATHLETE, 10}, + {TRAINER_CLASS_DRAGON_TAMER, 12}, + {TRAINER_CLASS_BIRD_KEEPER, 8}, + {TRAINER_CLASS_NINJA_BOY, 3}, + {TRAINER_CLASS_BATTLE_GIRL, 6}, + {TRAINER_CLASS_PARASOL_LADY, 10}, + {TRAINER_CLASS_SWIMMER_F, 2}, + {TRAINER_CLASS_PICNICKER, 4}, + {TRAINER_CLASS_TWINS, 3}, + {TRAINER_CLASS_SAILOR, 8}, + {TRAINER_CLASS_COLLECTOR, 15}, + {TRAINER_CLASS_PKMN_TRAINER_3, 15}, + {TRAINER_CLASS_PKMN_BREEDER, 10}, + {TRAINER_CLASS_PKMN_RANGER, 12}, + {TRAINER_CLASS_TEAM_MAGMA, 5}, + {TRAINER_CLASS_MAGMA_ADMIN, 10}, + {TRAINER_CLASS_MAGMA_LEADER, 20}, + {TRAINER_CLASS_LASS, 4}, + {TRAINER_CLASS_BUG_CATCHER, 4}, + {TRAINER_CLASS_HIKER, 10}, + {TRAINER_CLASS_YOUNG_COUPLE, 8}, + {TRAINER_CLASS_WINSTRATE, 10}, + {0xFF, 5}, +}; + +#include "data/text/abilities.h" + static void (* const sTurnActionsFuncsTable[])(void) = { HandleAction_UseMove, // B_ACTION_USE_MOVE diff --git a/src/battle_message.c b/src/battle_message.c index 9a4a062ad..f19a5e00f 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -22,9 +22,7 @@ extern u8 gUnknown_0203C7B4; extern struct StringInfoBattle *gStringInfo; extern const u8 gMoveNames[LAST_MOVE_INDEX + 1][13]; -extern const u8 gAbilityNames[][13]; extern const u8 gTrainerClassNames[][13]; -extern const u8 gTypeNames[][7]; extern const u16 gUnknown_08D85620[]; // strings diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6dbf5955b..f3f84ae06 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -48,14 +48,6 @@ extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern struct MusicPlayerInfo gMPlayInfo_BGM; -struct TrainerMoney -{ - u8 classId; - u8 value; -}; - -extern const u8 gTypeEffectiveness[336]; -extern const struct TrainerMoney gTrainerMoneyTable[]; extern const u8* const gBattleScriptsForMoveEffects[]; // functions diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7f5a983d2..3ebdc3d6d 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -115,8 +115,6 @@ extern u8 gText_Appeal[]; extern u8 gText_Jam[]; extern u8 gText_OTSlash[]; extern u8 gText_UnkCtrlF907F908[]; -extern u8 gAbilityNames[][13]; -extern u8 *gAbilityDescriptionPointers[]; extern u8 gText_XNature[]; extern u8 gText_XNatureHatchedAtYZ[]; extern u8 gText_XNatureHatchedSomewhereAt[]; @@ -2538,7 +2536,7 @@ void sub_81C2554() gUnknown_0203CF1C->unk40CB[i] |= 0xFF; } -void sub_81C25A4(u8 a, u8 *b, u8 c, u8 d, u8 e, u8 f) +void sub_81C25A4(u8 a, const u8 *b, u8 c, u8 d, u8 e, u8 f) { AddTextPrinterParameterized2(a, 1, c, d, 0, e, gUnknown_0861CD2C[f], 0, b); }