This commit is contained in:
nkuAlexLee 2025-04-06 16:46:17 +08:00
parent a7f7be7a2a
commit c0833fb97b
12 changed files with 798 additions and 857 deletions

Binary file not shown.

View File

@ -0,0 +1,80 @@
import os
import re
import pandas as pd
import os
current_folder = os.path.dirname(os.path.abspath(__file__))
def convert_description_to_multiline(description):
if not isinstance(description, str):
return None
# 替换中文字符为英文字符
split_text = description.split('\\n')
# 格式化输出为需要的三段,并处理最后一段不加\\n
formatted_text = [f'"{part}\\\\n"' for part in split_text[:-1]] # 所有除最后一段外加\\n
formatted_text.append(f'"{split_text[-1]}"') # 最后一段不加\\n
# 拼接成最终的描述
description = '\n\\t\\t\\t'.join(formatted_text)
final=r'.description = COMPOUND_STRING(\n\t\t\t' + description+ '),'
return final
def query_pokemon_info(name, df):
try:
result = df.loc[name]
return {
'中文名': result['中文名'],
'单独技能效果说明': result['单独技能效果说明'],
# 'description': result['description']
}
except KeyError:
return None
def replace_move_info(content, df):
pattern = r"\[MOVE_(\w+)\]\s*=\s*\{.*?\n\s*\},?"
matches = list(re.finditer(pattern, content, re.DOTALL))
for match in matches:
move = match.group(1)
original_block = match.group(0)
info = query_pokemon_info("[MOVE_"+move+"]", df)
if not info:
log(f"❌ 未找到 {'MOVE_'+move},跳过")
continue
block = original_block
# 替换 .moveName
block = re.sub(r'\.name\s*=\s*COMPOUND_STRING\(.*?\),', f'.name = COMPOUND_STRING("{info["中文名"]}"),', block)
# block = re.sub(r'\.categoryName\s*=\s*_\(.*?\),', f'.categoryName = _("{info["categoryName"]}"),', block)
try:
block = re.sub(r'\.description\s*=\s*COMPOUND_STRING\((?:.|\n)*?\),\s+#endif', convert_description_to_multiline(info["单独技能效果说明"]), block)
block = re.sub(r'\.description\s*=\s*COMPOUND_STRING\((?:.|\n)*?\),', convert_description_to_multiline(info["单独技能效果说明"]), block)
except Exception as e:
print(f"Error: {e}")
log(f"❌ {'MOVE_'+move} 没有单独技能效果说明,跳过")
content = content.replace(original_block, block)
return content
def log(message):
with open(current_folder+"\log.txt", "a", encoding="utf-8") as log_file:
log_file.write(message + "\n")
print(message)
if __name__ == "__main__":
work_file = current_folder +"\..\src\data\moves_info.h"
df = pd.read_excel(current_folder +r'\src\技能.xlsx')
df.set_index('技能', inplace=True)
with open(work_file, "r", encoding="utf-8") as f:
content = f.read()
new_content = replace_move_info(content, df)
with open(work_file, "w", encoding="utf-8") as f:
f.write(new_content)

File diff suppressed because it is too large Load Diff

View File

@ -449,17 +449,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FRISK }, .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FRISK },
.bodyColor = BODY_COLOR_YELLOW, .bodyColor = BODY_COLOR_YELLOW,
.speciesName = _("Typhlosion"), .speciesName = _("火暴兽"),
.cryId = CRY_TYPHLOSION, .cryId = CRY_TYPHLOSION,
.natDexNum = NATIONAL_DEX_TYPHLOSION, .natDexNum = NATIONAL_DEX_TYPHLOSION,
.categoryName = _("Ghost Flame"), .categoryName = _("磷火"),
.height = 16, .height = 16,
.weight = 698, .weight = 698,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Said to purify lost, forsaken souls with\n" "据说它是受到洗翠的灵山之气影响,\n"
"its flames and guide them to the afterlife.\n" "才形成了现在的模样。\n"
"It's believed its form was influenced by\n" "据说会用火焰净化并超渡灵魂。"),
"the energy of Mt. Coronet in ancient times."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 268, .trainerScale = 268,
@ -3370,17 +3369,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),
.abilities = { ABILITY_POISON_POINT, ABILITY_WATER_ABSORB, ABILITY_UNAWARE }, .abilities = { ABILITY_POISON_POINT, ABILITY_WATER_ABSORB, ABILITY_UNAWARE },
.bodyColor = BODY_COLOR_BROWN, .bodyColor = BODY_COLOR_BROWN,
.speciesName = _("Wooper"), .speciesName = _("乌波"),
.cryId = CRY_WOOPER, .cryId = CRY_WOOPER,
.natDexNum = NATIONAL_DEX_WOOPER, .natDexNum = NATIONAL_DEX_WOOPER,
.categoryName = _("Poison Fish"), .categoryName = _("毒鱼"),
.height = 4, .height = 4,
.weight = 110, .weight = 110,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"After losing a territorial struggle,\n" "由于单独行动很危险,\n"
"Wooper began living on land.\n" "因此在沼地里行走时会\n"
"The Pokémon changed over time, developing\n" "3、4只排成一列来彼此协助。"),
"a poisonous film to protect its body."),
.pokemonScale = 479, .pokemonScale = 479,
.pokemonOffset = 21, .pokemonOffset = 21,
.trainerScale = 256, .trainerScale = 256,
@ -4929,17 +4927,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
.abilities = { ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE }, .abilities = { ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE },
.bodyColor = BODY_COLOR_BLACK, .bodyColor = BODY_COLOR_BLACK,
.speciesName = _("Qwilfish"), .speciesName = _("千针鱼"),
.cryId = CRY_QWILFISH, .cryId = CRY_QWILFISH,
.natDexNum = NATIONAL_DEX_QWILFISH, .natDexNum = NATIONAL_DEX_QWILFISH,
.categoryName = _("Balloon"), .categoryName = _("气球"),
.height = 5, .height = 5,
.weight = 39, .weight = 39,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"A form of Qwilfish from the distant past.\n" "会从食物摄取毒素。\n"
"Fishers detest this troublesome Pokémon\n" "突显紫色的针是它充满剧毒的证据。"),
"because it sprays poison from its spines,\n"
"getting it everywhere."),
.pokemonScale = 430, .pokemonScale = 430,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 256, .trainerScale = 256,
@ -5459,17 +5455,17 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.abilities = { ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_PICKPOCKET }, .abilities = { ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_PICKPOCKET },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.noFlip = TRUE, .noFlip = TRUE,
.speciesName = _("Sneasel"), .speciesName = _("狃拉"),
.cryId = CRY_SNEASEL, .cryId = CRY_SNEASEL,
.natDexNum = NATIONAL_DEX_SNEASEL, .natDexNum = NATIONAL_DEX_SNEASEL,
.categoryName = _("Sharp Claw"), .categoryName = _("钩爪"),
.height = 9, .height = 9,
.weight = 270, .weight = 270,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its sturdy, curved claws are ideal for\n" "强健的爪子形状有助于\n"
"traversing precipitous cliffs. From the\n" "在断崖绝壁上行动自如。\n"
"tips of these claws drips a venom that\n" "爪子尖端滴出的毒液\n"
"infiltrates the nerves of any prey caught."), "会在捉住猎物时侵袭其神经。"),
.pokemonScale = 413, .pokemonScale = 413,
.pokemonOffset = -3, .pokemonOffset = -3,
.trainerScale = 256, .trainerScale = 256,
@ -6346,17 +6342,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3),
.abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Corsola"), .speciesName = _("太阳珊瑚"),
.cryId = CRY_CORSOLA, .cryId = CRY_CORSOLA,
.natDexNum = NATIONAL_DEX_CORSOLA, .natDexNum = NATIONAL_DEX_CORSOLA,
.categoryName = _("Coral"), .categoryName = _("珊瑚"),
.height = 6, .height = 6,
.weight = 5, .weight = 5,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Sudden climate change wiped out this\n" "它是因急遽环境变化\n"
"ancient kind of Corsola. With its branches,\n" "而死去的远古太阳珊瑚。\n"
"it absorbs others' life-force. It curses\n" "会用珊瑚枝吸取人的精气。"),
"those unaware that kick it by accident."),
.pokemonScale = 410, .pokemonScale = 410,
.pokemonOffset = 15, .pokemonOffset = 15,
.trainerScale = 256, .trainerScale = 256,

View File

@ -239,7 +239,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
.weight = 552, .weight = 552,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"由于其敏捷的腿部力量,\n" "由于其敏捷的腿部力量,\n"
"它可以在一瞬间攻击对手。 \n" "它可以在一瞬间攻击对手。  \n"
"它可以切断尾巴的一部分,\n" "它可以切断尾巴的一部分,\n"
"然后像导弹一样向对手发射。"), "然后像导弹一样向对手发射。"),
.pokemonScale = 256, .pokemonScale = 256,
@ -1212,17 +1212,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET }, .abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Zigzagoon"), .speciesName = _("蛇纹熊"),
.cryId = CRY_ZIGZAGOON, .cryId = CRY_ZIGZAGOON,
.natDexNum = NATIONAL_DEX_ZIGZAGOON, .natDexNum = NATIONAL_DEX_ZIGZAGOON,
.categoryName = _("Tiny Raccoon"), .categoryName = _("豆狸"),
.height = 4, .height = 4,
.weight = 175, .weight = 175,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its restlessness has it constantly moving\n" "这似乎是蛇纹熊最古老的样子。\n"
"in zigzags. It will purposely run into other\n" "会之字形乱走,\n"
"Pokémon to start fights. It's thought to\n" "把周围弄得一团糟。"),
"be the oldest form of Zigzagoon."),
.pokemonScale = 560, .pokemonScale = 560,
.pokemonOffset = 22, .pokemonOffset = 22,
.trainerScale = 256, .trainerScale = 256,
@ -1278,17 +1277,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET }, .abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Linoone"), .speciesName = _("直冲熊"),
.cryId = CRY_LINOONE, .cryId = CRY_LINOONE,
.natDexNum = NATIONAL_DEX_LINOONE, .natDexNum = NATIONAL_DEX_LINOONE,
.categoryName = _("Rushing"), .categoryName = _("猛冲"),
.height = 5, .height = 5,
.weight = 325, .weight = 325,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This very aggressive Pokémon will\n" "有着十分好战的性情。\n"
"recklessly challenge opponents stronger\n" "即使是比自己强的对手\n"
"than itself. It uses its long tongue to\n" "也会鲁莽地发起挑战。"),
"taunt them to then tackle forcefully."),
.pokemonScale = 321, .pokemonScale = 321,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,

View File

