# 奖品双倍头衔设计补充 ## 目标 - 为“头衔”新增一种权益:抽奖命中后有一定概率将奖励倍数提升(默认双倍)。 ## 模型与配置 - `system_title_effects.effect_type = DRAW_REWARD_DOUBLE_CHANCE` - `params_json` 示例: - `multiplier_x1000`: 2000(默认2x,允许配置3x等) - `chance_x1000`: 150(表示15%) - `max_multiplier_cap_x1000`: 3000(总倍数上限,例如≤3x) - `limit_per_day`: null 或数值(每日最多触发次数) - `applicable_activities/issues`: 作用范围限定列表 - 叠加策略: - 概率合并:`p_total = 1 - Π(1 - p_i)`,并设置上限(如≤50%)。 - 倍数合并:与其他“奖励倍数”效果(如道具卡)相乘,最终倍数受 `max_multiplier_cap_x1000` 封顶。 ## 抽奖流程接入 - 触发点:`DRAW_EXECUTE` 阶段,在完成“中奖项选择”之后执行一次“是否倍增”的伯努利试验。 - 步骤: 1. EffectEngine 汇总用户激活头衔的 `DRAW_REWARD_DOUBLE_CHANCE`,计算 `p_total` 与期望倍数(通常为2x)。 2. 使用抽奖同一随机源或受控RNG进行试验,命中则将当前中奖奖励按倍数提升。 3. 将结果写入 `activity_draw_effects.reward_multiplier_x1000`,并记录 `source_type=TITLE`、`source_id=title_id`、命中与否、概率参数。 4. 回执与发奖按倍数后的值结算(库存/道具类型按现有规则处理)。 ## 审计与风控 - 落盘:在抽奖效果表记录每次试验的参数与结果,便于复核与分析。 - 上限:概率与倍数均受可配置总封顶约束,防止过度放大。 - 并发:同一抽奖回合仅进行一次合并后的试验,避免重复计算。 ## 管理端与前端 - 管理端在“头衔效果”配置表单中提供:倍数、概率、封顶、作用范围、每日上限等字段。 - 用户端抽奖页面展示“我的双倍概率与倍数”提示;在中奖结果处标注“头衔加成(双倍)”。 ## 测试与验收 - 用例: - 单头衔15%双倍 → 约15%回合出现倍增且倍数=2x。 - 多头衔概率合并(10%与20%)→ 总概率约28%,倍数与其他倍数效果(如1.5x道具卡)相乘并≤总封顶。 - 封顶与每日上限有效;审计记录完整。 确认后,我将把该效果纳入头衔体系的实现与抽奖流程接入。