Difference between revisions of "Amazon attack speed"

From Basin Wiki
Jump to navigation Jump to search
(Cut and pasted Attack rate section from Strafe page, some reorganisation)
(→‎Strafe: Expanded explanation of effect of next delay and client/server discrepancies on attack rate)
Line 2,069: Line 2,069:
  
 
==Strafe==
 
==Strafe==
[[Strafe]] always fires a volley of at least two missile attacks, whose combined length is the sum of the First and Last Frame sub-columns in the tables below. Lengths added by further missile attacks are in the Follow-up Frame sub-column, from left to right.
+
[[Strafe]] is an [[attack]] sequence which always consists of at least two [[missile]]s, whose length is the sum of the First and Last Frame sub-columns in the tables below; lengths added by additional missiles (due to additional targets or more minimum arrows) are in the Follow-up Frame sub-column, from left to right (the Last Frame sub-column is normally the combined length of the follow-up interval between the last two missiles and the end of the sequence animation).
  
  
Due to the existence of the bugged breakpoints and [[Next Delay|next delay]], effective [[attack rate]] against multiple and particularly single targets is not straightforward.
+
For example, when two arrows are fired by a [[bow]] with {{Mb|=0 EIAS}} (6|3|10), sequence length is 16 (6+10) frames (the first arrow is fired in frame 6, the second 3 frames later and the remainder of the animation is 7 frames); when 10 arrows are fired, sequence length is 40 (6 + (3*8) + 10) frames. Average [[attack rate]] against dispersed targets is sequence length/missiles, so the two arrow sequence averages 8 (16/2) frames per arrow while the 10 arrow sequence averages 4 (40/10) frames per arrow.
  
  
Arrows and bolts travel at the same speed, so it takes the same time for either to pass through a target. Effective attack rate is maximised by ensuring it takes as long as possible for each missile to pass through a target, allowing the maximum time possible for [[Next Delay|next delay]] activated by a previous arrow to expire: firing sequences are a fixed length, so maximising collisions per sequence results in more collisions and thus more hits and damage over time. However, while both always take 3 frames to pass through a [[size]] 3 target independent of firing position, it takes 1-3 frames for them to pass through a size 2 target dependent on firing position.
+
Strafe has a 4 frame [[Next Delay|next delay]], which prevents its missiles colliding with a '''single''' target more than once every 5 frames (this does not affect multiple ''dispersed'' targets since next delay will expire even when alternating between just two targets, although it may affect multiple targets when consecutive missiles have to pass through one target to reach another). This does '''not''' mean that once the follow-up interval between missiles is less than 5 frames, only alternating arrows will collide with the target: although arrows and bolts normally only make a single collision check, and this check cannot occur while next delay is active, it normally takes time for them to pass through a target and next delay can expire while this is happening.
  
  
[[File:Strafe.png|thumb|center|600px|Arrows or bolts take 3 frames to pass through a size 2 target centered on dark green [[Radius|sub-tiles]], 2 frames to pass through one centered on green sub-tiles and 1 frame to pass through one centered on empty sub-tiles. Effective attack rate against a single target is always maximised at 3 frames and minimised at 1 frame.]]
+
The time it takes for an arrow or bolt (they are the same speed) to pass through a stationary target depends on its [[size]]: it always takes 3 frames to pass through a [[size#Size 3|size 3]] target and a single frame to pass through a [[size#Size 1|size 1]] target, while it takes 1-3 frames to pass through a [[size#Size 2|size 2]] target depending on its position.
 +
 
 +
 
 +
[[File:Strafe.png|thumb|center|600px|Arrows or bolts take 3 frames to pass through a stationary size 2 target centered on dark green [[Radius|sub-tiles]], 2 frames to pass through one centered on green sub-tiles and 1 frame to pass through one centered on empty sub-tiles. Effective attack rate against a single target is always maximised at 3 frames and minimised at 1 frame, so position your [[Amazon]] accordingly.]]
 +
 
 +
 
 +
Effective attack rate is maximised by ensuring it takes as long as possible for each missile to pass through the target, allowing the maximum time possible for next delay activated by a previous missile to expire: attack sequences are a fixed length, so maximising collisions per sequence results in more collisions and thus more hits and damage over time. Since the '''vast''' majority of targets are size 2-3, what follows assumes it takes 3 frames for an arrow to pass through a single stationary target: black cells in the Missile row indicate frames in which no missile is passing through a target, black cells in the Collision row indicate frames in which next delay is active.
 +
 
 +
 
 +
;4 frame follow-up
 +
{{Number table}} width=100%
 +
|-
 +
!Frame
 +
!width=2%|0
 +
!width=2%|1
 +
!width=2%|2
 +
!width=2%|3
 +
!width=2%|4
 +
!width=2%|5
 +
!width=2%|6
 +
!width=2%|7
 +
!width=2%|8
 +
!width=2%|9
 +
!width=2%|10
 +
!width=2%|11
 +
!width=2%|12
 +
!width=2%|13
 +
!width=2%|14
 +
!width=2%|15
 +
!width=2%|16
 +
!width=2%|17
 +
!width=2%|18
 +
!width=2%|19
 +
!width=2%|20
 +
!width=2%|21
 +
!width=2%|22
 +
!width=2%|23
 +
!width=2%|24
 +
!width=2%|25
 +
!width=2%|26
 +
!width=2%|27
 +
!width=2%|28
 +
!width=2%|29
 +
!width=2%|30
 +
!width=2%|31
 +
!width=2%|32
 +
!width=2%|33
 +
!width=2%|34
 +
!width=2%|35
 +
!width=2%|36
 +
!width=2%|37
 +
|-align=center
 +
!Missile
 +
|colspan=3 {{IP|=1}}||{{E}}
 +
|colspan=3 {{IP|=2}}||{{E}}
 +
|colspan=3 {{IP|=3}}||{{E}}
 +
|colspan=3 {{IF|=4}}||{{E}}
 +
|colspan=3 {{IP|=5}}||{{E}}
 +
|colspan=3 {{IP|=6}}||{{E}}
 +
|colspan=3 {{IP|=7}}||{{E}}
 +
|colspan=3 {{IF|=8}}||{{E}}
 +
|colspan=3 {{IP|=9}}||{{E}}
 +
|colspan=2 {{IP|=10}}
 +
|-align=center
 +
!Collision
 +
| {{IP|=1}} ||colspan=4 {{E}}
 +
| {{IP|=2}} ||colspan=4 {{E}}
 +
| {{IP|=3}} ||colspan=4 {{E}}
 +
|
 +
| {{IP|=4}} ||colspan=4 {{E}}
 +
| {{IP|=5}} ||colspan=4 {{E}}
 +
| {{IP|=6}} ||colspan=4 {{E}}
 +
|
 +
| {{IP|=7}} ||colspan=4 {{E}}
 +
| {{IP|=8}}
 +
|}
 +
 
 +
 
 +
Thus when 10 missiles are fired at a single stationary target, only 8 (missiles 1, 2, 3, 5, 6, 7, 9 and 10) can actually collide with it.
 +
 
 +
 
 +
;3 frame follow-up
 +
{{Number table}} width=100%
 +
|-
 +
!Frame
 +
!width=2%|0
 +
!width=2%|1
 +
!width=2%|2
 +
!width=2%|3
 +
!width=2%|4
 +
!width=2%|5
 +
!width=2%|6
 +
!width=2%|7
 +
!width=2%|8
 +
!width=2%|9
 +
!width=2%|10
 +
!width=2%|11
 +
!width=2%|12
 +
!width=2%|13
 +
!width=2%|14
 +
!width=2%|15
 +
!width=2%|16
 +
!width=2%|17
 +
!width=2%|18
 +
!width=2%|19
 +
!width=2%|20
 +
!width=2%|21
 +
!width=2%|22
 +
!width=2%|23
 +
!width=2%|24
 +
!width=2%|25
 +
!width=2%|26
 +
!width=2%|27
 +
!width=2%|28
 +
!width=2%|29
 +
|-align=center
 +
!Missile
 +
|colspan=3 {{IP|=1}}
 +
|colspan=3 {{IP|=2}}
 +
|colspan=3 {{IF|=3}}
 +
|colspan=3 {{IP|=4}}
 +
|colspan=3 {{IF|=5}}
 +
|colspan=3 {{IP|=6}}
 +
|colspan=3 {{IP|=7}}
 +
|colspan=3 {{IF|=8}}
 +
|colspan=3 {{IP|=9}}
 +
|colspan=3 {{IF|=10}}
 +
|-align=center
 +
!Collision
 +
| {{IP|=1}} ||colspan=4 {{E}}
 +
| {{IP|=2}} ||colspan=4 {{E}}
 +
| {{IP|=3}} ||colspan=4 {{E}}
 +
| {{IP|=4}} ||colspan=4 {{E}}
 +
| {{IP|=5}} ||colspan=4 {{E}}
 +
| {{IP|=6}} ||colspan=4 {{E}}
 +
|}
 +
 
 +
 
 +
