10 February 2018

WildStar: Calculation of the Maximum Shield Stat

Note: There are low, mid and high maximum shield capacity shields. This calculation only applies to one of those.

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 13530375

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 these, the item level always increases by 5. So if we get 1125 maximum shield for 5 item levels that means we get 1125 / 5 = 225 for each item level.

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 + t
Since 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 + startValue
Using 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 = 0 
So 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 = 38250
So now we know an item level 170 shield has a 38250 maximum shield.
Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.