Tag: sourceedit |
Tag: Source edit |
||
(46 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | + | This page is a collection of formulas used for calculating various in-game numbers. |
|
− | |||
− | Formulas in code are ready to copy paste into a spreadsheet. Just remember to adjust cell addresses. |
||
==Formulas== |
==Formulas== |
||
− | === ''' |
+ | === '''Hero Cost Formula '''(cost of upgrading '''from''' "Level") === |
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
− | In which <math>\prod</math> is the product symbol and <math>\left \lceil \right \rceil</math> are ceiling brackets. |
||
− | |||
− | === '''Hero Cost Formula '''(cost of upgrading '''from''' "Level") === |
||
⚫ | |||
⚫ | |||
⚫ | |||
::'''floor(20 × 1.07<sup>Level - 1</sup>)''' |
::'''floor(20 × 1.07<sup>Level - 1</sup>)''' |
||
− | :The cost to level up |
+ | :The cost to level up another non-Ace Scout by one is: |
::'''floor(BaseCost × 1.07<sup>Level - 1</sup>)''' |
::'''floor(BaseCost × 1.07<sup>Level - 1</sup>)''' |
||
+ | :The cost to level up an Ace Scout by one is: |
||
+ | ::'''floor(BaseCost × 1.22 <sup>Level - 1</sup>)''' |
||
=== '''Hero DPS''' === |
=== '''Hero DPS''' === |
||
− | DPS of each hero, the number displayed on the right side of the hero's levelling buttons, is a product of |
+ | DPS of each [[Heroes|hero]], the number displayed on the right side of the hero's levelling buttons, is a product of |
* Hero Base Damage |
* Hero Base Damage |
||
* Hero Level |
* Hero Level |
||
− | * ×4 Multiplier for each 25 Hero Levels, starting from level 200; at Hero Level 1000, 2000, ..., 8000 the multiplier is ×10. Heroes after |
+ | * ×4 Multiplier for each 25 Hero Levels, starting from level 200; at Hero Level 1000, 2000, ..., 8000 the multiplier is ×10. Heroes after {{Frostleaf}} have a ×5 multiplier instead of ×4 for each 25 Hero levels from 525 to 725; |
− | * Personal DPS Upgrade |
+ | * Personal DPS Upgrade bonuses |
* ×2 Damage Bonus, which costs 50 rubies |
* ×2 Damage Bonus, which costs 50 rubies |
||
− | * Dark Ritual Stacks (×1.05 with each normal DR, ×1.1 with each Energized DR) |
+ | * [[Skills|Dark Ritual]] Stacks (×1.05 with each normal DR, ×1.1 with each Energized DR) |
* Global DPS Upgrades: |
* Global DPS Upgrades: |
||
− | ** ×1.25 from |
+ | ** ×1.25 from {{The_Wandering_Fisherman}}; |
− | ** ×2.0736 from |
+ | ** ×2.0736 from {{Clicker}}; |
− | ** ×1.25 from |
+ | ** ×1.25 from {{Leon}}; |
− | ** ×1.25 from |
+ | ** ×1.25 from {{Lindeoven}}; |
− | ** ×1.44 from |
+ | ** ×1.44 from {{Amenhotep}}; |
− | ** ×1.1 from |
+ | ** ×1.1 from {{Beastlord}}; |
− | ** ×1.1 from |
+ | ** ×1.1 from {{Shinatobe}}; |
− | ** ×1.5625 from |
+ | ** ×1.5625 from {{Grant}}; |
− | ** ×1.25 from |
+ | ** ×1.25 from {{Frostleaf}}; |
− | ** ×1.5 from |
+ | ** ×1.5 from {{Gog}}; |
− | ** ×1.5 from |
+ | ** ×1.5 from {{Moeru}}; |
− | ** ×2.34375 from |
+ | ** ×2.34375 from {{Zilar}}; |
+ | ** ×1.11 from {{Yachiyl}} |
||
− | * Bonus from unused Hero Souls and Morgulis, which equals to (1 + HeroSoul × 0.1 + MorgulisLevel × 0.11) |
||
− | * |
+ | * Bonus from unused {{HS}} and {{Morgulis}}, which equals to (1 + {{HS}} × 0.1 + Level of {{Morgulis}} × 0.11) |
+ | * Gild bonus, which is (1 + (0.5 + Level of {{Argaiv}} × 0.02) × NumberOfGilds) |
||
+ | * {{Phandoryss}} bonus (+100% DPS per level) |
||
Total DPS, the number displayed on the upper left side of Hero tab, is a product of: |
Total DPS, the number displayed on the upper left side of Hero tab, is a product of: |
||
* Sum of all Heroes DPS |
* Sum of all Heroes DPS |
||
− | * Bonus from |
+ | * Bonus from {{Siyalatas}} and {{Nogardnit}} (idle mode) |
− | * Bonus from |
+ | * Bonus from {{Juggernaut}} Combo (active mode) |
* ×2 if Powersurge is activated (×3 with Energized Powersurge) |
* ×2 if Powersurge is activated (×3 with Energized Powersurge) |
||
− | === '''Hero DPS per Gold''' === |
+ | === '''Hero DPS per {{Gold}}''' === |
− | All character level costs use the same multiplier (Base×1.07<sup>Level</sup>). They also have the same scaling WRT DPS / level. The only difference is their base cost to base |
+ | All character level costs use the same multiplier (Base×1.07<sup>Level</sup>). They also have the same scaling WRT DPS / level. The only difference is their base cost to base DPS ratio, and personal modifiers to damage. For example, {{Treebeast}} cost 50 gold for level 1, but gives you 5 base DPS (10:1 ratio), while {{Frostleaf}} costs 2.1e27 and gives 7.5e22 base DPS (28,113:1 ratio). |
Below level 200, the scaling is: |
Below level 200, the scaling is: |
||
− | + | DPS = BaseDPS × StaticModifier × Level |
|
− | + | <math>\text{Cost} = \text{BaseCost} \times 1.07^{\text{Level}}</math> |
|
StaticModifier includes the global adjustment, personal modifiers and gilding, but does not change based on the level of the character. |
StaticModifier includes the global adjustment, personal modifiers and gilding, but does not change based on the level of the character. |
||
− | + | <math>\frac{\text{DPS}}{\text{Cost}} = \frac{\text{BaseDPS}\times\text{StaticModifier}}{\text{BaseCost}} \times \frac{\text{Level}}{1.07^\text{Level}} = \text{Static}\times \text{Level} \times 1.07^{-\text{Level}}</math> |
|
(At level 199, this is Static × 199×(1.07<sup>-199</sup>) = Static × 2.828e-4, or 0.03% the DPS/gold you got at level 1). |
(At level 199, this is Static × 199×(1.07<sup>-199</sup>) = Static × 2.828e-4, or 0.03% the DPS/gold you got at level 1). |
||
After level 200, the 4<sup>Level</sup> term starts to dominate, so we can ignore the other terms. You get |
After level 200, the 4<sup>Level</sup> term starts to dominate, so we can ignore the other terms. You get |
||
+ | <math>\text{DPS} = \text{Base}\times\text{Static}\times\text{Level}\times\frac{4^{\text{Level}}}{25}\approx\text{Constant}\times\frac{4^{Level}}{25}=\text{Constant}\times \frac{e^{\ln(4)}}{25\times\text{L}}=\text{C}\times e^{(0.0555 \text {L})}</math> |
||
− | DPS = Base×Static×Level×4<sup>Level/25</sup>~Constant×4<sup>Level/25</sup>=Constant × e<sup>ln(4)/(25×L)</sup>=C×e^(0.0555 L) |
||
− | + | <math>\frac{\text{DPS}}{\text{Cost}} = \text{Static}\times \frac{e^{0.0555 \text{L}}}{1.07^\text{L}} = \text{Static}\times e^{0.0555 \text{L}}\times e^{-0.0677 \text{L}}=\text{Static}\times e^{-0.01222L}=\text{Static}\times 0.988^\text{L}=</math> |
|
+ | <math>\text{Static}(1-0.012)^\text{L}</math> |
||
So each level is 1.2% less efficient of a DPS increase vs the cost to do the increase. |
So each level is 1.2% less efficient of a DPS increase vs the cost to do the increase. |
||
− | Each Hero is a little less efficient than the previous one. Ivan being 14% less base efficient than |
+ | Each Hero is a little less efficient than the previous one. {{Ivan}} being 14% less base efficient than {{Treebeast}}, down to a low of {{Lindeoven}} being 189% less base efficient than {{Bobby}}. After {{Lindeoven}}, each one, up to {{Frostleaf}}, is a static 36% less efficient than the previous one. At a 25 level upgrade, this is 26.3% less efficient. Which is fairly close to the average difference between heroes. So ignoring personal modifiers, it is close to optimally efficient to level each hero 25 levels higher than the next hero. |
− | === '''HS awarded for killing Primal |
+ | === '''{{HS}} awarded for killing Primal Bosses''' === |
+ | : {{HS}} awarded by defeating [[Primal Bosses]]: |
||
− | :: Hero souls the primals are worth without Solomon multiplier |
||
+ | :: floor(((Level - 80) / 25)<sup>1.3</sup> × (1 + (Bonus from Ponyboy))) |
||
+ | : Transcendent Power {{HS}} awarded by defeating Primal Bosses (only for transcendent player): |
||
+ | :: 20 × (1 + (Bonus from Ponyboy)) × (1 + TP%)<sup>(Level / 5) - 20</sup> |
||
+ | Note: Omeet ([[Centurion Bosses|Centurion Boss]] at Level 100) always gives 1 {{HS}} and 0 Transcendent Power {{HS}}, regardless of the formulas above. |
||
− | :: Floor(([Level]-80)/25)<sup>1.3×(1+SolomonBonus)</sup> |
||
− | =Floor(((A1-80)/25)<sup>1.3×(1+SolomonBonus)</sup>,) |
||
− | |||
− | A1 - level the primal boss is found |
||
− | |||
− | note - Omeet at level 100 is hardcoded to always give 1 Hero Soul, independent of above formula and Solomon. |
||
− | === '''Monster |
+ | === '''Monster HP for levels''' === |
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | :From Level 501 to Level 200000: |
||
⚫ | |||
⚫ | |||
+ | ::<math>\left \lceil 1.545^{Level-200001}\times 1.240\times 10^{25409}+(Level-1)\times 10\right \rceil</math> |
||
+ | |||
+ | <math>\prod</math> |
||
+ | is the product symbol, |
||
+ | |||
+ | <math>\left \lceil \right \rceil</math> |
||
+ | are ceiling brackets and |
||
+ | |||
+ | <math>\left \lfloor \right \rfloor</math> |
||
+ | are flooring brackets. |
||
+ | |||
+ | === '''Monster {{Gold}} Drop''' === |
||
⚫ | |||
* [[Formulas#Monster Gold Worth|Monster gold worth]] (see below), |
* [[Formulas#Monster Gold Worth|Monster gold worth]] (see below), |
||
− | * 1 + 9 × ( |
+ | * 1 + 9 × ({{Fortuna}} Chance), |
− | * |
+ | * Bonus from {{Libertas}} (idle mode). |
+ | * |
||
=== '''Monster Gold Worth''' === |
=== '''Monster Gold Worth''' === |
||
− | This is how much killing a monster is "worth" - it is used in determining |
+ | This is how much killing a monster is "worth" - it is used in determining {{Gold}} dropped (see above) and for the [[Skills|Golden Clicks]] skill. Monster worth is the ''ceiling'' (round up) of the product of: |
* Monster's HP / 15, |
* Monster's HP / 15, |
||
− | * Min(3, 1.025<sup>level - 75</sup>) if |
+ | * Min(3, 1.025<sup>level - 75</sup>) if level is greater than 75, |
− | * Gold Found Upgrades: |
+ | * {{Gold}} Found Upgrades: |
− | ** × 2.9296875 from |
+ | ** × 2.9296875 from {{Midas}}, |
− | ** × 1.5 from |
+ | ** × 1.5 from {{Bomber Max}}, |
− | ** × 3 from |
+ | ** × 3 from {{Tsuchi}}, |
− | * Bonus from |
+ | * Bonus from {{Mammon}}, |
− | * × 10 × (Bonus from |
+ | * × 10 × (Bonus from {{Mimzee}}), if it is a {{Treasure Chest}}, |
* × 2 if [[Skills|Metal Detector]] is activated (×3 with Energized Metal Detector). |
* × 2 if [[Skills|Metal Detector]] is activated (×3 with Energized Metal Detector). |
||
== Formula for sum of n<sup>1.5</sup> == |
== Formula for sum of n<sup>1.5</sup> == |
||
− | The approximation below can be used to estimate the total cost of raising an |
+ | The approximation below can be used to estimate the total cost of raising an [[Ancients|Ancient]] with upgrade cost at level n equals to n<sup>1.5</sup>, '''from level 1 to level n''': |
− | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
− | == When is Siyalatas worth an upgrade? == |
||
− | The Ancient Siyalatas increases your DPS by 25% per upgrade, but depending on how many Hero Souls you have, you may end up on the losing side of the transaction if you're not careful. Here a formula is derived which tells you how many Hero Souls you need to have before a Siyalatas upgrade benefits you. |
||
− | |||
− | Let '''D''' be your current DPS, including bonuses from Gilded heroes, achievements, and Dark Rituals, but not including Hero Souls or Siyalatas. Let '''H''' be your current number of Hero Souls. Let '''S''' be Siyalatas’ current level, including 0 if you haven't bought him yet. |
||
− | |||
− | So your total damage is as follows: |
||
− | |||
− | D(1 + 0.10H)(1 + 0.25S). |
||
− | |||
− | Now you want to spend '''N''' souls to increase Siyalatas’ level by 1. This includes the situation where you buy Siyalatas for '''N''' souls. Is it worth it? Well, this is your total damage after spending the souls: |
||
− | |||
− | D(1 + 0.10(H – N))(1 + 0.25(S + 1)) |
||
− | |||
− | You want the second expression to be better than the first one: |
||
− | |||
− | D(1 + 0.10(H – N))(1 + 0.25(S + 1)) >= D(1 + 0.10H)(1 + 0.25S) |
||
− | |||
− | High school algebra ensues. |
||
− | |||
− | Cancel D, expand inner parentheses: |
||
− | |||
− | (1 + 0.1H – 0.1N)(1.25 + 0.25S) >= (1 + 0.1H)(1 + 0.25S) |
||
− | |||
− | Multiply through: |
||
− | |||
− | 1.25 + 0.25S + 0.125H + 0.025HS – 0.125N – 0.025NS >= 1 + 0.25S + 0.1H + 0.025HS |
||
− | |||
− | Get all terms on one side: |
||
− | |||
− | 1.25 + 0.25S + 0.125H + 0.025HS – 0.125N – 0.025NS – 1 – 0.25S – 0.1H – 0.025HS >= 0 |
||
− | |||
− | Simplify: |
||
− | |||
− | 0.25 + 0.025H – 0.125N – 0.025NS >= 0 |
||
− | |||
− | Solve for H: |
||
− | |||
− | H >= (0.125N + 0.025NS – 0.25)/0.025 |
||
− | |||
− | Or in other words: |
||
− | |||
− | H >= 40(N/8 + NS/40 – 1/4) |
||
− | |||
− | Or even better: |
||
− | |||
− | '''H >= 5N + NS – 10''' |
||
− | |||
− | '''Example 1: '''It costs 4 HS to get Siyalatas from Lvl 3 to Lvl 4. Here N=4 and S=3. Doing so will benefit you as long as you currently have at least 5(4) + (4)(3) – 10 = 22 Souls. In fact, you would break even if you had exactly 22 Souls before you upgraded Siya (and you would lose DPS if you had fewer than 22). |
||
− | |||
− | '''Example 2:''' Siyalatas is going to be your fourth Ancient and thus costs 8 Hero Souls. Here N=8 and S=0 since you haven't bought him yet. Is it worth it? Yes, as long as you have 5(8) + (8)(0) – 10 = 30 Souls. Any less and you will lose DPS even with Siya's Lvl 1 25% bonus. |
||
− | |||
− | === Update === |
||
− | Eventually, as players level up Siyalatas, the bonus given slowly drops from 25% to 15% every 10 levels, finally settling at 15% increases forever. Once this occurs, the formula above becomes too inaccurate to use strategically. I have redone the math for a high-level Siyalatas where the gain from 1 Level is 15%. This is made slightly more difficult by the fact that you have to take all previous upgrades of Siyalatas into consideration, yielding a damage formula like this: |
||
− | |||
− | D(1 + 0.10H)(1 + (0.25 x 9) + (0.24 x 10) + (0.23 x 10) + ..... + (0.16 x 10) + (0.15 x (S – 99))) |
||
− | |||
− | Which must be compared to its post-upgrade equivalent, as above, in order to arrive (assuming all my math was performed correctly) at: |
||
− | |||
− | '''H >= NS + 43.67N – 10''' |
||
⚫ | |||
− | Since at this point, N is always S+1, the following alternative may be used: |
||
+ | <br /> |
||
+ | where ''R''≈-0.0254852. This result can be obtained with the [[wp:Euler-Maclaurin formula|Euler-Maclaurin formula]]. In practice, the terms after ''n''<sup>5/2</sup> can be ignored, leaving the following: |
||
− | '''H >= S<sup>2</sup> + 44.67S + 33.67''' |
||
+ | <math>C(n)\approx0.4n^{\frac{5}{2}}</math> |
||
− | Thus, if you have Siya Lvl 400, an upgrade to Lvl 401 is only beneficial if you have at least 400<sup>2</sup> + 44.67(400) + 33.67 = '''177 900''' Hero Souls (before upgrading). |
||
⚫ | |||
+ | <math>C(y)-C(x)</math> |
||
− | So yeah, prepare to farm. |
||
+ | . |
||
[[Category:Guides]] |
[[Category:Guides]] |
Revision as of 18:38, 1 April 2021
This page is a collection of formulas used for calculating various in-game numbers.
Formulas
Hero Cost Formula (cost of upgrading from "Level")
- The cost to level up Cid, the Helpful Adventurer from level 1 to 15 is:
- floor((5 + Level) × 1.07Level - 1)
- The cost to level up Cid, the Helpful Adventurer from level 16 is:
- floor(20 × 1.07Level - 1)
- The cost to level up another non-Ace Scout by one is:
- floor(BaseCost × 1.07Level - 1)
- The cost to level up an Ace Scout by one is:
- floor(BaseCost × 1.22 Level - 1)
Hero DPS
DPS of each hero, the number displayed on the right side of the hero's levelling buttons, is a product of
- Hero Base Damage
- Hero Level
- ×4 Multiplier for each 25 Hero Levels, starting from level 200; at Hero Level 1000, 2000, ..., 8000 the multiplier is ×10. Heroes after Frostleaf have a ×5 multiplier instead of ×4 for each 25 Hero levels from 525 to 725;
- Personal DPS Upgrade bonuses
- ×2 Damage Bonus, which costs 50 rubies
- Dark Ritual Stacks (×1.05 with each normal DR, ×1.1 with each Energized DR)
- Global DPS Upgrades:
- ×1.25 from The Wandering Fisherman;
- ×2.0736 from Betty Clicker;
- ×1.25 from Leon;
- ×1.25 from Broyle Lindeoven, Fire Mage;
- ×1.44 from Amenhotep;
- ×1.1 from Beastlord;
- ×1.1 from Shinatobe, Wind Deity;
- ×1.5625 from Grant, The General;
- ×1.25 from Frostleaf;
- ×1.5 from Gog;
- ×1.5 from Moeru;
- ×2.34375 from Zilar;
- ×1.11 from Yachiyl
- Bonus from unused Hero Souls and Morgulis, which equals to (1 + Hero Souls × 0.1 + Level of Morgulis × 0.11)
- Gild bonus, which is (1 + (0.5 + Level of Argaiv × 0.02) × NumberOfGilds)
- Phandoryss bonus (+100% DPS per level)
Total DPS, the number displayed on the upper left side of Hero tab, is a product of:
- Sum of all Heroes DPS
- Bonus from Siyalatas and Nogardnit (idle mode)
- Bonus from Juggernaut Combo (active mode)
- ×2 if Powersurge is activated (×3 with Energized Powersurge)
Hero DPS per Gold
All character level costs use the same multiplier (Base×1.07Level). They also have the same scaling WRT DPS / level. The only difference is their base cost to base DPS ratio, and personal modifiers to damage. For example, Treebeast cost 50 gold for level 1, but gives you 5 base DPS (10:1 ratio), while Frostleaf costs 2.1e27 and gives 7.5e22 base DPS (28,113:1 ratio).
Below level 200, the scaling is: DPS = BaseDPS × StaticModifier × Level
StaticModifier includes the global adjustment, personal modifiers and gilding, but does not change based on the level of the character. (At level 199, this is Static × 199×(1.07-199) = Static × 2.828e-4, or 0.03% the DPS/gold you got at level 1).
After level 200, the 4Level term starts to dominate, so we can ignore the other terms. You get
So each level is 1.2% less efficient of a DPS increase vs the cost to do the increase.
Each Hero is a little less efficient than the previous one. Ivan, the Drunken Brawler being 14% less base efficient than Treebeast, down to a low of Broyle Lindeoven, Fire Mage being 189% less base efficient than Bobby, Bounty Hunter. After Broyle Lindeoven, Fire Mage, each one, up to Frostleaf, is a static 36% less efficient than the previous one. At a 25 level upgrade, this is 26.3% less efficient. Which is fairly close to the average difference between heroes. So ignoring personal modifiers, it is close to optimally efficient to level each hero 25 levels higher than the next hero.
Hero Souls awarded for killing Primal Bosses
- Hero Souls awarded by defeating Primal Bosses:
- floor(((Level - 80) / 25)1.3 × (1 + (Bonus from Ponyboy)))
- Transcendent Power Hero Souls awarded by defeating Primal Bosses (only for transcendent player):
- 20 × (1 + (Bonus from Ponyboy)) × (1 + TP%)(Level / 5) - 20
Note: Omeet (Centurion Boss at Level 100) always gives 1 Hero Souls and 0 Transcendent Power Hero Souls, regardless of the formulas above.
Monster HP for levels
- From Level 1 to Level 140:
- From Level 141 to Level 500:
- From Level 501 to Level 200000:
- From Level 200001 onwards:
is the product symbol,
are ceiling brackets and
are flooring brackets.
Monster Gold Drop
This is how much Gold you will get (on average) from killing a monster. Gold dropped is the product of:
- Monster gold worth (see below),
- 1 + 9 × ( Fortuna Chance),
- Bonus from Libertas (idle mode).
Monster Gold Worth
This is how much killing a monster is "worth" - it is used in determining Gold dropped (see above) and for the Golden Clicks skill. Monster worth is the ceiling (round up) of the product of:
- Monster's HP / 15,
- Min(3, 1.025level - 75) if level is greater than 75,
- Gold Found Upgrades:
- × 2.9296875 from King Midas,
- × 1.5 from Bomber Max,
- × 3 from Tsuchi,
- Bonus from Mammon,
- × 10 × (Bonus from Mimzee), if it is a Treasure Chest,
- × 2 if Metal Detector is activated (×3 with Energized Metal Detector).
Formula for sum of n1.5
The approximation below can be used to estimate the total cost of raising an Ancient with upgrade cost at level n equals to n1.5, from level 1 to level n:
where R≈-0.0254852. This result can be obtained with the Euler-Maclaurin formula. In practice, the terms after n5/2 can be ignored, leaving the following:
The cost to level such Ancient, from level x to level y, can be estimated using
.