Another post about WildStar stats and how they scale! At some point, we're through all of the stats available on items. You could technically use this for a building creator or something. Reminds me that I made such a web-app for WildStar builds. I don't think I have the resource though been over a year.
Steps to Determining the Calculation
So let's think this all through. We want to know how the maximum shield is calculated. For this, we need to determine all the related factors that could play in. To figure these out we compare items that exist with each other changing certain parameters. If we look at two different instances of the same item we will see the stat to be equal. However, if certain parameters differ the stats differ. Seeing this we can determine which factors affect the stat.Looking at two different shields we see that the shield can be the same. So this plays no role. If we compare two equally named shields with a different quality we can see the maximum shield being equal. Keep in mind we want two shields with different qualities but everything else should stay the same. Next, if we compare two shields with different item levels we notice that the maximum shield changes.
So doing these tests and comparisons we now know that the maximum shield is dependent on the item level. So what do we do next? We're going to get as many shield items with different item levels as possible. Then we're going to compare each value with the others. We're gonna determine the increase between them and use it to calculate the increase for each item level. Next, we'll check whether or not it starts at zero and after that, we're able to calculate the shield stat with any item level by ourselves.
Collecting Samples
I've already collected a few samples via the infestation expedition. So here's a table with the item names, prime level, quality, item levels, and the maximum shield.
Item Name | Prime Level | Quality | Item Level | Maximum Shield |
Chua Tighty-Whitey Deflector | Prime | Blue | 65 | 14625 |
Chua Tighty-Whitey Deflector | Eldan Prime | Purple | 70 | 15750 |
Chua Tighty-Whitey Deflector | Prime Tier 2 | Blue | 75 | 16875 |
Chua Tighty-Whitey Deflector | Prime Tier 3 | Blue | 80 | 18000 |
Chua Tighty-Whitey Deflector | Prime Tier 4 | Blue | 85 | 19125 |
Chua Tighty-Whitey Deflector | Eldan Prime Tier 4 | Purple | 90 | 20250 |
Chua Tighty-Whitey Deflector | Eldan Prime Tier 5 | Purple | 95 | 21375 |
Chua Tighty-Whitey Deflector | Eldan Prime Tier 6 | Purple | 100 | 22500 |
Chua Tighty-Whitey Deflector | Ancient Eldan Prime Tier 5 | Orange | 110 | 24750 |
Three-Sixty 0G Aegis | Eldan Prime | Purple | 135 | 30375 |
Analyzing
So looking at the increase we start off with 14625 and have a step of 1125 with each example except from 22500 to 24750 but that's an increase of 10 item levels and the last jump from 24750 to 30375 but that's 25 item levels. Even if we subtract the older one from the newer one we will always get the same step. Going through our samples:
15750 - 14625 = 1125 16875 - 15750 = 1125 18000 - 16875 = 1125 19125 - 18000 = 1125 20250 - 19125 = 1125 21375 - 20250 = 1125 22500 - 21375 = 1125
For our higher examples let's see if they fit into this. The difference is 24750 - 22500 = 2250 and it increases by 110 - 100 = 10 item levels. 10 item levels should be 10 * 225 = 2250. So this matches.
The other one has a difference from 30375 - 24750 = 5625 and has an item level difference of 135 - 110 = 25. So the increase should be 25 * 225 = 5625.
Great!
Start Value
So we know that the increase is constant. This means we can represent our shield via a linear function.
Mathematically a linear function has this basic formula:
f(x): y = mx + tSince our function is dependent on the item level, which means the value changes if the item level changes. We can replace x with our item level. m is the increase which is our 225 for each item level.
f(itemLevel): shieldStat = shieldIncrease * itemLevel + startValue
f(itemLevel): shieldStat = 225 * itemLevel + startValueUsing a random shield - I like to use items with item levels like 100 so let's take that one. We have a 22500 maximum shield on it. If we assume the value for our formula is 22500 and the item level is 100 we can simply calculate the start value by inserting our data into the function.
f(100): 22500 = 225 * 100 + startValue
f(100): 22500 = 22500 + startValue | -22500
f(100): 22500 - 22500 = startValue
f(100): startValue = 0So we've mathematically shown that there is no start value. What does this mean? It means if we multiply the item level with the shield increase of 225 we get the shield on our prime shield item.
It also means that if we had a shield with item level zero it wouldn't have any maximum shield.
Item Level 170 Shield
So for example, if we were to wonder what an item level 170 shield would just have to insert it into the formula:f(itemLevel): shield = 225 * itemLevel
f(170): shield = 225 * 170
225 * 170 = 38250So now we know an item level 170 shield has a 38250 maximum shield.