主题
PP 系统
PP(Power Point)是 Seer Mod 的核心卡牌机制,每张赛尔卡牌拥有 PP 值,打出时消耗 PP,PP 耗尽后卡牌无法主动打出。
基本规则
PP 字段
每张赛尔卡牌包含以下字段:
- Pp:当前 PP 值
- MaxPp:最大 PP 值(打出时消耗 1 点 PP)
打出消耗
- 每次打出消耗 1 点 PP(基础值)
MaxPp = 0的牌不消耗 PP- 自动打出(薇、悼、附魔触发)不消耗 PP
- Boss 免费效果(
SeerBossPpFreePower)存在时不消耗 PP
可打出判定
| 条件 | 可否打出 |
|---|---|
MaxPp <= 0 | 可打 |
Pp > 0 | 可打 |
| 拥有「无为觉者」遗物 | 可打(即使 PP=0) |
| 其他情况 | 不可打 |
PP 消耗修正
部分能力会修改 PP 消耗:
| 能力 | 效果 |
|---|---|
| 腐蚀能量一 | PP 消耗 ×2 |
| 腐蚀能量二 | PP 消耗 += DynamicVars["PpIncrease"] |
| 罗生门 | PP 消耗 ×3 |
PP 保护机制
SeerPpProtectionPower 会阻止 PP 减少:
- PP setter 中检查:如果非内部使用且 PP 要减少,直接 return
- 绕过保护的方式:
SetPpInternal(value)(设置_isUsingPp = true)
PP 自动管理
「群星的礼赠」遗物(SeerElementalCore)提供 PP 自动循环:
- 回合结束:抽牌堆/弃牌堆/手牌中 PP≤0 的赛尔 PP 卡移入消耗堆
- 己方回合开始前:消耗堆中 PP>0 的赛尔 PP 卡移回弃牌堆
形成"休息-再战"循环,让消耗的卡牌在后续回合重新可用。
深克隆行为
卡牌克隆时(如复制、生成):
_pp = _maxPp(PP 重置为最大值,不继承原 PP)- 必须调用
UpdateDynamicVars()+ReapplyDynamicKeywords()
动态关键词系统
PP 卡牌支持 14 个动态关键词 flag,根据 flag 状态动态添加关键词:
FlagShatteredHeart、FlagVigil等 14 个常量AddDynamicKeyword(flag)添加 flagReapplyDynamicKeywords()重新应用所有 flag 对应的关键词
资源路径
- 卡图:
res://seer/images/packed/card_portraits/seer/{snake_case}.png
源码参考
SeerPpCardModel.cs- PP 卡牌基类SeerPpProtectionPower.cs- PP 保护能力SeerBossPpFreePower.cs- Boss 免费能力SeerInactionAwakener- 无为觉者遗物SeerElementalCore- 群星的礼赠遗物