原版相关内容
存放一些在mod中发现的原版相关的有趣内容
属性计算
符号定义:
- 我们记
表示一项工作速度的基础值,例如智人种的普通工作速度基础值为100% - 我们记
表示全局工作速度 - 我们定义算符:
.
对应游戏中的 权重a,最大值b. 在表格中,我们直接简记为a(bM) - 我们定义算符:
.
对应游戏中的 影响c,最大值(d/c +1). 在表格中,我们直接简记为c(dM) - 部分社交属性的权重带有豁免线.其会降低能力值过低对属性造成的影响
具体为:当能力值<豁免线时,则使用 能力值/豁免线 代替能力值进行计算
对应游戏中的 权重a,最大值b,如果低于豁免线. 在表格中,我们直接简记为(豁免线)a(bM)
例如,教化能力的听觉权重为 (80%)0.9(1M),则对于30%听觉能力的人来说,其听觉对教化能力的实际影响为,从而30%听觉能力对教化能力造成总共42.75%影响.
工作速度计算主要分为两类
- 乘算类:大部分计算走的都是乘算,例如各种工作速度/工作效率的计算方式.
其大体结构为:
亦即: 基础值×全局工作速度×技能等级加成×加权后的操作能力×加权后的视觉能力
例如,建造速度的公式为
若某种族的建造速度基础值为1.2,全局工作速度1.35,建造10级,操作能力1.5,视觉能力0.6,则其实际建造速度为
- 加算类:主要用于战斗计算.通常使用
这种加算结构.几乎所有的加算最后都要再过一遍后期曲线
例如,射击精度的公式为
若某种族的射击基础值为3,射击等级为10,操作能力1.3,视觉能力1.5,则其实际射击精度为
工作速度
| 属性名 | 技能加成 | 操作权重 | 视觉权重 | 额外权重 |
|---|---|---|---|---|
| 普通工作速度 | 1 | 1 | 0.5(1M) | |
| 建造速度 | 0.3+0.0875建造 | 1 | 0.2(1M) | |
| 打磨速度 | 0.3+0.0875建造 | 1 | 0.3(1M) | |
| 采矿速度 | 0.04+0.12采矿 | 1 | 0.5(1M) | |
| 深钻井操作速度 | 0.04+0.12采矿 | 1 | 0.5(1M) | |
| 屠宰速度 | 0.4+0.06烹饪 | 1 | 0.4(1M) | |
| 酿酒速度 | 0.4+0.06烹饪 | 1 | 0.3(1M) | |
| 种植速度 | 0.08+0.115种植 | 1 | 0.3(1M) | |
| 动物收集速度 | 0.04+0.12驯兽 | 1 | 0.5(1M) | |
| 钓鱼速度 | 0.75+0.025驯兽 | 0.5 | ||
| 机械族拆解速度 | 0.4+0.06手工 | 1 | 0.4(1M) | |
| 熔炼速度 | 1 | 1 | 0.3(1M) | |
| 手术速度 | 0.4+0.06医疗 | 1 | 0.7(1M) | |
| 治疗速度 | 0.4+0.06医疗 | 1 | 0.8(1.3M) | |
| 阅读速度 | 1+0.02智识 | 1(1M) | 1意识 | |
| 研究速度 | 0.08+0.115智识 | 0.5(1.1M) | 0.5(1.1M) | |
| 驾驶能力 | 0.2+0.075智识 | 0.5 | 0.5 | 1意识 |
| 制药速度 | 0.3+0.0875智识 | 1 | 0.6(1M) | |
| 骇入速度 | 0.75+0.025智识 | 0.5(1.1M) | 0.5(1.1M) | 1意识(1.2M) |
| 实体调查速率 | 0.08+0.115智识 | 0.5(1.1M) | 0.5(1.1M) |
工作效率
| 属性名 | 技能加成 | 操作权重 | 视觉权重 |
|---|---|---|---|
| 建造成功率 | 0.75+见表格 | 0.3 | 0.2(1M) |
| 修理成功率 | 0.75+见表格 | 0.3 | 0.2(1M) |
| 采矿效率 | 0.6+见表格 | 0.3(1M) | 0.2(1M) |
| 屠宰效率 | 0.75+0.025烹饪 | 0.9 | 0.4(1M) |
| 植物收获效率 | 0.6+见表格 | 0.3 | 0.2(1M) |
| 动物收集效率 | 0.6+见表格 | 0.3 | 0.2(1M) |
| 钓鱼效率 | 0.3+见表格 | 0.3 | |
| 机械族拆解效率 | 0.75+0.025手工 | 0.9 | 0.4(1M) |
| 治疗质量 | 0.2+0.1医疗 | 1(1.4M) | 0.7(1.4M) |
| 手术成功率 | 0.1+见表格 | 1 | 0.4(1M) |
社交
| 属性 | 技能加成 | 语言权重 | 听觉权重 | 操作权重 | 后处理 |
|---|---|---|---|---|---|
| 社交效果 | 0.82+0.0275×社交 | (0.95)0.9(1M) | (0.95)0.3(1M) | ||
| 谈判能力 | 0.4+0.075×社交 | (0.95)0.9(1M) | (0.8)0.9(1M) | ||
| 交易价格改善 | 0.015×社交 | (0.95)0.9(1M) | (0.8)0.9(1M) | ||
| 拘捕成功率 | 0.6+0.075×社交 | (0.95)0.9(1M) | |||
| 驯服动物成功率 | 0.04+0.03×驯兽 | (0.8)0.9(1M) | (0.95)0.3(1M) | (0.8)0.5(1M) | |
| 训练动物成功率 | 0.10+0.05×驯兽 | (0.8)0.7(1M) | (0.95)0.3(1M) | (0.8)0.5(1M) | |
| 教化能力 | 0.3+0.0875×社交 | (0.95)0.9(1M) | (0.8)0.9(1M) | ||
| 压制能力 | 0.05+0.0225×社交 | ||||
| 狩猎隐蔽度 | 0.05×射击,0.05×驯兽 |
战斗相关
本部分全部使用加算而非乘算
| 属性 | 技能加成 | 操作影响 | 视觉影响 | 其他 |
|---|---|---|---|---|
| 近战命中率 | +格斗 | 12(6M) | 12(6M) | |
| 近战闪避率 | +格斗 | 8(3.2M) | 18移动 | |
| 射击精度 | +射击 | 8(0M) | 12(12M) | |
| 迫击炮偏移 | 0.2-0.025射击 | -0.5 | -1(0M) | |
| 烹饪速度 | +烹饪 | 16(8M) | 4(2M) | 乘全局工作速度G |
| 活跃抑制速度 | 0.03+0.0075智识+0.0075社交 | 乘心灵敏感度 |
战斗
近战
武器近战伤害
对于一个近战武器,我们设其各类型的伤害值分别为
- 每种伤害被选中的权重为 伤害的平方 ,即
, 从而每种伤害的加权值为 - 进而我们不难得出每次攻击的期望伤害为
每次攻击的期望冷却时间为 - 最终得到期望DPS为
好麻烦好乱不想写了,之后有兴趣再说吧
护盾腰带
护盾腰带的"xxx%/s护盾充能速率"实际等价于每秒恢复xxx点盾
护盾腰带的伤害翻3.3倍,使用11伤害的武器攻击护盾腰带,实际会扣11*3.3=36.3点盾.注意该机制仅对护盾腰带生效,对盾螳,卫螽等不适用
伤害类型
如果你英文不错,建议参考官方wiki
如果你英文不好,可以参考本文以及灰机Wiki
另外还发现了一个blog写的不错旋风Monster的blog
还有灰机君的视频
谁懂花了两天拷打ai才搞明白机制然后发现有人造过轮子了的救赎感
本部分的前置内容为身体部位
如果你英文不错,建议参考官方wiki
如果你英文不好,可以参考本文以及灰机wiki
内/外部部位:部位分为内部部位和外部部位两种
在原版智人种中,内部部位仅有:颅骨,大脑,舌,脊椎,肋骨,胸骨,心脏,肺,胃,肝,肾,锁骨,肱骨,桡骨,盆骨,股骨,胫骨
父/子部位:我不知道该怎么解释…在rimworld中,部位是树状的,我们将一个部位的上一个部位称为父部位,下一个部位称为子部位
过量保护
过量保护是一种对小人的防护机制,当单次攻击伤害大于击中部位的总血量时,有概率锁血,保留该部位的1点血量.具体概率为:
例如,割伤的过量范围为
从而在该例子中,有75%概率直接摧毁该部位,25%概率将该部位降至1血
割伤(Cut)
割伤是最常见的近战伤害类型.造成割伤时,有概率造成伤害分裂,将伤害增强并平均到多个部位.具体如下:
- 有30%概率不分裂伤害,直接对部位造成伤害
- 有45%概率将伤害分裂成两份,对每个部位造成70.6%伤害,总计141%
- 有20%概率将伤害分裂成三份,对每个部位造成54.5%伤害,总计164%
- 有5%概率将伤害分裂成四份,对每个部位造成44.4%伤害,总计178%
以下内容是AI扒的,不一定正确仅供参考.我仅验证了伤害倍率是正确的
受伤流程如下:
- 选中一个外部部位作为初始受击部位,并对初始受击部位进行护甲减伤判定
- 根据概率决定分裂次数.30%概率不分裂,45%概率分裂一次,20%概率分裂成两次,5%概率分裂三次
- 在以下列表中随机选择分裂份数个部位,将其加入受击部位
- 初始受击部位的子部位(例如足的子部位趾)
- 初始受击部位的父部位(例如足的父部位腿)
- 初始受击部位的父部位的子部位,不包括自己(例如足的父部位腿的子部位股骨)
- 对每个(初始)受击部位分别造成
伤害,总计 伤害 - 仅有不分裂时进行过量保护判定
割伤的期望伤害为
割伤的过量范围为0%~10%,带入摧毁概率公式
**注意这段为猜测,尚未测试正确性!**由于护甲减伤判定是先于部位选择的,所以可以"逃护甲关税",例如,割伤击中了足,而众所周知rimworld的动力甲是不包括足部和手部的,假如此次割伤分裂到了足的父部位-腿上,那么伤害会绕过腿的护甲判定,直接对腿造成伤害,从而逃避了护甲.同样,也可能导致击中腿蔓延到足,导致足也减伤.后面所有护甲减伤先于部位选择的伤害类型都有可能由此问题.
刺伤(Stab)
刺伤分为近战刺伤和远程刺伤两种,其都有将伤害从内部部位向外部延伸的特性:
- 造成近战刺伤时,有60%概率将40%伤害传递到内部的随机子部位,并将外部伤害衰减为原来的75%,造成总共115%伤害.
- 造成远程刺伤时,若击中外部部位,则有60%概率将40%伤害传递到内部的随机子部位,并将外部伤害衰减为原来的75%,造成总共115%伤害
- 造成远程刺伤时,若击中内部部位,则沿着部位链一路向上传递到第一个外部部位,内部部位造成40%伤害,外部部位造成75%伤害,造成总共
伤害, 为内部部位个数
以下内容是AI扒的,不一定正确仅供参考.我仅验证了远程刺伤能够造成二次穿透,近战暂时未发现二次穿透
受伤流程:
- 选取初始受击部位:
- 若是近战刺伤,随机选中一个外部部位作为受击部位
- 若是远程刺伤,随机选中一个任意部位作为受击部位
- 若选中的部位是外部部位,则有60%概率选取其中一个内部子部位代替选中部位作为受击部位
- 对受击部位进行护甲减伤判定和过量保护判定
- 沿着受击部位的父部位一路传递直到第一个外部部位(包括自身),对所有的内部部位造成40%伤害,对所有的外部部位造成75%伤害
例如,某部位树为:A(外部)-B(内部)-C(外部)-D(内部)-E(内部),无护甲,伤害100
- 若为近战刺伤,则初始选中只能选中A/C(近战仅能选中外部部位),同时有60%概率传递到B/D(内部子部位),若传递,则A/C受到75伤害,B/D受到40伤害,总伤害115
- 若为远程刺伤,则ABCDE都可作为初始选中(任意部位)
- 若选中A/C,则其同上面的近战,至多只能造成115伤害
- 当选中B/D时,由于B/D是内部部位,无法二次选中内部子部位,直接开始一路传递,造成115伤害
- 当选中E时,由于E是内部部位,同样开始一路传递直到第一个外部部位C,即C受到75伤害,D,E受到40伤害,总伤害155
- 注:在此例中,向上传递到C时已经是外部部位了,所以AB不会因BCD的传递而受伤
近战刺伤仅能传递一次,期望伤害为
远程刺伤理论传递无上限,但鉴于受击概率影响,期望伤害也并不会提高很多.
刺伤过量保护范围为40%~100%,带入摧毁概率公式
另外值得一提的是原版远程刺伤只有重标枪(25伤10穿),脊刺(30伤100穿)和骨刺射击(单爪兽7伤100穿).原版可造成两次传递的内部部位树有且仅有 头(外部)-颅骨-大脑
钝伤(Blunt)
钝伤除了众所周知的会把伤害延伸到父部位以外,还有40%概率吸走外部的10%~20%伤害,并对随机子部位造成10%~20%+20%~35%伤害
以下内容是AI扒的,不一定正确仅供参考.我仅验证了内部打击的正确性.
受击流程:
- 选中一个外部部位作为初始受击部位,并对初始受击部位进行护甲减伤判定
- 有40%概率触发内部打击,从伤害中抽取10%~20%,将外部实际受伤变为原始伤害的80%~90%
- 对受击部位造成伤害,若伤害溢出,则直接摧毁部位,并将溢出的伤害传递到其父部位,如此循环直至无溢出或无父部位
- 若触发内部打击,则对受击部位的随机子部位造成10%~20%(在2中被抽走的伤害)+20%~35%的伤害
- 若击中躯干及其非头部分支,有较低概率造成2s眩晕,若击中头及其分支,有较高概率造成2s眩晕
打躯干的眩晕概率表:
| 伤害占躯干耐久比例 | 眩晕概率 |
|---|---|
| 40%以下 | 0% |
| 50% | ~3% |
| 90% | ~15% |
打头部分支的眩晕概率表:
| 伤害占躯干耐久比例 | 眩晕概率 |
|---|---|
| 4% | 20% |
| 10% | ~38% |
| 25% | ~57% |
| 50% | 100% |
钝伤的期望伤害为
钝伤没有过量保护,伤害溢出必定破坏部位.
若选中了没有子部位的外部部位,同时触发了内部打击时,被抽走的10%~20%伤害将直接消失.
子弹伤(Bullet)
子弹伤是最常见的伤害类型了,当其命中内部子器官时候,会对父器官也造成同等伤害
受击流程如下:
- 选中任意部位作为初始受击部位,并计算护甲减伤
- 若受击部位是内部部位,则一路向上传递伤害直到第一个外部部位,对所有部位都造成100%伤害
- 对每个部位都进行过量保护判定
例如:若某器官链为A(外部)-B(内部)-C(内部),10伤的子弹伤打到了C,则会对ABC都造成10伤害.
子弹伤的过量范围为0%~70%,同样非常难摧毁部件
炸伤(Bomb)
炸伤是爆炸武器的伤害类型,造成伤害时同样有概率分裂,最高造成双倍伤害
受击流程:
- 随机选择1~4个部位作为受击部位
- 将伤害均分到受击部位,并分别计算护甲减伤
- 若受击部位是内部部位,则一路向上传递伤害直到第一个外部部位,对所有部位都造成100%伤害
炸伤没有过量保护,原版的炸伤通常为固定10%穿甲
抓伤(Scratch)
动物的伤害类型,与割伤类似,固定选双目标,分别67%伤害,总共134%伤害
以下内容是AI扒的,不一定正确仅供参考.全部未经验证
受伤流程如下:
- 选中一个外部部位作为初始受击部位,并对初始受击部位进行护甲减伤判定
- 在以下列表中随机选择1个外部部位,将其加入受击部位
- 初始受击部位的子部位(例如足的子部位趾)
- 初始受击部位的父部位(例如足的父部位腿)
- 初始受击部位的父部位的子部位(例如足的父部位腿的子部位股骨)
- 对这两个受击部位分别67%伤害,总共134%伤害.若不存在第二个受击部位,则仅对初始受击部位造成100%伤害
- 对每个部位都进行过量保护判定
杂类伤害
注意,本部分全是ai扒的,未进行任何验证
眩晕(Stun):每点stun伤害实际造成0.5s眩晕,不受体型影响
咬伤(Bite):动物撕咬伤害,与子弹伤相同,但仅命中外部部位(所以实际也无法造成额外伤害)
箭伤(Arrow/ArrowHighVelocity):完全同子弹伤
压伤(Crush):环境伤害(屋顶坍塌等),完全同子弹伤
捅(Poke):类似刺伤,但内部选中概率降为40%,伤害类型替换为钝伤(没有钝伤的特性)
烧伤(Flame/Burn):
- 随机选中任意部位,进行护甲减伤(热能护甲类别)
- 若伤害 ≥ 15,则分裂到多个部位(同炸伤逻辑)
- 若未被护甲减伤,有概率使目标着火
冻伤(Frostbite):无视护甲减伤的纯上海,且仅从固定列表的权重随机选取部位受伤.
原版人类可受冻伤的部位及权重:
| 部位 | 冻伤权重 |
|---|---|
| 趾 | 10 |
| 手指 | 8 |
| 耳 | 5 |
| 鼻 | 5 |
| 颌骨 | 2 |
| 手 | 0.5 |
| 足 | 0.5 |
气化(Vaporize):业火炮的伤害,同炸伤
酸蚀(AcidBurn):同烧伤,但不会点燃目标
衣物护甲
护甲计算方式
衣物护甲的计算方式为:
- 材料防护能力:材料的防御数值,即游戏中材料的"护甲-利器",以及服装显示的 材料(骇人皮革):127%
- 材料效果乘数:服装自带的属性,即游戏中服装的 材料效果乘数 30%
材料整体分为金属/皮革/纤维三类.
- 金属防护能力较低,但金属制品一般本身材料效果乘数高.通常在90%左右
- 皮革或纤维自身防护能力高,但皮革纤维制品一般本身材料效果乘数低,通常在30%左右
例如:
- 原版玻璃钢板甲的利防为
.若为传奇品质,则为 - 原版敲击兽大衣的利防为
.若为传奇品质,则为
减伤计算
此部分可参考海星地联的视频
对于单层护甲,我们设护甲值为
- 若
,则伤害无效 - 若
,则伤害减半,并传递到下一层 - 若
,则无视该护甲
则当
- 有
概率使得伤害无效 - 有
的概率受到减半伤害 - 有
概率受到全额伤害
从而其期望伤害为
当
- 有
概率使得伤害无效 - 不可能受到全额伤害,此时
恒成立 - 有
概率受到减半伤害
从而此时数学期望为
从而整体公式为
若使用
对于多层护甲,则是单层护甲的简单嵌套.由于乘法是有交换律的,实际先计算哪个没区别(实际会因为扣除耐久而有区别)
原版护甲分析
-
极佳防弹头盔+极佳防弹背心+极佳防弹夹克+极佳防弹裤(81.9;130;71.5;71.5) 在20%穿甲下护甲承伤为43.1%
点击看穿甲-承伤曲线
-
极佳钢铁简易头盔+极佳钢铁板甲(58.5;105.3) 在20%穿甲下护甲承伤为42.3%
点击看穿甲-承伤曲线
-
传奇骑士头盔+传奇敲击兽皮防尘大衣+传奇防弹背心+传奇敲击兽皮T恤衫+传奇级防弹裤(200;112.3;180;74.9;99) 在20%穿甲下护甲承伤为15.2%
点击看穿甲-承伤曲线
-
传奇骑士头盔+传奇骑士装甲+传奇敲击兽皮T恤衫(200;200;74.9) 在20%穿甲下护甲承伤为9.2%
点击看穿甲-承伤曲线
可以看到,在20%穿甲下,骑士套的护甲承伤系数为9.2%,大约相当于血量翻10.9倍.敲击兽皮防尘大衣的护甲承伤系数为15.2%,大约相当于血量翻6.6倍.
事件
此部分未经验证
罕见的敲击兽:0.7权重,最小间隔13天,数量2~6只
人口对事件概率影响
注意此部分全部为AI扒源码生成,本人未作任何验证,点开查看
一、基本概念
populationEffect 是 IncidentDef 中的一个属性,用于影响事件触发概率。它有以下枚举值:
| 枚举值 | XML写法 | 偏移量 | 含义 |
|---|---|---|---|
None |
(不填写或None) | - | 无人口效果,事件概率不受人口意图影响 |
IncreaseMedium |
IncreaseMedium |
0 | 中等增长 - 事件概率因子直接等于PopulationIntent |
IncreaseEasy |
IncreaseEasy |
-0.4 | 简单增长 - 事件概率因子 = PopulationIntent - 0.4 |
IncreaseHard |
IncreaseHard |
+0.4 | 困难增长 - 事件概率因子 = PopulationIntent + 0.4 |
二、核心计算公式
事件触发概率因子(Population Intent Factor):
1 | |
参数说明:
minIncChancePopulationIntentFactor默认值为 0.05 (定义在StorytellerCompProperties中)PopulationIntent是游戏动态计算的"人口意图"值
三、PopulationIntent 的计算
PopulationIntent 表示游戏 storyteller 想要增加人口的意图强度,取值范围通常为 -1.0 ~ 8.0
计算公式:
1 | |
3.1 人口因子曲线 (populationIntentFactorFromPopCurve)
原版 BaseStoryteller 的曲线定义:
1 | |
| 调整后人口 | 人口意图因子 |
|---|---|
| 0 | 8.0 |
| 1 | 2.0 |
| 4 | 1.0 |
| 7 | 0.35 |
| 11 | 0.0 |
| 20 | -1.0 |
解读:
- 人口越少,游戏越想给你加人口(因子高)
- 人口越多(超过11人),游戏会不想给你加人口(因子为0甚至负数)
- 这是游戏的负反馈机制,让殖民地人口趋于稳定
3.2 适应天数因子曲线 (populationIntentFactorFromPopAdaptDaysCurve)
1 | |
| 适应天数 | 因子 |
|---|---|
| 0 | 0 |
| 8 | 1 |
解读:
- 适应天数越高(你越适应了当前人口),游戏越想给你加人口
- 适应天数 < 8天时,因子在 0~1 之间线性插值
- 适应天数 ≥ 8天时,因子固定为 1
四、调整后人口 (AdjustedPopulation) 的计算
4.1 基本公式
1 | |
4.2 各类型单位的贡献值
| 类型 | 贡献值计算 |
|---|---|
| 成年殖民者 | 1.0 |
| 未成年殖民者 | 0.3~1.0 (按生物学年龄/成年年龄比例线性插值) |
| 婴儿 | 0 |
| 可招募囚犯(成年) | 0.5 |
| 不可招募囚犯(成年) | 0.25 |
| 奴隶(成年) | 0.75 |
4.3 源码参考
1 | |
五、适应天数 (AdaptDays) 的机制
适应天数是一个动态值,表示殖民地对当前人口的"适应程度":
- 增长: 随时间自然增长(每6小时增长约0.005天)
- 减少: 当殖民者死亡或被击倒时减少
1 | |
六、完整计算实例
场景假设:
- 4个成年殖民者
- 1个可招募成年囚犯
- 1个未成年殖民者(生物学年龄10岁,成年年龄18岁)
- 游戏已进行较久(适应天数 > 8)
- 事件:
HAR_LL_Id_a年幼的决战种,populationEffect = IncreaseMedium
计算步骤:
Step 1: 计算调整后人口
1 | |
Step 2: 查人口因子曲线
1 | |
Step 3: 计算PopulationIntent
1 | |
Step 4: 计算事件概率因子
1 | |
Step 5: 计算最终触发概率
1 | |
七、各populationEffect的实际意义
IncreaseMedium (中等增长)
- 偏移量 = 0
- 事件概率直接跟随PopulationIntent波动
- 人口少 → 高概率触发
- 人口多 → 低概率触发
- 最常用的设置,实现负反馈平衡
IncreaseEasy (简单增长)
- 偏移量 = -0.4
- 即使PopulationIntent较低,也能有不错的触发概率
- 适合希望更频繁触发的人口增长事件
IncreaseHard (困难增长)
- 偏移量 = +0.4
- 需要更高的PopulationIntent才能触发
- 适合不想频繁触发的人口增长事件
None
- 不受人口意图影响
- 触发概率仅取决于baseChance和其他因素
- 适合与人口无关的事件
八、源码位置参考
| 文件 | 说明 |
|---|---|
Source/RimWorld/IncidentDef.cs |
定义 populationEffect 字段 |
Source/RimWorld/IncidentPopulationEffect.cs |
枚举定义 |
Source/RimWorld/StorytellerComp.cs |
核心计算逻辑 IncidentChanceFactor_PopulationIntent |
Source/RimWorld/StorytellerUtilityPopulation.cs |
PopulationIntent 计算 |
Source/RimWorld/StorytellerDef.cs |
曲线定义 |
Defs/Core/Storyteller/Storytellers.xml |
原版曲线参数 |
九、总结
populationEffect 是 RimWorld 讲述者系统的一部分,用于动态调整人口增长类事件的触发概率:
- 目的: 实现负反馈机制,让殖民地人口趋于稳定
- 机制: 根据当前人口和适应天数动态调整触发概率
- 应用: 人口少时多送人,人口多时少送人
对于 IncreaseMedium:
- 这是最"中立"的设置
- 事件触发概率完全取决于当前游戏状态
- 当人口 ≤ 4 时,触发概率较高
- 当人口 ≥ 11 时,触发概率接近或等于最低值 0.05