Skip to content

About

植物大战僵尸杂交版 Mod:给禁忌咖啡豆的禁忌效果加头顶读秒倒计时(纯显示托管插件)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

禁忌效果倒计时(TabooCountdown)

给《植物大战僵尸杂交版》里禁忌咖啡豆(TABOOBEAN)施加的「禁忌效果」加一个头顶读秒倒计时。 纯显示 Mod:不改任何玩法数值、不动原版资源。

需求映射

需求 实现
禁忌效果加读秒倒计时 托管插件给每个带 TabooBean buff 的角色挂一个 Label,每帧显示 ceil(time - currentTime)
最后 5 秒强化提示 剩余 ≤5 秒文本变红(与原版闪烁阶段 currentTime >= time-5 对齐)
不破坏联机确定性 插件只读 buff 字段、只画 UI,不调用任何影响模拟的 API;只读端靠 SyncDeserialize 同步的 currentTime 显示

禁忌效果是什么(V0.29 解包源码判据)

  • 禁忌咖啡豆爆炸 → TowerDefensePlantTabooBean.Explode() 给同格植物挂 TowerDefenseCharacterBuffTabooBean(buff key = "TabooBean")。
  • buff:time = 35.0 秒;期间植物 timeScaleInit = 5.0(5 倍速工作); 最后 5 秒精灵 shader 闪烁;到期 Exit() → 植物被炸毁并留弹坑。
  • 原版没有把剩余时间显示出来 —— 本 Mod 补的就是这个显示。
  • 注:Refresh() 为空 ⇒ 同格再次吃到禁忌咖啡豆不会重置计时(原版行为),倒计时按内部 currentTime 显示,天然准确。

目录结构

TabooCountdown/
├── README.md                       # 本文档
├── build_pmod.py                   # 编译 + 打包 + 自检(--check 幂等 / --install 装机)
├── check_pmod.py                   # 离线闸门(Python 半场 + 负向测试 + 调 C# 半场)
├── check_gates/                    # C# 闸门:编译期 + 反射期断言入口类型/接口/方法
├── runtime_src/                    # 托管插件源码(csproj + 入口类)
├── Runtime/ModAssembly.dll         # 编译产物
└── dist/TabooCountdown.pmod        # ★ 成品

使用

# 构建(字节幂等,含 --check 双跑比对)
python build_pmod.py --check
# 装机(复制 .pmod 到游戏 Mods 目录 + 合并 enabled_mods.json)
python build_pmod.py --install
# 离线闸门(正场 P1-P5 + 负场 N1-N5)
python check_pmod.py

游戏内:F3 → Mod 工具 → 确认 taboocountdown 已启用 → 「应用已安装 Mod 到当前游戏」或重启。 种下禁忌咖啡豆引爆后,同格受影响植物头顶出现读秒(35 → 0),最后 5 秒变红。

硬约束(都已有判据)

  • runtimeAssembly = 字面量 "Runtime/ModAssembly.dll";runtimeApiVersion = 1; runtimeAssemblyPolicy = "optional";入口类 FullName = TabooCountdownRuntimeEntry(无命名空间)。
  • 包内无 .cs(IsExecutablePackageFile 白名单外可执行文件会拒整包);mod.json 是第 0 个 zip 条目。
  • 入口三方法全程 try/catch,不抛异常(TryInitializeRuntimeEntry 失败 → 整包回滚)。
  • Label 用 Control.TopLevel:不继承角色 scale/rotation,世界坐标定位,免受精灵缩放变形影响。

已知边界 / 未验证项

  • 显示位置是固定偏移(角色原点上方 115px):大体格植物可能字稍低、小体格稍高 —— 观感问题,不影响功能。
  • 首次扫描间隔 5 帧(约 0.08s):buff 挂上后 Label 最多延迟几帧出现,读秒本身每帧刷新。
  • 暂停时 process_frame 仍触发,但 buff 的 currentTime 不走 ⇒ 读秒冻结,与游戏一致。
  • 实机验收(游戏内观感、加载日志 [TabooCountdown])待用户确认:装机后打一局用禁忌咖啡豆即可看到。
  • enabled_mods.json 由 --install 合并写入;若游戏内手动禁用后,重复 --install 不会强行改回(保留用户选择)。

About

植物大战僵尸杂交版 Mod:给禁忌咖啡豆的禁忌效果加头顶读秒倒计时(纯显示托管插件)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages