Questions on Attack Chains
And on the other side of the coin, I'll say I'm one of those who doesn't use attack chains. Whatever power is available and will do the most damage under the current circumstances is the one I use.
I suspect the median is somewhere in the middle between these two extremes. (Although I must admit a tool to generate attack chains is a pretty cool idea)
And on the other side of the coin, I'll say I'm one of those who doesn't use attack chains. Whatever power is available and will do the most damage under the current circumstances is the one I use.
I suspect the median is somewhere in the middle between these two extremes. ![]() |
There CAN be gaps, but I's either add some recharges to the slower powers, or fire off the fastest one 2-3 times before the slow ones are recharged.
The only tool I use is my eyes and observation...
I have a specific method that I use that involves generating external and internal attack strings that lets me figure out the most effective attack string for a specific subset of attack pretty easily. I'm currently working on putting it into algorithmic form so that I can develop it into a tool for other people to use.
|
For instance, suppose you have the following attacks:
Squirrel Ambush
1s activation (accounting for arcanatime)
0.1s recharge
1000 damage
Poke
1s activation (accounting for arcanatime)
0.1s recharge
1 damage
The best attack chain is Squirrel Ambush->0.1s gap->Squirrel Ambush->0.1s gap->Squirrel Ambush->...
Rather than the best gapless attack chain: Squirrel Ambush->Poke->Squirrel Ambush->Poke->...
The best attack chain is Squirrel Ambush->0.1s gap->Squirrel Ambush->0.1s gap->Squirrel Ambush->...
Rather than the best gapless attack chain: Squirrel Ambush->Poke->Squirrel Ambush->Poke->... |
Seriously, though, this should not be the case with normal attacks in the game. The only attacks that should have really low damage compared to their recharge should be those that are not damage dealing powers, such as Cobra Strike or Tesla Cage. Normally the damage formula should make damage and recharge proportional.
The bigger issue is going to be animation time. You could have a situation where you have an attack that is so low DPS, it is more efficient to wait until another attack has recharged so you can use it right away. (This is the reason Sniper attacks, or Jump Kick or Propel, are not considered useful by some players)
The bigger issue is going to be animation time. You could have a situation where you have an attack that is so low DPS, it is more efficient to wait until another attack has recharged so you can use it right away. (This is the reason Sniper attacks, or Jump Kick or Propel, are not considered useful by some players)
|
It recently cropped up in a discussion on Broadsword attack chains. A specific example was given where a pause in a chain of higher DPA attacks gave a better DPS than inserting another attack in the gap. Umbral commented on it because it fubared his existing algorithmic intentions.
Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA
It recently cropped up in a discussion on Broadsword attack chains. A specific example was given where a pause in a chain of higher DPA attacks gave a better DPS than inserting another attack in the gap. Umbral commented on it because it fubared his existing algorithmic intentions.
![]() |
I actually thought of the solution about 3 days after the problem was introduced. My biggest issue now is getting the time to code it in between everything else life is throwing at me.
Well, since I posted the original post, I played around with Mid's Hero designer and my current toon and played around with using cast and recharge times to try to find somewhat efficient attack chains. Here's a question which I think I'm pretty sure of the answer...on Mid's for example, the cast time happens first THEN the recharge starts. Is that right? So if something had a cast time of 1 second and a recharge of 3 seconds...the 3 seconds would start right after the cast time has complete right?
And in a related question, what do you all rely on when picking powers for an attack chain: DPA or DPS?
"Everybody wants to change the world, but nobody wants to change themselves." -Tolstoy
Well, since I posted the original post, I played around with Mid's Hero designer and my current toon and played around with using cast and recharge times to try to find somewhat efficient attack chains. Here's a question which I think I'm pretty sure of the answer...on Mid's for example, the cast time happens first THEN the recharge starts. Is that right? So if something had a cast time of 1 second and a recharge of 3 seconds...the 3 seconds would start right after the cast time has complete right?
|
And in a related question, what do you all rely on when picking powers for an attack chain: DPA or DPS? |
- @DSorrow - alts on Union and Freedom mostly -
Currently playing as Castigation on Freedom
My Katana/Inv Guide
Anyone who doesn't take truth seriously in small matters cannot be trusted in large ones either. -Einstein
And in a related question, what do you all rely on when picking powers for an attack chain: DPA or DPS?
|
My general method is to first find an "anchor" power (generally the longest recharging and hardest hitting power) that the entire attack string will be based around (occasionally I find myself having to design an attack string with 2 anchors, which only really happens with low recharge builds that are using AoEs to fill in time). After that, the problem becomes generating the most efficient use of time to fill in the time for the anchor power to recharge. Sometimes this includes finding another "anchor" power for the internal attack string and other times it is simply alternating or cycling other powers, depending on recharges and animation times. To determine whether a wait is necessary, all you have to do is compare the DPS of the string with the wait to the DPS of the string without. Most of the time it's actually pretty obvious whether a wait will be beneficial or not.
Hi everyone,
I was wondering how people went about developing their attack chains? Do they just kind of play around and see what works for them? Do some people just not develop attack chains? Thanks! |
I don't get near as in-depth as Umbral, though I probably would if I was anywhere near as good with spreadsheets as he is.

Speaking of gaps, if you're wondering why it might be better to have one, look at it this way... adding another attack that takes longer to animate than the existing gap adds damage, but also extends the length of the attack chain. For instance, if you had a high recharge Fire Blaster that used Blaze -> Flares -> Fire Blast with a slight gap, you could eliminate that gap by adding another Flares. However, that would also push the next Blaze back, and Blaze has such insane DPA that you're better off doing nothing for a short time and getting off the Blaze sooner than using a lower DPA filler (I'm too tired to calculate that exact time). The key is that you always add a filler if it's shorter than the gap (unless doing so causes endurance problems or requires running into melee or something) but if the filler is longer than the gap you have to compare total damage / time with and without the filler to see if it's worth it.
One thing to remember though.... be flexible when actually using attack chains. If your target is at 1% health and your next attack is Headsplitter, either switch targets or toss in something fast and weak. If you start robotically following a specific pattern you can end up wasting a lot of damage doing overkill.
Cascade, level 50 Blaster (NRG/NRG since before it was cool)
Mechmeister, level 50 Bots / Traps MM
FAR too many non-50 alts to name
[u]Arcs[u]
The Scavenger Hunt: 187076
The Instant Lair Delivery Service: 206636
I only ever bother with DPA. DPS is too variable in its real applicability to make a viable metric with which to choose powers.
My general method is to first find an "anchor" power (generally the longest recharging and hardest hitting power) that the entire attack string will be based around (occasionally I find myself having to design an attack string with 2 anchors, which only really happens with low recharge builds that are using AoEs to fill in time). After that, the problem becomes generating the most efficient use of time to fill in the time for the anchor power to recharge. Sometimes this includes finding another "anchor" power for the internal attack string and other times it is simply alternating or cycling other powers, depending on recharges and animation times. To determine whether a wait is necessary, all you have to do is compare the DPS of the string with the wait to the DPS of the string without. Most of the time it's actually pretty obvious whether a wait will be beneficial or not. |
I did tend to order the powers by DPA and just chain them together filling in the gaps with fillers, but using your method will make calulations easier I think.
British by act of union, English by grace of God, Northern by pure good fortune!
And I've now figured out how to get around that specific problem, though, in implementing the algorithm, it's going to take up a lot more memory while activating because I'm having to use a recursive loop rather than a simple loop to determine and compare the internal attack string options. Still, it shouldn't be too bad. All I had to do was create a "Wait" attack with an animation of 0 seconds (Arcanatime'd up to .132 seconds) and a recharge of 0 seconds. Any wait period is going to be accounted for as a series of .132 second waits rather than a single discrete period of the required time.
I actually thought of the solution about 3 days after the problem was introduced. My biggest issue now is getting the time to code it in between everything else life is throwing at me. |
Speaking of gaps, if you're wondering why it might be better to have one, look at it this way... adding another attack that takes longer to animate than the existing gap adds damage, but also extends the length of the attack chain. For instance, if you had a high recharge Fire Blaster that used Blaze -> Flares -> Fire Blast with a slight gap, you could eliminate that gap by adding another Flares. However, that would also push the next Blaze back, and Blaze has such insane DPA that you're better off doing nothing for a short time and getting off the Blaze sooner than using a lower DPA filler (I'm too tired to calculate that exact time). The key is that you always add a filler if it's shorter than the gap (unless doing so causes endurance problems or requires running into melee or something) but if the filler is longer than the gap you have to compare total damage / time with and without the filler to see if it's worth it.
|
A more demonstrative example (because comparing anything to Blaze is simply saddening) is comparing Smite to Midnight Grasp. Smite (for Scrappers) has a DPA of 76.4 (90.8/1.188). Midnight Grasp has a DPA of 84.6 (189.9/2.244). The extension threshold for Midnight Grasp compared to Smite is .24 seconds ((189.9/76.4) - 2.244 = .24). So, if Smite is up and MG has only .24 seconds left to recharge, you're better off just waiting. If the wait is any longer, you should animate Smite and follow up with MG.
Hi everyone,
I was wondering how people went about developing their attack chains? Do they just kind of play around and see what works for them? Do some people just not develop attack chains?
Thanks!