【Terraria机制】刷怪率与刷怪量的计算

本专栏作为对以下维基页面中“生成速度”部分作补充。维基中的“刷怪速度”与“最大生成量”在本专栏中分别叫做“刷怪率”和“刷怪量”,它们的定义与意义已经在维基中给出,这里不再重复。
https://terraria-zh.gamepedia.com/NPC_%E7%94%9F%E6%88%90

刷怪率初始值600,刷怪量初始值5。接下来会按照下面步骤修改刷怪率和刷怪量。
在困难模式中,刷怪率改为540,刷怪量改为6
在地狱,刷怪量乘2;在洞穴,并且玩家上方67.5格也在洞穴,刷怪率乘0.4向下取整,刷怪量乘1.9向下取整;玩家上方67.5格在地下层,刷怪率乘0.5(困难模式为0.45)向下取整,刷怪量乘1.7(困难模式为1.8)向下取整;在其他高度:
晚上,刷怪率乘0.6向下取整,刷怪量乘1.3向下取整。如果还是血月,那么刷怪率乘0.3向下取整,刷怪量乘1.8向下取整。如果还是南瓜月或霜月并且玩家在地表以上,那么刷怪率乘0.2向下取整,刷怪量乘2
日食,刷怪率乘0.2向下取整,刷怪量乘1.9向下取整
如果在地表之上的苔原环境,刷怪量乘(1+Main.cloudAlpha)并向下取整,刷怪率乘(1-Main.cloudAlpha/2)并向下取整。关于变量Main.cloudAlpha,请参考https://www.bbstr.net/threads/133/
如果在地牢环境,刷怪率乘0.4向下取整,刷怪量乘1.7向下取整;否则如果在沙尘暴中,刷怪率乘0.9(困难模式为0.4)向下取整,刷怪量乘1.2(困难模式为1.5)向下取整;否则如果在地下沙漠中,刷怪率乘0.3(困难模式为0.2)向下取整,刷怪量乘2;否则如果在丛林环境,刷怪率乘0.4向下取整,刷怪量乘1.5向下取整;否则如果在腐化或血腥环境,刷怪率乘0.65向下取整,刷怪量乘1.3向下取整;否则如果在陨石环境,刷怪率乘0.4向下取整,刷怪量乘1.1向下取整
如果在神圣环境并且玩家上方67.5格在洞穴或地狱,刷怪率乘0.65向下取整,刷怪量乘1.3向下取整
如果世界中有肉山并且玩家在地狱,刷怪率乘0.3向下取整,刷怪量乘3
如果刷怪量还有很多未填满,那么刷怪率有加成:未刷到刷怪量的1/5,刷怪率乘0.6向下取整;如果刷到了1/5但未刷到2/5,刷怪率乘0.7向下取整;如果刷到了2/5但未刷到3/5,刷怪率乘0.8向下取整;如果刷到了3/5但未刷到4/5,刷怪率乘0.9向下取整。如果玩家在地下层的中央之下,或者玩家在腐化或血腥环境中,那么前两个情况下,刷怪率还要分别乘0.7和0.9并向下取整。
如果玩家有镇静药剂buff,刷怪率乘1.3向下取整,刷怪量乘0.7向下取整;如果玩家有向日葵buff,刷怪率乘1.2向下取整,刷怪量乘0.8向下取整;如果玩家有战斗药水buff,刷怪率乘0.5向下取整,刷怪量乘2;如果玩家有水蜡烛buff并且没有和平蜡烛buff,刷怪率乘0.75向下取整,刷怪量乘1.5向下取整;如果玩家有和平蜡烛buff,刷怪率乘1.3向下取整,刷怪量乘0.7向下取整;如果玩家在水蜡烛区域内,并且在太空,刷怪率乘0.5向下取整。这里需要注意一点,“有水蜡烛buff”和“在水蜡烛区域”不完全一样,因为前者还包括手持水蜡烛的情况。
如果刷怪率低于60,重置为60;如果刷怪量高于15,重置为15;在入侵事件或四柱区域,或者处于南瓜月/霜月中(要求玩家在地表以上),刷怪率为20,刷怪量为5*(2+玩家数量);在旧日军团事件中(要求玩家直线距离水晶小于250格),刷怪率为600,刷怪量为5;在骷髅王前的地牢环境,刷怪率为10
如果玩家不在入侵事件、四柱、血月、南瓜月、霜月、日食、地牢、腐化、血腥、陨石、旧日军团的区域中,那么玩家附近城镇NPC的数量会影响刷怪率与刷怪量之一。这里需要对“之一”进行一些解释。刷怪率与刷怪量在每帧都会重新计算,在有城镇NPC的情况下,在每帧中会依一定概率只修改刷怪率与刷怪量中的一个。
在地狱层,1个城镇NPC会使刷怪量乘0.5向下取整(概率1/10),刷怪率乘1.25向下取整(概率9/10);2个城镇NPC会使刷怪量乘0.5向下取整(概率1/5),刷怪率乘1.5向下取整(概率4/5);至少3个城镇NPC会使刷怪量乘0.5向下取整(概率1/3),刷怪率乘2(概率2/3)
不在地狱层,1个城镇NPC会使刷怪量乘0.6向下取整(概率1/3),刷怪率乘1.25向下取整(概率2/3);2个城镇NPC会使刷怪量乘0.6向下取整(概率2/3),刷怪率乘1.5向下取整(概率1/3);至少3个城镇NPC会使刷怪量乘0.6向下取整,不影响刷怪率。

总结
影响刷怪率与刷怪量的因素主要有:玩家所处环境、玩家附近的刷怪数、影响刷怪的buff、玩家周围的NPC。
