From ade13794487094086f6ffa5a17bcd20395d28287 Mon Sep 17 00:00:00 2001 From: bridge Date: Mon, 2 Feb 2026 21:47:03 +0800 Subject: [PATCH] feat(misfortune): enhance misfortune themes and localization support - Refactored misfortune theme identifiers for clarity and consistency. - Introduced a new function `_get_misfortune_theme` to handle theme translations. - Updated `_pick_misfortune_theme` to utilize theme IDs and improved localization for misfortune results. - Added new entries in localization files for English and Chinese, covering various misfortune themes and result messages. - Improved user experience by ensuring all misfortune-related texts are properly translated and formatted. --- src/classes/misfortune.py | 66 ++++++++++-------- .../locales/en_US/LC_MESSAGES/messages.mo | Bin 57037 -> 58554 bytes .../locales/en_US/LC_MESSAGES/messages.po | 65 +++++++++++++++++ .../locales/zh_CN/LC_MESSAGES/messages.mo | Bin 53356 -> 54789 bytes .../locales/zh_CN/LC_MESSAGES/messages.po | 65 +++++++++++++++++ .../locales/zh_TW/LC_MESSAGES/messages.mo | Bin 55157 -> 56590 bytes .../locales/zh_TW/LC_MESSAGES/messages.po | 65 +++++++++++++++++ web/src/components/SplashLayer.vue | 2 +- 8 files changed, 234 insertions(+), 29 deletions(-) diff --git a/src/classes/misfortune.py b/src/classes/misfortune.py index 69a521f..b94afb2 100644 --- a/src/classes/misfortune.py +++ b/src/classes/misfortune.py @@ -16,29 +16,29 @@ class MisfortuneKind(Enum): CULTIVATION_BACKLASH = "backlash" # 修为倒退 -MF_LOSS_SPIRIT_STONE_THEMES: list[str] = [ - "遭遇扒手", - "误买假货", - "遭人勒索", - "洞府失窃", - "赌石惨败", - "投资失败", +MF_LOSS_SPIRIT_STONE_THEME_IDS: list[str] = [ + "misfortune_theme_pickpocket", + "misfortune_theme_fake_goods", + "misfortune_theme_blackmail", + "misfortune_theme_theft", + "misfortune_theme_gambling_loss", + "misfortune_theme_bad_investment", ] -MF_INJURY_THEMES: list[str] = [ - "修炼岔气", - "出门摔伤", - "妖兽偷袭", - "仇家闷棍", - "误触机关", - "天降横祸", +MF_INJURY_THEME_IDS: list[str] = [ + "misfortune_theme_cultivation_accident", + "misfortune_theme_trip_fall", + "misfortune_theme_beast_ambush", + "misfortune_theme_enemy_attack", + "misfortune_theme_trap", + "misfortune_theme_disaster", ] -MF_BACKLASH_THEMES: list[str] = [ - "心魔滋生", - "灵气逆行", - "感悟错乱", - "急火攻心", +MF_BACKLASH_THEME_IDS: list[str] = [ + "misfortune_theme_heart_demon", + "misfortune_theme_qi_deviation", + "misfortune_theme_confusion", + "misfortune_theme_anxiety", ] @@ -63,14 +63,22 @@ def _choose_misfortune_kind(avatar: Avatar) -> Optional[MisfortuneKind]: return random.choice(candidates) +def _get_misfortune_theme(theme_id: str) -> str: + """获取翻译后的霉运主题文本""" + from src.i18n import t + return t(theme_id) + + def _pick_misfortune_theme(kind: MisfortuneKind) -> str: + theme_id = "" if kind == MisfortuneKind.LOSS_SPIRIT_STONE: - return random.choice(MF_LOSS_SPIRIT_STONE_THEMES) + theme_id = random.choice(MF_LOSS_SPIRIT_STONE_THEME_IDS) elif kind == MisfortuneKind.INJURY: - return random.choice(MF_INJURY_THEMES) + theme_id = random.choice(MF_INJURY_THEME_IDS) elif kind == MisfortuneKind.CULTIVATION_BACKLASH: - return random.choice(MF_BACKLASH_THEMES) - return "" + theme_id = random.choice(MF_BACKLASH_THEME_IDS) + + return _get_misfortune_theme(theme_id) if theme_id else "" async def try_trigger_misfortune(avatar: Avatar) -> list[Event]: @@ -103,6 +111,8 @@ async def try_trigger_misfortune(avatar: Avatar) -> list[Event]: theme = _pick_misfortune_theme(kind) res_text: str = "" + from src.i18n import t + if kind == MisfortuneKind.LOSS_SPIRIT_STONE: # 破财:随机数,不超过总量 max_loss = avatar.magic_stone.value @@ -111,7 +121,7 @@ async def try_trigger_misfortune(avatar: Avatar) -> list[Event]: loss = random.randint(50, 300) loss = min(loss, max_loss) avatar.magic_stone.value -= loss - res_text = f"{avatar.name} 损失灵石 {loss} 枚" + res_text = t("misfortune_result_loss_spirit_stone", name=avatar.name, amount=loss) elif kind == MisfortuneKind.INJURY: # 受伤:扣减HP @@ -122,7 +132,7 @@ async def try_trigger_misfortune(avatar: Avatar) -> list[Event]: avatar.hp.cur -= damage # 注意:这里可能扣成负数,simulator 会在 _phase_resolve_death 中处理 - res_text = f"{avatar.name} 受到伤害 {damage} 点,剩余HP {avatar.hp.cur}/{max_hp}" + res_text = t("misfortune_result_injury", name=avatar.name, damage=damage, current=avatar.hp.cur, max=max_hp) elif kind == MisfortuneKind.CULTIVATION_BACKLASH: # 修为倒退 @@ -135,11 +145,11 @@ async def try_trigger_misfortune(avatar: Avatar) -> list[Event]: actual_loss = min(current_exp, loss) avatar.cultivation_progress.exp -= actual_loss - res_text = f"{avatar.name} 修为倒退 {actual_loss} 点" + res_text = t("misfortune_result_backlash", name=avatar.name, amount=actual_loss) # 生成故事 - event_text = f"遭遇霉运({theme}),{res_text}" - story_prompt = "请据此写100~300字小故事。只描述倒霉事件本身,不要描述角色的心理活动或者愈挫愈勇,不要有数值。" + event_text = t("misfortune_event_format", theme=theme, result=res_text) + story_prompt = t("misfortune_story_prompt") month_at_finish = avatar.world.month_stamp base_event = Event(month_at_finish, event_text, related_avatars=[avatar.id], is_major=True) diff --git a/src/i18n/locales/en_US/LC_MESSAGES/messages.mo b/src/i18n/locales/en_US/LC_MESSAGES/messages.mo index a178bbebdbb9e0cae60f9503a116ecba83807a03..29d81684b707c4cb64cff7914227ade1a27fe38d 100644 GIT binary patch delta 12729 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 diff --git a/src/i18n/locales/en_US/LC_MESSAGES/messages.po b/src/i18n/locales/en_US/LC_MESSAGES/messages.po index ab21ae6..bb35b94 100644 --- a/src/i18n/locales/en_US/LC_MESSAGES/messages.po +++ b/src/i18n/locales/en_US/LC_MESSAGES/messages.po @@ -3426,3 +3426,68 @@ msgstr "found a treasure" msgid "perished" msgstr "perished" + +# Misfortune System +msgid "misfortune_event_format" +msgstr "Encountered misfortune ({theme}), {result}" + +msgid "misfortune_story_prompt" +msgstr "Please write a short story (100-300 words) about this unfortunate event. Focus on the incident itself, do not mention stats." + +msgid "misfortune_result_loss_spirit_stone" +msgstr "{name} lost {amount} spirit stones" + +msgid "misfortune_result_injury" +msgstr "{name} took {damage} damage, HP remaining {current}/{max}" + +msgid "misfortune_result_backlash" +msgstr "{name} cultivation regressed by {amount} points" + +msgid "misfortune_theme_pickpocket" +msgstr "Encountered a pickpocket" + +msgid "misfortune_theme_fake_goods" +msgstr "Bought fake goods" + +msgid "misfortune_theme_blackmail" +msgstr "Blackmailed" + +msgid "misfortune_theme_theft" +msgstr "Cave dwelling theft" + +msgid "misfortune_theme_gambling_loss" +msgstr "Gambling loss" + +msgid "misfortune_theme_bad_investment" +msgstr "Investment failure" + +msgid "misfortune_theme_cultivation_accident" +msgstr "Cultivation accident" + +msgid "misfortune_theme_trip_fall" +msgstr "Tripped and fell" + +msgid "misfortune_theme_beast_ambush" +msgstr "Ambushed by beast" + +msgid "misfortune_theme_enemy_attack" +msgstr "Attacked by enemy" + +msgid "misfortune_theme_trap" +msgstr "Triggered trap" + +msgid "misfortune_theme_disaster" +msgstr "Sudden disaster" + +msgid "misfortune_theme_heart_demon" +msgstr "Heart demon emerged" + +msgid "misfortune_theme_qi_deviation" +msgstr "Qi deviation" + +msgid "misfortune_theme_confusion" +msgstr "Cultivation confusion" + +msgid "misfortune_theme_anxiety" +msgstr "Anxiety attack" + diff --git a/src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo b/src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo index 91b853f6073f8030f94f970c1fa3b3733bcb5b34..48dacbfe44e85a473e3961f5bf5a06a11516a71f 100644 GIT binary patch delta 12625 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 b_LO~I_OwG+muv~Vu`nxh!@lb~{i^>DKB-t? delta 11360 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 diff --git a/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po b/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po index 0070175..b7fe57b 100644 --- a/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po +++ b/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po @@ -2271,3 +2271,68 @@ msgstr "觅得宝物" msgid "perished" msgstr "葬身于" +# Misfortune System +msgid "misfortune_event_format" +msgstr "遭遇霉运({theme}),{result}" + +msgid "misfortune_story_prompt" +msgstr "请据此写100~300字小故事。只描述倒霉事件本身,不要描述角色的心理活动或者愈挫愈勇,不要有数值。" + +msgid "misfortune_result_loss_spirit_stone" +msgstr "{name} 损失灵石 {amount} 枚" + +msgid "misfortune_result_injury" +msgstr "{name} 受到伤害 {damage} 点,剩余HP {current}/{max}" + +msgid "misfortune_result_backlash" +msgstr "{name} 修为倒退 {amount} 点" + +msgid "misfortune_theme_pickpocket" +msgstr "遭遇扒手" + +msgid "misfortune_theme_fake_goods" +msgstr "误买假货" + +msgid "misfortune_theme_blackmail" +msgstr "遭人勒索" + +msgid "misfortune_theme_theft" +msgstr "洞府失窃" + +msgid "misfortune_theme_gambling_loss" +msgstr "赌石惨败" + +msgid "misfortune_theme_bad_investment" +msgstr "投资失败" + +msgid "misfortune_theme_cultivation_accident" +msgstr "修炼岔气" + +msgid "misfortune_theme_trip_fall" +msgstr "出门摔伤" + +msgid "misfortune_theme_beast_ambush" +msgstr "妖兽偷袭" + +msgid "misfortune_theme_enemy_attack" +msgstr "仇家闷棍" + +msgid "misfortune_theme_trap" +msgstr "误触机关" + +msgid "misfortune_theme_disaster" +msgstr "天降横祸" + +msgid "misfortune_theme_heart_demon" +msgstr "心魔滋生" + +msgid "misfortune_theme_qi_deviation" +msgstr "灵气逆行" + +msgid "misfortune_theme_confusion" +msgstr "感悟错乱" + +msgid "misfortune_theme_anxiety" +msgstr "急火攻心" + + diff --git a/src/i18n/locales/zh_TW/LC_MESSAGES/messages.mo b/src/i18n/locales/zh_TW/LC_MESSAGES/messages.mo index 86ec68ee04e0b2dfb0d04837da050f5c801bdade..b12017542372197349802f7611333099b65378db 100644 GIT binary patch delta 12731 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 - +