英雄招募与兑换
英雄招募包含普通招募、高级九宫格、招募等级、高级券进度和积分兑换。装备与符文抽奖见装备与符文抽奖。英雄获得后的升级与阵容归养成功能。
开放、消耗与普通招募
普通与高级招募独立判断主线进度、玩家等级等开放条件;普通招募开放后显示主界面入口。普通招募支持 1/10/100 次,分别消耗对应数量普通券,连抽逐次随机而非一次随机复制奖励。高级招募使用另一种券。
普通券达到 100 时显示百抽勾选框,勾选将十抽按钮切换为百抽;少于 100 不展示百抽选项。单抽/十抽券不足可按缺口使用钻石,十抽先使用已有券,确认弹窗说明钻石消耗,取消不操作;百抽来源明确不做钻石补足。钻石不足时价格红色并提示不足。
普通奖励按配置权重随机;已拥有英雄转成对应碎片。每次抽取增加招募经验与招募积分;首次普通单抽、首次十连的定向英雄由新手配置控制。新手特殊机制来源明确“首次单抽必出冰系 1 号、首次十连必出火系 1 号”,这是原设计的英雄称呼,不等于当前 HeroId;当前映射需按首次单抽/十连配置识别。
若普通招募配置广告位,广告招募入口显示在单抽上方;今日广告次数耗尽后隐藏,不以仍然可点的免费按钮代替。
保底计数随抽取推进,获得标记为高品质的奖励后重置;存在多个保底奖励时按该组权重选择。界面显示剩余次数,不把“稀有”“传说”“高品质”等不同来源词语自行统一成新的品质门槛。
高级招募券进度
设计为每 10 次普通招募得 1 点进度,每 10 点手动领取一张高级券;可累积、可批量兑换,领取只扣除已换的整份进度。例:27 点领取 2 张,保留 7 点。原表“领取后清零”应理解为整份进度消耗,而非删除余数。
来源界面还写进度最高 999,尚需核对当前服务端是否有相同上限;未满时提示还需进行的普通招募次数,达到领取条件时入口出现光效。累计招募奖励与高级券进度是两个概念:前者展示历史抽数/下一奖励档次,不能共用后者可消耗的进度值。
高级九宫格
- 根据出现权重生成九件待抽奖励,奖励有单独的抽取权重;两种权重不能混用。
- 已出现内容跨天保留,跨天只重置免费/广告等次数,不自动换掉尚未抽完的格子。
- 每次操作消耗一张高级券,但可拿多件奖励。一轮按 3、2、2、1、1 的设计顺序取完九件;已取格子留空,下一轮前不重复抽中。
- 全部取完立即生成新九格;主动刷新也重置本轮抽取位置和下一次数量预告。
- 每天一次免费刷新、零点恢复;界面补充的优先级为免费→有配额的广告→刷新道具。刷新道具不足时展示该道具获取途径。
- 若高级招募配置广告位,广告次数未耗尽时优先显示广告招募;之后使用券,券不足时显示对应钻石价格并确认。
- 高级保底提示按“再刷新 N 次必出高品质英雄”计数,每刷新一次 N 减一,刷出保底英雄后重置;与普通按抽数的保底不是同一个计数器。
高级招募获得已拥有英雄同样转换为对应碎片;每次高级招募增加配置的 Y 点招募积分,不能因一次发放多件奖励而把积分误算为奖励格数乘 Y。
高级界面显示等级/经验、概率说明、每日刷新提示、九格、下一次奖励数量、兑换入口、跳过动画和刷新/招募按钮。物品显示图标与数量,英雄显示形象与数量。
招募等级与概率
普通、高级等级相互独立;各次招募增加对应经验,按等级选择随机组,最高等级以配置为准。概率说明可选择招募类型和等级,展示每个物品品质、名称及概率;英雄品质高的排在上方。旧表中的经验 10/20/40、碎片权重 100/200/300 是配置结构示例,不写成当前固定数值。
积分兑换商店
| 项目 | 规则 |
|---|---|
| 货架条件 | 只出现玩家已拥有英雄的对应碎片 |
| 阶梯 | 同一种碎片先售较低价档,低价档购买次数耗尽后才出现下一高价档 |
| 价格示例 | 五折 3 次、原价 5 次、涨价 20% 的 10 次仅为示例,实际按表 |
| 重置 | 每周一零点重置兑换次数;当前后端商店模型同样使用周一 |
| 排序与展示 | 品质从高到低,显示名称、立绘、品质、碎片数、价格、折扣和剩余/总可买次数 |
| 批量购买 | 最少一次,数量不超过当前档最大可买份数;价格汇总,积分不足显示红色并提示获取 |
| 售罄 | 全部档次耗尽后显示售罄 |
| 返回 | 回到进入兑换商店前的普通或高级招募页 |
来源 UI 写“距零点倒计时”,正文明确周一重置;倒计时应表达该业务下一重置点,不能误呈每日刷新。批量购买按钮不重复显示折扣标签。
奖励界面与红点
先依次展示本次新解锁英雄的获得界面,再展示累计奖励。英雄和碎片按品质排序,同英雄重复获得也分开显示,不合成一格;条目显示形象、元素派系、当前等级、该次碎片数、总碎片/升级需求。碎片及粉末等升级资源均满足时显示绿色升级箭头。普通物品允许堆叠,按品质排序;没有某类奖励则隐藏该区域。
奖励界面可滚动、点击物品看 tips、点击空白关闭回原页;“继续招募”延续本次类型与 1/10/100 次数量,显示剩余券与补钻规则。跳过动画只省略表现,不改变抽奖结果或扣费。
| 红点原因 | 位置与消失条件 |
|---|---|
| 普通券至少 10 张 | 主入口→普通十抽;少于 10 消失 |
| 高级券至少一张 | 主入口→高级页签→高级招募按钮;无券消失 |
| 积分够买最低价可购商品 | 主入口→兑换入口;无可购商品或积分不足消失 |
| 累计奖励可领 | 主入口→累计奖励图标;全部领完消失 |


当前实现与具体差异
后端 88b24abec878dfbd269df5627ca2ce3d37513e12 的 service/role/handler/hero/lottery.go 已将普通、高级和装备/符文分支分别处理。普通分支校验广告次数或券/钻石库存,用历史次数求等级随机组,更新保底、首次单抽/首次十抽状态,逐次累计经验和高级券进度;业务日志为 lottery。这证明有权威实现入口,不证明概率分布或联机操作已测试。
客户端当前 Features/Lottery/Commands 包含普通、高级、刷新、高级券领取、兑换、概率预览及跳过动画命令。旧文档泛称“心愿”,但飞书九宫格没有给出独立选定心愿规则;不能把旧标题中的心愿扩展成一个已确认玩法。
待核实:高级九格实际批次数由配置驱动是否仍为 3/2/2/1/1;999 进度上限是否有效;普通经验“每次 1”与界面“可配置”的差异;真实广告完成、钻石补足和首次定向英雄需实际环境证据。
依据
旧 features/lottery.md;飞书《英雄招募》XFzobXG8copo4Axd0FAc42jYnOg 全部规则、界面补充、累计奖励说明;最新后端抽奖与商店源码,以及 frontend 7f0636c955d103ffa8207c10e191ffcfcaa46b12 对应招募入口。设计示例、当前配置和执行结果分开解释。