@ -1770,17 +1770,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Burmy"), .speciesName = _("结草儿"),
.cryId = CRY_BURMY, .cryId = CRY_BURMY,
.natDexNum = NATIONAL_DEX_BURMY, .natDexNum = NATIONAL_DEX_BURMY,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 2, .height = 2,
.weight = 34, .weight = 34,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"If its cloak is even slightly damaged, it\n" "蓑衣只要稍有缺损,\n"
"will immediately repair it with whatever is\n" "就会立即用身边的材料加以修补。\n"
"near at hand. The Pokémon within the cloak\n" "蓑衣内的身体十分细瘦且畏惧寒冷。"),
"is scrawny and vulnerable to the cold."),
.pokemonScale = 682, .pokemonScale = 682,
.pokemonOffset = 24, .pokemonOffset = 24,
.trainerScale = 256, .trainerScale = 256,
@ -1838,17 +1837,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_BROWN, .bodyColor = BODY_COLOR_BROWN,
.speciesName = _("Burmy"), .speciesName = _("结草儿"),
.cryId = CRY_BURMY, .cryId = CRY_BURMY,
.natDexNum = NATIONAL_DEX_BURMY, .natDexNum = NATIONAL_DEX_BURMY,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 2, .height = 2,
.weight = 34, .weight = 34,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It weaves a cloak together with sand, mud,\n" "将吐出的丝揉合泥沙制成蓑衣。\n"
"and silk it spits out. This earthen cloak\n" "泥沙所制的蓑衣不耐风雨,\n"
"is ruined by wind and rain, so the Pokémon\n" "因此它会躲藏在洞穴等处。"),
"hides away in caves and other such places."),
.pokemonScale = 682, .pokemonScale = 682,
.pokemonOffset = 24, .pokemonOffset = 24,
.trainerScale = 256, .trainerScale = 256,
@ -1906,17 +1904,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Burmy"), .speciesName = _("结草儿"),
.cryId = CRY_BURMY, .cryId = CRY_BURMY,
.natDexNum = NATIONAL_DEX_BURMY, .natDexNum = NATIONAL_DEX_BURMY,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 2, .height = 2,
.weight = 34, .weight = 34,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"When confronted by a lack of other\n" "当身边找不到适合的材料时,\n"
"materials, Burmy will create its cloak\n" "会用尘土草芥等垃圾来做蓑衣。\n"
"using dust and refuse. The cloak seems to\n" "裹起来的感觉似乎意外地还不坏。"),
"be more comfortable than one would think."),
.pokemonScale = 682, .pokemonScale = 682,
.pokemonOffset = 24, .pokemonOffset = 24,
.trainerScale = 256, .trainerScale = 256,
@ -1975,17 +1972,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Wormadam"), .speciesName = _("结草贵妇"),
.cryId = CRY_WORMADAM, .cryId = CRY_WORMADAM,
.natDexNum = NATIONAL_DEX_WORMADAM, .natDexNum = NATIONAL_DEX_WORMADAM,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 5, .height = 5,
.weight = 65, .weight = 65,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its appearance changes depending\n" "草木制成的蓑衣与躯体融合,\n"
"on where Burmy evolved. The materials\n" "如体毛皮肤般成为了身体的一部分。\n"
"on hand become a part of its body.\n" "据考察这乃是进化能量带来的作用。"),
"The cloak is never shed."),
.pokemonScale = 432, .pokemonScale = 432,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2040,17 +2036,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_BROWN, .bodyColor = BODY_COLOR_BROWN,
.speciesName = _("Wormadam"), .speciesName = _("结草贵妇"),
.cryId = CRY_WORMADAM, .cryId = CRY_WORMADAM,
.natDexNum = NATIONAL_DEX_WORMADAM, .natDexNum = NATIONAL_DEX_WORMADAM,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 5, .height = 5,
.weight = 65, .weight = 65,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its earthen skin is reasonably hard, it has\n" "泥沙形成的皮肤有相当的硬度。\n"
"no problem repelling a Starly's pecking.\n" "若是姆克儿的嘴喙程度的攻击,\n"
"It is said that a Wormadam that evolves\n" "轻而易举就可以反弹回去。"),
"on a cold day will have a thicker cloak."),
.pokemonScale = 432, .pokemonScale = 432,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2106,17 +2101,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT }, .abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Wormadam"), .speciesName = _("结草贵妇"),
.cryId = CRY_WORMADAM, .cryId = CRY_WORMADAM,
.natDexNum = NATIONAL_DEX_WORMADAM, .natDexNum = NATIONAL_DEX_WORMADAM,
.categoryName = _("Bagworm"), .categoryName = _("蓑衣虫"),
.height = 5, .height = 5,
.weight = 65, .weight = 65,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its body, composed of refuse, blends in to\n" "尘土草芥等垃圾构成的身体\n"
"the scenery enough to be inconspicuous.\n" "能毫不起眼地融入周围景色之中,\n"
"This seems to be the perfect way for it to\n" "正好适合用来躲避天敌袭击。"),
"evade the detection of predators."),
.pokemonScale = 432, .pokemonScale = 432,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2850,17 +2844,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Shellos"), .speciesName = _("无壳海兔"),
.cryId = CRY_SHELLOS, .cryId = CRY_SHELLOS,
.natDexNum = NATIONAL_DEX_SHELLOS, .natDexNum = NATIONAL_DEX_SHELLOS,
.categoryName = _("Sea Slug"), .categoryName = _("海兔"),
.height = 3, .height = 3,
.weight = 63, .weight = 63,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It oozes a purple fluid to deter enemies.\n" "会渗透出紫色的汁液来威吓敌人。\n"
"While harmless, the fluid is awfully sticky.\n" "跟过去相比,\n"
"Apparently, there are more West Sea\n" "这个样子的群体似乎更多了。"),
"Shellos now than there were in the past."),
.pokemonScale = 530, .pokemonScale = 530,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2915,17 +2908,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Shellos"), .speciesName = _("无壳海兔"),
.cryId = CRY_SHELLOS, .cryId = CRY_SHELLOS,
.natDexNum = NATIONAL_DEX_SHELLOS, .natDexNum = NATIONAL_DEX_SHELLOS,
.categoryName = _("Sea Slug"), .categoryName = _("海兔"),
.height = 3, .height = 3,
.weight = 63, .weight = 63,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It's capable of spending a limited amount\n" "经常能在岩岸发现它的身影。\n"
"of time on land until their skin dries out.\n" "如果只是一定程度的时间,\n"
"One theory suggests that living in cold\n" "它也能在陆地上活动。"),
"seas causes Shellos to take on this form."),
.pokemonScale = 530, .pokemonScale = 530,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2980,17 +2972,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Gastrodon"), .speciesName = _("海兔兽"),
.cryId = CRY_GASTRODON, .cryId = CRY_GASTRODON,
.natDexNum = NATIONAL_DEX_GASTRODON, .natDexNum = NATIONAL_DEX_GASTRODON,
.categoryName = _("Sea Slug"), .categoryName = _("海兔"),
.height = 9, .height = 9,
.weight = 299, .weight = 299,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It appears on shallow-water beaches to\n" "能在岩岸发现它的踪影。\n"
"eat sand for nourishment. Should one\n" "会用黏液慢慢溶解\n"
"Gastrodon encounter another of a\n" "并吸食捕捉到的猎物。"),
"different color, a fierce battle will ensue."),
.pokemonScale = 338, .pokemonScale = 338,
.pokemonOffset = 8, .pokemonOffset = 8,
.trainerScale = 256, .trainerScale = 256,
@ -3043,17 +3034,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Gastrodon"), .speciesName = _("海兔兽"),
.cryId = CRY_GASTRODON, .cryId = CRY_GASTRODON,
.natDexNum = NATIONAL_DEX_GASTRODON, .natDexNum = NATIONAL_DEX_GASTRODON,
.categoryName = _("Sea Slug"), .categoryName = _("海兔"),
.height = 9, .height = 9,
.weight = 299, .weight = 299,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Found more often on land than in the sea.\n" "渔夫说道,\n"
"They normally live in rocky seashores, but\n" "虽然曾经很少遇见这个样子的海兔兽,\n"
"when cloudy or rainy, they can sometimes\n" "但现在它们有增加的倾向。"),
"be found on mountains, far from the sea."),
.pokemonScale = 338, .pokemonScale = 338,
.pokemonOffset = 8, .pokemonOffset = 8,
.trainerScale = 256, .trainerScale = 256,

View File

