



Since Cast On Crit is back on the menu with its 0.15sec cooldown, let's talk about Barrage CoC



I wasn't there during the CoC "Golden Era", but barrage was the "way to go" for Bow CoC builds due to its nature :

Barrage is a bow attack that takes some time charging, then fires sequentially several projectiles in a short amount of time.



Since the projectiles are not simultaneous, several projectiles of the same attack CAN hit the same target, so the idea with Barrage and CoC is to trigger the spell several times in the same attack



So now we have an idea, however, there are some contraints to do so :



The servers have an internal clock of 30,3Hz, which means events are actually treated server-side every 33ms, basically spells can only triggered on server ticks, meaning the effective cooldown of the Gem is 165ms , or 132ms if you have more than 14% cooldown recovery rate.



We now also know how barrage works :

" "Barrage spends the first 40% of the attack time doing the wind up, and then spends the remaining 60% firing the projectiles (each projectile takes a time that is 60% of the attack time, divided by the number of projectiles, so regardless of the number of projectiles, they take 60% of the attack time in total). The attack thus takes the full attack time, regardless of number of projectiles."



So we have 40% of the attack time doing nothing, then spending the 60 remaining % on unleashing projectiles. That means there is a "tempo" your attack must have to optimise casts,



Basically, assuming you have 100% crit and accuracy, the variables are :

Your attack speed

Extra projectiles in barrage (Volley fire projs doesn't count)

Being over under or over 14% Cooldown recovery rate

A final parameter is the travel time of the arrow(depending on the distance to the target and the velocity modifiers), which was neglected in this study (the hits were assumed instant)



So...I have simulated the number of Spell casts/secon you can obtain, relatively to the variables presented before , the results are interesting to say the least:







(direct link to the image gallery:



A few noteworthy remarks :

You need to have [b]at least[/b] +1 arrow to maximize your cps[/li] The maximum theoretical cps of the gem can be obtained, but only on a handful of attack speeds : 3.02 with no CDR; 3.79 with CDR

Having cooldown recovery rate % requires some attack speed investment to make most of it

There are noteworthy low attack speed "modes" that are sub-optimal but can be obtained with VERY LOW attack speed investment, however they might be too clunky to be of any use.

Methodology :

Spoiler

The algorithm is the following :

We consider that the server receives order to make a character attack with Barrage a large number (N=200) of time.

We assume that the origin of time corresponds to the server tick where the character starts the first Barrage windup, then we consider that the logic of the attack does not depend of the server tick rates, but only the hit registration(hitreg) will.

The hit is supposed registered on the next server tick following the projectile launch (we assumed that there was no projectile travel time for now)

If the CoC is still on cooldown, it's not considered a cast, if not it's a cast



That's the idea, now you obtain the number of casts on a high number of attacks, knowing your APS, you can get your CPS :)



I've run a Scilab(MATLAB but Open Source) Script, but was to lazy to comment it, it might explain it further if needed/people are interested



SCILAB Code :



Spoiler clf();

function [A]=test(N,EP,mu,eta,d,APS,CDR)

T=N/APS;

NP=EP+5;

T_a=1/APS;

T_w=0.4/APS;

T_fa=0.6/(APS*NP);

T_shot=eta*T_fa;

//T_travel =0 for now (d/V_p*mu)

T_trav=0;



for k=0:N

for l=1:NP



t_hit(k*NP+l)=k*T_a+T_w+(l-1)*T_fa+T_shot+T_trav;

t_hitreg(k*NP+l)=(floor(t_hit(k*NP+l)*1000/33)+1)*33/1000;



end

end



cur=1;

size_c=0;

while cur<=N*NP

if cur==1

then

t_cast(size_c+1)=t_hitreg(1);

size_c=size_c+1;

else

if t_hitreg(cur)-t_cast(size_c)>(0.15*100/(100+CDR))

then

t_cast(size_c+1)=t_hitreg(cur);

size_c=size_c+1;

end

end

cur=cur+1;

end



A=size_c/T;

endfunction





N=200;

EP=0;

eta=0.5;

mu=1;

d=0;



A=[1:0.02:6];



CDR=[0,35];



i_max=size(A,2);

j_max=size(CDR,2);

//No Extra proj

for i=1:i_max



for j=1:j_max



R(i,j)=test(N,EP,mu,eta,d,A(i),CDR(j));



end



end

// With GMP

for i=1:i_max



for j=1:j_max



R_GMP(i,j)=test(N,4,mu,eta,d,A(i),CDR(j));



end



end





// With LMP

for i=1:i_max



for j=1:j_max



R_LMP(i,j)=test(N,2,mu,eta,d,A(i),CDR(j));



end



end



// With Enchant or +1 arrow

for i=1:i_max



for j=1:j_max



R_enc(i,j)=test(N,1,mu,eta,d,A(i),CDR(j));



end



end



Thre_CDR=ones(size(A')(1),size(A')(2))/0.132;

Thre=ones(size(A')(1),size(A')(2))/0.165;

subplot(211)

plot2d(A',[R(:,1),R_enc(:,1),R_LMP(:,1),R_GMP(:,1),,Thre],leg='Unsupported@1 Extra proj (Enchant or Quiver/Bow)@2 Extra projs (LMP,.)@4 Extra projs (GMP,.)@Theorical Maximum')

xlabel("Attacks per second")

ylabel("Casts per second")

title("Cooldown Recovery Rate <15%")

subplot(212)

plot2d(A',[R(:,2),R_enc(:,2),R_LMP(:,2),R_GMP(:,2),Thre_CDR],leg='Unsupported@1 Extra proj (Enchant or Quiver/Bow)@2 Extra projs (LMP,.)@4 Extra projs (GMP,.)@Theorical Maximum')

xlabel("Attacks per second")

ylabel("Casts per second")

title("Cooldown Recovery Rate >=15%")

The algorithm is the following :We consider that the server receives order to make a character attack with Barrage a large number (N=200) of time.We assume that the origin of time corresponds to the server tick where the character starts the first Barrage windup, then we consider that the logic of the attack does not depend of the server tick rates, but only the hit registration(hitreg) will.The hit is supposed registered on the next server tick following the projectile launch (we assumed that there was no projectile travel time for now)If the CoC is still on cooldown, it's not considered a cast, if not it's a castThat's the idea, now you obtain the number of casts on a high number of attacks, knowing your APS, you can get your CPS :)I've run a Scilab(MATLAB but Open Source) Script, but was to lazy to comment it, it might explain it further if needed/people are interested Hello fellow Exiles !Since Cast On Crit is back on the menu with its 0.15sec cooldown, let's talk aboutI wasn't there during the CoC "Golden Era", but barrage was the "way to go" for Bow CoC builds due to its nature :Barrage is a bow attack that takes some time charging, then fires sequentially several projectiles in a short amount of time.Since the projectiles are not simultaneous, several projectiles of the same attack CAN hit the same target, so the idea with Barrage and CoC is to trigger the spellSo now we have an idea, however, there are some contraints to do so :The servers have an internal clock of 30,3Hz, which means events are actually treated server-side every 33ms, basically spells can only triggered on server ticks, meaning the effective cooldown of the Gem is 165ms , or 132ms if you have more than 14% cooldown recovery rate.We now also know how barrage works :So we have 40% of the attack time doing nothing, then spending the 60 remaining % on unleashing projectiles. That means there is a "tempo" your attack must have to optimise casts,Basically, assuming you have 100% crit and accuracy, the variables are :A final parameter is the travel time of the arrow(depending on the distance to the target and the velocity modifiers), which was neglected in this study (the hits were assumed instant)So...I have simulated the number of Spell casts/secon you can obtain, relatively to the variables presented before , the results are interesting to say the least:(direct link to the image gallery: https://imgur.com/a/Ute7oBs A few noteworthy remarks : Last edited by HerrMyth on Dec 7, 2018, 7:13:18 PM Last bumped on Dec 20, 2018, 2:11:21 PM Posted by

HerrMyth

on on Quote this Post

Is this with a single triggered spell? Does the addition of one or two additional triggered spells affect the optimal breakpoints? What about the barrage threshold jewel? Posted by

grandanes

on on Quote this Post

This is was simulated for a single triggered spell, i'm still downloading 3.5 patch so I have no idea of the behaviour with several spells, but i don't think it will matter since (afaik) the cooldown is effectively on the CoC gem, not on the spells.



The Volley Fire jewels projectiles are not considered as "Extra projectiles", since they are fired on the same time as the first and last projectiles, which mean they don't create a new hit time (they are marginally useful if you consider non perfect accuracy, since they up the hit probability) so they are not creating a potential spell cast. Last edited by HerrMyth on Dec 7, 2018, 6:14:32 PM Posted by

HerrMyth

on on Quote this Post

Well the CD is on the individual spell. I just can't remember if a single hit can trigger multiple linked spells.



My main though with volley fire is because it throws out the projectiles in a cone it could be a secondary trigger mechanism for packs, as it would likely not hit at the same server tick. This would only be useful if a single hit cannot trigger multiple spells. Posted by

grandanes

on on Quote this Post

I'll check the behaviour with multiple spells tomorrow as soon as i can.



For Volley Fire projectiles, I agree that they may hit on another server tick, but since it's on the first and last hits, of which the first will always proc the spell, and the last should too (for a barely optimal setup), which means the Volley Fire projs will most likely hitreg during the 4/5 server ticks cooldown, even if the travel distance is very different between both targets, due to the high speed of barrage projectiles



Edit : Considerations about travel distance and target/pack spread are planned but I lack information, particularly about projectile speed Last edited by HerrMyth on Dec 7, 2018, 7:11:41 PM Posted by

HerrMyth

on on Quote this Post

This is really interesting, as I'm running deadeye and planning on going barrage-coc. As was stated earlier, the CD is on the spell not the coc gem per se afaik, but I think only one spell can be triggered per frame.



So they need to be (or hit) staggered. Last edited by mrpetrov on Dec 8, 2018, 10:59:41 AM Posted by

mrpetrov

on Alpha Member on Quote this Post

Also, any chance you could please run the scenarios where we have two spells linked to CoC?



That would be great, thanks again for your work! Posted by

mrpetrov

on Alpha Member on Quote this Post

if I have GMP support linked to barrage , would that help or damage my CoC proc ?

also Iam linking 3 spells with barrage,

also Iam considering dual wielding swords since you can get a much higher base attack speed swords and crit chance than bows in general,and link the CoC with lancing steel, do you know if lancing steel interact the same way as barrage does ?



plz do the math for me, thank you very much :) ! Posted by

thepirate32

on on Quote this Post

" thepirate32

also Iam linking 3 spells with barrage,

also Iam considering dual wielding swords since you can get a much higher base attack speed swords and crit chance than bows in general,and link the CoC with lancing steel, do you know if lancing steel interact the same way as barrage does ?



plz do the math for me, thank you very much :) ! if I have GMP support linked to barrage , would that help or damage my CoC proc ?also Iam linking 3 spells with barrage,also Iam considering dual wielding swords since you can get a much higher base attack speed swords and crit chance than bows in general,and link the CoC with lancing steel, do you know if lancing steel interact the same way as barrage does ?plz do the math for me, thank you very much :) !



GMP helps proc if there is more than a single target. It makes no difference to proc rate va a single target unless your skill shotguns (eg ice spear).



Swords is more dangerous because you need to be in range and you can’t proc as reliably as you can with barrage (although static strike is great). Unless you use cospris. GMP helps proc if there is more than a single target. It makes no difference to proc rate va a single target unless your skill shotguns (eg ice spear).Swords is more dangerous because you need to be in range and you can’t proc as reliably as you can with barrage (although static strike is great). Unless you use cospris. Posted by

mrpetrov

on Alpha Member on Quote this Post