add more persona effects

This commit is contained in:
bridge
2025-11-11 23:57:46 +08:00
parent 24d397d86c
commit a20d978921
3 changed files with 24 additions and 7 deletions

View File

@@ -150,5 +150,10 @@ def decide_battle(attacker: "Avatar", defender: "Avatar") -> Tuple["Avatar", "Av
def get_escape_success_rate(attacker: "Avatar", defender: "Avatar") -> float:
"""逃跑成功率:后续可基于双方能力细化。"""
return 0.1
"""
逃跑成功率defender 试图从 attacker 身边逃离
基础成功率 0.1,可通过 defender 的 effects 提升
"""
base_rate = 0.1
bonus = float(defender.effects.get("extra_escape_success_rate", 0.0))
return max(0.0, min(1.0, base_rate + bonus))

View File

@@ -95,6 +95,15 @@ EXTRA_CATCH_SUCCESS_RATE = "extra_catch_success_rate"
说明: 捕捉灵兽时增加的成功率
"""
# --- 逃跑相关 ---
EXTRA_ESCAPE_SUCCESS_RATE = "extra_escape_success_rate"
"""
额外逃跑成功率
类型: float (范围: 0.0 ~ 1.0)
结算: src/classes/battle.py
说明: 从对方身边逃离时增加的成功率
"""
# --- 奇遇相关 ---
EXTRA_FORTUNE_PROBABILITY = "extra_fortune_probability"
"""
@@ -165,6 +174,9 @@ ALL_EFFECTS = [
# 捕捉相关
"extra_catch_success_rate", # float - 额外捕捉成功率
# 逃跑相关
"extra_escape_success_rate", # float - 额外逃跑成功率
# 奇遇相关
"extra_fortune_probability", # float - 额外奇遇概率