1.修改了冒险计算公式2.签到插件注册"积分"入口

This commit is contained in:
2025-11-10 21:20:21 +08:00
parent 092ef58f23
commit be3043829c
3 changed files with 22 additions and 9 deletions

View File

@@ -46,7 +46,6 @@ COMBAT_ADVENTURE_CONFIG = {
# 成功率配置
"combat_adventure_base_success_rate": 1.00, # 第一阶段基础成功率
"combat_adventure_stage_penalty": 0.20, # 每阶段递减
"combat_adventure_min_success_rate": 0.00, # 最低成功率
"combat_adventure_max_success_rate": 1.00, # 最高成功率
# 加成系数配置

View File

@@ -470,23 +470,23 @@ class CombatService:
equipment_strength: float,
fortune_value: float,
wine_buffs: List[str]
) -> float:
) -> Tuple[float, str]:
"""
计算冒险成功率
Returns:
成功率0.0-1.0
描述性文本
"""
# 1. 基础成功率
base_rate = CombatConfig.get_float("combat_adventure_base_success_rate")
stage_penalty = CombatConfig.get_float("combat_adventure_stage_penalty")
min_rate = CombatConfig.get_float("combat_adventure_min_success_rate")
base_success = max(min_rate, base_rate - (stage - 1) * stage_penalty)
base_success = base_rate - (stage - 1) * stage_penalty
# 2. 装备加成
equip_coeff = CombatConfig.get_float("combat_adventure_equipment_coeff")
equip_bonus = equipment_strength * equip_coeff
equip_bonus = math.log2(equipment_strength * equip_coeff)
# 3. 运势加成
fortune_coeff = CombatConfig.get_float("combat_adventure_fortune_coeff")
@@ -501,7 +501,21 @@ class CombatService:
# 5. 最终成功率
max_rate = CombatConfig.get_float("combat_adventure_max_success_rate")
total = base_success + equip_bonus + fortune_bonus + buff_bonus
return min(max_rate, max(min_rate, total))
# 6.拼接描述
desc = f"{int(base_success*100)}%基础"
if equip_bonus > 0:
desc += f"+{int(equip_bonus*100)}%装备"
if fortune_bonus > 0:
desc += f"+{int(fortune_bonus*100)}%运势"
if buff_bonus > 0:
desc += f"+{int(buff_bonus*100)}%buff"
return (min(max_rate, total), desc)
def check_food_requirement(self, stage: int, food_items: List[str]) -> Tuple[bool, str, int]:
"""
@@ -712,7 +726,7 @@ class CombatService:
# 6. 计算冒险参数
actual_time = self.calculate_adventure_time(stage, stats.equipment_strength, food_items)
success_rate = self.calculate_success_rate(stage, stats.equipment_strength, fortune_value, food_items)
success_rate, success_rate_desc = self.calculate_success_rate(stage, stats.equipment_strength, fortune_value, food_items)
# 7. 创建冒险记录
start_time = datetime.now()
@@ -781,8 +795,7 @@ class CombatService:
msg_lines = [
f"✅ 开始第 {stage} 阶段冒险{debug_hint}",
f"- 预计耗时:{time_str}",
f"- 成功率{success_rate*100:.1f}%",
f"- 装备强度:{stats.equipment_strength:.1f}",
f"- 成功率: {success_rate*100:.2f}% ({success_rate_desc})",
f"- 预计完成:{expected_end.strftime('%Y-%m-%d %H:%M')}"
]

View File

@@ -209,6 +209,7 @@ class WPSCheckinAPI(WPSAPI):
logger.Log("Info", f"{ConsoleFrontColor.GREEN}WPSCheckinAPI 插件已加载{ConsoleFrontColor.RESET}")
self.register_plugin("checkin")
self.register_plugin("签到")
self.register_plugin("积分")
@override
def register_db_model(self) -> DatabaseModel: