修复胜利之树的果酒配方未被注册的bug
This commit is contained in:
@@ -568,6 +568,33 @@ class WPSCombatBase(WPSAPI):
|
|||||||
BackpackItemTier.LEGENDARY,
|
BackpackItemTier.LEGENDARY,
|
||||||
"胜利之树成熟后的果实,可食用或售出换取积分。",
|
"胜利之树成熟后的果实,可食用或售出换取积分。",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 注册胜利之树的果酒物品和配方
|
||||||
|
if victory_tree_crop.wine_item_id and victory_tree_crop.wine_tier:
|
||||||
|
alchemy: WPSAlchemyGame = Architecture.Get(WPSAlchemyGame)
|
||||||
|
wine_tier = getattr(BackpackItemTier, victory_tree_crop.wine_tier.upper(), BackpackItemTier.LEGENDARY)
|
||||||
|
wine_name = f"{victory_tree_crop.display_name}的果酒"
|
||||||
|
wine_desc = self._generate_wine_description(victory_tree_crop.display_name, victory_tree_crop.wine_item_id)
|
||||||
|
self._safe_register_item(
|
||||||
|
backpack,
|
||||||
|
victory_tree_crop.wine_item_id,
|
||||||
|
wine_name,
|
||||||
|
wine_tier,
|
||||||
|
wine_desc,
|
||||||
|
)
|
||||||
|
# 注册果酒配方
|
||||||
|
try:
|
||||||
|
alchemy.register_recipe(
|
||||||
|
(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,
|
||||||
|
)
|
||||||
|
except Exception as exc:
|
||||||
|
logger.Log(
|
||||||
|
"Warning",
|
||||||
|
f"{ConsoleFrontColor.YELLOW}注册胜利之树果酒配方失败: {exc}{ConsoleFrontColor.RESET}"
|
||||||
|
)
|
||||||
|
|
||||||
logger.Log(
|
logger.Log(
|
||||||
"Info",
|
"Info",
|
||||||
@@ -610,5 +637,36 @@ class WPSCombatBase(WPSAPI):
|
|||||||
f"{ConsoleFrontColor.YELLOW}注册炼金配方 {materials} -> {success_item_id} 失败: {exc}{ConsoleFrontColor.RESET}",
|
f"{ConsoleFrontColor.YELLOW}注册炼金配方 {materials} -> {success_item_id} 失败: {exc}{ConsoleFrontColor.RESET}",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _generate_wine_description(self, crop_name: str, wine_item_id: str) -> str:
|
||||||
|
"""生成包含buff加成信息的果酒描述"""
|
||||||
|
try:
|
||||||
|
from .combat_models import WINE_BUFFS
|
||||||
|
buffs = WINE_BUFFS.get(wine_item_id, {})
|
||||||
|
except ImportError:
|
||||||
|
buffs = {}
|
||||||
|
|
||||||
|
parts = [f"{crop_name}酿制的果酒,饮用后可触发战斗增益。"]
|
||||||
|
|
||||||
|
if buffs:
|
||||||
|
buff_parts = []
|
||||||
|
buff_names = {
|
||||||
|
"time_reduction": "冒险时间",
|
||||||
|
"reward_boost": "冒险收益",
|
||||||
|
"success_rate": "冒险成功率",
|
||||||
|
"atk_boost": "攻击力",
|
||||||
|
"def_boost": "防御力",
|
||||||
|
"crit_boost": "暴击率",
|
||||||
|
}
|
||||||
|
for buff_key, buff_value in sorted(buffs.items()):
|
||||||
|
buff_name = buff_names.get(buff_key, buff_key)
|
||||||
|
if buff_key == "time_reduction":
|
||||||
|
buff_parts.append(f"{buff_name}-{buff_value*100:.0f}%")
|
||||||
|
else:
|
||||||
|
buff_parts.append(f"{buff_name}+{buff_value*100:.0f}%")
|
||||||
|
if buff_parts:
|
||||||
|
parts.append(f"效果:{', '.join(buff_parts)}")
|
||||||
|
|
||||||
|
return " | ".join(parts)
|
||||||
|
|
||||||
|
|
||||||
__all__ = ["WPSCombatBase"]
|
__all__ = ["WPSCombatBase"]
|
||||||
|
|||||||
Reference in New Issue
Block a user