1.修改了冒险计算公式2.签到插件注册"积分"入口
This commit is contained in:
@@ -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, # 最高成功率
|
||||
|
||||
# 加成系数配置
|
||||
|
||||
@@ -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')}"
|
||||
]
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user