mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-28 05:00:01 +08:00
fixed # 修复作物资源位置不对的历史遗留BUG
add # 新增作物会生虫的逻辑
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 作物字段与文字指令
|
||||
|
||||
本次只补充现有玩法所需的规则与身份字段,不导入网页全量目录,
|
||||
不保存网页作物 ID,也不更改旧版参考数据库。
|
||||
|
||||
## 作物规则
|
||||
|
||||
`Plant` 新增字段:
|
||||
|
||||
| 字段 | 默认值 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| `purchasable` | `True` | 控制商店展示与购买,旧目录从 `isBuy` 读取 |
|
||||
| `enabled` | `True` | 关闭时禁止新购买与播种,不影响已种作物收获和出售 |
|
||||
| `crop_type` | `1` | 当前只允许类型 1 购买和播种 |
|
||||
|
||||
旧目录可选字段 `enabled` 使用整数 0/1,`crop_type` 使用正整数。
|
||||
未提供时按上表默认值读取,不将网页 `show` 或 `isLock` 当作购买权限。
|
||||
`isVip`、金币和点券价格、成熟时间、再生长时间继续沿用原规则。
|
||||
|
||||
## 本地 ID
|
||||
|
||||
库存使用本地 `plant_id` 作为业务标识。名称仅用于展示与指令查找,
|
||||
目录内允许同名作物,但每个本地 ID 必须唯一且不能改给另一种作物。
|
||||
目录改名不改变库存归属;已经种下的作物继续按播种快照结算。
|
||||
|
||||
文字指令可使用名称或 `#本地编号`,例如 `购买种子 #1 2`。
|
||||
同名时拒绝按名称执行,要求使用编号;商店与仓库显示本地编号。
|
||||
`#编号` 建议保留为指令语法,不作为作物名称。
|
||||
|
||||
## 数据库升级
|
||||
|
||||
新数据库版本为 2,`inventory` 的主键从 `(identity, name)` 改为
|
||||
`(identity, plant_id)`;保留名称、种子数、产物数和锁定状态。
|
||||
|
||||
版本 1 在 `SQLiteStore.initialize()` 时自动迁移,整个过程在同一事务内。
|
||||
迁移通过本地目录与已种作物快照解析旧名称;不存在唯一对应 ID 时中止,
|
||||
保留版本 1 的全部数据,不猜测 ID、不丢弃库存。
|
||||
自定义目录应传入 `initialize(catalogue=自定义目录)`,真寻接入已传入目录。
|
||||
账户、流水、历史操作回执和地块成熟时间不改写。
|
||||
迁移提交后记录版本和行数日志,不记录玩家身份或库存明细。
|
||||
|
||||
仅在临时测试库验证迁移,不代表已升级部署中的玩家库。
|
||||
本次不包含生长阶段、浇水虫害或网页数据导入器。
|
||||
Reference in New Issue
Block a user