This commit is contained in:
RoamerX 2025-04-07 17:32:57 +08:00
commit 2b98aca192
6 changed files with 2980 additions and 3001 deletions

1
.gitignore vendored
View File

@ -45,3 +45,4 @@ tools/trainerproc/trainerproc
*.smol *.smol
*.fastSmol *.fastSmol
*.smolTM *.smolTM
python_tools

View File

@ -517,3 +517,155 @@
✅ 处理文件d:\code\pokeemerald-expansion\python_tools\..\src\data\pokemon\species_info\gen_8_families.h ✅ 处理文件d:\code\pokeemerald-expansion\python_tools\..\src\data\pokemon\species_info\gen_8_families.h
✅ 处理文件d:\code\pokeemerald-expansion\python_tools\..\src\data\pokemon\species_info\gen_9_families.h ✅ 处理文件d:\code\pokeemerald-expansion\python_tools\..\src\data\pokemon\species_info\gen_9_families.h
❌ 未找到 SPECIES_CAPSAKID跳过 ❌ 未找到 SPECIES_CAPSAKID跳过
❌ ITEM_MAX_REVIVE 没有单独道具说明,跳过
❌ ITEM_FULL_HEAL 没有单独道具说明,跳过
❌ ITEM_MAX_HONEY 没有单独道具说明,跳过
❌ ITEM_PEWTER_CRUNCHIES 没有单独道具说明,跳过
❌ ITEM_RAGE_CANDY_BAR 没有单独道具说明,跳过
❌ ITEM_OLD_GATEAU 没有单独道具说明,跳过
❌ ITEM_CASTELIACONE 没有单独道具说明,跳过
❌ ITEM_LUMIOSE_GALETTE 没有单独道具说明,跳过
❌ ITEM_SHALOUR_SABLE 没有单独道具说明,跳过
❌ ITEM_BIG_MALASADA 没有单独道具说明,跳过
❌ ITEM_HEALTH_FEATHER 没有单独道具说明,跳过
❌ ITEM_MUSCLE_FEATHER 没有单独道具说明,跳过
❌ ITEM_RESIST_FEATHER 没有单独道具说明,跳过
❌ ITEM_GENIUS_FEATHER 没有单独道具说明,跳过
❌ ITEM_CLEVER_FEATHER 没有单独道具说明,跳过
❌ ITEM_SWIFT_FEATHER 没有单独道具说明,跳过
❌ ITEM_POKE_DOLL 没有单独道具说明,跳过
❌ ITEM_FLUFFY_TAIL 没有单独道具说明,跳过
❌ ITEM_POKE_TOY 没有单独道具说明,跳过
❌ ITEM_BIG_MUSHROOM 没有单独道具说明,跳过
❌ ITEM_BALM_MUSHROOM 没有单独道具说明,跳过
❌ ITEM_RED_SHARD 没有单独道具说明,跳过
❌ ITEM_BLUE_SHARD 没有单独道具说明,跳过
❌ ITEM_YELLOW_SHARD 没有单独道具说明,跳过
❌ ITEM_GREEN_SHARD 没有单独道具说明,跳过
❌ ITEM_ROOT_FOSSIL 没有单独道具说明,跳过
❌ ITEM_CLAW_FOSSIL 没有单独道具说明,跳过
❌ ITEM_FOSSILIZED_FISH 没有单独道具说明,跳过
❌ ITEM_FOSSILIZED_DINO 没有单独道具说明,跳过
❌ ITEM_BEAD_MAIL 没有单独道具说明,跳过
❌ ITEM_DREAM_MAIL 没有单独道具说明,跳过
❌ ITEM_FIRE_STONE 没有单独道具说明,跳过
❌ ITEM_WATER_STONE 没有单独道具说明,跳过
❌ ITEM_THUNDER_STONE 没有单独道具说明,跳过
❌ ITEM_LEAF_STONE 没有单独道具说明,跳过
❌ ITEM_ICE_STONE 没有单独道具说明,跳过
❌ ITEM_SUN_STONE 没有单独道具说明,跳过
❌ ITEM_MOON_STONE 没有单独道具说明,跳过
❌ ITEM_SHINY_STONE 没有单独道具说明,跳过
❌ ITEM_DUSK_STONE 没有单独道具说明,跳过
❌ ITEM_DAWN_STONE 没有单独道具说明,跳过
❌ ITEM_RED_NECTAR 没有单独道具说明,跳过
❌ ITEM_YELLOW_NECTAR 没有单独道具说明,跳过
❌ ITEM_PINK_NECTAR 没有单独道具说明,跳过
❌ ITEM_PURPLE_NECTAR 没有单独道具说明,跳过
❌ ITEM_CHARIZARDITE_X 没有单独道具说明,跳过
❌ ITEM_CHARIZARDITE_Y 没有单独道具说明,跳过
❌ ITEM_MEWTWONITE_X 没有单独道具说明,跳过
❌ ITEM_MEWTWONITE_Y 没有单独道具说明,跳过
❌ ITEM_SEA_INCENSE 没有单独道具说明,跳过
❌ ITEM_ODD_INCENSE 没有单独道具说明,跳过
❌ ITEM_ROCK_INCENSE 没有单独道具说明,跳过
❌ ITEM_FULL_INCENSE 没有单独道具说明,跳过
❌ ITEM_WAVE_INCENSE 没有单独道具说明,跳过
❌ ITEM_ROSE_INCENSE 没有单独道具说明,跳过
❌ ITEM_LUCK_INCENSE 没有单独道具说明,跳过
❌ ITEM_PURE_INCENSE 没有单独道具说明,跳过
❌ ITEM_MIRACLE_SEED 没有单独道具说明,跳过
❌ ITEM_TWISTED_SPOON 没有单独道具说明,跳过
❌ ITEM_HARD_STONE 没有单独道具说明,跳过
❌ ITEM_KINGS_ROCK 没有单独道具说明,跳过
❌ ITEM_AMULET_COIN 没有单独道具说明,跳过
❌ ITEM_CLEANSE_TAG 没有单独道具说明,跳过
❌ ITEM_LAGGING_TAIL 没有单独道具说明,跳过
❌ ITEM_RAZOR_FANG 没有单独道具说明,跳过
❌ ITEM_FIGY_BERRY 没有单独道具说明,跳过
❌ ITEM_WIKI_BERRY 没有单独道具说明,跳过
❌ ITEM_MAGO_BERRY 没有单独道具说明,跳过
❌ ITEM_AGUAV_BERRY 没有单独道具说明,跳过
❌ ITEM_IAPAPA_BERRY 没有单独道具说明,跳过
❌ ITEM_TM51 没有单独道具说明,跳过
❌ ITEM_TM52 没有单独道具说明,跳过
❌ ITEM_TM53 没有单独道具说明,跳过
❌ ITEM_TM54 没有单独道具说明,跳过
❌ ITEM_TM55 没有单独道具说明,跳过
❌ ITEM_TM56 没有单独道具说明,跳过
❌ ITEM_TM57 没有单独道具说明,跳过
❌ ITEM_TM58 没有单独道具说明,跳过
❌ ITEM_TM59 没有单独道具说明,跳过
❌ ITEM_TM60 没有单独道具说明,跳过
❌ ITEM_TM61 没有单独道具说明,跳过
❌ ITEM_TM62 没有单独道具说明,跳过
❌ ITEM_TM63 没有单独道具说明,跳过
❌ ITEM_TM64 没有单独道具说明,跳过
❌ ITEM_TM65 没有单独道具说明,跳过
❌ ITEM_TM66 没有单独道具说明,跳过
❌ ITEM_TM67 没有单独道具说明,跳过
❌ ITEM_TM68 没有单独道具说明,跳过
❌ ITEM_TM69 没有单独道具说明,跳过
❌ ITEM_TM70 没有单独道具说明,跳过
❌ ITEM_TM71 没有单独道具说明,跳过
❌ ITEM_TM72 没有单独道具说明,跳过
❌ ITEM_TM73 没有单独道具说明,跳过
❌ ITEM_TM74 没有单独道具说明,跳过
❌ ITEM_TM75 没有单独道具说明,跳过
❌ ITEM_TM76 没有单独道具说明,跳过
❌ ITEM_TM77 没有单独道具说明,跳过
❌ ITEM_TM78 没有单独道具说明,跳过
❌ ITEM_TM79 没有单独道具说明,跳过
❌ ITEM_TM80 没有单独道具说明,跳过
❌ ITEM_TM81 没有单独道具说明,跳过
❌ ITEM_TM82 没有单独道具说明,跳过
❌ ITEM_TM83 没有单独道具说明,跳过
❌ ITEM_TM84 没有单独道具说明,跳过
❌ ITEM_TM85 没有单独道具说明,跳过
❌ ITEM_TM86 没有单独道具说明,跳过
❌ ITEM_TM87 没有单独道具说明,跳过
❌ ITEM_TM88 没有单独道具说明,跳过
❌ ITEM_TM89 没有单独道具说明,跳过
❌ ITEM_TM90 没有单独道具说明,跳过
❌ ITEM_TM91 没有单独道具说明,跳过
❌ ITEM_TM92 没有单独道具说明,跳过
❌ ITEM_TM93 没有单独道具说明,跳过
❌ ITEM_TM94 没有单独道具说明,跳过
❌ ITEM_TM95 没有单独道具说明,跳过
❌ ITEM_TM96 没有单独道具说明,跳过
❌ ITEM_TM97 没有单独道具说明,跳过
❌ ITEM_TM98 没有单独道具说明,跳过
❌ ITEM_TM99 没有单独道具说明,跳过
❌ ITEM_TM100 没有单独道具说明,跳过
❌ ITEM_KEY_TO_ROOM_1 没有单独道具说明,跳过
❌ ITEM_KEY_TO_ROOM_2 没有单独道具说明,跳过
❌ ITEM_KEY_TO_ROOM_4 没有单独道具说明,跳过
❌ ITEM_KEY_TO_ROOM_6 没有单独道具说明,跳过
❌ ITEM_BUG_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_DARK_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_DRAGON_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_ELECTRIC_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_FAIRY_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_FIGHTING_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_FIRE_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_FLYING_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_GHOST_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_GRASS_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_GROUND_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_ICE_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_NORMAL_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_POISON_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_PSYCHIC_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_ROCK_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_STEEL_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_WATER_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_HEALTH_MOCHI 没有单独道具说明,跳过
❌ ITEM_MUSCLE_MOCHI 没有单独道具说明,跳过
❌ ITEM_RESIST_MOCHI 没有单独道具说明,跳过
❌ ITEM_GENIUS_MOCHI 没有单独道具说明,跳过
❌ ITEM_CLEVER_MOCHI 没有单独道具说明,跳过
❌ ITEM_SWIFT_MOCHI 没有单独道具说明,跳过
❌ ITEM_STELLAR_TERA_SHARD 没有单独道具说明,跳过
❌ ITEM_JUBILIFE_MUFFIN 没有单独道具说明,跳过
❌ ITEM_SWAP_SNACK 没有单独道具说明,跳过
❌ ITEM_TWICE_SPICED_RADISH 没有单独道具说明,跳过

View File

@ -63,7 +63,7 @@ def log(message):
if __name__ == "__main__": if __name__ == "__main__":
work_folder = current_folder +"\..\src\data\pokemon\species_info" work_folder = current_folder +"\..\src\data\pokemon\species_info"
df = pd.read_excel(current_folder +r'\src\图鉴对应翻译表手动调整.xlsx') df = pd.read_excel(current_folder +r'\src\图鉴.xlsx')
df.set_index('name', inplace=True) df.set_index('name', inplace=True)
for filename in os.listdir(work_folder): for filename in os.listdir(work_folder):

File diff suppressed because it is too large Load Diff

View File

@ -20,90 +20,89 @@
// Shared Move Description entries // Shared Move Description entries
const u8 gNotDoneYetDescription[] = _( const u8 gNotDoneYetDescription[] = _(
"This move can't be used. Its\n" "该技能效果尚未完成,\n"
"effect is in development."); "目前还不能使用。");
static const u8 sNullDescription[] = _(""); static const u8 sNullDescription[] = _("");
static const u8 sMegaDrainDescription[] = _( static const u8 sMegaDrainDescription[] = _(
"An attack that absorbs\n" "可以回复给予对手\n"
"half the damage inflicted."); "伤害的一半HP");
static const u8 sHyperBeamDescription[] = _( static const u8 sHyperBeamDescription[] = _(
"Powerful, but leaves the\n" "使出强力的攻击,但是\n"
"user immobile the next turn."); "下一回合自己将无法动弹。");
static const u8 sRevengeDescription[] = _( static const u8 sRevengeDescription[] = _(
"An attack that gains power\n" "如果受到对手的招式攻击,\n"
"if injured by the foe."); "就能给予对手2倍的伤害。");
static const u8 sPluckDescription[] = _( static const u8 sPluckDescription[] = _(
"Eats the foe's held Berry\n" "当对手携带树果时,\n"
"gaining its effect."); "可以食用并获得其效果。");
static const u8 sHealingWishDescription[] = _( static const u8 sHealingWishDescription[] = _(
"The user faints to heal up\n" "虽然自己陷入昏厥,但后备\n"
"the recipient."); "上场宝可梦会治愈并回复HP。");
static const u8 sWringOutDescription[] = _( static const u8 sWringOutDescription[] = _(
"The higher the foe's HP\n" "对手的HP越多\n"
"the more damage caused."); "威力越大。");
static const u8 sUTurnDescription[] = _( static const u8 sUTurnDescription[] = _(
"Does damage then switches\n" "在攻击之后急速返回,\n"
"out the user."); "和后备宝可梦进行替换。");
static const u8 sStormThrowDescription[] = _( static const u8 sStormThrowDescription[] = _(
"This attack always results\n" "攻击必定会击中要害。");
"in a critical hit.");
static const u8 sCircleThrowDescription[] = _( static const u8 sCircleThrowDescription[] = _(
"Knocks the foe away to end\n" "强制拉后备宝可梦上场。\n"
"the battle."); "结束与野生宝可梦的战斗。");
static const u8 sChipAwayDescription[] = _( static const u8 sChipAwayDescription[] = _(
"Strikes through the foe's\n" "无视对手的能力变化,\n"
"stat changes."); "直接给予伤害。");
static const u8 sHeavySlamDescription[] = _( static const u8 sHeavySlamDescription[] = _(
"Does more damage if the\n" "自己比对手越重,\n"
"user outweighs the foe."); "威力越大。");
static const u8 sPsyshockDescription[] = _( static const u8 sPsyshockDescription[] = _(
"Attacks with a psychic wave\n" "将念波实体化攻击对手。\n"
"that does physical damage."); "给予物理伤害。");
static const u8 sLavaPlumeDescription[] = _( static const u8 sLavaPlumeDescription[] = _(
"Scarlet flames torch\n" "用熊熊烈火攻击自己\n"
"everything around the user."); "所有宝可梦。有时造成灼伤。");
static const u8 sShadowForceDescription[] = _( static const u8 sShadowForceDescription[] = _(
"Vanishes on the first turn\n" "第1回合消失踪影\n"
"then strikes the next turn."); "第2回合攻击对手。");
static const u8 sFalseSwipeDescription[] = _( static const u8 sFalseSwipeDescription[] = _(
"An attack that leaves the\n" "对手至少会留下1HP\n"
"foe with at least 1 HP."); "如此般手下留情地攻击。");
static const u8 sDrainingKissDescription[] = _( static const u8 sDrainingKissDescription[] = _(
"An attack that absorbs over\n" "回复给予对手伤害的\n"
"half the damage inflicted."); "一半以上的HP。");
static const u8 sCloseCombatDescription[] = _( static const u8 sCloseCombatDescription[] = _(
"A strong attack but lowers\n" "强力攻击,但是自己的\n"
"the defensive stats."); "防御和特防会降低。");
static const u8 sHyperspaceHoleDescription[] = _( static const u8 sHyperspaceHoleDescription[] = _(
"Uses a warp hole to attack.\n" "使用虫洞进行攻击。\n"
"Can't be evaded."); "无法躲避。");
static const u8 sSuckerPunchDescription[] = _( static const u8 sSuckerPunchDescription[] = _(
"Strikes first if the foe\n" "能比对手先攻击。对手招式\n"
"is preparing an attack."); "如果不是攻击招式则会失败。");
static const u8 sFeintDescription[] = _( static const u8 sFeintDescription[] = _(
"An attack that hits foes\n" "能够攻击使用守住类招式的\n"
"using moves like Protect."); "对手。解除其守护效果。");
const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
{ {