Optimal Link + Aura Calculator For Summon Raging Spirit [Updated 1.1.5]
Yep all the numbers are with ele weakness on, and assuming monsters have 30% resist to all elements. (This is outlined in the main post, but I don't blame you for asking since I keep editing it).
I think with 3 purities and saffell's you can have insane survivability. Something like 77+6/7/8+4/5 so 87-90 all elemental resists. The purities are nice because they actually help spirits survive AoE spell damage, but purity of elements does that for 40% reservation as well. :) All my builds /view-thread/1430399
T14 'real' clearspeed challenge /1642265 |
|
" Thanks, and yeah sorry, I know the math is there but its a bit hard to follow and I have no idea how to use the code you have in there to do your own calculations. I'll wait till 1.5 comes out, I'm really wanting to modify my low life aura support build, just trying to figure out how. I may still go that route and take the dps drop since it'll be great in parties when someone is providing generosity Hatred/Anger/Wrath. Thanks again for all the responses. Last edited by Moose65#0910 on Aug 4, 2014, 4:21:59 AM
|
|
Just started getting into HC build with SRS, may be the one to try in the new 4-month ones coming up.
For this, and your other SRS info threads, thanks, you're a bloody legend! |
|
Raging spirit+echo+multistrike+melee physical DMG+melee DMG on full life with hatred and wrath
Xp Need comparison/calculation on 1st post Last edited by tempoltone#3177 on Aug 11, 2014, 6:30:02 AM
|
|
Edit: Nvm, I see the answer to my question in the OP now.
Last edited by Xallion#3440 on Aug 13, 2014, 4:53:40 PM
|
|
Wow, thanks so much for this script. It's so much more amazing than what I was building in Google Sheets.
I think I may have found a few bugs (or maybe just things I misunderstand?). If you are interested: 1. I think Hatred should also be scaled by damage effectiveness. I tested with power siphon here. Note how the cold damage is higher for PS than normal attack. 2. WED should apply to the 50% converted fire damage, and any fire damage from added fire (see #3 from the same album). Right now, the script's WED only affects wrath/anger. *Edit: WED doesn't work with SRS at all. So it's actually the other part that is wrong, it shouldn't be increasing the aura damage. 3. The extra damage from added fire should be using PhysDmg, not FireDmgBase (only makes a small difference because they are the same except FireDmgBase has the 15% increased from 20q added fire). There was also some discussion about whether hatred was calculated on pre or post conversion phys dmg. The fourth screenshot shows that it's calculated from pre-conversion phys dmg (didn't test added fire, but I am assuming it behaves the same way). Your script already handled this correctly.
Modified
############################################################ #Global Parameters ############################################################ param n_support := 5; #how many support gems can we link simultaneously param n_aura := 3; #how many auras can we run simultaneously param n_curse := 1; #how many curses param minion_id := 0.8; #minion increased dmg from tree+items param minion_ias := 0.12; #minion increased atk speed from tree+items param spell_id := 0; param aura_inc := 0.54; #increased aura effectivenes total from tree+items param dura_inc := 0.45; #increased spell duration from items/tree param cast_inc := 0.30; #totem or player +cast from passives and gear param monster_armor := 983; param monster_fire_res := 0.0; #According to Cezury 30% for rare mobs and 40% for unique monsters param monster_cold_res := 0.0; ##50% Due to EE proc'd by ice nova param monster_light_res := 0.0; ##50% Due to EE proc'd by Arc param Travel_Time := 0; #Average travel time in seconds (for DPS estimation). param dura_base := 3.5; #how long does the summoned spell last (3.5s for raging spirit) param cast_time := 0.8; #how long does the spell take to cast (0.8s for raging spirit) param APS_base := 1.627; #base # attacks per second for raging spirit, other value for other summoned stuff param effectiveness := 0.7; #70% dmg effectiveness, set to other value if not using other minion types param reduced_cast := 1.0; # Cast Speed reduced to 0.7 by Totem, set to 1.0 for self-cast param n_totems := 1; # set to 1.0 in case of player casting. 2-3 in case of totem. param totem_dmg_penalty := 1.0; # set to 1.0 in case of player casting. 0.5 for totem. param SE_fcr_more := 0.69; #20/20 Spell Echo param SE_dmg_less := -0.1; param SE_dmg_inc := 0.0; param HasteFCRBase := 0.16; #Lvl 20 Haste param VaalHasteFCRBase := 0.41; #totem don't work with SE #param reduced_cast := 0.7; # Cast Speed reduced to 0.7 by Totem, set to 1.0 for self-cast #param n_totems := 3; # set to 1.0 in case of player casting. 2-3 in case of totem. #param totem_dmg_penalty := 0.5; # set to 1.0 in case of player casting. 0.5 for totem. #param SE_fcr_more := 0; #param SE_dmg_less := 0; #param SE_dmg_inc := 0; #param HasteFCRBase := 0.0; #Lvl 20 Haste ############################################################ #Support Gems ############################################################ var MS integer >= 0, <= 1; # MultiStrike var MPD integer >= 0, <= 1; # MeleePhysDmg var MSp integer >= 0, <= 1; # MeleeSplash var MD integer >= 0, <= 1; # MinionDmg var FCR integer >= 0, <= 1; # Faster Cast var Dur integer >= 0, <= 1; # Inc Dura var FA integer >= 0, <= 1; # Faster Attack var CS integer >= 0, <= 1; # Culling Strike var Emp integer >= 0, <= 1; # Empower var WED integer >= 0, <= 1; # Weapon Elemental var SE integer >= 0, <=1; # Spell Echo var RM integer >= 0, <=1; # Remote Mine var AF integer >= 0, <=1; # Added Fire param MS_inc := 0.67; #20/20MS param MS_mult := -0.36; # 36% less damage param MS_IAS_more := 1.07; # 107% more atk speed param MPD_mult := 0.49; #Lvl 20/20 MPD, 46% more damage param MPD_inc := 0.1; param MD_inc := 0.92; #Lvl 20/20 MD, 92% increased damage param MSp_mult := -0.16; #Lvl MSplash 34% less damage to other targets, 16%less to first => 25% avg, set to 0.5 for 2 targets param MSp_inc := 0.48; # 48% Increased damage param FCRval := 0.49; #Lvl 20/20 FCR 49% cast param Durval := 0.74; #Lvl 20/20 IncDura 74% Inc Dura param FA_ias := 0.54; #20/20 Faster Attack param CS_ias := 0.1; #L20/Q20 Culling strike 10% IAS param CS_fcr := 0.1; # 10% FCR param CS_inc := 0.22; # 22% increased damage param RM_mult := 0.49; #L20 Remote mine, 49% more damage param WED_mult := 0.59; #20/20 WED param WED_inc := 0.1; param AF_mult := 0.39; #20/20 Added Fire param AF_inc := 0.15; var Vuln integer >= 0, <= 1; #Vulnerability var EW integer >= 0, <= 1; #Elemental Weakness param Vuln_more := 0.44; #20/20 Vuln param EW_more := .5; #20/2 EW - treat EW as EE ############################################################ #Auras ############################################################ var Anger integer >=0, <=1; var Hatred integer >=0, <=1; var Wrath integer >=0, <=1; var Haste integer >=0, <=1; var VaalHaste integer >=0, <=1; var FleshOffering integer >= 0, <=1; param WrathDmgBase := 150; #Lvl 20 Wrath param AngerDmgBase := 125; #Lvl 20 Anger param HatredPct := 0.36; #Lvl 20 Hatred param HasteIASBase := 0.16; #Lvl 20 Haste param VaalHasteIASBase := 0.0; param FleshOfferingIAS := 0.4; #Haste FCR is on the top with totem/self settings #First we set the auras up param WrathDmg := WrathDmgBase*(1+aura_inc)*effectiveness*totem_dmg_penalty; param AngerDmg := AngerDmgBase*(1+aura_inc)*effectiveness*totem_dmg_penalty; param HasteFCR := HasteFCRBase*(1+aura_inc); param HasteIAS := HasteIASBase*(1+aura_inc); param VaalHasteIAS := VaalHasteIASBase*(1+aura_inc); param VaalHasteFCR := VaalHasteFCRBase*(1+aura_inc); ############################################################ #Optimization Problem Statement ############################################################ var APS; var NSpirit; var Dmg; var SpiritDmgBase; var PhysDmg; var FireDmgBase; #We want to maximize total DPS maximize DPS: APS * NSpirit * Dmg * (1+(1/9)*CS)* (1+SE_dmg_less*SE) * (1+RM_mult*RM); ########## # Base item section: uncomment (remove #) from one of the following lines: ########## #In a +0 staff or in a armor L3 Empower #subject to SpiritBase: SpiritDmgBase = (606.5+185*Emp)*totem_dmg_penalty; #Lvl 20 Raging Spirit After Buff #In a +2 Staff (use this to simulate +2 hat, but set N_supports to 3 at the top): #subject to SpiritBase: SpiritDmgBase = (791.5+233.5*Emp)*totem_dmg_penalty; #272.3 #In a +1 +2 Staff L3 Emp: subject to SpiritBase: SpiritDmgBase = (901.5+419*Emp)*totem_dmg_penalty; #419=L3 Emp 594=L4 Emp #In a +1 +2 Staff L4 Emp L21 Spirit: #subject to SpiritBase: SpiritDmgBase = (1025+667.5*Emp)*totem_dmg_penalty; #419=L3 Emp 594=L4 Emp ########## # End of base item section ########## subject to PhysDamage: PhysDmg = SpiritDmgBase*(1+minion_id+MD*MD_inc+MS*MS_inc+MSp*MSp_inc+SE_dmg_inc*SE+spell_id+CS*CS_inc)*(1+MS_mult*MS)*(1+MSp_mult*MSp)*(1+MPD_mult*MPD); subject to FireDamage: FireDmgBase = SpiritDmgBase*(1+minion_id+MD*MD_inc+MS*MS_inc+MSp*MSp_inc+SE_dmg_inc*SE+spell_id+CS*CS_inc+AF_inc*AF+WED_inc*WED)*(1+MS_mult*MS)*(1+MSp_mult*MSp)*(1+MPD_mult*MPD); #The difference is the 15% increased from 20q added fire, and the increased from 20q WED #Next, compute the maximum number of *active* spirits we can keep up. Each spirit idles for 0.5 seconds after being cast, and then must travel to its target subject to Nspirits: NSpirit = n_totems*((dura_base*(1+dura_inc+Durval*Dur)-0.5-Travel_Time)/(cast_time/(reduced_cast*(1+FCRval*FCR+HasteFCR*Haste+cast_inc+CS_fcr*CS+VaalHaste*VaalHasteFCR)*(1+SE_fcr_more*SE) ))); #Next, the buffed attacks per second. subject to cons_IAS: APS = APS_base*(1+Haste*HasteIAS+minion_ias+FA_ias*FA+CS_ias*CS+VaalHaste*VaalHasteIAS+FleshOffering*FleshOfferingIAS)*(1+MS_IAS_more*MS); #####Finally, the damage##### ############################# subject to dmg_cons: Dmg = Wrath* (WrathDmg*(1+minion_id+MD*MD_inc+WED_inc*WED+SE_dmg_inc*SE+spell_id+CS*CS_inc)*(1+MS_mult*MS))*(1+MSp_mult*MSp)*(1+WED_mult*WED)*(1+EW_more*EW-monster_light_res) + Anger* (AngerDmg*(1+minion_id+MD*MD_inc+WED_inc*WED+SE_dmg_inc*SE+spell_id+AF*AF_inc+CS*CS_inc)*(1+MS_mult*MS))*(1+MSp_mult*MSp)*(1+WED_mult*WED)*(1+EW_more*EW-monster_fire_res) + Hatred*(SpiritDmgBase*(1+aura_inc)*HatredPct*(1+minion_id+MD*MD_inc+CS*CS_inc+MS*MS_inc+MSp*MSp_inc+WED_inc*WED+SE_dmg_inc*SE+spell_id))*(1+MS_mult*MS)*(1+MSp_mult*MSp)*(1+MPD_mult*MPD)*(1+WED_mult*WED)*(1+EW_more*EW-monster_cold_res)*effectiveness+ 0.5*PhysDmg*(1+Vuln_more*Vuln)*(1-(monster_armor/(monster_armor+12*0.5*PhysDmg*(1+Vuln_more*Vuln))))+ #Physical Part 0.5*FireDmgBase*(1+EW_more*EW-monster_fire_res)*(1+WED_mult*WED)+ #Converted to Fire part, already includes increased/decreased ele mods (AF_mult*AF)*PhysDmg*(1+AF_inc*AF+WED_inc*WED)*(1+EW_more*EW-monster_fire_res)*(1+WED_mult*WED); #Added Fire base part, increased/decreased and more/less ele mods stack multiplicatively with the phys ones #####end of the damage##### ########################### subject to aura_cons: Haste + Hatred + Wrath + Anger <= n_aura; subject to gem_cons: MS + MPD + Dur + FCR + MD + MSp + FA + CS + WED + Emp + RM + AF + SE<= n_support; subject to curse_cons: Vuln + EW <= n_curse; #subject to gem_cons2: RM + Dur = 0; #subject to force_emp: Emp = 1; #subject to use_splash: MSp = 1; #subject to cs_off: CS = 0; #subject to aura_cons2: Haste = 0; #subject to aura_cons3: Hatred = 0; #subject to aura_cons4: Anger = 0; subject to fleshoff: FleshOffering = 0; subject to vaalhaste: VaalHaste = 0; subject to remotemineoff: RM = 0; #subject to duroff: Dur = 0; subject to WEDoff: WED = 0; solve; display DPS, NSpirit, Dmg, APS; display Haste, Anger, Hatred, Wrath, FleshOffering, VaalHaste; display MS, MPD, Dur, FCR, MD, MSp, FA, CS, WED, SE, Emp, AF, RM; display EW, Vuln; Last edited by yoden#0011 on Aug 17, 2014, 3:44:08 PM
|
|
" 1. Tested in game, effectiveness doesn't apply to hatred. 2. WED doesn't work with spirits anyways, it should be removed. 3. I believe this is how the added fire gem works with its quality. I posted this in the added fire feedback section, and I'm led to believe that's how it works. All my builds /view-thread/1430399
T14 'real' clearspeed challenge /1642265 |
|
Can you add the option of having a 6L staff with:
+2 fire gem +1 all gem +1 sup gem (master mod) once for self cast, once for spell totem. |
|
I'm not updating this any more, because there wasn't enough interest/people using it. I made a easy to use & powerful SRS DPS Calculator based in google sheets.
If you get to modifying it to include arbitrary gem/quality levels and +gem mods on staff, send me a link so I can incorporate it. All my builds /view-thread/1430399
T14 'real' clearspeed challenge /1642265 |
|