12 January 2018

WildStar: Assault & Support Power On Weapons

Hey, do you still remember the calculation of health and assault power or support power on items in WildStar? If you do, that's great! If not you can check it out now and now.

Assault Power and Support Power on Weapons

As you may have noticed. If you compare the assault power and support power on gear with weapons you may notice some huge differences. Some weapons have both support power and assault power on them. Secondly, the amount of assault and support power on weapons is so high it doesn't even compare to other items. So obviously these use a different calculation than the rest of the items.

However, before we're going to go into details of how it's calculated, let's see if there's a relation between them on said items.

Relation Between Assault and Support Power

We have a high number and a low number. If our weapon has support power as primary stat this one is the higher one else its assault power. The interesting part is the same item level rewards the same amount of assault and support power. So the only difference on the same item level is whether or not it's a healer or tank weapon, or if it's a damage dealer's weapon.

If one would assume that the support power and assault power are related to each other in a way that each represent one part of some kind of power rating stat that scales up with the item level this would mean that both support power rating and assault power rating will most likely represent a typical percentage. When I'm talking about typical percentages I'm talking about numbers like 
  • every 10% (10%, 20%, 30% ... 90%, 100%) 
  • every third (33%, 66%) 
  • every quarter (25%, 50%, 75%, 100%)
and similar. The idea behind this is simple. If you see a clean percentage, no floating-point and doesn't seem odd, chances are high it has been set as a fixed value. So let's see what we have here.

In this example, I'm using Foreman Krause's Last Resorts Spellslinger pistols, though any weapon should do. I've got several of these, so let's start with an item level 100 weapon that has 8353 assault rating (rounded) and 2784 support rating (rounded). The good thing about an item level 100 weapon is that dividing it through the item level to get the increase of each item level is literally just dividing by 100. This means the number gets smaller but the digits don't change. This can be really helpful as sometimes odd numbers may result from these calculations.

If we take the total power rating of this weapon we sum up both support and assault rating which should give us 8353 + 2784 = 11137. Now we can calculate how much weight each rating has on this total value by dividing the respective rating through the total rating like so: 8353 / 11137 = 0.75. Now, of course, the actual number is 0.7500224476968663. Though we used the rounded value that stands on the weapon - technically speaking the value on the weapon is not actually rounded but cut off after the floating point instead. So we have to assume a certain error in our calculation. Taking this error into account we expect the assault power rating which is the main stat of this weapon to be 75% of the power rating. In return, this means the support power rating value must be 25%. Let's check it to make sure: 2784 / 11137 = 0.25. Again rounded up from 0.2499775523031337.

Even though we can't say for sure this relation exists this is a valid proof that it might.

Getting the Exact Assault and Support Power

If you don't trust those floating-point numbers let's calculate the exact assault and support power rating. If I haven't mentioned how to do this I'm gonna repeat the procedure now. It's quite simple you just have to follow these steps:
  • Unequip your current weapon
  • Switch to a build that doesn't push or increase assault power rating (the AMPs)
  • Use the chat command for assault power rating:
  /eval Print(GameLib.GetPlayerUnit():GetAssaultRating())  
  • Alternatively for support power rating use:
  /eval Print(GameLib.GetPlayerUnit():GetSupportRating())  
  • Equip the respective weapon and use the same command again
  • Subtract the greater number from the smaller number
So let's do this.
Using the command with no weapon equipped I've got a 5312 assault power rating. No AMP bonus, using the healer action set right now. Equipping the weapon and redoing the command I now have 13665.125 assault power rating. This means the weapon should have 13665.125 - 5312 = 8353.125 assault power rating. Next to the support power rating, but the same procedure. Make sure to switch to a build that does not have the support power rating AMPs. I've got 1100 support power rating currently with no weapon and 3884.375 with the weapon. So that's 3884.375 - 1100 = 2784.375 support power rating on the weapon.

Now let's go for the total power which is 8353.125 + 2784.375 = 11137.5. That's a rather round number, which is good. It means we might be on the right path. Now let's calculate the percentages and see if they're round.

