恒星游戏全局规则库(Stellaris Universal Gamerule Lib) mod | 群星
这个MOD主要是给MOD开发者使用的,如果你只是一个玩家,并且看到一个MOD需要它作为前提物品,那么你只需要订阅它即可。
这个MOD提供了一种解决社区MOD之间添加规则导致的冲突问题的方法,并且调整了大部分规则,以依赖FLAG进行判断,从而使MOD可以更灵活地调整规则的使用。
操作原理:
- 如果没有包含触发FLAG,则执行原始条件判断
- 如果包含触发FLAG但不包含规则条件FLAG,则仍然执行原始条件
- 如果包含触发FLAG和任何条件FLAG,则消除原始判断逻辑,并转移至另一个逻辑判断块
- 如果使用了TRUE FLAG且没有FALSE FLAG,则规则返回TRUE(应用规则)
- 如果有FALSE FLAG,则无论是否有TRUE FLAG,返回FALSE(禁用规则)
并不是所有规则目前都有这些变化,有些规则始终由原始逻辑设置为是/否,我认为这些不应该改变。
其他规则是我不确定它们的作用,所以没有进行更改,但当然如果有人碰巧需要更改这些规则,我可以添加它们。
优点:
- 在基于这个MOD的规则实现中,更不容易发生冲突。
- 更灵活地控制游戏中规则的实施,而无需编写复杂的规则逻辑。
- 这比复杂的规则逻辑更容易维护。
- 可以对任何游戏内容进行干预,而不会对原始规则的实施造成太大干扰。
缺点:
- 复杂的规则逻辑仍需要MOD开发者编写用于FLAG控制的事件来实现。
- 尽管在这个规则下冲突的发生可以减少,但不能完全消除
- 例如,MOD A和B向同一个国家添加了两个FLAG,一个是TRUE,一个是FALSE,最终的输出将是FALSE。
- 因此,建议每个MOD尽可能将规则的应用限制在其自己的独特内容上。
关于兼容性包:
显然,这个MOD将与修改规则的所有MOD发生冲突,并且已经形成的大型MOD显然不一定愿意修改他们长期建立的规则。
然而,创建这个MOD和其他MOD之间的兼容性包非常容易,只需完全替换相应的逻辑块。
相关兼容性包链接:
[UGRC Compatibility](https://steamcommunity.com/sharedfiles/filedetails/?id=2837700978)