6.0 KiB
6.0 KiB
灵梦 Lv3 博丽符卡/御札池方案
文档类型:正式开发需求
目标:灵梦 Lv3 的符卡/御札效果围绕金币、攻击、受击、抢劫、博丽加护、退治展开。
状态:符卡方案已定稿;资源缺失时先复制替代占位资源
1. 触发入口
| 入口 | 触发 |
|---|---|
| 我方入口 | 灵梦通过 UnitAttackAlly 向我方单位施放博丽加护时,抽 1 次我方符卡 |
| 敌方入口 | 灵梦攻击敌方单位时,抽 1 次敌方符卡 |
通用要求:
- 所有随机必须使用同步随机。
- 抽到的符卡效果必须进入存档、联机和回放。
- AI 当前版本不做策略,只保证不报错。
2. 我方符卡池
| 建议 SkillType | 显示名 | 概率 | 效果 | 持续时间 |
|---|---|---|---|---|
ReimuOfudaAlmsOnDamaged |
受击奉纳札 | 30% | 目标下一次挨打时,灵梦所属玩家获得 2 金币 | 永久,触发后消耗 |
ReimuOfudaAlmsOnAttack |
攻击奉纳札 | 30% | 目标下一次攻击时,灵梦所属玩家获得 2 金币 | 永久,触发后消耗 |
ReimuOfudaRaidDouble |
抢劫倍收札 | 30% | 目标下一次抢劫收益翻倍 | 永久,触发后消耗 |
ReimuOfudaProtectionOffering |
加护奉纳札 | 10% | 目标每层博丽加护生效时,灵梦所属玩家获得 1 金币 | 持续 1 回合 |
规则细化:
受击奉纳札在目标实际受到攻击并进入伤害流程时触发;若伤害被完全免疫,仍视为“挨打”并给 2 金币。攻击奉纳札在目标发起一次有效攻击时触发;攻击被闪避、抵挡或目标死亡不影响给金币。抢劫倍收札只影响下一次抢劫尝试收益,最终仍受城市抢劫池剩余额度限制。加护奉纳札在HakureiProtection每消耗 1 层抵挡伤害时触发,每层给 1 金币。加护奉纳札只持续 1 回合;若 1 回合内没有博丽加护生效,则自然消失。
3. 敌方符卡池
敌方池概率与我方一致:1/2/3 为 30%,4 为 10%。
| 建议 SkillType | 显示名 | 概率 | 效果 | 持续时间 |
|---|---|---|---|---|
ReimuOfudaEnemyAttackTax |
攻击纳税札 | 30% | 目标下一次攻击我方单位时,灵梦所属玩家获得 2 金币 | 永久,触发后消耗 |
ReimuOfudaEnemyDamagedTax |
被击纳税札 | 30% | 目标下一次被我方单位击打时,灵梦所属玩家获得 2 金币 | 永久,触发后消耗 |
ReimuOfudaKillBounty |
退治赏金札 | 30% | 目标被我方单位击杀时,灵梦所属玩家获得该单位造价一半的金币 | 永久,触发后消耗 |
ReimuOfudaExterminationOffering |
退治奉纳札 | 10% | 回合结束时,目标每层退治使灵梦所属玩家获得 1 金币 | 持续 1 回合 |
规则细化:
攻击纳税札只在目标攻击灵梦所属玩家的单位时触发;攻击其他玩家不触发。被击纳税札只在目标被灵梦所属玩家的单位击打时触发;伤害被完全抵挡也触发。退治赏金札的“单位造价”使用UnitData.GetTotalCostWithCarry()。GetTotalCostWithCarry()会包含当前单位本身造价,以及CarryUnitFullType对应的船上携带单位造价,符合“船本身 + 船上单位”的口径。退治赏金札奖励金币为(int)(目标.GetTotalCostWithCarry() * 0.5f),向下取整,最低为 0。退治奉纳札在回合结束结算一次,按目标当前退治层数给金币。退治奉纳札持续 1 回合;若到回合结束时目标没有退治层数,则收益为 0 并移除。
4. 与抢劫池关系
只有 ReimuOfudaRaidDouble 直接影响抢劫收益。
抢劫收益结算:
尝试收益 = 原本抢劫尝试收益 * 2
实际收益 = min(尝试收益, 目标城市本回合抢劫池剩余额度)
要求:
- 不能突破城市产出上限。
- 与间谍偷金币共享同一城市抢劫池。
- 如果城市抢劫池已空,翻倍后实际收益仍为 0。
- 如果同时存在丹麦金拒付翻倍和抢劫倍收札,倍率不连乘,只取 2 倍。
5. 生命周期与叠加
| 规则 | 结论 |
|---|---|
| 同类符卡是否叠加 | 默认不叠加;再次获得同类符卡时刷新为最新 1 层 |
| 不同符卡是否共存 | 可以共存 |
| 永久持续 | 指无回合上限,直到触发消耗、单位死亡或单位被完全移除 |
| 1 回合持续 | 到目标所属玩家下次回合结束时移除 |
| 变船/升级 | 默认保留 |
| 死亡 | 单位死亡时移除;若死亡触发赏金,先结算赏金再移除 |
6. 表现需求
| 符卡 | 表现需求 |
|---|---|
| 受击奉纳札 | 目标被打时金币飞向灵梦方 |
| 攻击奉纳札 | 目标攻击时金币飞向灵梦方 |
| 抢劫倍收札 | 抢劫结算时显示翻倍金币 |
| 加护奉纳札 | 博丽加护抵挡伤害时弹出金币 |
| 攻击纳税札 | 敌方攻击我方时弹出缴税/奉纳表现 |
| 被击纳税札 | 我方击打敌方时弹出金币 |
| 退治赏金札 | 击杀时弹出赏金金币 |
| 退治奉纳札 | 回合结束按退治层数弹出金币 |
图标和 VFX/SFX 缺失时,按 新阵营美术需求/博丽帝国_美术资源需求.md 复制替代占位资源。
7. 验收测试
- 我方入口 4 个效果按 30/30/30/10 可抽到。
- 敌方入口 4 个效果按 30/30/30/10 可抽到。
- 永久效果跨回合保留,触发后消耗。
- 1 回合效果到期移除。
- 抢劫倍收札不能突破城市抢劫池。
- 丹麦金拒付和抢劫倍收札不连乘。
- 击杀赏金按单位造价一半向下取整。
- 所有金币变化在联机、存档、回放中一致。
8. 已确认实现口径
[CONFIRMED][ofuda-final] 灵梦 Lv3 符卡/御札池正式定稿。
[CONFIRMED][enemy-pool-rate] 敌方池概率同我方:1/2/3 为 30%,4 为 10%。
[CONFIRMED][kill-bounty-cost] 退治赏金札使用 UnitData.GetTotalCostWithCarry(),包含船本身和 Carry 单位造价。
[CONFIRMED][resource-placeholder] 正式资源缺失时,先复制替代资源独立占位。