Difference between revisions of "User:GuyPerfect/Enhancements"
GuyPerfect (Talk | contribs) (Added an example. Haven't verified its correctness yet, though. (-:) |
GuyPerfect (Talk | contribs) m (→Optimized Bias Formula: Added that minus sign. Don't know how it got left out.) |
||
Line 364: | Line 364: | ||
===Optimized Bias Formula=== | ===Optimized Bias Formula=== | ||
− | <TT>Bias[X] = Brk[X] * Mult[X] + Bias[X]</TT> | + | <TT>Bias[X] = -Brk[X] * Mult[X] + Bias[X]</TT> |
− | + | ||
===Optimized Bias Table=== | ===Optimized Bias Table=== |
Latest revision as of 20:34, 24 February 2007
Contents
- 1 Introduction
- 2 Schedules and Base Buff
- 3 Enhancement Diversification
- 4 Example
- 5 Quick Reference
- 5.1 Schedule Attributes
- 5.2 Base Buff Table
- 5.3 Enhancement Strength Table
- 5.4 Relative Combat Level Buff Table
- 5.5 Reduction Level Breaking Point Table
- 5.6 Multiplier Table
- 5.7 Initial Bias Formula
- 5.8 Initial Bias Table
- 5.9 Optimized Bias Formula
- 5.10 Optimized Bias Table
- 5.11 Enhancement Diversification Formula
If anyone wants to put this article in the wiki, use the Move Page feature. At this time, however, I request that it stays where it is, for I will be making revisions.
Introduction
Enhancements in City of Heroes and City of Villains add static buffs to a character's powers. Different Enhancements do different things and apply different amounts of buff. In addition, very large buffs are affected by a reducing effect known as Enhancement Diversification in order to keep powers from becomming too powerful. This article explains all the intricacies of Enhancements straight down to the numbers and even some of the low-level derivatives that make the numbers what they are.
This article is arranged in such a way that all of the reference information is grouped together and the body of the article will refer to the reference section. If something is mentioned in the body of the article without explicitly specifying what it is, it's in the Quick Reference section instead. Use the ToC to navigate or scroll to the bottom when you need to look something up. The Quick Reference section is provided to remove the need to hunt through the article for certain values.
Schedules and Base Buff
In order to determine how to apply a buff, Enhancements are grouped into Schedules depending on the attribute they enhance. The schedule applies only to the individual attribute, not to the Enhancement as a whole. Some Enhancements buff more than one attribute. In such a case, each attribute's buff is calculated based on the corresponding schedules. --See "Schedule Attributes" in the Quick Reference Section
When an attribute's Schedule is known, the amount of buff can be calculated. Each Schedule has a pre-determined value, hereby called the Base Buff, which is modified according to other factors. Depending on the type of Enhancement, such as Training or Single Origin, the Base Buff may be modified to yield the Enhancement Strength for the attribute. Lastly, Enhancements each come with a number representing the Combat Level it enhances. The Enhancement Strength is modified according to the Relative Combat Level of the Enhancement to the character equipping it. --See "Base Buff Table," "Enhancement Strength Table" and "Relative Combat Level Buff Table" in the Quick Reference Section
When Enhancements are combined, they can have one or two plus signs [+] after their denotated Combat Level. Each plus sign is effectively the same as adding 1 to the denotated Combat Level. So an Enhancement of level 5++ has the same effectiveness of a level 7 Enhancement. So if the character is level 9, then a level 5++ Enhancement is -2 the character's level.
Depending on the attribute, Enhancement type, relative combat level and number of Enhancements, the amount of buff the Enhancements provide can be determined. For each attribute, the Total Buff Return is calculated by adding the applicable buff from all Enhancements slotted into the power.
Enhancement Diversification
If the Total Buff Return is great enough, a reduction may be applied called Enhancement Diversification. The algorithm is a somewhat confusing one and is recursive, but I'll try to explain it as best I can.
For each Schedule, there are three target values--called Breaking Points--that are checked against the Total Buff Return to determine how to apply Enhancement Diversification. Whenever the Total Buff Return is greater than or equal to those Breaking Points, the Reduction Level is specified. --See "Reduction Level Breaking Point Table" in the Quick Reference section.
The Reduction Level bears much significance in carrying out the Enhancement Diversification algorithm.
In simple terms, Enhancement Diversification applies for each Reduction Level. That is, Reduction Level 1 has one modification, Reduction Level 2 has a modification AND level 1's modification, and Reduction Level 3 gets modifications from levels 3, 2 and 1. One convenience is that the recursion is based solely on a small set of values, which means a few more values can be calculated ahead of time. While it is possible to calculate the recursion on the fly, there are certain advantages to calculating them ahead of time; primarily the ability to perform the algorithm manually without much trouble.
Bias Theory
This section is not required for understanding of the Enhancement Diversification algorithm. It is simply a description of how the numbers came to be.
Enhancement Diversification can be calculated by using a four-step process:
- Determine the Reduction Level for the Schedule
- Subtract the value of the level's Breaking Point from the Total Buff Return
- Multiply the resulting value with a Multiplier
- Add the corresponding, pre-calculated Bias for the final buff
This can be expressed as a simple function:
NewBuff = (TotalBuffReturn - Brk[Level]) * Mult[Level] + Bias[Level]
Where NewBuff is the result, Brk[] is the value in the Breaking Point table, Level is the determined Reduction Level, Mult[] is the value in the Multiplier table (explained below) and Bias[] is the value in the Bias table.
The Multiplier is a pre-defined value corresponding with the Reduction Level and is found in the Multiplier Table in the Quick Reference section.
The values in the Bias table correspond with the Reduction Level and can be calculated easily using another function. This function is refered to as Initial Bias Formula in the Quick Reference section. The entry for Reduction Level 0 in the Bias table will always be 0. The other three values can be calculated with the corresponding values in the Breaking Piont Table and the Multiplier Table.
A table, the Initial Bias Table, is provided in the Quick Reference Section for your personal verification of correctly implementing the formula.
Note that the Initial Bias Formula uses the previous Bias value to calculate the current Bias value. This is a simplification of the recursion in the Enhancement Diversification algorithm and really speeds things up.
The formula expressed above can be written differently:
NewBuff = TotalBuffReturn * Mult[Level] - Brk[Level] * Mult[Level] + Bias[Level]
This modification allows us to reduce the total number of required calculations. With the exception of TotalBuffReturn, all of the values in the expression can be found in pre-defined tables. Which means that everything at and after the subtraction operator can be combined to a single value. This not only makes processing the expression faster, but it also greatly improves the ease of calculating the Enhancement Diversification manually. When the values are combined, they create new Bias values overwriting the previous values in the Bias table.
A table, the Optimized Bias Table, is provided in the Quick Reference section. It was created by modifying the Initial Bias Table as shown above, using what is refered to as the Optimized Bias Formula in the Quick Reference section.
Calculating the Result
In order to calculate the final buff after Enhancement Diversification, three values are needed: the Total Buff Return, a Multiplier and a Bias. The three values are inserted into a function refered to in the Quick Reference section as the Enhancement Diversification Formula.
If you skipped the previous section, the Bias values or their origin may not be completely clear.
The Multiplier is a pre-defined value corresponding with the Reduction Level and is found in the Multiplier Table in the Quick Reference section. The Bias is another pre-defined value corresponding with both the Schedule and the Reduction Level and is found in the Optimized Bias Table in the Quick Reference Section.
Example
Let's say that Crypto Cadabra, an Assault Rifle/Devices Blaster, was at level 49 and had six Enhancements slotted into Sniper Rifle:
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.33333 |
|
|
|
|
|
|
0.33333 |
0.33333 |
0.33333/0.2 |
0.1 |
0.1 |
0.08333 |
Combat Level |
1.00 0.33333 |
0.80 0.26667 |
1.05 0.35/0.21 |
1.1 0.11 |
1.15 0.115 |
0.07 0.00583 |
Total Buff Return
Damage: 0.33333 + 0.26667 + 0.35 + 0.00583 = 0.95583
Range: 0.21 + 0.11 + 0.115 = 0.435
Reduction Level
Damage: 0.90 <= 0.95583 < 1.00 = Level 2
Range: 0.40 <= 0.435 < 0.50 = Level 1
Enhancement Diversification
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
Final Buff
Damage: 91.9%
Range: 43.2%
Quick Reference
Schedule Attributes
Schedule A
- Accuracy
- Attack Rate
- Confuse Duration
- Damage
- Defense DeBuff
- Disorient Duration
- Endurance Discount
- Endurance Modification
- Fear Duration
- Flight Speed
- Heal
- Hold Duration
- Immobilize Duration
- Intangibility Duration
- Jump
- Run Speed
- Sleep Duration
- Taunt
- ToHit DeBuff
Schedule B
- Range
- Damage Resistence
- Defense Buff
- ToHit Buff
Schedule C
- Interrupt Time
Schedule D
- Knockback Distance
Base Buff Table
Schedule A | 1/3 |
Schedule B | 1/5 |
Schedule C | 2/5 |
Schedule D | 3/5 |
Enhancement Strength Table
Training | Base / 4 |
Dual Origin | Base / 2 |
Single Origin | Base |
Hydra | Base |
Crystal Titan | Base |
Hamidon | Base |
Relative Combat Level Buff Table
-3 | 0.70 |
-2 | 0.80 |
-1 | 0.90 |
Same | 1.00 |
+2 | 1.05 |
+2 | 1.10 |
+3 | 1.15 |
Reduction Level Breaking Point Table
|
|
|
|
|
Schedule A | 0.00 | 0.70 | 0.90 | 1.00 |
Schedule B | 0.00 | 0.40 | 0.50 | 0.60 |
Schedule C | 0.00 | 0.80 | 1.00 | 1.20 |
Schedule D | 0.00 | 1.20 | 1.50 | 1.80 |
Multiplier Table
Reduction Level 0 | 1.00 |
Reduction Level 1 | 0.90 |
Reduction Level 2 | 0.70 |
Reduction Level 3 | 0.15 |
Initial Bias Formula
Bias[0] = 0.00
Bias[X] = (Brk[X] - Brk[X - 1]) * Mult[X - 1] + Bias[X - 1]
Initial Bias Table
|
|
|
|
|
Schedule A | 0.00 | 0.70 | 0.88 | 0.95 |
Schedule B | 0.00 | 0.40 | 0.49 | 0.56 |
Schedule C | 0.00 | 0.80 | 0.98 | 1.12 |
Schedule D | 0.00 | 1.20 | 1.47 | 1.68 |
Optimized Bias Formula
Bias[X] = -Brk[X] * Mult[X] + Bias[X]
Optimized Bias Table
|
|
|
|
|
Schedule A | 0.00 | 0.07 | 0.25 | 0.80 |
Schedule B | 0.00 | 0.04 | 0.14 | 0.47 |
Schedule C | 0.00 | 0.08 | 0.28 | 0.94 |
Schedule D | 0.00 | 0.12 | 0.42 | 1.41 |
Enhancement Diversification Formula
NewBuff = TotalBuffReturn * Mult[X] + Bias[X]