Assault power rating percentage: 8353.125 / 11137.5 = 0.75
Support power rating percentage: 2784.375 / 11137.5 = 0.25

Now that's more how I like it. If this is solid proof for a relationship then I don't know.

But How Does It Scale?

This is the last question. However, for this, we need more weapons. I've sold a lot of guns. I've collected all except four. Additionally, my current weapon is the same item with a different item level. As you might be accustomed already - I'm gonna create a table with all the samples we have. Four samples and a bonus one.

Item Name Item Level Total Power Rating Assault Power Rating Support Power Rating
Bardlet's Hair Triggers 65 7239.375 5429.53125 1809.84375
Foreman Krause's Last Resorts 100 11137.5 8353.125 2784.375
Bardlet's Hair Triggers 105 11694.375 8770.78125 2923.59375
Bardlet's Hair Triggers 110 12251.25 9188.4375 3062.8125
Foreman Krause's Last Resorts 135 15035.625 11276.71875 3758.90625

So you should also be familiar with the next step. We can check whether or not this is linear by subtracting the next from the previous. If we get the same value for the same jump of item levels it should be linear at that part. There are other ways to check this as well but that's the most straight forward in my opinion so let's go with it.

12251.25 - 11694.375 should be the same as 11694.375 - 11137.5

<=> 12251.25 - 11694.375 = 11694.375 - 11137.5
<=> 556.875 = 556.875 (true)

Great, that went fast. So the next step would be to check how much power rating we get for each item level. So let's divide the increase by the item level. We had an increase of 556.875 for every 5 item levels. So we get 556.875 / 5 = 111.375 for each item level.

Since we know that the main stat is 75% and the second stat is 25% we know that either assault or support power rating (in our case assault power rating) changes by 0.75 * 111.375 = 83.53125 and the other one (in our case support power rating) changes by 0.25 * 111.375 = 27.84375.

The Formula for Power Rating

Since we know it's linear we can use our lovely linear function:

f(x): y = m * x + t

replaced with our nice labels:

f(itemLevel): powerRating = m * itemLevel + t

m is the increase per step which we've already calculated. It's the 111.375 and the step is each item level. So for the calculation of t, we can replace all the other variables. Let's take the stats of the item level 135 weapon and put it into our formula.

f(135): 15035.625 = 111.375 * 135 + t

As you see we are missing the t. No problem, if we subtract (m * x) we have t left out.

<=> 15035.625 = 111.375 * 135 + t | -(111.375 * 135)
<=> 15035.625 - (111.375 * 135) = t
<=> 15035.625 - 15035.625 = t
<=> t = 0

Oh, so we have a linear function that has no start value, as in, it starts at zero or you could say it has no offset. So to finish our formula off:

f(x): y = 111.375 * x

or

f(itemLevel): powerRating = 111.375 * itemLevel

Other Formulas

So the other formulas are quite simple. We know the main stat is 75% of the powerRating. So we could say:

mainRating = 0.75 * powerRating

Multiplying both sides of our equation by 0.75 we get:

0.75 * powerRating = 0.75 * 111.375 * itemLevel

We can replace the left side with mainRating and calculate a little on the right one. Doing this we get:

mainRating = 83.53125 * itemLevel

Doing the same with the secondary rating which is 25% of powerRating we get:

secondaryRating = 0.25 * 111.375 * itemLevel

Calculating the right side we get:

secondaryRating = 27.84375 * itemLevel

So What's The Current Maximum Power?

As we know currently the maximum item level is 170. So if we put 170 into our formulas we get:

f(170): y = 111.375 * 170 = 18933.75
g(170): y = 83.53125 * 170 = 14200.3125
h(170): y = 27.84375 * 170 = 4733.4375

And now we know a damage dealer weapon of item level 170 will have 14200 assault power rating and 4733 support power rating. A tank or healer weapon of item level 170, on the other hand, will have 4733 assault power rating and 4733 support power rating

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.