#14
|
|||
|
So far, we have health and mana equations for the two phases; first you have enough health to canni-dance the manna robe every tick, then once you run out of surplus health you click every other tick as passive health regen builds up.
First phase: h(t) = 2000 - 60t + 29t = 2000 - 31t m(t) = 3500 - 50t + 20t = 3500 - 30t Second phase: h(t) = starting health + 29t - 30t = starting health - 1t ; we're just not going to worry about losing one health per tick m(t) = mana when starting phase two - 50t + 10t = mana when starting phase two - 40t In order to get the right starting mana value when starting phase two, we need to calculate when the first phase ends, which is when h(t) = 0: h(t) = 0 = 2000 - 31t t = 2000/31 = 64.5 ticks After 64.5 ticks, mana will be: m(t) = 3500 - 30 * 64.5 = 1565 Or using variables: t = health_to_burn / 31 m(t) = 3500 - 30 * (health_to_burn / 31) Where 30 is the modified mana burn rate (50 mana burned per tick, 20 mana regained from manna robe), and 31 is the modified health burn rate (60 mana burned per robe click, 29 mana regained through passive regen) So we can rewrite the mana equation for the second phase to take into account how much mana you've spent at the end of phase one m(t) = 3500 - 30 * (health_to_burn / 31) - (t - health_to_burn / 31) * 40 Now we can solve for the time when we hit oom: 0 = 3500 - 30 * (health_to_burn / 31) - (t - health_to_burn / 31) * 40 (t - health_to_burn / 31) * 40 = 3500 - 30 * (health_to_burn / 31) 40t - 40/31 * health_to_burn = 3500 - 30 * (health_to_burn / 31) 40t = 3500 - 30 * (health_to_burn / 31) + 40/31 * health_to_burn 40t = 3500 - 30/31 * health_to_burn + 40/31 * health_to_burn 40t = 3500 + 10/31 * health_to_burn t = 3500/40 + 10/(31*40) * health_to_burn t = 3500/40 + 10/(1240) * health_to_burn t = 3500/40 + health_to_burn / 124 So under these assumptions, to add an additional tick before you run out of mana you can either add 40 mana or 124 health. In the final section, I'll convert the raw numbers back into variables so it's easier to play around with the assumptions to see how it changes this conversion rate. | ||
#15
|
|||
|
Although converting variables into numbers can make the calculations easier to follow, it will ultimately be more helpful to have a final equation where everything is a variable, so you can plug in different health regen rates, for example, to see how that will change the conclusions. Let's start with the first equation from the section above:
0 = 3500 - 30 * (health_to_burn / 31) - (t - health_to_burn / 31) * 40 30 is the mana burn rate in the first section: 50 - 20, or mana_burn - mana_regen 31 is the health burn rate: 60 - 29, or health_burn - health_regen 40 is the mana burn rate in the second section: 50 - 10, because we're only clicking the robe once every other tick, since each two ticks we will regain 58 health. Putting these variables back in we get: 0 = starting_mana - (mana_burn - mana_regen_one) * health_to_burn / (health_burn - health_regen) - (t - health_to_burn / (health_burn - health_regen) * (mana_burn - mana_regen_two) We can unify the mana regen rates by observing that the mana regen in phase two is equivalent to the mana gain from clicking the robe scaled by how many ticks it takes to regain the 60 health cost: mana_regen_two = 20 * health_regen / 60 = robe_mana * health_regen / robe_health mana_regen_one = robe_mana this gives us: 0 = starting_mana - (mana_burn - robe_mana) * health_to_burn / (health_burn - health_regen) - (t - health_to_burn / (health_burn - health_regen) * (mana_burn - robe_mana * health_regen / robe_health)) I'm not going to try to simplify that, but I will plot the graph of mana over time with Python: Code:
def mana( t, starting_mana=3500, mana_burn=50, robe_mana=20, health_to_burn=2000, health_burn=60, health_regen=29, robe_health=60 ): if t < health_to_burn / (health_burn - health_regen): return starting_mana - (mana_burn - robe_mana) * t mana_spent_phase_one = (mana_burn - robe_mana) * health_to_burn / (health_burn - health_regen) mana_spent_phase_two = (t - health_to_burn / (health_burn - health_regen)) * (mana_burn - robe_mana * health_regen / robe_health) return starting_mana - mana_spent_phase_one - mana_spent_phase_two import matplotlib.pyplot as plt import numpy as np # Generate x values (time) t_values = np.linspace(0, 110, 100) # Adjust range as needed # Calculate corresponding mana values mana_values = [mana(t) for t in t_values] # Plot the graph plt.plot(t_values, mana_values) plt.xlabel('Time') plt.ylabel('Mana') plt.title('Mana Over Time') plt.grid(True) plt.show() If you have a Google account you can play around with the assumptions here: https://colab.research.google.com/dr...Yw?usp=sharing One final note: although I'm assuming canni-dancing the manna robe, I'm not taking into account of medding for mana regen. If you'd like to so do, you can just adjust the mana burn rate per tick to account for that. | ||
#16
|
|||
|
DSM has returned to the forums
| ||
#17
|
||||
|
Quote:
Trying to kite raid trash won't work when my patch gets implemented. They will have half a brain and start ignoring the kiter and attack the raid. A bunch of MOB's will also only spawn when the main raid target is attacked, and remain leashed to them; it will be impossible to clear everything before initiating a raid encounter. The rise of offtanks. Mages will be summoning a bunch of pets to push huge DPS. That is their role.
__________________
| |||
#18
|
||||
|
Quote:
| |||
#19
|
|||
|
God you're so obtuse and lack reading comprehension. Also, there are people on Red and I don't play there.
__________________
| ||
#20
|
||||
|
Quote:
__________________
Loramin Frostseer, Oracle of the Tribunal <Anonymous> and Fan of the "Where To Go For XP/For Treasure?" Guides Anyone can improve the wiki! If you are new to the Blue or Green servers, you can improve the wiki to earn a "welcome package" of platinum and/or gear! Send me a forum message for details. | |||
Thread Tools | |
Display Modes | |
|
|