《饥荒》食谱代码解析的目的在于帮助玩家通过查看代码这一简单方式,了解自己目前游戏版本的食谱。这样做的优势主要在于实时性和完整性。如果你用某个网站,某个工具来查询,不一定能获得你目前游戏版本的食谱,也可能不全,而代码则忠实而完整地展示一切。
游民星空-查攻略必备
下载游民App,免费领取游戏大作
现在回到preparedfoods.lua,接下来选取部分菜谱,继续解释公式计算方法和一些稀有的菜品属性。
蛙腿三明治:
frogglebunwich={test=function(cooker,names,tags)return(names.froglegsornames.froglegs_cooked)andtags.veggieend,priority=1,foodtype="MEAT",health=TUNING.HEALING_MED,hunger=TUNING.CALORIES_LARGE,perishtime=TUNING.PERISH_SLOW,sanity=TUNING.SANITY_TINY,cooktime=2,},
这个的公式里面出现了"or",意味着至少要取生蛙腿(froglegs)或熟蛙腿(froglegs_cooked)中的一个。整个公式是说:有蛙腿(生或熟)且有蔬菜(tags.veggie)。运算优先级:not>and>or,这里为了先算or,就把or两边的东西用括号括起来了。
太妃糖:
taffy={test=function(cooker,names,tags)returntags.sweetenerandtags.sweetener>=3andnottags.meatend,priority=10,foodtype="VEGGIE",health=-TUNING.HEALING_SMALL,hunger=TUNING.CALORIES_SMALL*2,perishtime=TUNING.PERISH_SLOW,sanity=TUNING.SANITY_MED,cooktime=2,tags={"honeyed"}},
这个公式里面有tags.sweetener>=3,意味着甜度大于等于3。整个公式是说:甜度大于等于3,且不能有肉(nottags.meat)。那么这里就要用到之前cooking.lua里面的数据了。在cooking.lua里面搜索sweetener,找到唯一一行:
AddIngredientValues({"honey","honeycomb"},{sweetener=1},true)
意味着蜂蜜和蜂房都可以提供1甜度。那么我们就知道,至少需要三个蜂蜜或蜂房。当然,拿蜂房做菜非常的奢侈。
另外要注意太妃糖里面health=-TUNING.HEALING_SMALL,这一行。注意等号后面的那个负号,意味着吃太妃糖要损血,减少的血量是HEALING_SMALL,具体值可以在tuning.lua里面查询。
茄子饭/茄子煲/茄子杂烩之类的名字:
stuffedeggplant={test=function(cooker,names,tags)return(names.eggplantornames.eggplant_cooked)andtags.veggieandtags.veggie>1end,priority=1,foodtype="VEGGIE",health=TUNING.HEALING_SMALL,hunger=TUNING.CALORIES_LARGE,perishtime=TUNING.PERISH_SLOW,sanity=TUNING.SANITY_TINY,temperature=TUNING.HOT_FOOD_BONUS_TEMP,temperatureduration=TUNING.FOOD_TEMP_BRIEF,cooktime=2,},
这里面出现了稀有的温度属性:
temperature=TUNING.HOT_FOOD_BONUS_TEMP,temperatureduration=TUNING.FOOD_TEMP_BRIEF,
temperature是温度影响,HOT_FOOD_BONUS_TEMP,可以在tuning.lua里面搜到是40,显然吃这个会让角色体温升高。相对的还有COLD_FOOD_BONUS_TEMP=-40,意思也不用我说了吧。
鱼排:
公式里面出现了tags.inedible,inedible在这里可以解释为“不可食度”,唯一具有该度的就是树枝(twigs)。tags.inedibleandtags.inedible<=1就是说有不可食度大于0,不大于1。整个公式是说:有鱼(tags.fish),有树枝(names.twigs),且不可食度大于0,不大于1。再简单点讲就是有鱼,有且仅有一个树枝。
SW里面的咖啡:
相信看到这里的人应该能看懂公式了:4个烤咖啡豆或者3烤咖啡豆加一奶制品或蜂蜜。
下面比较特殊的两行:
caffeinedelta=TUNING.CAFFEINE_FOOD_BONUS_SPEED,caffeineduration=TUNING.FOOD_SPEED_LONG,
咖啡的效果在于加速,caffeinedelta为增加的速度量
tuning.lua中有:
CAFFEINE_FOOD_BONUS_SPEED=5,--playerbasespeedplusthis,6isnormalwalkspeed
好心的程序员用注释告诉我们,普通行走速度为6,喝了咖啡再加5,将近翻倍。