2024-11-12 00:29:38来源:cc
星露谷物语春季鱼王在哪?用什么方法才可以钓到春季鱼王呢?今日小编为大家带来“暮色的提灯”分享的春季鱼王代码图文详解,感兴趣的小伙伴赶紧来看看吧!
春季鱼王代码图文详解
结论
1、不出其他bug,应该只有春雨王能无限钓,而且也没有什么第一年或者钓上来当天的谜之限制
2、春季雨天6点到8点(网上盛传的10点是错的),山顶湖任意位置均可钓起(不需要金星钓点之类的)。
3、鱼王上钩率与幸运无关,与水深无关,与抛竿力度无关,只与钓鱼等级有关。
代码只贴部分
首先决定各鱼王钓起的代码其实是在
StardewValley.Locations.Mountain.getFish
StardewValley.Locations.Beach.getFish
StardewValley.Locations.Town.getFish
StardewValley.Locations.Forest.getFish
这几个override里,拿山顶那个举例:
光从这里看,其实我们应该只能钓起一次春雨王,钓起来一次后应该只能钓起普通鱼列表了。
然而我们跑去StardewValley.GameLocation.getFish 这个virtual。
里面有这么一段:
它读取游戏目录\conten\Data\Locations.xnb里的数据,解包该文件我们得到一堆数据:
是不是很乱?然后在getfish里看到这么一条:
按照这条,它取了这些数据中我们所在地图对应行中第(4+季节号(春季为0))个分隔符后的字符串。对应春季山顶地图,就是这串:
黑框里163很眼熟吧?就是我们的春雨王了,这就是为什么春雨王可以随便钓,它和普通鱼是在一个列表里的。另外这个列表里没有其他鱼王的编号,悲剧。
后面还有一条代码:
很好,解包\conten\Data\Fish.xnb,得到如下数据(为了好理解我用了zh-CN的文件):
看到没,163,传说之鱼,开局好帮手,人见人爱的春雨王。从后面的代码来看,这里应该就是鱼王的难度、类型、时间等信息了。
看到那个600 2000了么?根据后面的代码解析,这就是鱼王的待机时间,很不幸,wiki都是骗人的,其实它是早6点到晚8点待机…
跳过下面大段各种读取、循环、判断,我们来直接看肉戏,关于决定钓起几率这一段:
很晕吧,然而对于春雨王:
第11个数据是0,所以一直到第四步为止,num6的值都是0….然后加上钓鱼等级/50,必然小于0.89(修改到45级以上例外),所以钓鱼等级/50其实就是我们的最后值了。
其他鱼的掉率还和水深相关,春雨王被乘以0给pass了,所以不管你在湖的哪里都是能钓起春雨王的,只是影响品质而已。
另外getfish从头到尾都没有出现幸运、抛竿相关的数值,可知就鱼出现的几率来说,这两项数据是无效的。
再说一次结论,钓春雨王不看年份,不需要看运气,不考虑品质的话也不需要考虑钓点和抛竿,钓鱼等级越高越好(修改的话45级以上就没掉率的区别了),只需要春季雨天山顶湖泊。
出鱼方法
首先我们不是获得过一串来自Locations的数据么?大概长这样:
136 142 153 702 700 163 (-1只是装饰而已,上面的大人物是不会明白的(大雾)
这里面每一个代号都代表一种鱼。然后系统会把这组数据随机打乱,举个例子变成这样:
142 163 702 136 700 153
接着系统就会从头开始查这组数据。
读到一种鱼,就查是否处于这种鱼的待机时间、是否处于适合天气,然后按照上面的掉率公式查是否通过。
一旦轮到一个全ok,这种鱼就是你这次钓起来的鱼了。
按照这个机制,是无论如何都不可能100%钓鱼王的。除非你把列表中的其他鱼都删掉,然后把掉率公式中那条0.89…的上限改掉。
更多相关讨论请前往:星露谷物语论坛