星露谷物语春季鱼王代码分析 星露谷物语春季鱼王位置说明


星露谷物语春季鱼王代码分析 星露谷物语春季鱼王位置说明


星露谷物语春季鱼王在哪?用什么方法才可以钓到春季鱼王呢?今日小编为大家带来“暮色的提灯”分享的春季鱼王代码图文详解 , 感兴趣的小伙伴赶紧来看看吧!
春季鱼王代码图文详解
结论
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其实就是我们的最后值了 。

推荐阅读