@ -725,17 +725,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHARPNESS }, .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHARPNESS },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Samurott"), .speciesName = _("大剑鬼"),
.cryId = CRY_SAMUROTT, .cryId = CRY_SAMUROTT,
.natDexNum = NATIONAL_DEX_SAMUROTT, .natDexNum = NATIONAL_DEX_SAMUROTT,
.categoryName = _("Formidable"), .categoryName = _("威严"),
.height = 15, .height = 15,
.weight = 582, .weight = 582,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Hard of heart and deft of blade,\n" "性情与刀路皆是残酷无情。\n"
"this rare form of Samurott is a\n" "连绵不断的攻击彷如千层浪涛。\n"
"product of the Pokémon's evolution in the\n" "此乃只在洗翠进化而成的稀有姿态。"),
"region of Hisui."),
.pokemonScale = 268, .pokemonScale = 268,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 271, .trainerScale = 271,
@ -4137,17 +4136,17 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.abilities = { ABILITY_CHLOROPHYLL, ABILITY_HUSTLE, ABILITY_LEAF_GUARD }, .abilities = { ABILITY_CHLOROPHYLL, ABILITY_HUSTLE, ABILITY_LEAF_GUARD },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.noFlip = TRUE, .noFlip = TRUE,
.speciesName = _("Lilligant"), .speciesName = _("裙儿小姐"),
.cryId = CRY_LILLIGANT, .cryId = CRY_LILLIGANT,
.natDexNum = NATIONAL_DEX_LILLIGANT, .natDexNum = NATIONAL_DEX_LILLIGANT,
.categoryName = _("Spinning"), .categoryName = _("旋转"),
.height = 12, .height = 12,
.weight = 192, .weight = 192,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its well-developed legs are the result of\n" "据考察,雪山深处的栖息环境\n"
"a life spent on mountains covered in deep\n" "为其带来了发达的脚力。\n"
"snow. The scent it exudes from its flower\n" "会从头冠般的花中发出\n"
"crown heartens those in proximity."), "鼓舞周围伙伴的香气。"),
.pokemonScale = 320, .pokemonScale = 320,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -4402,17 +4401,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
.abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Basculegion"), .speciesName = _("幽尾玄鱼"),
.cryId = CRY_BASCULEGION, .cryId = CRY_BASCULEGION,
.natDexNum = NATIONAL_DEX_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION,
.categoryName = _("Big Fish"), .categoryName = _("大鱼"),
.height = 30, .height = 30,
.weight = 1100, .weight = 1100,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Clads itself in the souls of comrades that\n" "拥有惊人的弹跳力。\n"
"perished before fulfilling their goals of\n" "死去的伙伴的怒火染红了它的身体。"),
"journeying upstream. No other species in\n"
"all Hisui's rivers is Basculegion's equal."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -4466,16 +4463,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
.abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Basculegion"), .speciesName = _("幽尾玄鱼"),
.cryId = CRY_BASCULEGION, .cryId = CRY_BASCULEGION,
.natDexNum = NATIONAL_DEX_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION,
.categoryName = _("Big Fish"), .categoryName = _("大鱼"),
.height = 30, .height = 30,
.weight = 1100, .weight = 1100,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The souls of its comrades cloak its\n" "能操控恐怖的幻觉。\n"
"body and propel it effortlessly\n" "伙伴的灵魂的悲痛越深,\n"
"through even raging rapids."), "它的身体就会变得越白。"),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -4810,17 +4807,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_ZEN_MODE }, .abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_ZEN_MODE },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Darmanitan"), .speciesName = _("达摩狒狒"),
.cryId = CRY_DARMANITAN, .cryId = CRY_DARMANITAN,
.natDexNum = NATIONAL_DEX_DARMANITAN, .natDexNum = NATIONAL_DEX_DARMANITAN,
.categoryName = _("Blazing"), .categoryName = _("爆燃"),
.height = 13, .height = 13,
.weight = 929, .weight = 929,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"When one is injured in a fierce battle,\n" "通过在体内燃起1400度的火焰,\n"
"it transforms into a stone statue.\n" "可以制造出足以赤手空拳\n"
"Then it meditates and sharpens its\n" "破坏翻斗车的力量。"),
"mind and fights on mentally."),
.pokemonScale = 272, .pokemonScale = 272,
.pokemonOffset = 3, .pokemonOffset = 3,
.trainerScale = 256, .trainerScale = 256,
@ -4879,16 +4875,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_ZEN_MODE }, .abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_ZEN_MODE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Darmanitan"), .speciesName = _("达摩狒狒"),
.cryId = CRY_DARMANITAN, .cryId = CRY_DARMANITAN,
.natDexNum = NATIONAL_DEX_DARMANITAN, .natDexNum = NATIONAL_DEX_DARMANITAN,
.categoryName = _("Blazing"), .categoryName = _("不倒翁"),
.height = 13, .height = 13,
.weight = 929, .weight = 929,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"When wounded, it stops moving. It\n" "受伤之后会像岩石一样动也不动。\n"
"goes as still as stone to meditate,\n" "那其实是它在用沉思来磨练内心。"),
"sharpening its mind and spirit."),
.pokemonScale = 272, .pokemonScale = 272,
.pokemonOffset = 3, .pokemonOffset = 3,
.trainerScale = 256, .trainerScale = 256,
@ -4937,17 +4932,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_HUSTLE, ABILITY_NONE, ABILITY_INNER_FOCUS }, .abilities = { ABILITY_HUSTLE, ABILITY_NONE, ABILITY_INNER_FOCUS },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Darumaka"), .speciesName = _("火红不倒翁"),
.cryId = CRY_DARUMAKA, .cryId = CRY_DARUMAKA,
.natDexNum = NATIONAL_DEX_DARUMAKA, .natDexNum = NATIONAL_DEX_DARUMAKA,
.categoryName = _("Zen Charm"), .categoryName = _("不倒翁"),
.height = 7, .height = 7,
.weight = 400, .weight = 400,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The colder they get, the more\n" "由于居住在积雪深厚的地域,\n"
"energetic they are. They freeze their\n" "火囊也因受到冷却而退化了。\n"
"breath to make snowballs, using them\n" "取而代之的是制造冷气的器官。"),
"as ammo for playful snowball fights."),
.pokemonScale = 422, .pokemonScale = 422,
.pokemonOffset = 14, .pokemonOffset = 14,
.trainerScale = 256, .trainerScale = 256,
@ -5003,17 +4997,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE }, .abilities = { ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Darmanitan"), .speciesName = _("达摩狒狒"),
.cryId = CRY_DARMANITAN, .cryId = CRY_DARMANITAN,
.natDexNum = NATIONAL_DEX_DARMANITAN, .natDexNum = NATIONAL_DEX_DARMANITAN,
.categoryName = _("Zen Charm"), .categoryName = _("不倒翁"),
.height = 17, .height = 17,
.weight = 1200, .weight = 1200,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"On days when blizzards blow\n" "性格敦厚的大力士。\n"
"through, it comes down to where people\n" "会一口气冻住头上的雪球,\n"
"live. It stashes food in the snowball on\n" "然后用头锤撞击对手。"),
"its head, taking it home for later."),
.pokemonScale = 272, .pokemonScale = 272,
.pokemonOffset = 3, .pokemonOffset = 3,
.trainerScale = 256, .trainerScale = 256,
@ -5068,17 +5061,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE }, .abilities = { ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Darmanitan"), .speciesName = _("达摩狒狒"),
.cryId = CRY_DARMANITAN, .cryId = CRY_DARMANITAN,
.natDexNum = NATIONAL_DEX_DARMANITAN, .natDexNum = NATIONAL_DEX_DARMANITAN,
.categoryName = _("Blazing"), .categoryName = _("爆燃"),
.height = 17, .height = 17,
.weight = 1200, .weight = 1200,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Darmanitan takes this form when\n" "达摩狒狒情绪激昂的样子。\n"
"enraged. It won't stop spewing flames\n" "在怒气平息之前,\n"
"until its rage has settled, even if\n" "即使身体融化也会不断喷出火焰。"),
"its body starts to melt."),
.pokemonScale = 272, .pokemonScale = 272,
.pokemonOffset = 3, .pokemonOffset = 3,
.trainerScale = 256, .trainerScale = 256,
@ -5693,17 +5685,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_WANDERING_SPIRIT, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_WANDERING_SPIRIT, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLACK, .bodyColor = BODY_COLOR_BLACK,
.speciesName = _("Yamask"), .speciesName = _("哭哭面具"),
.cryId = CRY_YAMASK, .cryId = CRY_YAMASK,
.natDexNum = NATIONAL_DEX_YAMASK, .natDexNum = NATIONAL_DEX_YAMASK,
.categoryName = _("Spirit"), .categoryName = _("魂"),
.height = 5, .height = 5,
.weight = 15, .weight = 15,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"A clay slab with cursed engravings\n" "据说它是古代黏土板被带有\n"
"took possession of a Yamask. The\n" "强烈怨念的灵魂吸引后诞生的宝可梦。"),
"slab is said to be absorbing the\n"
"Yamask's dark power."),
.pokemonScale = 432, .pokemonScale = 432,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -6246,17 +6236,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.abilities = { ABILITY_STENCH, ABILITY_WEAK_ARMOR, ABILITY_AFTERMATH }, .abilities = { ABILITY_STENCH, ABILITY_WEAK_ARMOR, ABILITY_AFTERMATH },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.noFlip = TRUE, .noFlip = TRUE,
.speciesName = _("Garbodor"), .speciesName = _("灰尘山"),
.cryId = CRY_GARBODOR, .cryId = CRY_GARBODOR,
.natDexNum = NATIONAL_DEX_GARBODOR, .natDexNum = NATIONAL_DEX_GARBODOR,
.categoryName = _("Trash Heap"), .categoryName = _("垃圾场"),
.height = 210, .height = 210,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It sprays toxic gas from its mouth\n" "如果沾到它从嘴和手指\n"
"and fingers. If the gas engulfs you,\n" "喷射出来的毒气,\n"
"the toxins will seep in all the way\n" "毒素会蔓延到你的骨髓里。"),
"down to your bones."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -6443,17 +6432,17 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_ILLUSION, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_ILLUSION, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Zorua"), .speciesName = _("索罗亚"),
.cryId = CRY_ZORUA, .cryId = CRY_ZORUA,
.natDexNum = NATIONAL_DEX_ZORUA, .natDexNum = NATIONAL_DEX_ZORUA,
.categoryName = _("Spiteful Fox"), .categoryName = _("怨狐"),
.height = 7, .height = 7,
.weight = 125, .weight = 125,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Derives power from resentment,\n" "死后灵魂在洗翠地区复苏。\n"
"which rises as energy atop its head and\n" "怨恨化为力量,\n"
"takes on the forms of foes. In this\n" "从其头部冉冉飘升。\n"
"way, Zorua vents lingering malice."), "会化成对手的样貌去洗刷仇恨。"),
.pokemonScale = 365, .pokemonScale = 365,
.pokemonOffset = 12, .pokemonOffset = 12,
.trainerScale = 256, .trainerScale = 256,
@ -6508,17 +6497,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_ILLUSION, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_ILLUSION, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Zoroark"), .speciesName = _("索罗亚克"),
.cryId = CRY_ZOROARK, .cryId = CRY_ZOROARK,
.natDexNum = NATIONAL_DEX_ZOROARK, .natDexNum = NATIONAL_DEX_ZOROARK,
.categoryName = _("Baneful Fox"), .categoryName = _("咒狐"),
.height = 16, .height = 16,
.weight = 730, .weight = 730,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Heedless of its own safety,\n" "疯狂舞动白发的姿态如同死神。\n"
"Zoroark attacks its nemeses with a bitter\n" "在足以撕裂自身的深刻仇怨驱使下,\n"
"energy so intense, it lacerates\n" "抱定同归于尽之心袭杀仇敌。"),
"Zoroark's own body."),
.pokemonScale = 259, .pokemonScale = 259,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 296, .trainerScale = 296,
@ -10264,17 +10252,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),
.abilities = { ABILITY_MIMICRY, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_MIMICRY, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Stunfisk"), .speciesName = _("泥巴鱼"),
.cryId = CRY_STUNFISK, .cryId = CRY_STUNFISK,
.natDexNum = NATIONAL_DEX_STUNFISK, .natDexNum = NATIONAL_DEX_STUNFISK,
.categoryName = _("Trap"), .categoryName = _("陷阱"),
.height = 7, .height = 7,
.weight = 205, .weight = 205,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its conspicuous lips lure prey in\n" "会藏在泥巴里,\n"
"as it lies in wait in the mud. When\n" "用显眼的嘴唇吸引猎物接近自己,\n"
"prey gets close, Stunfisk clamps its\n" "接着用锯齿般的钢鳍紧紧将对手夹住。"),
"jagged steel fins down on them."),
.pokemonScale = 365, .pokemonScale = 365,
.pokemonOffset = 14, .pokemonOffset = 14,
.trainerScale = 256, .trainerScale = 256,
@ -11084,16 +11071,17 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_TINTED_LENS }, .abilities = { ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_TINTED_LENS },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Braviary"), .speciesName = _("勇士雄鹰"),
.cryId = CRY_BRAVIARY, .cryId = CRY_BRAVIARY,
.natDexNum = NATIONAL_DEX_BRAVIARY, .natDexNum = NATIONAL_DEX_BRAVIARY,
.categoryName = _("Battle Cry"), .categoryName = _("战吼"),
.height = 17, .height = 17,
.weight = 434, .weight = 434,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Screaming a bloodcurdling battle\n" "勇猛的大鸟。\n"
"cry, this huge and ferocious bird\n" "狩猎时会发出气势骇人的战吼,\n"
"Pokémon goes out on the hunt."), "朝湖水发出冲击波,\n"
"捕捉浮出水面的猎物。"),
.pokemonScale = 268, .pokemonScale = 268,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 271, .trainerScale = 271,