Thus when 10 missiles are fired at a single stationary target, only 6 (missiles 1, 2, 4, 6, 7 and 9) can actually collide with it. Whether or not attack rate improves with fewer collisions in less time varies depending on the EIAS breakpoint and number of missiles fired.
 +
 
 +
 
 +
A further complication is introduced by a bug resulting in discrepancy in length between the sequence displayed by the client and that actually executed on the server. When the sequence is shorter on the client, when a single sequence ends the Amazon is unable to move or execute a different attack until the slower server sequence has ended. However, when consecutive sequences are fired, the server sequence is interrupted when the client sequence ends, and the next sequence begins on both the client and the server.
 +
 
 +
 
 +
For example, a bow with {{Mb|=50 EIAS}} fires at 4|2|7 on the client and 4|3|7 on the server, resulting in a 10 arrow sequence lasting 27 (4 + (2*8) + 7) frames on the client and 35 (4 + (3*8) + 7) frames on the server. So after a single sequence, the Amazon will appear to have stopped firing after 27 frames but she will be unable to do anything else until the sequence actually finishes 8 frames later. Consecutive sequences will result in the server sequence being interrupted after 27 frames:
 +
 
 +
 
 +
{{Number table}} width=100%
 +
!width=20%|Arrow
 +
!width=8%|1
 +
!width=8%|2
 +
!width=8%|3
 +
!width=8%|4
 +
!width=8%|5
 +
!width=8%|6
 +
!width=8%|7
 +
!width=8%|8
 +
!width=8%|9
 +
!width=8%|10
 +
|-align=center
 +
!Frame
 +
|4||7||10||13||16||19||22||25||{{IF|=28}}||{{IF|=31}}
 +
|}
 +
 
 +
 
 +
The server sequence is interrupted before the last two arrows can be fired, resulting in an average of 3.375 (27/8) frames per arrow when fired at multiple dispersed targets; without the interruption, the average would be 3.5 (35/10). When firing at a single stationary target, only 5 of those 8 arrows (1, 2, 4, 6 and 7) can collide with it due to next delay, resulting in an average of 5.4 (27/5) frames per arrow; without the interruption, the average would be ~5.83 (35/6).
 +
<br>
 
<br>
 
<br>
 
 
===BOW===
 
===BOW===
 
{{Number table}}
 
{{Number table}}

Revision as of 17:05, 25 July 2013