User:DanR/OnePercentAR
From Guild Wars 2 Wiki
Jump to navigationJump to search
Description[edit]
This page presents a list of agony resistance values that are required to stay at 1% agony damage at each fractal scale. This page presumes the accuracy of the following damage formula: "(((Scale * 2.136) - 33) - (AR * 1.2)) = Percent_Damage". The list of AR values, and the source code that was used to generate them, are posted below.
The Table of AR values, formatted for wiki display.[edit]
Fractal scale | Suggested AR |
---|---|
20 | 8 |
21 | 10 |
22 | 11 |
23 | 13 |
24 | 15 |
25 | 17 |
26 | 18 |
27 | 20 |
28 | 22 |
29 | 24 |
30 | 26 |
31 | 27 |
32 | 29 |
33 | 31 |
34 | 33 |
35 | 34 |
36 | 36 |
37 | 38 |
38 | 40 |
39 | 42 |
Fractal scale | Suggested AR |
---|---|
40 | 43 |
41 | 45 |
42 | 47 |
43 | 49 |
44 | 50 |
45 | 52 |
46 | 54 |
47 | 56 |
48 | 58 |
49 | 59 |
50 | 61 |
51 | 63 |
52 | 65 |
53 | 67 |
54 | 68 |
55 | 70 |
56 | 72 |
57 | 74 |
58 | 75 |
59 | 77 |
Fractal scale | Suggested AR |
---|---|
60 | 79 |
61 | 81 |
62 | 83 |
63 | 84 |
64 | 86 |
65 | 88 |
66 | 90 |
67 | 91 |
68 | 93 |
69 | 95 |
70 | 97 |
71 | 99 |
72 | 100 |
73 | 102 |
74 | 104 |
75 | 106 |
76 | 107 |
77 | 109 |
78 | 111 |
79 | 113 |
Fractal scale | Suggested AR |
---|---|
80 | 115 |
81 | 116 |
82 | 118 |
83 | 120 |
84 | 122 |
85 | 123 |
86 | 125 |
87 | 127 |
88 | 129 |
89 | 131 |
90 | 132 |
91 | 134 |
92 | 136 |
93 | 138 |
94 | 139 |
95 | 141 |
96 | 143 |
97 | 145 |
98 | 147 |
99 | 148 |
100 | 150 |
The (Same) Table of AR values, as output by the java program.[edit]
Minimum AR required for 1% damage at each scale: Scale: 20, Min AR: 8 Scale: 21, Min AR: 10 Scale: 22, Min AR: 11 Scale: 23, Min AR: 13 Scale: 24, Min AR: 15 Scale: 25, Min AR: 17 Scale: 26, Min AR: 18 Scale: 27, Min AR: 20 Scale: 28, Min AR: 22 Scale: 29, Min AR: 24 Scale: 30, Min AR: 26 Scale: 31, Min AR: 27 Scale: 32, Min AR: 29 Scale: 33, Min AR: 31 Scale: 34, Min AR: 33 Scale: 35, Min AR: 34 Scale: 36, Min AR: 36 Scale: 37, Min AR: 38 Scale: 38, Min AR: 40 Scale: 39, Min AR: 42 Scale: 40, Min AR: 43 Scale: 41, Min AR: 45 Scale: 42, Min AR: 47 Scale: 43, Min AR: 49 Scale: 44, Min AR: 50 Scale: 45, Min AR: 52 Scale: 46, Min AR: 54 Scale: 47, Min AR: 56 Scale: 48, Min AR: 58 Scale: 49, Min AR: 59 Scale: 50, Min AR: 61 Scale: 51, Min AR: 63 Scale: 52, Min AR: 65 Scale: 53, Min AR: 67 Scale: 54, Min AR: 68 Scale: 55, Min AR: 70 Scale: 56, Min AR: 72 Scale: 57, Min AR: 74 Scale: 58, Min AR: 75 Scale: 59, Min AR: 77 Scale: 60, Min AR: 79 Scale: 61, Min AR: 81 Scale: 62, Min AR: 83 Scale: 63, Min AR: 84 Scale: 64, Min AR: 86 Scale: 65, Min AR: 88 Scale: 66, Min AR: 90 Scale: 67, Min AR: 91 Scale: 68, Min AR: 93 Scale: 69, Min AR: 95 Scale: 70, Min AR: 97 Scale: 71, Min AR: 99 Scale: 72, Min AR: 100 Scale: 73, Min AR: 102 Scale: 74, Min AR: 104 Scale: 75, Min AR: 106 Scale: 76, Min AR: 107 Scale: 77, Min AR: 109 Scale: 78, Min AR: 111 Scale: 79, Min AR: 113 Scale: 80, Min AR: 115 Scale: 81, Min AR: 116 Scale: 82, Min AR: 118 Scale: 83, Min AR: 120 Scale: 84, Min AR: 122 Scale: 85, Min AR: 123 Scale: 86, Min AR: 125 Scale: 87, Min AR: 127 Scale: 88, Min AR: 129 Scale: 89, Min AR: 131 Scale: 90, Min AR: 132 Scale: 91, Min AR: 134 Scale: 92, Min AR: 136 Scale: 93, Min AR: 138 Scale: 94, Min AR: 139 Scale: 95, Min AR: 141 Scale: 96, Min AR: 143 Scale: 97, Min AR: 145 Scale: 98, Min AR: 147 Scale: 99, Min AR: 148 Scale: 100, Min AR: 150
Java source code that was used to generate the AR table[edit]
package onepercentars; public class Start { public static void main(String[] args) { // Create an array for holding the minimum AR that stays below // 1% damage at each scale between 20 and 100. // The index is the scale. Ignore indexes 0-19. int[] minimumOnePercentAR = new int[101]; // Initialize each array with edge values. for (int scale = 0; scale <= 100; ++scale) { minimumOnePercentAR[scale] = 200; } // Loop through each fractal scale from 20 to 100. // (Scales 1-19 don't give any agony damage.) for (int scale = 20; scale <= 100; ++scale) { // Loop through each player agony resistance value from 0 to 152, // in reverse order. for (int AR = 152; AR >= 0; --AR) { // Calculate the damage for the current AR at the current scale. double damage = CalculateDamagePercent(scale, AR); // Record the minimum AR for 1% damage at the current scale. if (damage <= 1.0) { minimumOnePercentAR[scale] = AR; } } // End: Scale loop. } // End: AR loop. // Print out the results. System.out.println("Minimum AR required for 1% damage at each scale:"); for (int scale = 20; scale <= 100; ++scale) { System.out.println("Scale: " + scale + ", Min AR: " + minimumOnePercentAR[scale] ); } /* Print the values again in wiki table format. */ for (int scale = 20; scale <= 100; ++scale) { System.out.println("|-\n! " + scale + "\n| " + minimumOnePercentAR[scale] ); } } /** * CalculateDamagePercent, Calculates the amount of agony damage given to a * player per tick, for a particular fractal scale and particular amount of * agony resistance. Agony damage is reported as a percentage of a players * maximum health */ public static double CalculateDamagePercent( double scale, double agonyResistance) { if (scale < 20 || scale > 150) { return 0; } double damage = (((scale * 2.136) - 33.0) - (agonyResistance * 1.2)); damage = (damage < 1) ? 1 : damage; damage = (damage > 100) ? 100 : damage; return damage; } }