新增查看指令

This commit is contained in:
2025-11-10 22:30:16 +08:00
parent f5b03422e4
commit aba445f438
9 changed files with 240 additions and 39 deletions

View File

@@ -561,19 +561,34 @@ WINE_BUFFS: Dict[str, Dict[str, float]] = {
},
}
# 冒险材料item_id -> (name, tier)
ADVENTURE_MATERIALS: Dict[str, Tuple[str, BackpackItemTier]] = {
"combat_material_ore": ("矿石", BackpackItemTier.COMMON),
"combat_material_gem": ("宝石", BackpackItemTier.RARE),
"combat_material_crystal": ("水晶", BackpackItemTier.EPIC),
"combat_material_essence": ("精华", BackpackItemTier.LEGENDARY),
# 冒险材料item_id -> (name, tier, description)
ADVENTURE_MATERIALS: Dict[str, Tuple[str, BackpackItemTier, str]] = {
"combat_material_ore": ("矿石", BackpackItemTier.COMMON, "常见矿石,可用于基础锻造与委托交付。"),
"combat_material_gem": ("宝石", BackpackItemTier.RARE, "闪亮的宝石,适合在高级制作或兑换时使用。"),
"combat_material_crystal": ("水晶", BackpackItemTier.EPIC, "蕴含魔力的晶体,是强化装备的稀有素材。"),
"combat_material_essence": ("精华", BackpackItemTier.LEGENDARY, "远古战场遗留的精华,可构筑传说装备核心。"),
}
# 纪念品item_id -> (name, tier, sell_price)
ADVENTURE_SOUVENIRS: Dict[str, Tuple[str, BackpackItemTier, int]] = {
"combat_souvenir_medal": ("英雄勋章", BackpackItemTier.RARE, 500),
"combat_souvenir_trophy": ("战斗奖杯", BackpackItemTier.EPIC, 1500),
"combat_souvenir_relic": ("远古遗物", BackpackItemTier.LEGENDARY, 5000),
# 纪念品item_id -> (name, tier, sell_price, description)
ADVENTURE_SOUVENIRS: Dict[str, Tuple[str, BackpackItemTier, int, str]] = {
"combat_souvenir_medal": (
"英雄勋章",
BackpackItemTier.RARE,
500,
"记录战斗荣誉的勋章,系统回收可获得积分。",
),
"combat_souvenir_trophy": (
"战斗奖杯",
BackpackItemTier.EPIC,
1500,
"沉甸甸的奖杯,象征卓越胜利,可高价出售给系统。",
),
"combat_souvenir_relic": (
"远古遗物",
BackpackItemTier.LEGENDARY,
5000,
"来自远古文明的神秘遗物,系统收购可换取大量积分。",
),
}
# 药剂item_id -> (name, tier, description)
@@ -585,10 +600,18 @@ COMBAT_POTIONS: Dict[str, Tuple[str, BackpackItemTier, str]] = {
"combat_potion_def": ("防御药水", BackpackItemTier.RARE, "3回合DEF+20%"),
}
# 冒险独有种子item_id -> (name, tier)
ADVENTURE_SEEDS: Dict[str, Tuple[str, BackpackItemTier]] = {
"combat_seed_battle_flower": ("战斗之花种子", BackpackItemTier.EPIC),
"combat_seed_victory_tree": ("胜利之树种子", BackpackItemTier.LEGENDARY),
# 冒险独有种子item_id -> (name, tier, description)
ADVENTURE_SEEDS: Dict[str, Tuple[str, BackpackItemTier, str]] = {
"combat_seed_battle_flower": (
"战斗之花种子",
BackpackItemTier.EPIC,
"可在菜园培育的稀有花种,成熟后会带来战斗增益。",
),
"combat_seed_victory_tree": (
"胜利之树种子",
BackpackItemTier.LEGENDARY,
"象征无上荣耀的种子,只能在高难冒险中获得。",
),
}
# ============================================================================

View File

@@ -72,24 +72,30 @@ class WPSCombatBase(WPSAPI):
# 1. 注册所有装备
for equipment in EQUIPMENT_REGISTRY.values():
self._safe_register_item(backpack, equipment.item_id, equipment.name, equipment.tier)
self._safe_register_item(
backpack,
equipment.item_id,
equipment.name,
equipment.tier,
equipment.description,
)
# 装备价格根据品质和属性计算
price = self._calculate_equipment_price(equipment)
self._safe_register_store(store, equipment.item_id, price, limit=3)
# 2. 注册材料
for item_id, (name, tier) in ADVENTURE_MATERIALS.items():
self._safe_register_item(backpack, item_id, name, tier)
for item_id, (name, tier, desc) in ADVENTURE_MATERIALS.items():
self._safe_register_item(backpack, item_id, name, tier, desc)
# 材料可以在商店出售(但不购买)
# 3. 注册纪念品
for item_id, (name, tier, sell_price) in ADVENTURE_SOUVENIRS.items():
self._safe_register_item(backpack, item_id, name, tier)
for item_id, (name, tier, sell_price, desc) in ADVENTURE_SOUVENIRS.items():
self._safe_register_item(backpack, item_id, name, tier, desc)
# 纪念品只能出售
# 4. 注册药剂
for item_id, (name, tier, desc) in COMBAT_POTIONS.items():
self._safe_register_item(backpack, item_id, name, tier)
self._safe_register_item(backpack, item_id, name, tier, desc)
# 药剂价格根据品质
potion_prices = {
BackpackItemTier.COMMON: 50,
@@ -100,8 +106,8 @@ class WPSCombatBase(WPSAPI):
self._safe_register_store(store, item_id, price, limit=10)
# 5. 注册冒险种子
for item_id, (name, tier) in ADVENTURE_SEEDS.items():
self._safe_register_item(backpack, item_id, name, tier)
for item_id, (name, tier, desc) in ADVENTURE_SEEDS.items():
self._safe_register_item(backpack, item_id, name, tier, desc)
# 种子只能通过冒险获得
# 6. 恢复过期任务和超时战斗
@@ -131,10 +137,11 @@ class WPSCombatBase(WPSAPI):
item_id: str,
name: str,
tier: BackpackItemTier,
description: str,
) -> None:
"""安全注册物品到背包系统"""
try:
backpack.register_item(item_id, name, tier)
backpack.register_item(item_id, name, tier, description)
except Exception as e:
logger.Log(
"Warning",

View File

@@ -981,7 +981,7 @@ class CombatService:
materials = list(ADVENTURE_MATERIALS.items())
# 高阶段有更高概率掉稀有材料
idx = min(stage // 2, len(materials) - 1)
item_id, (name, tier) = random.choice(materials[max(0, idx-1):])
item_id, (_, tier, _) = random.choice(materials[max(0, idx-1):])
quantity = random.randint(1, 3)
return {"type": "material", "item_id": item_id, "quantity": quantity}