Table of Contents
Food Affinity How To
Introduction
What is affinity? Affinity is a temporary or permanent skill gain bonus. After your period of time as a new player you will receive a random affinity on one of your skills, denoted by an asterisk (*). This is a permanent affinity. Food and drink can give you a temporary affinity timer. How long a food/drink affinity lasts is based on its QL and the complexity put into the recipe.
This page will teach you how to figure out the numeric values that pertain to certain foods, which then can be used to create more complex affinity recipes. Not only do foods have numeric values, but furnace types (oven, forge, campfire) and cooking containers (pottery bowl, frying pan, roasting dish, etc.). All of these values combine together to determine the affinity number the resulting meal points to. Complexities (salt, chopped, minced, etc.) and QL of the resulting meal add to the affinity timer that a player gets when eating a portion of the meal (.03 per nibble, total based on hunger), or drinking a portion of a beverage (.2kg per drink).
Notes:
- Each player has a unique affinity offset number.
- A cook must figure out their own affinity offset and recipes for each affinity.
- Vanilla Wurm Unlimited
- Two different players making the same meal/beverage recipe from the same exact ingredients will create meals/beverages with two different affinities, because of their different player offsets.
- Two players partaking of the same exact meal will not receive the same affinity.
- A cook must give a player a test meal/beverage to taste to determine their offset vs the cook's offset, then adjust their recipe list up or down by the difference between the cook's offset and the player's offset. This is on a per player basis, as each player's offset is different. Any simple recipe will work for testing a player's offset.
- Mythmoor
- Two different players making the same meal/beverage recipe from the same exact ingredients will still create meals/beverages with two different affinities, because of their different player offsets.
- The affinity a cook gets from a meal/beverage is “baked” into that meal/beverage for other players, so that any player who partakes of it will receive the affinity the cook intended.
- Due to the affinities being baked into the meal/beverage, there is no longer a need for testing affinities on a per player basis.
Methodology
The way I did it, which saved me a ton of time.
- Searched the web for as much information as I could find.
- Grabbed the item values from wurmfood.com
- Created my own calculator spreadsheet where I can select ingredients and see its resulting affinity.
- Found a robust list of recipes and adjusted those to my needs.
- After having things up and running I was linked Manytox's Guide To Cooking Affinity Moonshine which gave me the information I needed to add affinity timer approximation based on QL and complexity of the recipe.
If you want to do it from scratch yourself, read the forum post below.
Credit to Gatalyn's Wurmpedia forum post:
For this easy process, use chopped vegetables, chopped herbs, non-fresh spices and diced meat. Chopping and dicing will provide a little more complexity, thereby increasing the affinity timer. Cook the food items in a pottery bowl and in an oven, which will make a breakfast. I suggest not to use rarity in anything. Use only 1 meat. Multiple vegetables, herbs, and spices can be used, but only one of each different kind.
Now on to the process.
1. Dice and place one type of meat into a pottery bowl and cook it in an oven.
2. Taste and record the affinity
3. Match the affinity with it's number located at the bottom of this page.
4. Repeat with other types of meat.
5. Create a list of meats with and in the order of affinity number.
For example you might have something like:
a. insect x
b. lamb x+1
c. pork x+2
etc.
Repeat steps 1-4 with chopped vegetables, one at a time.
Add the results to the created list.
Repeat steps 1-4 with herbs, one at a time.
Add the results to the created list.
Repeat steps 1-4 with spices, one at a time.
Add the results to the created list.
Now you will determine your vegetable, herb, and spice offsets. These are constant numbers that will be added each time a vegetable, herb, and spice are added. Note, that meat has no offset.
Choose one diced meat breakfast and one chopped vegetable breakfast from the above testing. Add the single affinity numbers from each breakfast together. This is the guess.
Cook the combined chosen diced meat and chopped vegetable in a pottery bowl.
Taste and record the affinity and it's number. This number is the actual.
Subtract the guess from the actual. This value is the vegetable offset and will be added each time a vegetable is added.
Repeat steps 11 - 15 for herbs and spices. This will be the offset and most likely will be different from other offsets.
Now on to make the target affinity breakfast.
Inputting and manipulating the numbers in Google Sheets or Excel will make the process much easier. You will need to be able to select different vegetables, herbs, spices and/or meat in order to adjust the running total to be the desired target number for the affinity you want.
The number may grow very large. Since there are only 138 (0-137) affinities, Modular arithmetic will be used to calculate the actual affinity number.
You can read more about Modular Arithmetic at: https://en.wikipedia.org/wiki/Modular_arithmetic The gist of it is that once a number exceeds 137, it wraps back around to 0.
There are two easy ways to determine the final actual affinity number. 1. use the formula =mod(total,138) in a cell in Google Sheets or Excel, or 2. use two columns and in the first column input the numbers 0-137 downward, one number per cell. At the end, start over with 0 to 137. Repeat this as many times as you like. In the second column, start at 0 and fill in the cells with the next number, but do not stop and start over. Just keep filling in the next number as many times as feel necessary. With this method, the total number in the second column lines up with the actual affinity number in the first column.
Choose the items for the meal so that the total (or more correctly the modular arithmetic result) matches the desired target.
The more vegetables and herbs that are chosen, the longer the affinity timer and heavier the breakfast.
Here is an example. Suppose I dice one bear meat, cook it in a pottery bowl in a non-rare oven and the resulting affinity number is 10. Then, I chop one corn and cook it in a pottery bowl and the resulting affinity number is 15. My guess is that if I cooked both together, then the resulting affinity would be 25, however the actual is 30. The difference between the two is 5 (30-25) and is my vegetable offset. This number most likely will be different between avatars. I do the same thing with bear and ginger and determine the spice offset is 2. I personally use a spreadsheet to make choosing the different numbers easier and determine that I need diced bear meat (10), chopped corn (15), chopped potato (16) and ginger (17) in order to make a Halberd affinity breakfast, #70. This is because 10 + 15 + 5 + 16 + 5 + 17 + 2 = 70. Remember, if the total exceeds 137, then step 21 will determine the actual affinity number.
I hope this process enables you to find your desired affinities. This really just scratches the surface with what can be done.
Have fun experimenting with changes, like using a frying pan, forge, salt, nuts, etc., things that may increase the difficulty, thereby increasing the affinity timer.
There may be some combinations that break this model. I would just avoid those for now if cannot be adjusted. I'm sure a better system will be released to the public over time.
Don't forget to wrap it and store in a larder to reduce decay and help extend the life. Also, only one bite is needed, so eat and immediately press escape. This will help it to last longer.
It may seem like a lot of work initially to create the list. But once started, you can use it with other non-bugged alts to calculate their affinity foods. Notice how all of the items are the same offset between avatars. The breakfast should be that same offset, as well.
0 mind 1 body 2 soul 3 body control 4 body stamina 5 body strength 6 mind logic 7 mind speed 8 soul depth 9 soul strength 10 Swords 11 Axes 12 Knives 13 Mauls 14 Clubs 15 Hammers 16 Archery 17 Polearms 18 Tailoring 19 Cooking 20 Smithing 21 Weaponsmithing 22 Armour smithing 23 Misc items 24 Shields 25 Alchemy 26 Nature 27 Toys 28 Fighting 29 Healing 30 Religion 31 Thievery 32 War Machines 33 Farming 34 Papyrusmaking 35 Thatching 36 Gardening 37 Meditating 38 Forestry 39 Rake 40 Scythe 41 Sickle 42 Small axe 43 Mining 44 Digging 45 Pickaxe 46 Shovel 47 Pottery 48 Ropemaking 49 Woodcutting 50 Hatchet 51 Leatherworking 52 Cloth tailoring 53 Masonry 54 Blades smithing 55 Weapon heads smithing 56 Chain armour smithing 57 Plate armour smithing 58 Shield smithing 59 Blacksmithing 60 Dairy food maiking 61 Hot food cooking 62 Baking 63 Beverages 64 Longsword 65 Large maul 66 Medium maul 67 Small maul 68 Warhammer 69 Long spear 70 Halberd 71 Staff 72 Carving knife 73 Butchering knife 74 Stone chisel 75 Huge club 76 Saw 77 Butchering 78 Carpentry 79 Firemaking 80 Tracking 81 Small wooden shield 82 Medium wooden shield 83 Large wooden shield 84 Small metal shield 85 Large metal shield 86 Medium metal shield 87 Large axe 88 Huge axe 89 Shortsword 90 Two Handed Sword 91 Hammer 92 Paving 93 Prospecting 94 Fishing 95 Locksmithing 96 Repairing 97 Coal-Making 98 Milling 99 Metallurgy 100 Natural Substances 101 Jewelry Smithing 102 Fine Carpentry 103 Bowyery 104 Fletching 105 Yoyo 106 Puppeteering 107 Toymaking 108 Weaponless fighting 109 Aggressive fighting 110 Defensive fighting 111 Normal fighting 112 First aid 113 Taunting 114 Shield bashing 115 Milking 116 Preaching 117 Prayer 118 Channeling 119 Exorcism 120 Artifacts 121 Foraging 122 Botanizing 123 Climbing 124 Stone cutting 125 Lock picking 126 Stealing 127 Traps 128 Catapults 129 Animal taming 130 Animal husbandry 131 Short bow 132 Long bow 133 Medium bow 134 Ship building 135 Ballistae 136 Trebuchets 137 Restoration