We are Fighters

System Free Step Dash Cancel Bug

Discussion in 'Dead or Alive 5 Last Round System Discussion' started by AlexXsWx, Jul 1, 2018.

By AlexXsWx on Jul 1, 2018 at 8:46 AM
  1. AlexXsWx

    AlexXsWx Member

    UPDATE: this is not limited to :8:/:2::h+k:, and works with almost every move that has "Followup interval"

    I've finally managed to consistently reproduce the free step dash cancel bug, that I've seen long time ago (DOA5LR steam version 1.10C).

    It seems that if you buffer dash ( :4::4: or :6::6: ), then input :2: on the idle frame (or actually 1 frame before that, so that the game displays it on the idle frame), and :h+k: on the following frame, the attack will have reduced recovery frames (and will start with 2 idle frames instead of 1). Although it seems this only applies to characters who got a followup after that move:

    Brad Wong (0 recovery frames), Kokoro (2 recovery frames), Christie (1), Hayabusa (10 instead of 22), Nyotengu (1), Eliot (1), Akira (3), Jacky (0) and Leon (cancels attack completely). Not sure how Hayabusa ended up in this list, since he actually doesn't have a followup after that.

    After the recovery is canceled you are free to do anything - e.g. with Christie you can get natural combo on :2::h+k: (cancel) :P: .

    I've only tested :2::h+k: on all chars, but I believe this thread mentions more moves that can benefit from this bug. Please share if you find anything else :)

    Some gifs:

    Here's a macro for Razer Synapse that I used to record this gifs: [link]
    (Put it to C:/Program Data/Razer/Synapse/Accounts/<Account>/Macros/)

    Alternatively here's pseudo code of the macros:
    Code:
    // a hold to access buffering / idle frame
    press: left
    press: hold
    wait: 50ms
    release: left
    release: hold
    
    // buffer 66
    wait: 380ms
    press: right
    wait: 16ms
    release: right
    wait: 17ms
    press: right
    wait: 17ms
    release: right
    
    // press 2 before the idle frame (so that the game shows it on the idle frame)
    wait: 16ms
    press: down
    
    // press h+k 1 frame after
    wait: 16ms
    press: h+k (single button)
    
    // release 2h+k
    wait: 37ms
    release: down
    release: h+k (single button)
    

    Maybe @WAZAAAAA will volunteer to provide an AHK version of that
    [link]
    Code:
    ;save this file as anything.ahk, install AutoHotkey to run it, press F1 to start
    
    ;optimizations for better input accuracy
    #SingleInstance Force
    #NoEnv
    #MaxHotkeysPerInterval 99000000
    #HotkeyInterval 99000000
    #KeyHistory 0
    ListLines Off
    Process, Priority, , R
    SetBatchLines, -1
    SetKeyDelay, -1, -1
    SetMouseDelay, -1
    SetDefaultMouseSpeed, 0
    SetWinDelay, -1
    SetControlDelay, -1
    SendMode Input
    SetTitleMatchMode, 2
    WaitFrames(WaitFrames)
    {
        DllCall("Sleep",UInt,WaitFrames * 16.8) ;how many milliseconds does a frame last
    }
    
    ;This macro/script needs the game to have a keyboard as the main input device, so unplug your controllers if necessary.
    ;H+K/P+K are written as H#K/P#K due to technical limitations.
    ;Please customize these keyboard configs to match your in-game mapping.
    ;Default mapping is for a QWERTY keyboard - in-game TYPE-A.
    H = j
    P = k
    K = l
    P#K = u
    H#K = o
    T = m
    Tag = i
    8 = up
    2 = down
    4 = left
    6 = right
    
    ;example script of Hayabusa/Ayane/Hayate/Kasumi doing a basic FSDC with 8H+K
    $*F1:: ;the key to start executing inputs
    {
    ;do any move to access buffering and the idle frame. A hold is good for tests because it's the same timing for every character
        send,{%4% down}
        send,{%H% down}
        WaitFrames(2)
        send,{%4% up}
        send,{%H% up}
        WaitFrames(22)
    ;buffer a dash (66 or 44) inside the previous move
        send,{%6% down}
        WaitFrames(2)
        send,{%6% up}
        WaitFrames(2)
        send,{%6% down}
        WaitFrames(4) ;when FSDCing with 8, waiting 3 or 4 frames here (aka same with the idle frame or the next frame) are both valid. When FSDCing with 2 it's stricter
        send,{%6% up} ;releasing 4/6 on the same frame/next frame/frame after 8 (= 3 frames) makes the idle input part become a 2-frame window instead of 1-frame. This extra leniency is not possible to obtain when you FSDC using 2
        send,{%8% down} ;we are pressing 8/2 on the idle frame here
        WaitFrames(2) ;this can be WaitFrames 1/2/3 when doing 448/668, but it has to be 1 when doing 442/662
    ;do any move with FOLLOWUP INTERVAL on the NEXT FRAME here
        send,{%H#K% down}
        WaitFrames(3)
        send,{%8% up} ;make sure you're holding down 8/2 for at least 3 frames, or else no FSDC
        send,{%H#K% up}
    ;If you intend to FSDC with 442/662 instead, releasing 6/4 and pressing 2 must NOT happen on the same frame, so you must add +1 wait frame between the two, reduce by -2 the "WaitFrames(4)", and change the 1/2/3 part to 1
    }
    return
    
    $*Ins::Reload ;press Ins after editing this script to reload it and test your changes quickly (recommended)
    
    Thanks @WAZAAAAA ! Check his full post here

    Bonus gif

    UPDATE: this also works with :8::h+k: (e.g. on Christie it performs her :h+k: and cancels its recovery after 3rd recovery frame - https://gfycat.com/ShortRepulsiveFrigatebird )
    This also works on Kasumi (1 recovery frame), Alpha (1 recovery frame), Helena (12), Bayman (1), Rig (0), Ayane (1), Hayabusa (1), Tengu (3), Akira (full cancel on 2nd startup frame), Sarah 9H+K (0), Hayate (1), Naotora (full cancel), Momiji (0) and Ein (3)

    Helena's H+K is actually a guard break and with the freestep cancel it's +16 on block which guarantees a launcher (at least first hit) - here's recording without using macros (took some time to get used to the timing) https://gfycat.com/PlainMemorableBobcat

    Also works with Hitomi's 9H (reducing recovery frames count to 3)

    UPDATE #2: Also works with Christie's 8P, Rig's 8K and Rig's 7K (need to input as :8: :pause: :7::+::K: with :8: being on the idle frame and :7::+::K: on the following frame)

    UPDATE #3: Also works with Rig's 6K, although input is very strict - you need to press :8: on the idle frame, and on following frame release :8: and press :6: and :K:
     
    #1
    Last edited: Jul 8, 2018

Comments

Discussion in 'Dead or Alive 5 Last Round System Discussion' started by AlexXsWx, Jul 1, 2018.

    1. Mr. Wah
      Mr. Wah
      I've had this done with Bass' :41236::t__: before where it cancelled his charge of the attack. So it may not always be H+K.
      UncleKitchener likes this.
    2. WAZAAAAA
      WAZAAAAA
      This is delicious, finally. I'm working on exploring this more, the exploiting potential of this is actually horrifying, we might've broken the DOA series ladies and gentlemen lmao


      Explanation of when a move will be interrupted using the glitch:
      Code:
      8H+K Christie
      FOLLOWUP INTERVAL 19-36F
      normal 14(2)20
      glitch 14(2)3 total 19
      
      2H+K Christie
      FOLLOWUP INTERVAL 20-35F
      normal 16(3)24
      glitch 16(3)1 total 20
      
      2H+K Brad Wong
      FOLLOWUP INTERVAL 22-22F
      normal 18(4)26
      glitch 18(4)0 total 22
      
      8H+K Hayabusa
      FOLLOWUP INTERVAL 17-17F
      normal 14(2)35
      glitch 14(2)1 total 17
      
      2H+K Hayabusa
      FOLLOWUP INTERVAL 38-50F
      normal 23(5)22
      glitch 23(5)10 total 38
      TL;DR it's dictated by the FOLLOWUP INTERVAL (move details page 3).
      Even Hayabusa 2H+K has that... except he can't followup with anything. Most likely a code leftover from DOA4 where he actually had a string starting from 2H+K.
      Chapstick, YEH, Jaguar360 and 2 others like this.
    3. YEH
      YEH
      1- Is this just for 1.10C or tried on anything before and worked?
      2- PC only or multiplatform?
      3- What is the potential of unholdables with this?
    4. WAZAAAAA
      WAZAAAAA
      Chapstick and YEH like this.
    5. AlexXsWx
      AlexXsWx
      Well since you can now cancel recoveries, you naturally have more options for unholdables
    6. AlexXsWx
      AlexXsWx
      I've updated the post with some more findings, like Christie's 8P, Rig's 8K, 7K and 6K
    7. Hazard
      Hazard
      I was able to manually do it with Akira's P+K, but only once cause I'm not familar with the timing + don't have the macro tools.
      https://streamable.com/55ads
      Last edited: Jul 1, 2018
    8. Mr. Wah
      Mr. Wah
      So far are each of the examples using tool assisting?
    9. AlexXsWx
      AlexXsWx
      For testing, yes, but I was able to reproduce some of the findings manually after some practice, e.g. https://gfycat.com/PlainMemorableBobcat
    10. Mr. Wah
      Mr. Wah
      Cool, so does the 66, 8/2, or move input have to be on the idle frame?
    11. KasumiLover
      KasumiLover
      Does this bug work on ps4 as well?
      illninofan likes this.
    12. AlexXsWx
      AlexXsWx
      8/2 has to be timed so that game displays it on the idle frame. Move input (p/k etc) has to be 1 frame after. 66/44 has to be fully released before the idle frame
      illninofan likes this.
    13. AlexXsWx
      AlexXsWx
      Yes
      illninofan and KasumiLover like this.
    14. KasumiLover
      KasumiLover
      Well I'm booting up DOA5LR then ^.^ thank you!
      illninofan likes this.
    15. YEH
      YEH
      @WAZAAAAA, what's wrong with the following ahk script, I haven't used it since maybe 2014


      Code:
      #NoEnv
      SetWorkingDir %A_ScriptDir%
      CoordMode, Mouse, Window
      SendMode Input
      #SingleInstance Force
      SetTitleMatchMode 2
      #WinActivateForce
      SetControlDelay 1
      SetWinDelay 0
      SetKeyDelay -1
      SetMouseDelay -1
      SetBatchLines -1
      
      x::
      Macro2:
      ; A hold to access buffering / idle frame
      Send, {a down}
      Send, {k down}
      Sleep, 50
      Send, {a up}
      Send, {k up}
      
      ; Buffer 66
      Sleep, 380
      Send, {d down}
      Sleep, 16
      Send, {d up}
      Sleep, 17
      Send, {d down}
      Sleep, 17
      Send, {d up}
      
      ; Press 2 before the idle frame (so that the game shows it on the idle frame)
      Sleep, 16
      Send, {s down}
      
      ; Press h+k 1 frame after
      Sleep, 16
      Send, {o down} ; (single button h+k)
      
      ; Release 2h+k
      Sleep, 37
      Send, {s up}
      Send, {o up} ; (single button h+k)
      Return
      I have custom keyboard for DOA5LR and not the default key bindings
    16. Arnell Long
      Arnell Long
      This is cool and all but never cared for bugs like these, especially in a fighting game.

      Hopeful DOA6 won't have any as such.
    17. jjinkou2
      jjinkou2
      i found that it also work for this move with kokoro :4::h:,:6::6:,:8::P:.

      i look at the frame of :2::h::+::K: and :8::P: both have a starting frame of 16. hit frame are different (2) and (3) respectively .
      KasumiLover likes this.
    18. ZakkuRye
      ZakkuRye
      This is very interesting! In the lab atm with Hayabusa testing this out!
    19. KasumiLover
      KasumiLover
      So do you hold, do 66 or 44 and then press down immediately before doing the move because I can't seem to do it, I've only done it once with Kokoro using her 8P move...

Share This Page