View File

@ -1456,10 +1456,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
{ {
VIVILLON_MISC_INFO(PokeBall, BODY_COLOR_RED, 2), VIVILLON_MISC_INFO(PokeBall, BODY_COLOR_RED, 2),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its pattern depends on the climate and\n" "诞生在特别的地方。\n"
"topography of the land it was born in.\n" "会从翅膀撒出色彩艳丽的\n"
"This form is from a special land.\n" "毒鳞粉来战斗。"),
"It scatters toxic color scales in battle."),
}, },
#endif //P_FAMILY_SCATTERBUG #endif //P_FAMILY_SCATTERBUG
@ -1676,46 +1675,41 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
{ {
FLABEBE_MISC_INFO(Red, RED, 1), FLABEBE_MISC_INFO(Red, RED, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Flabébé rides a red flower.\n" "乘着红花的花蓓蓓。\n"
"Immediately after birth, this Pokémon\n" "从出生那一刻起就会为了寻找\n"
"begins flying around in search of a\n" "喜欢的花而四处飞行。"),
"flower it likes."),
}, },
[SPECIES_FLABEBE_YELLOW] = [SPECIES_FLABEBE_YELLOW] =
{ {
FLABEBE_MISC_INFO(Yellow, YELLOW, 1), FLABEBE_MISC_INFO(Yellow, YELLOW, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It unleashes a variety of moves by\n" "激发花的力量,\n"
"drawing forth the power hidden\n" "以此来使出各种各样的招式。\n"
"within flowers. This Pokémon is\n" "尤其喜欢黄花。"),
"particularly fond of yellow flowers."),
}, },
[SPECIES_FLABEBE_ORANGE] = [SPECIES_FLABEBE_ORANGE] =
{ {
FLABEBE_MISC_INFO(Orange, ORANGE, 0), FLABEBE_MISC_INFO(Orange, ORANGE, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It receives strength from flowers\n" "由于从花那里得到力量,\n"
"and gives them some of its energy in\n" "因此相应地会分出能量给花。\n"
"return. This Pokémon likes orange\n" "它最喜欢的是橙花。"),
"flowers best of all."),
}, },
[SPECIES_FLABEBE_BLUE] = [SPECIES_FLABEBE_BLUE] =
{ {
FLABEBE_MISC_INFO(Blue, BLUE, 0), FLABEBE_MISC_INFO(Blue, BLUE, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon likes blue flowers\n" "它最喜欢的是蓝花。\n"
"best of all. It floats upward using the\n" "靠由花朵散发出的力量浮在空中,\n"
"power emanating from its flower\n" "轻轻地飘来飘去。"),
"and bobs along lightly through the air."),
}, },
[SPECIES_FLABEBE_WHITE] = [SPECIES_FLABEBE_WHITE] =
{ {
FLABEBE_MISC_INFO(White, WHITE, 1), FLABEBE_MISC_INFO(White, WHITE, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"When evening falls, it searches out\n" "一到黄昏,\n"
"a place blooming with flowers of\n" "它就会去找和自己一样绽放着\n"
"the same white color as itself, and\n" "白花的地方睡觉。"),
"then it goes to sleep."),
}, },
#define FLOETTE_MISC_INFO(form, FORM, iconPal) \ #define FLOETTE_MISC_INFO(form, FORM, iconPal) \
@ -1783,46 +1777,40 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
{ {
FLOETTE_NORMAL_INFO(Red, RED, 1), FLOETTE_NORMAL_INFO(Red, RED, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon uses red wavelengths\n" "会通过红色的波长把自己的\n"
"of light to pour its own energy\n" "能量传递给花,\n"
"into flowers and draw forth their\n" "以激发花的潜在能力。"),
"latent potential."),
}, },
[SPECIES_FLOETTE_YELLOW] = [SPECIES_FLOETTE_YELLOW] =
{ {
FLOETTE_NORMAL_INFO(Yellow, YELLOW, 1), FLOETTE_NORMAL_INFO(Yellow, YELLOW, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon can draw forth the\n" "能够激发草属性的宝可梦的潜在能力。\n"
"power hidden within yellow flowers.\n" "与黄花的波长很契合。"),
"This power then becomes the moves\n"
"Floette uses to protect itself."),
}, },
[SPECIES_FLOETTE_ORANGE] = [SPECIES_FLOETTE_ORANGE] =
{ {
FLOETTE_NORMAL_INFO(Orange, ORANGE, 0), FLOETTE_NORMAL_INFO(Orange, ORANGE, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon can draw forth the\n" "单靠自己无法使出招式。\n"
"most power when in sync with orange\n" "通过与花同步波长,\n"
"flowers, compared to flowers of other\n" "就能使出草属性的招式。"),
"colors."),
}, },
[SPECIES_FLOETTE_BLUE] = [SPECIES_FLOETTE_BLUE] =
{ {
FLOETTE_NORMAL_INFO(Blue, BLUE, 0), FLOETTE_NORMAL_INFO(Blue, BLUE, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Whenever this Pokémon finds\n" "能通过颜色的波长与花交换力量。\n"
"flowering plants that are withering, it\n" "这个样子是能与蓝色的\n"
"will bring them back to its territory\n" "波长结合的个体。"),
"and care for them."),
}, },
[SPECIES_FLOETTE_WHITE] = [SPECIES_FLOETTE_WHITE] =
{ {
FLOETTE_NORMAL_INFO(White, WHITE, 1), FLOETTE_NORMAL_INFO(White, WHITE, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"If it finds someone messing up a\n" "如果发现有谁破坏了花坛,\n"
"flower bed, it will attack them\n" "就会毫不留情地发动攻击。\n"
"without mercy. This Floette takes\n" "非常珍惜白花。"),
"particularly good care of white flowers."),
}, },
[SPECIES_FLOETTE_ETERNAL] = [SPECIES_FLOETTE_ETERNAL] =
{ {
@ -1837,10 +1825,8 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.cryId = CRY_FLOETTE_ETERNAL, .cryId = CRY_FLOETTE_ETERNAL,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The flower it's holding can no\n" "那朵不祥的花里蕴藏着恐怖的能量,\n"
"longer be found blooming anywhere. It's\n" "但它却天真地挥舞着那花。"),
"also thought to contain terrifying\n"
"power."),
.frontPic = gMonFrontPic_FloetteEternal, .frontPic = gMonFrontPic_FloetteEternal,
.frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicSize = MON_COORDS_SIZE(64, 64),
.frontPicYOffset = 3, .frontPicYOffset = 3,
@ -1912,45 +1898,40 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
{ {
FLORGES_MISC_INFO(Red, 0), FLORGES_MISC_INFO(Red, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon creates an impressive\n" "据说由花洁夫人打造的花园中\n"
"flower garden in its territory. It\n" "会源源不断地倾注着\n"
"draws forth the power of the red\n" "能够治愈身心的力量。"),
"flowers around its neck."),
}, },
[SPECIES_FLORGES_YELLOW] = [SPECIES_FLORGES_YELLOW] =
{ {
FLORGES_MISC_INFO(Yellow, 1), FLORGES_MISC_INFO(Yellow, 1),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon battles by drawing\n" "能激发出黄花的力量来战斗。\n"
"forth the power of yellow flowers. It\n" "会狠狠地教训糟蹋花草的家伙,\n"
"ruthlessly punishes anyone who\n" "绝不会手下留情。"),
"tramples on flowering plants."),
}, },
[SPECIES_FLORGES_ORANGE] = [SPECIES_FLORGES_ORANGE] =
{ {
FLORGES_MISC_INFO(Orange, 0), FLORGES_MISC_INFO(Orange, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"In times long past, castle\n" "过去的城主们为了维护\n"
"governors would lovingly raise Florges to\n" "城堡庭院的美观,\n"
"care for their castles' exquisite\n" "会精心培育花洁夫人。"),
"gardens."),
}, },
[SPECIES_FLORGES_BLUE] = [SPECIES_FLORGES_BLUE] =
{ {
FLORGES_MISC_INFO(Blue, 0), FLORGES_MISC_INFO(Blue, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Blue pigments were tremendously\n" "过去蓝色的颜料价格十分昂贵,\n"
"expensive in the past, so paintings\n" "因此画有蓝色个体的\n"
"of blue Florges are highly valuable."), "绘画拥有极高的价值。"),
}, },
[SPECIES_FLORGES_WHITE] = [SPECIES_FLORGES_WHITE] =
{ {
FLORGES_MISC_INFO(White, 0), FLORGES_MISC_INFO(White, 0),
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"A flower garden made by a white-\n" "由白花装饰的个体也能与各种\n"
"flowered Florges will be beautifully\n" "不同的颜色同步波长,激发力量。"),
"decorated with flowering plants of\n"
"many different colors."),
}, },
#endif //P_FAMILY_FLABEBE #endif //P_FAMILY_FLABEBE
@ -2396,17 +2377,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_KEEN_EYE, ABILITY_INFILTRATOR, ABILITY_PRANKSTER }, .abilities = { ABILITY_KEEN_EYE, ABILITY_INFILTRATOR, ABILITY_PRANKSTER },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Meowstic"), .speciesName = _("超能妙喵"),
.cryId = CRY_MEOWSTIC, .cryId = CRY_MEOWSTIC,
.natDexNum = NATIONAL_DEX_MEOWSTIC, .natDexNum = NATIONAL_DEX_MEOWSTIC,
.categoryName = _("Constraint"), .categoryName = _("抑制"),
.height = 6, .height = 6,
.weight = 85, .weight = 85,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The defensive instinct of the\n" "如果持续释放强大的精神力量,\n"
"males is strong. It's when they're\n" "那么自身的肉体也会受到伤害。"),
"protecting themselves or their partners\n"
"that they unleash their full power."),
.pokemonScale = 422, .pokemonScale = 422,
.pokemonOffset = 12, .pokemonOffset = 12,
.trainerScale = 256, .trainerScale = 256,
@ -2459,17 +2438,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_KEEN_EYE, ABILITY_INFILTRATOR, ABILITY_COMPETITIVE }, .abilities = { ABILITY_KEEN_EYE, ABILITY_INFILTRATOR, ABILITY_COMPETITIVE },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Meowstic"), .speciesName = _("超能妙喵"),
.cryId = CRY_MEOWSTIC, .cryId = CRY_MEOWSTIC,
.natDexNum = NATIONAL_DEX_MEOWSTIC, .natDexNum = NATIONAL_DEX_MEOWSTIC,
.categoryName = _("Constraint"), .categoryName = _("抑制"),
.height = 6, .height = 6,
.weight = 85, .weight = 85,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Females are a bit more selfish and\n" "一旦察觉到危险就\n"
"aggressive than males. If they\n" "会以最大输出释放精神力量。\n"
"don't get what they want, they will\n" "它可不会在意对手的事情。"),
"torment you with their psychic abilities."),
.pokemonScale = 422, .pokemonScale = 422,
.pokemonOffset = 12, .pokemonOffset = 12,
.trainerScale = 256, .trainerScale = 256,
@ -4466,17 +4444,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON),
.abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY }, .abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Sliggoo"), .speciesName = _("黏美儿"),
.cryId = CRY_SLIGGOO, .cryId = CRY_SLIGGOO,
.natDexNum = NATIONAL_DEX_SLIGGOO, .natDexNum = NATIONAL_DEX_SLIGGOO,
.categoryName = _("Snail"), .categoryName = _("蜗牛"),
.height = 7, .height = 7,
.weight = 685, .weight = 685,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"A creature given to melancholy.\n" "性情阴沉。据考察,洗翠地区的水中\n"
"Its metallic shell developed as a\n" "含有的铁质对皮肤的黏液产生作用,\n"
"result of the mucus on its skin reacting\n" "使其变化成了金属外壳。"),
"with the iron in Hisui's water."),
.pokemonScale = 366, .pokemonScale = 366,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 257, .trainerScale = 257,
@ -4532,17 +4509,17 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON),
.abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY }, .abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Goodra"), .speciesName = _("黏美龙"),
.cryId = CRY_GOODRA, .cryId = CRY_GOODRA,
.natDexNum = NATIONAL_DEX_GOODRA, .natDexNum = NATIONAL_DEX_GOODRA,
.categoryName = _("Shell Bunker"), .categoryName = _("窝壳"),
.height = 17, .height = 17,
.weight = 3341, .weight = 3341,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It loathes solitude and is extremely\n" "能自在操纵可刚可柔的金属外壳。\n"
"clingy--it will fume and run riot if\n" "性情执着且厌恶孤独,\n"
"those dearest to it ever leave its\n" "一旦喜爱的对象离开\n"
"side."), "自己便会怒不可遏。"),
.pokemonScale = 261, .pokemonScale = 261,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 334, .trainerScale = 334,
@ -5466,16 +5443,17 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.eggGroups = BERGMITE_EGG_GROUPS, .eggGroups = BERGMITE_EGG_GROUPS,
.abilities = { ABILITY_STRONG_JAW, ABILITY_ICE_BODY, ABILITY_STURDY }, .abilities = { ABILITY_STRONG_JAW, ABILITY_ICE_BODY, ABILITY_STURDY },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Avalugg"), .speciesName = _("冰岩怪"),
.cryId = CRY_AVALUGG, .cryId = CRY_AVALUGG,
.natDexNum = NATIONAL_DEX_AVALUGG, .natDexNum = NATIONAL_DEX_AVALUGG,
.categoryName = _("Iceberg"), .categoryName = _("冰山"),
.height = 14, .height = 14,
.weight = 2624, .weight = 2624,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The armor of ice covering its lower\n" "包覆下颚的冰块装甲硬度更胜钢铁,\n"
"jaw puts steel to shame and can\n" "能轻易地击碎岩石。\n"
"shatter rocks with ease."), "冰岩怪借此铲开厚重积雪,\n"
"在险峻的山路上猛冲。"),
.pokemonScale = 261, .pokemonScale = 261,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 334, .trainerScale = 334,
@ -5880,10 +5858,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.abilities = { ABILITY_AURA_BREAK, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_AURA_BREAK, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.noFlip = TRUE, .noFlip = TRUE,
.speciesName = _("Zygarde"), .speciesName = _("基格尔德"),
.cryId = CRY_ZYGARDE_50, .cryId = CRY_ZYGARDE_50,
.natDexNum = NATIONAL_DEX_ZYGARDE, .natDexNum = NATIONAL_DEX_ZYGARDE,
.categoryName = _("Order"), .categoryName = _("秩序"),
.height = 50, .height = 50,
.weight = 3050, .weight = 3050,
.description = gZygarde50PokedexText, .description = gZygarde50PokedexText,

View File

@ -222,17 +222,17 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SCRAPPY }, .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SCRAPPY },
.bodyColor = BODY_COLOR_BROWN, .bodyColor = BODY_COLOR_BROWN,
.speciesName = _("Decidueye"), .speciesName = _("狙射树枭"),
.cryId = CRY_DECIDUEYE, .cryId = CRY_DECIDUEYE,
.natDexNum = NATIONAL_DEX_DECIDUEYE, .natDexNum = NATIONAL_DEX_DECIDUEYE,
.categoryName = _("Arrow Quill"), .categoryName = _("箭羽"),
.height = 16, .height = 16,
.weight = 370, .weight = 370,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The air stored inside the rachises\n" "为抵抗洗翠的严寒气候,\n"
"of Decidueye's feathers insulates\n" "羽毛的芯中含有空气,\n"
"the Pokémon against Hisui's extreme\n" "因而能够防寒。\n"
"cold."), "由此可见环境会对进化产生影响。"),
.pokemonScale = 259, .pokemonScale = 259,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 296, .trainerScale = 296,
@ -6776,17 +6776,15 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_SOUL_HEART, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_SOUL_HEART, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Magearna"), .speciesName = _("玛机雅娜"),
.cryId = CRY_MAGEARNA, .cryId = CRY_MAGEARNA,
.natDexNum = NATIONAL_DEX_MAGEARNA, .natDexNum = NATIONAL_DEX_MAGEARNA,
.categoryName = _("Artificial"), .categoryName = _("人造"),
.height = 10, .height = 10,
.weight = 805, .weight = 805,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This is its form from almost 500\n" "大约500年前由科学家制作而成。\n"
"years ago. Its body is nothing more\n" "被称为魂心的部分是它的本体。"),
"than a container-its artificial heart\n"
"is the actual life-form."),
.pokemonScale = 305, .pokemonScale = 305,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 257, .trainerScale = 257,
@ -7377,17 +7375,16 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_IRON_FIST, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_IRON_FIST, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Melmetal"), .speciesName = _("美录梅塔"),
.cryId = CRY_MELMETAL, .cryId = CRY_MELMETAL,
.natDexNum = NATIONAL_DEX_MELMETAL, .natDexNum = NATIONAL_DEX_MELMETAL,
.categoryName = _("Hex Nut"), .categoryName = _("螺帽"),
.height = 250, .height = 250,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"In a distant land, there are\n" "会从腹部的孔洞里\n"
"legends about a cyclopean giant. In fact,\n" "发出电力强大的光束,\n"
"the giant was a Melmetal that was\n" "只需一击就能让对手蒸发。"),
"flooded with Gigantamax energy."),
.pokemonScale = 257, .pokemonScale = 257,
.pokemonOffset = 10, .pokemonOffset = 10,
.trainerScale = 423, .trainerScale = 423,

