GalloViking Posted February 22, 2021 Share Posted February 22, 2021 Greetings you wonderful people, I am making a new character, but I haven't done any modding in a long time now, so I'm a bit rusty and need some help. Basically, this character should get a hunger boost from eating cookpot food made using a sweetener (honey/honeycomb) and a malus to everything else. While I could change every food item in the game in the modmain file (PostInit), that seems like a last ditch solution. I was wondering if there wasn't a much better way to do that as a function in the character prefab instead? Additionally, I would like to know if it was possible to allow that character to make Warly's fresh fruits crepes (not the other recipes) with the regular cookpot. Link to comment Share on other sites More sharing options...
Combustiblemon Posted February 23, 2021 Share Posted February 23, 2021 1. Hunger boost from honeyed food local function OnEat(inst, food) local foodhunger = food.components.edible:GetHunger(food) if food:HasTag("honeyed") then inst.components.hunger:DoDelta(foodhunger * 0.7) -- 80% + 70% = 150% of original hunger end end ============================== inst.components.eater:SetAbsorptionModifiers(1, 0.8, 1) -- middle one is hunger, 80% from everything inst.components.eater:SetOnEatFn(OnEat) This stuff is kinda easy because bearger finds "honeyed" foods, so already related tag is available. 2. Fresh Fruits Crepes This one is tricky, since warly exclusive food is, actually portable crock pot's exclusive food. If you're cooking on regular crock pot, even warly can not cook exclusive foods. This means, you should make everyone can cook crepes, or make unique crock pot (that could cook regular foods and crepes) to your character. local freshfruitcrepes = { test = function(cooker, names, tags) return tags.fruit and tags.fruit >= 1.5 and names.butter and names.honey end, priority = 29, --changed priority from 30 foodtype = FOODTYPE.VEGGIE, health = TUNING.HEALING_HUGE, hunger = TUNING.CALORIES_SUPERHUGE, perishtime = TUNING.PERISH_MED, sanity = TUNING.SANITY_MED, cooktime = 2, potlevel = "high", --floater = nil, }, AddCookerPostInit("cookpot", freshfruitcrepes) This is Crepes-for-all method. but I'm not sure it would work... since there are original crepes still in base game, it may crash when cooking on portable crockpot. Link to comment Share on other sites More sharing options...
GalloViking Posted February 25, 2021 Author Share Posted February 25, 2021 Hi!! Thank a lot for your answer, you're a chad. I had no idea about the honeyed tag, so that saves me a lot of troubles. I'll have to give that a try and maybe find a workaround for the crepes if it indeed does cause a crash to Warly players. Edit: The honeyed tag doesn't apply to food items in Hamlet (tea, iced tea, gummy cake) so I did it another way by manually adding the "sweetened" tag to eligible foods and changing your code accordingly. Edit 2: small error in your freshfruitcrepe code (was it for DST instead of DS?). I have changed foodtype = FOODTYPE.VEGGIE, --and AddCookerPostInit("cookpot", freshfruitcrepes) to foodtype = "VEGGIE", --and AddCookerRecipe("cookpot", freshfruitcrepes) instead and that fixed it, but the crepes are now invisible in the pot. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.