Appearance
卡牌出现权重
卡牌出现权重是宝箱、商店和地图随机奖励用来决定“哪些牌进入候选池、哪些牌更容易被抽中”的系统。职业升级的随机卡也会受职业影响,但它不是同一套加权池,而是职业自己的升级卡表里等概率抽取。
1. 职业 ID 与基础权重算法
计算宝箱、商店和地图随机卡奖励时,职业侧主要看两件事:职业权重 ID 和职业基础权重算法。职业权重 ID 决定哪些卡牌 ID 修正会命中;基础权重算法决定这个职业如何读取卡牌 metadata 里的盗贼、牧师、战士、法师四个基础权重。
| 职业 | 职业权重 ID | 基础权重算法 | 说明 |
|---|---|---|---|
| 刺客 | 8、16 | max(盗贼, 法师) | 低阶魔力牌(ManaCard 且基础阶级 < 5)权重为 0。 |
| 吟游诗人 | 9、14 | 10 | 所有卡使用固定基础权重。 |
| 圣骑士 | 4、15 | max(牧师, 战士) | 用更高的一侧作为基础权重。 |
| 德鲁伊 | 12、14 | max(法师, 0.75 × 战士) | 偏向法术,同时保留一部分战士权重。 |
| 战士 | 1、17 | 战士 | 直接读取卡牌的战士权重。 |
| 教授 | 10 | 10 | 所有卡使用固定基础权重。 |
| 武僧 | 8、16 | max(盗贼, 牧师) | 用更高的一侧作为基础权重。 |
| 武士 | 5、14 | max(战士, 法师) | 用更高的一侧作为基础权重。 |
| 死灵法师 | 6、16 | max(牧师, 法师) | 用更高的一侧作为基础权重。 |
| 法师 | 0、14 | 法师 | 通常读取法师权重;Mana Surge 固定按 20 计算。 |
| 游侠 | 7、14 | max(盗贼, 战士) | 用更高的一侧作为基础权重。 |
| 牧师 | 2、15 | 牧师 | 直接读取卡牌的牧师权重。 |
| 盗贼 | 3、16 | 盗贼 | 直接读取卡牌的盗贼权重。 |
| 龙 | 14 | max(战士, 法师) | 用更高的一侧作为基础权重。 |
2. 职业基础数据与升级成长
生命、法力、行动点和装备槽会影响职业实际选牌方向,但它们不是宝箱和商店里单张卡的直接权重。它们属于职业基础数据和升级奖励结构:升级时如果出现生命、法力、行动点或装备槽奖励,玩家选择后会改变后续战斗节奏;宝箱和商店的卡牌概率仍按 CardFinder 的候选池与总权重计算。
| 职业 | 开局资源 | 升级成长选项 | 固定奖励节点 |
|---|---|---|---|
| 刺客 | 生命 15 / 法力 1 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、金币、卡牌奖励、升级牌 | 3 级 行动点增加 |
| 吟游诗人 | 生命 15 / 法力 2 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、金币、卡牌奖励、升级牌 | 无额外固定节点 |
| 圣骑士 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、卡牌奖励、升级牌、删除牌 | 3 级 法力增加 |
| 德鲁伊 | 生命 15 / 法力 2 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、卡牌奖励、升级牌、删除牌 | 通用 1 张低阶卡 |
| 战士 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、卡牌奖励、升级牌、删除牌 | 5 级 装备槽增加 |
| 教授 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、删除牌 | 3 级 行动点增加 |
| 武僧 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、卡牌奖励、删除牌 | 3 级 行动点增加 |
| 武士 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、卡牌奖励、升级牌、删除牌 | 无额外固定节点 |
| 死灵法师 | 生命 15 / 法力 2 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、卡牌奖励、删除牌 | 5 级 法力成长 |
| 法师 | 生命 15 / 法力 2 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、卡牌奖励、升级牌、删除牌 | 5 级 法力成长、6 级 法力激涌 |
| 游侠 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、卡牌奖励、升级牌 | 3 级 行动点增加、5 级 装备槽增加 |
| 牧师 | 生命 15 / 法力 2 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、卡牌奖励、升级牌、删除牌 | 5 级 灵感 |
| 盗贼 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、金币、卡牌奖励、升级牌、删除牌 | 3 级 行动点增加 |
| 龙 | 生命 15 / 法力 0 / 行动点 1 / 装备槽 0 | 生命增加(奖励项)、法力增加、行动点增加、装备槽增加、卡牌奖励、删除牌 | 3 级 龙之智慧、5 级 龙之点心、7 级 龙之智慧 |
3. 卡牌权重数据
卡牌自己有两类权重数据。
基础职业权重
卡牌直接写着盗贼、牧师、战士、法师这些基础权重。数值越高,代表这张牌对该基础职业方向越容易被奖励选中。
ID 修正
卡牌还可以写“某个职业权重 ID 命中时,改变有效阶级或出现频率”。这一步只在职业 ID 与卡牌 ID 对上时生效。
| 卡牌 | 基础阶级 | 基础职业权重 | ID 修正 |
|---|---|---|---|
| 狂战打击 | 5 阶 | 战士 10、牧师 2、盗贼 1、法师 1 | ID 1:有效阶级 -1 |
| 风暴斩(1) | 1 阶 | 战士 6、盗贼 3、牧师 2、法师 1 | ID 17:出现频率 +1 |
| 火焰斩(1) | 1 阶 | 盗贼 3、战士 3、牧师 1、法师 1 | ID 14:出现频率 +1 |
| 吸收魔力 | 10 阶 | 牧师 3、法师 3、盗贼 1、战士 1 | ID 6:有效阶级 +10 |
| 加速 | 10 阶 | 盗贼 10、战士 4、牧师 1、法师 1 | 无 ID 修正 |
| 毒液 | 1 阶 | 盗贼 6、牧师 6、法师 3、战士 1 | 无 ID 修正 |
4. 所有职业 ID 修正卡
下面这张表列出所有会对职业 ID 生效的卡牌修正。没有出现在这里的职业 ID,目前没有卡牌写针对它的阶级或频率修正。
| ID | 命中职业 | 卡牌 | 类型 | 具体修正 | 直观含义 |
|---|---|---|---|---|---|
| ID 1 战士基础权重 | 战士 | 巨像重击 | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 1 战士基础权重 | 战士 | 狂战打击 | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 4 圣骑士权重 | 圣骑士 | 智慧 | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 4 圣骑士权重 | 圣骑士 | 神圣打击(1) | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 4 圣骑士权重 | 圣骑士 | 神圣打击(2) | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 4 圣骑士权重 | 圣骑士 | 神圣打击(3) | 阶级修正 | 有效阶级 -1 | 更早进入低阶奖励范围 |
| ID 4 圣骑士权重 | 圣骑士 | 神怒 | 频率修正 | 最终权重 +5 | 提高被抽中的权重 |
| ID 5 武士权重 | 武士 | 巫术打击(1) | 频率修正 | 最终权重 +7 | 提高被抽中的权重 |
| ID 5 武士权重 | 武士 | 巫术打击(2) | 频率修正 | 最终权重 +7 | 提高被抽中的权重 |
| ID 5 武士权重 | 武士 | 巫术打击(3) | 频率修正 | 最终权重 +7 | 提高被抽中的权重 |
| ID 6 死灵法师权重 | 死灵法师 | 吸收魔力 | 阶级修正 | 有效阶级 +10 | 推迟到更高阶奖励范围 |
| ID 14 元素/斩击权重 | 吟游诗人、德鲁伊、武士、法师、游侠、龙 | 火焰斩(1) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 14 元素/斩击权重 | 吟游诗人、德鲁伊、武士、法师、游侠、龙 | 火焰斩(2) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 14 元素/斩击权重 | 吟游诗人、德鲁伊、武士、法师、游侠、龙 | 火焰斩(3) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 15 神圣/冰霜权重 | 圣骑士、牧师 | 冰霜斩(1) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 15 神圣/冰霜权重 | 圣骑士、牧师 | 冰霜斩(2) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 15 神圣/冰霜权重 | 圣骑士、牧师 | 冰霜斩(3) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 16 腐蚀/暗影权重 | 刺客、武僧、死灵法师、盗贼 | 腐蚀斩(1) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 16 腐蚀/暗影权重 | 刺客、武僧、死灵法师、盗贼 | 腐蚀斩(2) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 16 腐蚀/暗影权重 | 刺客、武僧、死灵法师、盗贼 | 腐蚀斩(3) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 17 风暴权重 | 战士 | 风暴斩(1) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 17 风暴权重 | 战士 | 风暴斩(2) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
| ID 17 风暴权重 | 战士 | 风暴斩(3) | 频率修正 | 最终权重 +1 | 提高被抽中的权重 |
5. 总权重与概率公式
宝箱、商店和地图随机卡奖励都会进入同一个核心流程:先过滤候选池,再给每张候选牌算权重,最后按权重抽取。
候选牌需要同时通过这些条件:
- 卡牌已经解锁,且不是永不出现的卡。
- 同名基础牌没有超过本轮地牢的最大出现次数,例如 StormSlash1 和 StormSlash2 会共享 StormSlash 计数。
- 卡牌的有效阶级落在当前入口允许的阶级参数里。
- 若入口设置了最低亲和度,最终权重必须达到最低值且不能为负数。
- 只抽卡牌的入口会排除动态金币类候选。
有效阶级先从卡牌基础阶级开始,再叠加命中的 ID 阶级修正:
有效阶级 = 基础阶级 + 命中职业 ID 的阶级修正之和最终权重这样计算:
单卡原始权重 = 职业基础权重 + 命中职业 ID 的频率修正 + 当前牌组元素修正入口会用最低亲和度过滤这个原始权重。常见宝箱要求至少 1,商店要求至少 0;如果入口传入 -1,则所有候选牌按 1 点权重处理。
抽取权重 = 原始权重;如果 minAffinity = -1,则抽取权重 = 1总权重 = Σ 每张通过筛选的抽取权重单卡概率 = 这张牌的抽取权重 / 总权重元素修正只影响带元素亲和的牌。它会看当前牌组里同元素牌有多少,再和全部元素牌数量比较;没有元素亲和的牌,这一项就是 0。
| 入口 | 什么时候抽卡 | 阶级和额外规则 |
|---|---|---|
| 宝箱 | 先决定掉落 1/2/3 件:约 85% / 13% / 2%。第一件必定抽卡;后续每件 45% 是金币、55% 再抽一张卡。 | 使用当前地牢奖励阶级范围,把上限下调 1、最低夹到 1;minAffinity 为 1。每次抽到卡后,同名基础牌出现计数会影响后续抽卡。 |
| 商店 | Shop.GenerateItems 固定构造 1、3、5 三个商品档位,每个档位调用一次 CardFinder。 | 每个商品档位按对应阶级抽取,minAffinity 为 0;重复商品会重抽,最后对商品列表洗牌。 |
| 地图随机卡奖励 | 直接调用 CardFinder 的奖励入口。 | 入口传入的阶级参数不同,但候选过滤和权重公式相同。 |
抽取时,游戏会把所有候选牌按原卡牌列表顺序排好,用权重累加成连续区间,然后掷一个 1 到总权重的随机数。随机数落在哪个区间,就得到哪张牌。
6. 职业升级里的卡片概率
职业升级不是直接调用 CardFinder 全局候选池。升级奖励先由职业自己的方法决定奖励结构:主奖励、固定奖励、随机卡奖励。固定给牌就是 100% 给那张牌,没有给牌就是 0%;只有当这次升级需要“随机卡”时,才会进入该职业自己的升级卡表。
| 目标等级 | 使用卡表 | 含义 |
|---|---|---|
| 1-4 级 | LowCards | 职业的低阶升级卡表 |
| 5-7 级 | MidCards | 职业的中阶升级卡表 |
| 8 级及以上 | HighCards | 职业的高阶升级卡表 |
升级卡表内部是职业硬编码的卡牌清单或卡牌系列,例如战士会围绕攻击、斩击、武器和战斗行动构建自己的卡表。这里不再按卡牌 metadata 的盗贼/牧师/战士/法师权重加权;抽取规则是等概率:
单张随机升级卡概率 = 1 / 当前职业卡表数量如果一次升级要给“两张不同随机卡”,则先等概率抽第一张,再从剩余卡里等概率抽第二张。某张牌出现在这两张里的概率可以按 2 / 当前职业卡表数量 理解。
所以升级、宝箱、商店的区别是:
- 职业升级:职业卡表决定候选,候选内等概率抽。
- 宝箱/商店/地图随机卡:CardFinder 决定候选,候选内按最终权重抽。
- 卡牌 metadata 的四基础职业权重主要影响 CardFinder,不直接给升级卡表排序。
7. 三者怎么一起工作
职业基础数据、职业 ID 和卡牌权重数据会按入口不同组合起来:
- 如果入口是职业升级,先看这个职业在目标等级有没有固定主奖励或 FixedBonus。命中固定卡牌、行动点、法力或装备槽时,该奖励直接出现。
- 如果升级入口需要随机卡,再进入该职业自己的 LowCards / MidCards / HighCards 卡表,卡表内等概率抽取。
- 如果入口是宝箱、商店或地图随机卡奖励,先从全量卡牌列表开始,排除未解锁、不可出现、超过最大出现次数,或不满足需求的卡牌。
- 读取当前职业的 RewardWeight 规则和职业权重 ID。RewardWeight 决定四种基础权重怎么合成,职业 ID 决定哪些卡牌修正会命中。
- 读取每张卡的基础阶级。如果卡牌有“阶级修正”,并且 ID 命中当前职业,就用修正后的有效阶级参与筛选。
- 读取每张卡的基础职业权重。如果卡牌有“频率修正”,并且 ID 命中当前职业,就把这个修正加入权重计算。
- 加上当前牌组的元素修正,得到最终权重。
- 通过阶级筛选和权重计算后的牌进入候选池,再按权重占比随机给出奖励。
所以职业不是只有一套固定奖励卡池。更准确地说:升级有职业自己的固定节点和升级卡表;宝箱、商店、地图奖励则用职业基础权重算法和职业权重 ID 去“改写”全量卡牌列表,让合适的牌更早、更常或更稳定地出现。
8. 实际例子:战士与 Storm Slash
Storm Slash (1)
在战士 1 层宝箱卡牌分支中,它的有效阶级是 1,战士基础权重是 6。
战士拥有 ID 17,Storm Slash (1) 命中“ID 17:出现频率 +1”。
当前牌组没有元素修正时,最终权重就是 6 + 1 + 0 = 7。
这个具体池子里共有 31 张基础解锁候选牌,总权重 75。Storm Slash (1) 的概率是 7 / 75 = 9.33%。如果玩家已经解锁更多卡,或同名基础牌已经达到最大出现次数,候选池和总权重会改变,概率也会随之改变。
再看阶级修正:Berserker Strike 原本是 5 阶牌,但在战士身上因为 ID 1 命中,实际进入奖励筛选时会更接近 4 阶。它的战士基础权重是 10,明显高于法师权重 1;所以战士更早、更容易看到这张牌,而法师不是完全不能看到,只是没有这套职业 ID 与权重优势。