From 0342d839164a0e0b63b7861980ab128f0ea0565e Mon Sep 17 00:00:00 2001 From: ninemine <1371605831@qq.com> Date: Sun, 16 Nov 2025 00:27:09 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E8=83=9C=E5=88=A9=E4=B9=8B?= =?UTF-8?q?=E6=A0=91=E7=9A=84=E6=9E=9C=E9=85=92=E4=B8=BA=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E5=90=88=E6=88=90=E5=A4=B1=E8=B4=A52.=E5=B0=9D=E8=AF=95?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8F=9C=E5=9B=AD=E9=99=B7=E9=98=B1=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plugins/WPSCombatSystem/combat_plugin_base.py | 2 +- Plugins/WPSGardenSystem/garden_plugin_base.py | 28 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Plugins/WPSCombatSystem/combat_plugin_base.py b/Plugins/WPSCombatSystem/combat_plugin_base.py index e9d1cf0..d93c2dc 100644 --- a/Plugins/WPSCombatSystem/combat_plugin_base.py +++ b/Plugins/WPSCombatSystem/combat_plugin_base.py @@ -588,7 +588,7 @@ class WPSCombatBase(WPSAPI): (victory_tree_crop.fruit_id, victory_tree_crop.fruit_id, victory_tree_crop.fruit_id), victory_tree_crop.wine_item_id, "garden_item_rot_fruit", - 0.75, + 1, # 胜利之树的果酒不会合成失败 ) except Exception as exc: logger.Log( diff --git a/Plugins/WPSGardenSystem/garden_plugin_base.py b/Plugins/WPSGardenSystem/garden_plugin_base.py index 4fbf80b..3d9a009 100644 --- a/Plugins/WPSGardenSystem/garden_plugin_base.py +++ b/Plugins/WPSGardenSystem/garden_plugin_base.py @@ -525,16 +525,28 @@ class WPSGardenBase(WPSAPI): formatted_time = self._format_timestamp(mature_at) if is_mature: remaining = plot["remaining_fruit"] - theft_users = len(json.loads(plot["theft_users"])) if plot.get("theft_users") else 0 + try: + theft_users_str = plot["theft_users"] + theft_users = len(json.loads(theft_users_str)) if theft_users_str else 0 + except (KeyError, TypeError, json.JSONDecodeError): + theft_users = 0 + trap_info = "" if show_trap: - trap_item_id = plot.get("trap_item_id") - if trap_item_id and isinstance(trap_item_id, str) and trap_item_id.strip(): - trap_durability = int(plot.get("trap_durability", 0)) - from .garden_models import GARDEN_TRAPS_DICT - trap = GARDEN_TRAPS_DICT.get(trap_item_id) - if trap: - trap_info = f"|陷阱:{trap.display_name}({trap_durability}次)" + try: + trap_item_id = plot["trap_item_id"] + if trap_item_id and isinstance(trap_item_id, str) and trap_item_id.strip(): + try: + trap_durability = int(plot["trap_durability"]) if plot["trap_durability"] is not None else 0 + except (KeyError, TypeError, ValueError): + trap_durability = 0 + from .garden_models import GARDEN_TRAPS_DICT + trap = GARDEN_TRAPS_DICT.get(trap_item_id) + if trap: + trap_info = f"|陷阱:{trap.display_name}({trap_durability}次)" + except (KeyError, TypeError): + # 字段不存在或值为None,不显示陷阱信息 + pass status = f"✅ 已成熟(成熟于 {formatted_time})" lines.append( f"- 地块 {idx}|{name}|{status}|剩余果实 {remaining}|被偷次数 {theft_users}{trap_info}"