View File

@ -211,16 +211,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS),
.abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_GRASSY_SURGE }, .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_GRASSY_SURGE },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Rillaboom"), .speciesName = _("轰擂金刚猩"),
.cryId = CRY_RILLABOOM, .cryId = CRY_RILLABOOM,
.natDexNum = NATIONAL_DEX_RILLABOOM, .natDexNum = NATIONAL_DEX_RILLABOOM,
.categoryName = _("Drummer"), .categoryName = _("鼓手"),
.height = 280, .height = 280,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Rillaboom has become one with its\n" "轰擂金刚猩会与森林之鼓合而为一,\n"
"forest of drums and continues to lay\n" "不断击打出能撼动伽勒尔全境的节拍。"),
"down beats that shake all of Galar."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 365, .trainerScale = 365,
@ -458,17 +457,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE),
.abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO }, .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Cinderace"), .speciesName = _("闪焰王牌"),
.cryId = CRY_CINDERACE, .cryId = CRY_CINDERACE,
.natDexNum = NATIONAL_DEX_CINDERACE, .natDexNum = NATIONAL_DEX_CINDERACE,
.categoryName = _("Striker"), .categoryName = _("前锋"),
.height = 270, .height = 270,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Infused with Cinderace's fighting\n" "因着超极巨化的力量,\n"
"spirit, the gigantic Pyro Ball never\n" "火焰球的直径有时\n"
"misses its targets and completely\n" "甚至会超过100米。"),
"roasts opponents."),
.pokemonScale = 265, .pokemonScale = 265,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 262, .trainerScale = 262,
@ -707,17 +705,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),
.abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SNIPER }, .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SNIPER },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Inteleon"), .speciesName = _("千面避役"),
.cryId = CRY_INTELEON, .cryId = CRY_INTELEON,
.natDexNum = NATIONAL_DEX_INTELEON, .natDexNum = NATIONAL_DEX_INTELEON,
.categoryName = _("Secret Agent"), .categoryName = _("特工"),
.height = 400, .height = 400,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Gigantamax Inteleon's Water Gun\n" "狙击技巧超群。\n"
"move fires at Mach 7. As the Pokémon\n" "打穿掉落在15公里以外地面\n"
"takes aim, it uses the crest on its\n" "上的树果对它来说也是小菜一碟。"),
"head to gauge wind and temperature."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -1102,17 +1099,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Corviknight"), .speciesName = _("钢铠鸦"),
.cryId = CRY_CORVIKNIGHT, .cryId = CRY_CORVIKNIGHT,
.natDexNum = NATIONAL_DEX_CORVIKNIGHT, .natDexNum = NATIONAL_DEX_CORVIKNIGHT,
.categoryName = _("Raven"), .categoryName = _("乌鸦"),
.height = 140, .height = 140,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Imbued with Gigantamax energy, its\n" "能让背部被称为“刃鸟”的\n"
"wings can whip up winds more\n" "8根羽毛脱离身体,\n"
"forceful than any a hurricane could\n" "各自独立去袭击敌人。"),
"muster. The gusts blow everything away."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 348, .trainerScale = 348,
@ -1355,17 +1351,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_SWARM, ABILITY_FRISK, ABILITY_TELEPATHY }, .abilities = { ABILITY_SWARM, ABILITY_FRISK, ABILITY_TELEPATHY },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Orbeetle"), .speciesName = _("以欧路普"),
.cryId = CRY_ORBEETLE, .cryId = CRY_ORBEETLE,
.natDexNum = NATIONAL_DEX_ORBEETLE, .natDexNum = NATIONAL_DEX_ORBEETLE,
.categoryName = _("Seven Spot"), .categoryName = _("七星"),
.height = 140, .height = 140,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its brain has grown to a gargantuan\n" "在它竭尽全力时,\n"
"size, as has the rest of its body.\n" "能够操纵自己周围一切生物的心灵。"),
"This Pokémon's intellect and\n"
"psychic abilities are overpowering."),
.pokemonScale = 491, .pokemonScale = 491,
.pokemonOffset = 12, .pokemonOffset = 12,
.trainerScale = 256, .trainerScale = 256,
@ -1927,17 +1921,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1),
.abilities = { ABILITY_STRONG_JAW, ABILITY_SHELL_ARMOR, ABILITY_SWIFT_SWIM }, .abilities = { ABILITY_STRONG_JAW, ABILITY_SHELL_ARMOR, ABILITY_SWIFT_SWIM },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Drednaw"), .speciesName = _("暴噬龟"),
.cryId = CRY_DREDNAW, .cryId = CRY_DREDNAW,
.natDexNum = NATIONAL_DEX_DREDNAW, .natDexNum = NATIONAL_DEX_DREDNAW,
.categoryName = _("Bite"), .categoryName = _("紧咬"),
.height = 240, .height = 240,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"In the Galar region, there's a tale\n" "古时候它咬崩一座山阻止洪水漫延的\n"
"about this Pokémon chewing up a\n" "故事在伽勒尔地区代代相传。"),
"mountain and using the rubble to stop a\n"
"flood."),
.pokemonScale = 305, .pokemonScale = 305,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 257, .trainerScale = 257,
@ -2301,17 +2293,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL),
.abilities = { ABILITY_STEAM_ENGINE, ABILITY_FLAME_BODY, ABILITY_FLASH_FIRE }, .abilities = { ABILITY_STEAM_ENGINE, ABILITY_FLAME_BODY, ABILITY_FLASH_FIRE },
.bodyColor = BODY_COLOR_BLACK, .bodyColor = BODY_COLOR_BLACK,
.speciesName = _("Coalossal"), .speciesName = _("巨炭山"),
.cryId = CRY_COALOSSAL, .cryId = CRY_COALOSSAL,
.natDexNum = NATIONAL_DEX_COALOSSAL, .natDexNum = NATIONAL_DEX_COALOSSAL,
.categoryName = _("Coal"), .categoryName = _("煤炭"),
.height = 420, .height = 420,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its body is a colossal stove. With\n" "据说在大寒流席卷伽勒尔时,\n"
"Gigantamax energy stoking the fire,\n" "是它变成巨大的火炉\n"
"this Pokémon's flame burns hotter\n" "拯救了许许多多的生命。"),
"than 3,600 degrees Fahrenheit."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -2492,17 +2483,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON),
.abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_HUSTLE }, .abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_HUSTLE },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Flapple"), .speciesName = _("苹裹龙"),
.cryId = CRY_FLAPPLE, .cryId = CRY_FLAPPLE,
.natDexNum = NATIONAL_DEX_FLAPPLE, .natDexNum = NATIONAL_DEX_FLAPPLE,
.categoryName = _("Apple Wing"), .categoryName = _("苹果翅"),
.height = 240, .height = 240,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Under the influence of Gigantamax\n" "当它把脖子伸长时,\n"
"energy, it produces much more sweet\n" "会散发出强烈的蜜汁甜味,\n"
"nectar, and its shape has changed\n" "让闻到的宝可梦失去知觉。"),
"to resemble a giant apple."),
.pokemonScale = 530, .pokemonScale = 530,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -2613,17 +2603,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON),
.abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_THICK_FAT },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Appletun"), .speciesName = _("丰蜜龙"),
.cryId = CRY_APPLETUN, .cryId = CRY_APPLETUN,
.natDexNum = NATIONAL_DEX_APPLETUN, .natDexNum = NATIONAL_DEX_APPLETUN,
.categoryName = _("Apple Nectar"), .categoryName = _("苹果汁"),
.height = 240, .height = 240,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Due to Gigantamax energy, this\n" "在超极巨化之力的影响下,\n"
"Pokémon's nectar has thickened. The\n" "蜜汁的黏度进一步提升,\n"
"increased viscosity lets the nectar\n" "能够吸收受到的伤害。"),
"absorb more damage than before."),
.pokemonScale = 491, .pokemonScale = 491,
.pokemonOffset = 12, .pokemonOffset = 12,
.trainerScale = 256, .trainerScale = 256,
@ -2924,17 +2913,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON),
.abilities = { ABILITY_SAND_SPIT, ABILITY_SHED_SKIN, ABILITY_SAND_VEIL }, .abilities = { ABILITY_SAND_SPIT, ABILITY_SHED_SKIN, ABILITY_SAND_VEIL },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Sandaconda"), .speciesName = _("沙螺蟒"),
.cryId = CRY_SANDACONDA, .cryId = CRY_SANDACONDA,
.natDexNum = NATIONAL_DEX_SANDACONDA, .natDexNum = NATIONAL_DEX_SANDACONDA,
.categoryName = _("Sand Snake"), .categoryName = _("沙蛇"),
.height = 220, .height = 220,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its sand pouch has grown to tremendous\n" "在它身体四周高速旋转着的\n"
"proportions. More than 1,000,000 tons of\n" "沙子拥有极强的破坏力,\n"
"sand now swirl around its body with enough\n" "甚至连高楼大厦都能粉碎。"),
"speed and power to pulverize a skyscraper."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 610, .trainerScale = 610,
@ -3410,10 +3398,10 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE),
.abilities = { ABILITY_PUNK_ROCK, ABILITY_PLUS, ABILITY_TECHNICIAN }, .abilities = { ABILITY_PUNK_ROCK, ABILITY_PLUS, ABILITY_TECHNICIAN },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Toxtricity"), .speciesName = _("颤弦蝾螈"),
.cryId = CRY_TOXTRICITY_AMPED, .cryId = CRY_TOXTRICITY_AMPED,
.natDexNum = NATIONAL_DEX_TOXTRICITY, .natDexNum = NATIONAL_DEX_TOXTRICITY,
.categoryName = _("Punk"), .categoryName = _("庞克"),
.height = 240, .height = 240,
.weight = 0, .weight = 0,
.description = gToxtricityGigantamaxPokedexText, .description = gToxtricityGigantamaxPokedexText,
@ -3527,10 +3515,10 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE),
.abilities = { ABILITY_PUNK_ROCK, ABILITY_MINUS, ABILITY_TECHNICIAN }, .abilities = { ABILITY_PUNK_ROCK, ABILITY_MINUS, ABILITY_TECHNICIAN },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Toxtricity"), .speciesName = _("颤弦蝾螈"),
.cryId = CRY_TOXTRICITY_LOW_KEY, .cryId = CRY_TOXTRICITY_LOW_KEY,
.natDexNum = NATIONAL_DEX_TOXTRICITY, .natDexNum = NATIONAL_DEX_TOXTRICITY,
.categoryName = _("Punk"), .categoryName = _("庞克"),
.height = 240, .height = 240,
.weight = 0, .weight = 0,
.description = gToxtricityGigantamaxPokedexText, .description = gToxtricityGigantamaxPokedexText,
@ -3717,17 +3705,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
.abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Centiskorch"), .speciesName = _("焚焰蚣"),
.cryId = CRY_CENTISKORCH, .cryId = CRY_CENTISKORCH,
.natDexNum = NATIONAL_DEX_CENTISKORCH, .natDexNum = NATIONAL_DEX_CENTISKORCH,
.categoryName = _("Radiator"), .categoryName = _("发热"),
.height = 750, .height = 750,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The heat that comes off a\n" "超极巨化的焚焰蚣\n"
"Gigantamax Centiskorch may\n" "释放出的热辐射会扰乱气流,\n"
"destabilize air currents. Sometimes\n" "有时甚至还会引发暴风雨。"),
"it can even cause storms."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -4348,17 +4335,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY),
.abilities = { ABILITY_HEALER, ABILITY_ANTICIPATION, ABILITY_MAGIC_BOUNCE }, .abilities = { ABILITY_HEALER, ABILITY_ANTICIPATION, ABILITY_MAGIC_BOUNCE },
.bodyColor = BODY_COLOR_PINK, .bodyColor = BODY_COLOR_PINK,
.speciesName = _("Hatterene"), .speciesName = _("布莉姆温"),
.cryId = CRY_HATTERENE, .cryId = CRY_HATTERENE,
.natDexNum = NATIONAL_DEX_HATTERENE, .natDexNum = NATIONAL_DEX_HATTERENE,
.categoryName = _("Silent"), .categoryName = _("寂静"),
.height = 260, .height = 260,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This Pokémon can read the\n" "能从触手释放出如同闪电一般的光束。\n"
"emotions of creatures over 30 miles away.\n" "也被称为是狂暴的女神。"),
"The minute it senses hostility, it\n"
"goes on the attack."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 0, .pokemonOffset = 0,
.trainerScale = 365, .trainerScale = 365,
@ -4596,17 +4581,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE),
.abilities = { ABILITY_PRANKSTER, ABILITY_FRISK, ABILITY_PICKPOCKET }, .abilities = { ABILITY_PRANKSTER, ABILITY_FRISK, ABILITY_PICKPOCKET },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Grimmsnarl"), .speciesName = _("长毛巨魔"),
.cryId = CRY_GRIMMSNARL, .cryId = CRY_GRIMMSNARL,
.natDexNum = NATIONAL_DEX_GRIMMSNARL, .natDexNum = NATIONAL_DEX_GRIMMSNARL,
.categoryName = _("Bulk Up"), .categoryName = _("健美"),
.height = 320, .height = 320,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Gigantamax energy has caused more\n" "全身的毛因超极巨化而增多。\n"
"hair to sprout all over its body.\n" "即使是全世界最高的\n"
"With the added strength, it can jump\n" "建筑也能一跃而过。"),
"over the world's tallest building."),
.pokemonScale = 268, .pokemonScale = 268,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 271, .trainerScale = 271,
@ -4838,17 +4822,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
[SPECIES_ALCREMIE_GMAX] = [SPECIES_ALCREMIE_GMAX] =
{ {
ALCREMIE_MISC_INFO(BODY_COLOR_YELLOW), ALCREMIE_MISC_INFO(BODY_COLOR_YELLOW),
.speciesName = _("Alcremie"), .speciesName = _("霜奶仙"),
.cryId = CRY_ALCREMIE, .cryId = CRY_ALCREMIE,
.natDexNum = NATIONAL_DEX_ALCREMIE, .natDexNum = NATIONAL_DEX_ALCREMIE,
.categoryName = _("Cream"), .categoryName = _("鲜奶油"),
.height = 3, .height = 3,
.weight = 5, .weight = 5,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It launches swarms of missiles,\n" "会胡乱发射1发10万\n"
"each made of cream and loaded with\n" "千卡的鲜奶油飞弹。\n"
"100,000 kilocalories. Get hit by one of\n" "如果被击中就会头昏眼花。"),
"these, and your head will swim."),
.pokemonScale = 530, .pokemonScale = 530,
.pokemonOffset = 13, .pokemonOffset = 13,
.trainerScale = 256, .trainerScale = 256,
@ -5216,17 +5199,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),
.abilities = { ABILITY_ICE_FACE, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_ICE_FACE, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Eiscue"), .speciesName = _("冰砌鹅"),
.cryId = CRY_EISCUE_ICE, .cryId = CRY_EISCUE_ICE,
.natDexNum = NATIONAL_DEX_EISCUE, .natDexNum = NATIONAL_DEX_EISCUE,
.categoryName = _("Penguin"), .categoryName = _("企鹅"),
.height = 14, .height = 14,
.weight = 890, .weight = 890,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It drifted in on the flow of ocean waters\n" "脸部的冰块舔起来略带咸味。\n"
"from a frigid place. It keeps its head\n" "它是乘着海流从遥远的\n"
"iced constantly to make sure it stays\n" "寒冷地带来到这里的。"),
"nice and cold."),
.pokemonScale = 265, .pokemonScale = 265,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 262, .trainerScale = 262,
@ -5281,17 +5263,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),
.abilities = { ABILITY_ICE_FACE, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_ICE_FACE, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Eiscue"), .speciesName = _("冰砌鹅"),
.cryId = CRY_EISCUE_NOICE_FACE, .cryId = CRY_EISCUE_NOICE_FACE,
.natDexNum = NATIONAL_DEX_EISCUE, .natDexNum = NATIONAL_DEX_EISCUE,
.categoryName = _("Penguin"), .categoryName = _("企鹅"),
.height = 14, .height = 14,
.weight = 890, .weight = 890,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The hair on its head connects to\n" "与外表相反,\n"
"the surface of its brain. When this\n" "不擅长游泳。\n"
"Pokémon has something on its mind,\n" "在发梢做出冰球来吸引并钓起猎物。"),
"its hair chills the air around it."),
.pokemonScale = 265, .pokemonScale = 265,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 262, .trainerScale = 262,
@ -5339,17 +5320,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY),
.abilities = { ABILITY_INNER_FOCUS, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE }, .abilities = { ABILITY_INNER_FOCUS, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Indeedee"), .speciesName = _("爱管侍"),
.cryId = CRY_INDEEDEE_M, .cryId = CRY_INDEEDEE_M,
.natDexNum = NATIONAL_DEX_INDEEDEE, .natDexNum = NATIONAL_DEX_INDEEDEE,
.categoryName = _("Emotion"), .categoryName = _("感情"),
.height = 9, .height = 9,
.weight = 280, .weight = 280,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It uses the horns on its head to sense the\n" "时时刻刻都待在训练家身边。\n"
"emotions of others. Males will act as\n" "它会用精神力量来预知训练家的行动,\n"
"valets for those they serve, looking\n" "并照顾其日常起居。"),
"after their every need."),
.pokemonScale = 338, .pokemonScale = 338,
.pokemonOffset = 8, .pokemonOffset = 8,
.trainerScale = 256, .trainerScale = 256,
@ -5402,17 +5382,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY),
.abilities = { ABILITY_OWN_TEMPO, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE }, .abilities = { ABILITY_OWN_TEMPO, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE },
.bodyColor = BODY_COLOR_PURPLE, .bodyColor = BODY_COLOR_PURPLE,
.speciesName = _("Indeedee"), .speciesName = _("爱管侍"),
.cryId = CRY_INDEEDEE_F, .cryId = CRY_INDEEDEE_F,
.natDexNum = NATIONAL_DEX_INDEEDEE, .natDexNum = NATIONAL_DEX_INDEEDEE,
.categoryName = _("Emotion"), .categoryName = _("感情"),
.height = 9, .height = 9,
.weight = 280, .weight = 280,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"They diligently serve people and\n" "为了寻求喜悦和感谢等快乐的心情,\n"
"Pokémon so they can gather feelings\n" "会勤快地到处照顾人和宝可梦。"),
"of gratitude. The females are\n"
"particularly good at babysitting."),
.pokemonScale = 338, .pokemonScale = 338,
.pokemonOffset = 8, .pokemonOffset = 8,
.trainerScale = 256, .trainerScale = 256,
@ -5719,17 +5697,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL),
.abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_HEAVY_METAL }, .abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_HEAVY_METAL },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Copperajah"), .speciesName = _("大王铜象"),
.cryId = CRY_COPPERAJAH, .cryId = CRY_COPPERAJAH,
.natDexNum = NATIONAL_DEX_COPPERAJAH, .natDexNum = NATIONAL_DEX_COPPERAJAH,
.categoryName = _("Copperderm"), .categoryName = _("像铜"),
.height = 230, .height = 230,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"After this Pokémon has Gigantamaxed,\n" "超极巨化后,\n"
"its massive nose can utterly demolish\n" "只要用巨大的象鼻攻击一次,\n"
"large structures with a single\n" "就能拆毁高大的建筑。"),
"smashing blow."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -6100,17 +6077,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_DRAGON), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_DRAGON),
.abilities = { ABILITY_LIGHT_METAL, ABILITY_HEAVY_METAL, ABILITY_STALWART }, .abilities = { ABILITY_LIGHT_METAL, ABILITY_HEAVY_METAL, ABILITY_STALWART },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Duraludon"), .speciesName = _("铝钢龙"),
.cryId = CRY_DURALUDON, .cryId = CRY_DURALUDON,
.natDexNum = NATIONAL_DEX_DURALUDON, .natDexNum = NATIONAL_DEX_DURALUDON,
.categoryName = _("Alloy"), .categoryName = _("合金"),
.height = 430, .height = 430,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The hardness of its cells is\n" "细胞的硬度在钢属性\n"
"exceptional, even among Steel types. It\n" "宝可梦之中也是顶级的。\n"
"also has a body structure that's\n" "拥有抗震的构造。"),
"resistant to earthquakes."),
.pokemonScale = 267, .pokemonScale = 267,
.pokemonOffset = 2, .pokemonOffset = 2,
.trainerScale = 286, .trainerScale = 286,
@ -6412,16 +6388,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Zacian"), .speciesName = _("苍响"),
.cryId = CRY_ZACIAN_HERO, .cryId = CRY_ZACIAN_HERO,
.natDexNum = NATIONAL_DEX_ZACIAN, .natDexNum = NATIONAL_DEX_ZACIAN,
.categoryName = _("Warrior"), .categoryName = _("强者"),
.height = 28, .height = 28,
.weight = 1100, .weight = 1100,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Known as a legendary hero, this Pokémon\n" "这只宝可梦被认为是沉睡已久的\n"
"absorbs metal particles, transforming\n" "藏玛然特的姐姐,\n"
"them into a weapon it uses to battle."), "也有人认为它们之间是劲敌关系。"),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -6478,17 +6454,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Zacian"), .speciesName = _("苍响"),
.cryId = CRY_ZACIAN_CROWNED, .cryId = CRY_ZACIAN_CROWNED,
.natDexNum = NATIONAL_DEX_ZACIAN, .natDexNum = NATIONAL_DEX_ZACIAN,
.categoryName = _("Warrior"), .categoryName = _("强者"),
.height = 28, .height = 28,
.weight = 3550, .weight = 3550,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Able to cut down anything with a\n" "能斩断世间万物,\n"
"single strike, it became known as the\n" "因此被称为妖精王之剑,\n"
"Fairy King's Sword, and it inspired\n" "让敌友都对其敬畏不已。"),
"awe in friend and foe alike."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -6547,17 +6522,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Zamazenta"), .speciesName = _("藏玛然特"),
.cryId = CRY_ZAMAZENTA_HERO, .cryId = CRY_ZAMAZENTA_HERO,
.natDexNum = NATIONAL_DEX_ZAMAZENTA, .natDexNum = NATIONAL_DEX_ZAMAZENTA,
.categoryName = _("Warrior"), .categoryName = _("强者"),
.height = 29, .height = 29,
.weight = 2100, .weight = 2100,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"In times past, it worked together with a\n" "以石像般的姿态陷入\n"
"king of the people to save the Galar\n" "长久沉眠的宝可梦。\n"
"region. It absorbs metal that it then\n" "几乎就要被人们所遗忘。"),
"uses in battle."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -6614,17 +6588,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_RED, .bodyColor = BODY_COLOR_RED,
.speciesName = _("Zamazenta"), .speciesName = _("藏玛然特"),
.cryId = CRY_ZAMAZENTA_CROWNED, .cryId = CRY_ZAMAZENTA_CROWNED,
.natDexNum = NATIONAL_DEX_ZAMAZENTA, .natDexNum = NATIONAL_DEX_ZAMAZENTA,
.categoryName = _("Warrior"), .categoryName = _("强者"),
.height = 29, .height = 29,
.weight = 7850, .weight = 7850,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Its ability to deflect any attack\n" "全副武装的样子。\n"
"led to it being known as the Fighting\n" "即使是极巨化宝可梦的\n"
"Master's Shield. It was feared and\n" "攻击也能轻易抵挡。"),
"respected by all."),
.pokemonScale = 275, .pokemonScale = 275,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -6874,17 +6847,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Urshifu"), .speciesName = _("武道熊师"),
.cryId = CRY_URSHIFU_SINGLE_STRIKE, .cryId = CRY_URSHIFU_SINGLE_STRIKE,
.natDexNum = NATIONAL_DEX_URSHIFU, .natDexNum = NATIONAL_DEX_URSHIFU,
.categoryName = _("Wushu"), .categoryName = _("拳法"),
.height = 19, .height = 19,
.weight = 1050, .weight = 1050,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This form of Urshifu is a strong believer\n" "生活在遥远地区的山岳地带。\n"
"in the one-hit KO. Its strategy is to leap\n" "通过在断崖绝壁上奔跑来锻炼腰腿,\n"
"in close to foes and land a devastating\n" "磨炼招式。"),
"blow with a hardened fist."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -6941,17 +6913,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Urshifu"), .speciesName = _("武道熊师"),
.cryId = CRY_URSHIFU_SINGLE_STRIKE, .cryId = CRY_URSHIFU_SINGLE_STRIKE,
.natDexNum = NATIONAL_DEX_URSHIFU, .natDexNum = NATIONAL_DEX_URSHIFU,
.categoryName = _("Wushu"), .categoryName = _("拳法"),
.height = 290, .height = 290,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"People call it the embodiment of\n" "把多击制胜作为自己的信条。\n"
"rage. It's said that this Pokémon's\n" "会像水流一样毫不停息地\n"
"terrifying expression and shout will\n" "用打击招式攻击对手。"),
"rid the world of malevolence."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -6999,17 +6970,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Urshifu"), .speciesName = _("武道熊师"),
.cryId = CRY_URSHIFU_RAPID_STRIKE, .cryId = CRY_URSHIFU_RAPID_STRIKE,
.natDexNum = NATIONAL_DEX_URSHIFU, .natDexNum = NATIONAL_DEX_URSHIFU,
.categoryName = _("Wushu"), .categoryName = _("拳法"),
.height = 19, .height = 19,
.weight = 1050, .weight = 1050,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This form of Urshifu is a strong\n" "从拳头放出的能量变成了冲击波,\n"
"believer in defeating foes by raining\n" "能一击打飞极巨化的宝可梦。"),
"many blows down on them. Its\n"
"strikes are nonstop, flowing like a river."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -7066,17 +7035,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Urshifu"), .speciesName = _("武道熊师"),
.cryId = CRY_URSHIFU_RAPID_STRIKE, .cryId = CRY_URSHIFU_RAPID_STRIKE,
.natDexNum = NATIONAL_DEX_URSHIFU, .natDexNum = NATIONAL_DEX_URSHIFU,
.categoryName = _("Wushu"), .categoryName = _("拳法"),
.height = 260, .height = 260,
.weight = 0, .weight = 0,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"As it waits for the right moment to\n" "据说内心邪恶的家伙只是被它\n"
"unleash its Gigantamax power, this\n" "暗藏愤怒的眼睛瞪着就会一命呜呼。"),
"Pokémon maintains a perfect one-\n"
"legged stance. It won't even twitch."),
.pokemonScale = 256, .pokemonScale = 256,
.pokemonOffset = 1, .pokemonOffset = 1,
.trainerScale = 326, .trainerScale = 326,
@ -7575,17 +7542,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Calyrex"), .speciesName = _("蕾冠王"),
.cryId = CRY_CALYREX_ICE, .cryId = CRY_CALYREX_ICE,
.natDexNum = NATIONAL_DEX_CALYREX, .natDexNum = NATIONAL_DEX_CALYREX,
.categoryName = _("High King"), .categoryName = _("帝皇"),
.height = 24, .height = 24,
.weight = 8091, .weight = 8091,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"According to lore, this Pokémon\n" "据说它用一个晚上把广阔的森林\n"
"showed no mercy to those who got in\n" "和栖息在其中的生物转移\n"
"its way, yet it would heal its\n" "到了其他的地方。"),
"opponents' wounds after battle."),
.pokemonScale = 320, .pokemonScale = 320,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,
@ -7642,17 +7608,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
.abilities = { ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE, ABILITY_NONE }, .abilities = { ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE, ABILITY_NONE },
.bodyColor = BODY_COLOR_BLACK, .bodyColor = BODY_COLOR_BLACK,
.speciesName = _("Calyrex"), .speciesName = _("蕾冠王"),
.cryId = CRY_CALYREX_SHADOW, .cryId = CRY_CALYREX_SHADOW,
.natDexNum = NATIONAL_DEX_CALYREX, .natDexNum = NATIONAL_DEX_CALYREX,
.categoryName = _("High King"), .categoryName = _("帝皇"),
.height = 24, .height = 24,
.weight = 536, .weight = 536,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"It's said that Calyrex and a\n" "据说它用能够看透过去与未来\n"
"Pokémon that had bonded with it ran all\n" "所有事件的能力从陨石掉落的\n"
"across the Galar region to bring green\n" "危机中拯救了森林中的生物。"),
"to the wastelands."),
.pokemonScale = 320, .pokemonScale = 320,
.pokemonOffset = 7, .pokemonOffset = 7,
.trainerScale = 256, .trainerScale = 256,

