四、过程:
此次问题的开始是群友想一次性攒大量的月熠来暴打天体英雄,先发现的是【抓了41只月熠后不再刷新月熠】。然后到【身上带上4只鸟后不再刷新鸟】。
然后就开始寻找为啥是【41只月熠】、【4只鸟】。
笔者的思路是先找代码里面关于鸟的刷新,
在scripts/components/birdspawner.lua:49 定义了鸟的最大数量TUNING.BIRD_SPAWN_MAX,在scripts/tuning.lua:975中。


在scripts/components/birdspawner.lua:70 定义了鸟的数量如何统计/生成。

再通过在scripts/prefabs.lua中给鸟增加可以堆叠数量上限至60的代码

inst:AddComponent("stackable")
inst.components.stackable.maxsize = TUNING.STACK_SIZE_TINYITEM
然后进游戏测试发现不装备羽毛帽的情况下:
身上装60+60+60+1 = 181只鸟,周围不再刷新鸟;
身上装1+1+1+1 = 4只鸟,周围不再刷新鸟;
身上装1+1+1 = 3只鸟,周围最多同时落下一只鸟;
身上装60+60+60 = 180只鸟,周围最多同时落下1只鸟;
由此可以猜测下落鸟的数量上限的确是4只,而且统计数量是【根据这种物品占格子的数量】来确定的。
月熠、变异鸟的部分:
在scripts/components/moonstormmanager.lua:16定义了月熠的上限local SPARKLIMIT = 3;

在scripts/components/moonstormmanager.lua:702定义了月熠的数量如何统计/生成。

在scripts/components/moonstormmanager.lua:613定义了月亮风暴保卫战中变异鸟的生成机制以及数量上限。

经过实际测试,在月亮风暴保卫战中,身上带上3个格子的月熠,16个格子的变异鸟,就可以轻松在【月亮风暴保卫战】中无伤完成【瓦格斯塔夫的实验】,获得重要道具【约束静电】。