降低积分炼金期望
This commit is contained in:
@@ -31,13 +31,13 @@ MAX_POINTS_PER_BATCH: int = logger.FindItem("alchemy_max_points_per_batch", 1000
|
||||
POINT_ALCHEMY_FEE: int = logger.FindItem("alchemy_point_fee", 100)
|
||||
POOL_INITIAL_BALANCE: int = logger.FindItem("alchemy_pool_initial_balance", 10000)
|
||||
REWARD_SLOT_CONFIG = logger.FindItem("alchemy_reward_slots", sorted([
|
||||
(50,0.01),
|
||||
(45,0.02),
|
||||
(40,0.03),
|
||||
(35,0.05),
|
||||
(30,0.07),
|
||||
(20,0.1),
|
||||
(10,0.2)
|
||||
(50,0.001),
|
||||
(40,0.004),
|
||||
(30,0.016),
|
||||
(20,0.05),
|
||||
(10,0.1),
|
||||
(5,0.15),
|
||||
(1,0.2)
|
||||
], key=lambda x: x[0]))
|
||||
COMMON_BONUS_RATE: float = logger.FindItem("alchemy_common_bonus_rate", 0.3333333)
|
||||
COMMON_BONUS_BLACKLIST: Sequence[str] = logger.FindItem("alchemy_common_blacklist", [])
|
||||
@@ -63,15 +63,6 @@ class WPSAlchemyGame(WPSAPI):
|
||||
SLAG_ITEM_NAME = "炉渣"
|
||||
MAX_BATCH_TIMES = 99
|
||||
|
||||
_PHASE_TABLE: List[Tuple[float, float, str, str]] = [
|
||||
(0.1481481481, 0.0, "爆炸", "💥 炼金反噬,积分化为飞灰……"),
|
||||
(0.4444444444, 0.5, "失败", "😖 炼金失败,仅保留半数积分。"),
|
||||
(0.7407407407, 2.0, "成功", "😊 炼金成功,积分翻倍!"),
|
||||
(0.8888888888, 5.0, "丰厚积分", "😁 运气加成,收获丰厚积分!"),
|
||||
(0.9629629630, 10.0, "巨额积分", "🤩 巨额积分入账,今日欧气爆棚!"),
|
||||
(1.0, 100.0, "传说积分", "🌈 传说级好运!积分暴涨一百倍!"),
|
||||
]
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self._recipes: Dict[Tuple[str, str, str], AlchemyRecipe] = {}
|
||||
@@ -680,7 +671,7 @@ class WPSAlchemyGame(WPSAPI):
|
||||
slot_brief_line = ""
|
||||
if self._reward_slot_config:
|
||||
reward_probability_line = (
|
||||
f"- 有奖励挡位总概率:{self._reward_total_probability:.0%}\n"
|
||||
f"- 有奖励挡位总概率:{self._reward_total_probability:.2%}\n"
|
||||
)
|
||||
preview = ", ".join(
|
||||
f"{percent:.0f}%|{probability:.2%}"
|
||||
@@ -702,17 +693,6 @@ class WPSAlchemyGame(WPSAPI):
|
||||
f"- 状态:炼金进行中..."
|
||||
)
|
||||
|
||||
def _draw_point_multiplier(
|
||||
self, fortune_value: float
|
||||
) -> Tuple[float, str, str]:
|
||||
offset = fortune_value * self._fortune_coeff
|
||||
random_value = random.random()
|
||||
landing = clamp01(offset + random_value)
|
||||
for threshold, multiplier, label, text in self._PHASE_TABLE:
|
||||
if landing <= threshold:
|
||||
return multiplier, label, text
|
||||
return self._PHASE_TABLE[-1][1:]
|
||||
|
||||
def _draw_reward_slot(
|
||||
self, fortune_value: float
|
||||
) -> Tuple[Optional[float], float]:
|
||||
|
||||
Reference in New Issue
Block a user