View File

@ -650,16 +650,15 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_LINGERING_AROMA, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .abilities = { ABILITY_LINGERING_AROMA, ABILITY_GLUTTONY, ABILITY_THICK_FAT },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Oinkologne"), .speciesName = _("飘香豚"),
.cryId = CRY_OINKOLOGNE_M, .cryId = CRY_OINKOLOGNE_M,
.natDexNum = NATIONAL_DEX_OINKOLOGNE, .natDexNum = NATIONAL_DEX_OINKOLOGNE,
.categoryName = _("Hog"), .categoryName = _("猪"),
.height = 10, .height = 10,
.weight = 1200, .weight = 1200,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Oinkologne is proud of its fine,\n" "会从全身散发出香甜妖艳的气味,\n"
"glossy skin. It emits a concentrated\n" "令雌性的宝可梦为它神魂颠倒。"),
"scent from the tip of its tail."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -712,17 +711,16 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
.abilities = { ABILITY_AROMA_VEIL, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .abilities = { ABILITY_AROMA_VEIL, ABILITY_GLUTTONY, ABILITY_THICK_FAT },
.bodyColor = BODY_COLOR_GRAY, .bodyColor = BODY_COLOR_GRAY,
.speciesName = _("Oinkologne"), .speciesName = _("飘香豚"),
.cryId = CRY_OINKOLOGNE_F, .cryId = CRY_OINKOLOGNE_F,
.natDexNum = NATIONAL_DEX_OINKOLOGNE, .natDexNum = NATIONAL_DEX_OINKOLOGNE,
.categoryName = _("Hog"), .categoryName = _("猪"),
.height = 10, .height = 10,
.weight = 1200, .weight = 1200,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"This is a meticulous Pokémon that\n" "喜欢干净,个性一丝不苟。\n"
"likes to keep things tidy. It\n" "会让花香包裹全身\n"
"shrouds itself in a floral aroma that\n" "来治愈周围的宝可梦们。"),
"soothes the Pokémon around it."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1281,17 +1279,16 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY),
.abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN }, .abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Maushold"), .speciesName = _("一家鼠"),
.cryId = CRY_MAUSHOLD_THREE, .cryId = CRY_MAUSHOLD_THREE,
.natDexNum = NATIONAL_DEX_MAUSHOLD, .natDexNum = NATIONAL_DEX_MAUSHOLD,
.categoryName = _("Family"), .categoryName = _("家族"),
.height = 3, .height = 3,
.weight = 23, .weight = 23,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The little one just appeared one\n" "不知不觉之间多了个小孩。\n"
"day. They all live together like a\n" "虽然像一家子一样生活,\n"
"family, but the relationship between\n" "但3只的关系仍是个迷。"),
"the three is still unclear."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1343,17 +1340,16 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY),
.abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN }, .abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Maushold"), .speciesName = _("一家鼠"),
.cryId = CRY_MAUSHOLD_FOUR, .cryId = CRY_MAUSHOLD_FOUR,
.natDexNum = NATIONAL_DEX_MAUSHOLD, .natDexNum = NATIONAL_DEX_MAUSHOLD,
.categoryName = _("Family"), .categoryName = _("家族"),
.height = 3, .height = 3,
.weight = 28, .weight = 28,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The larger pair protects the little\n" "身型大的2只会一边\n"
"ones during battles. When facing\n" "保护孩子一边战斗。\n"
"strong opponents, the whole group\n" "对抗强大的对手时会集体出阵。"),
"will join the fight."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1722,17 +1718,15 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS },
.bodyColor = BODY_COLOR_GREEN, .bodyColor = BODY_COLOR_GREEN,
.speciesName = _("Squawkabilly"), .speciesName = _("怒鹦哥"),
.cryId = CRY_SQUAWKABILLY, .cryId = CRY_SQUAWKABILLY,
.natDexNum = NATIONAL_DEX_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY,
.categoryName = _("Parrot"), .categoryName = _("鹦鹉"),
.height = 6, .height = 6,
.weight = 24, .weight = 24,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Green-feathered flocks hold the\n" "拥有绿色羽毛的怒鹦哥势力最为庞大。\n"
"most sway. When they're out\n" "在觅食时段的早晨和夜晚会非常吵。"),
"searching for food in the mornings and\n"
"evenings, it gets very noisy."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1786,17 +1780,15 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS },
.bodyColor = BODY_COLOR_BLUE, .bodyColor = BODY_COLOR_BLUE,
.speciesName = _("Squawkabilly"), .speciesName = _("怒鹦哥"),
.cryId = CRY_SQUAWKABILLY, .cryId = CRY_SQUAWKABILLY,
.natDexNum = NATIONAL_DEX_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY,
.categoryName = _("Parrot"), .categoryName = _("鹦鹉"),
.height = 6, .height = 6,
.weight = 24, .weight = 24,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"The largest of their flocks can\n" "蓝色羽毛的群体把势力最大的\n"
"contain more than 50 individuals. They\n" "绿色羽毛的群体视为竞争对手。"),
"fly around towns and forests,\n"
"searching for food and making a racket."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1850,17 +1842,15 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE },
.bodyColor = BODY_COLOR_YELLOW, .bodyColor = BODY_COLOR_YELLOW,
.speciesName = _("Squawkabilly"), .speciesName = _("怒鹦哥"),
.cryId = CRY_SQUAWKABILLY, .cryId = CRY_SQUAWKABILLY,
.natDexNum = NATIONAL_DEX_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY,
.categoryName = _("Parrot"), .categoryName = _("鹦鹉"),
.height = 6, .height = 6,
.weight = 24, .weight = 24,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"These Squawkabilly are hotheaded,\n" "黄色的怒鹦哥最为粗暴。\n"
"and their fighting style is vicious.\n" "有时还会把其他鸟宝可梦赶出城镇。"),
"They'll leap within reach of their\n"
"foes to engage in close combat."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,
@ -1914,17 +1904,16 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE },
.bodyColor = BODY_COLOR_WHITE, .bodyColor = BODY_COLOR_WHITE,
.speciesName = _("Squawkabilly"), .speciesName = _("怒鹦哥"),
.cryId = CRY_SQUAWKABILLY, .cryId = CRY_SQUAWKABILLY,
.natDexNum = NATIONAL_DEX_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY,
.categoryName = _("Parrot"), .categoryName = _("鹦鹉"),
.height = 6, .height = 6,
.weight = 24, .weight = 24,
.description = COMPOUND_STRING( .description = COMPOUND_STRING(
"Though these Squawkabilly are the\n" "虽然这种颜色的数量最少,\n"
"fewest in number, they have no\n" "但由于能融入建筑物的颜色里,\n"
"trouble living in towns since they blend\n" "因此在城镇中生活起来很容易。"),
"in with the white buildings."),
.pokemonScale = 356, .pokemonScale = 356,
.pokemonOffset = 17, .pokemonOffset = 17,
.trainerScale = 256, .trainerScale = 256,