玩法指南
核心概念
OneGunLifetime 的核心是“灵魂绑定”:玩家就是这把枪。绑定后,枪的模板、数值覆写、特性、插件和运行时状态都以玩家实体为单真源;背包里的枪只是这份数据的“投影”,可以随时销毁与重建。
- 模板枪械:绑定时指定的 ModularShoot 枪械注册 ID,作为初始外观与基础数据来源。
- 投影枪:绑定后生成在背包中的枪物品,使用玩家专属动态枪 ID。
- 灵魂数据:保存在玩家身上的数据,包含模板、覆写、特性、插件与运行时状态。
绑定
- 使用
/onegun bind <枪械ID>绑定,一生只能绑定一次。 - 绑定成功后背包会生成第一把投影枪,玩家实体同时挂上属性修饰符。
- 已绑定玩家再次绑定会被拒绝;管理员可通过
/onegun unbind <玩家>解除。
数值与特性
绑定后,玩家可以使用命令自行调整:
/onegun stat set <属性ID> <数值>:覆写基础属性值。/onegun stat reset:清空覆写,回归模板值。/onegun trait add|remove <特性ID>:增删最终特性。
因为属性修饰符挂在玩家实体上,所以手持什么、甚至空手,数值都完整生效。
背包独占与同化
- 随身背包(主背包、快捷栏、副手、装备栏)中,同一玩家只能有一把有效投影枪。
- 其它 ModularShoot 枪械进入背包时:
- 若背包中还没有投影枪:该格物品直接替换为投影枪。
- 若已有投影枪:该格枪械直接作废。
- 试图开火外来枪时,射击会被立即打断,该枪在下一刻完成同化——外来枪一发也打不出去。
- 被同化枪械上安装的插件会尝试并入投影枪:成功进入灵魂数据插件列表;容量/互斥等放不下时以插件物品返还背包或掉落脚边。
- 创造模式同样受扫描约束。
丢失与补回
- 主动丢弃:丢弃瞬间被拦截并补回,玩家会感觉“扔不掉”。
- 销毁补回:被岩浆、仙人掌等销毁后,下次扫描发现背包没有投影枪时会自动重建。
- 管理员命令清除:
/clear命令会抑制下一次扫描中的本次补回,但后续自然销毁仍会补回。 - 死亡掉落:按原版规则掉落,不属于主动丢弃;被其他玩家捡走时按下方规则处理。
容器守卫
- 投影枪无法放入箱子、末影箱等容器。
- 玩家主动放入的路径会被拦截并送回背包;漏斗、第三方管道等漏网路径由低频容器回收兜底。
- 容器回收发现投影枪时会送回主人背包;若无法送回则作废,保证世界上不出现第二把有效灵魂枪。
他人拾取与纪念品
- 非持有者捡到投影枪时无法发射。
- 若拾取者已绑定自己的枪:背包扫描会按同化规则处理(已有投影枪则作废)。
- 若拾取者未绑定:物品会转换为纪念品,移除枪械数据与插件数据,不再参与射击/扫描;原主会补回新枪。
插件兼容
- 投影枪的插件安装/拆卸完全使用框架原有交互与校验(容量、互斥、锁定)。
- 插件变化会自动回写灵魂数据并刷新玩家身上的属性修饰符。
- 创造菜单等不触发服务端事件的路径,由背包扫描兜底同步。
滥用与降级
- 若模板枪械被数据包删除,绑定仍然有效:合成定义会退化为“只剩玩家覆写与特性”的最小回退底。
- 客户端同步尚未到达时按框架降级路径处理,不会抛错。
- 本模组首版没有配置文件,所有行为固定。