[tekken2a] Tekken 2 Ver.A - Fix block stun juggles

This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
User avatar
Heihachi_73
Posts: 267
Joined: Thu Jan 26, 2006 8:10 am
Location: Melbourne, Australia
Contact:

[tekken2a] Tekken 2 Ver.A - Fix block stun juggles

Post by Heihachi_73 »

Just like Tekken 1, the original Ver.A release of Tekken 2 also had a number of guard-breaking combos.

While Nina's Forward Flip Kick and King's Exploder were no longer broken in Tekken 2, King's Elbow Sting and Jack's (Jack-2 and P.Jack) Gigaton Punch 1 were still unchanged. Additionally, some of the newer moves were also guaranteed on the second hit, such as Heihachi's Hell Axle (which was also in the PS1 version of Tekken 1 and unblockable there too) and Baek's Hunting Hawk (which is an extension of the Hell Axle).

As with Tekken 1, for the Elbow Sting block stun, the faster-recovering Neutron Bomb block stun saves the day. Note that Jack's Body Press also uses the same block stun (when the opponent has not been flattened instead), but the faster recovery doesn't seem to affect it.

Code: Select all

<mamecheat version="1">

  <cheat desc="Fix King's unblockable Elbow Sting block stun follow-ups"><comment>Also for Armor King and Roger/Alex - This allows you to block combos which would normally juggle after the Elbow Sting</comment>
    <script state="on">
      <action>temp0=maincpu.pd@801720EC</action>
    </script>
    <script state="run">
      <action>maincpu.pd@801720EC=8013DA64</action><!-- Kazuya -->
      <action>maincpu.pd@80173BC4=8013DA64</action><!-- Paul -->
      <action>maincpu.pd@8017569C=8013DA64</action><!-- Law -->
      <action>maincpu.pd@80177174=8013DA64</action><!-- Jack-2 -->
      <action>maincpu.pd@80178C4C=8013DA64</action><!-- Nina -->
      <action>maincpu.pd@8017A724=8013DA64</action><!-- King -->
      <action>maincpu.pd@8017C1FC=8013DA64</action><!-- Yoshimitsu -->
      <action>maincpu.pd@8017DCD4=8013DA64</action><!-- Michelle -->
      <action>maincpu.pd@8017F7AC=8013DA64</action><!-- Wang -->
      <action>maincpu.pd@80181284=8013DA64</action><!-- Heihachi -->
      <action>maincpu.pd@80182D5C=8013DA64</action><!-- Lee -->
      <action>maincpu.pd@80184834=8013DA64</action><!-- P.Jack -->
      <action>maincpu.pd@8018630C=8013DA64</action><!-- Armor King -->
      <action>maincpu.pd@80187DE4=8013DA64</action><!-- Anna -->
      <action>maincpu.pd@801898BC=8013DA64</action><!-- Ganryu -->
      <action>maincpu.pd@8018B394=8013DA64</action><!-- Kuma -->
      <action>maincpu.pd@8018CE6C=8013DA64</action><!-- Kunimitsu -->
      <action>maincpu.pd@8018E944=8013DA64</action><!-- Devil -->
      <action>maincpu.pd@8019041C=8013DA64</action><!-- Lei -->
      <action>maincpu.pd@80191EF4=8013DA64</action><!-- Jun  -->
      <action>maincpu.pd@801939CC=8013DA64</action><!-- Bruce  -->
      <action>maincpu.pd@801954A4=8013DA64</action><!-- Baek  -->
      <action>maincpu.pd@80196F7C=8013DA64</action><!-- Roger  -->
    </script>
    <script state="off">
      <action>maincpu.pd@801720EC=temp0</action>
      <action>maincpu.pd@80173BC4=temp0</action>
      <action>maincpu.pd@8017569C=temp0</action>
      <action>maincpu.pd@80177174=temp0</action>
      <action>maincpu.pd@80178C4C=temp0</action>
      <action>maincpu.pd@8017A724=temp0</action>
      <action>maincpu.pd@8017C1FC=temp0</action>
      <action>maincpu.pd@8017DCD4=temp0</action>
      <action>maincpu.pd@8017F7AC=temp0</action>
      <action>maincpu.pd@80181284=temp0</action>
      <action>maincpu.pd@80182D5C=temp0</action>
      <action>maincpu.pd@80184834=temp0</action>
      <action>maincpu.pd@8018630C=temp0</action>
      <action>maincpu.pd@80187DE4=temp0</action>
      <action>maincpu.pd@801898BC=temp0</action>
      <action>maincpu.pd@8018B394=temp0</action>
      <action>maincpu.pd@8018CE6C=temp0</action>
      <action>maincpu.pd@8018E944=temp0</action>
      <action>maincpu.pd@8019041C=temp0</action>
      <action>maincpu.pd@80191EF4=temp0</action>
      <action>maincpu.pd@801939CC=temp0</action>
      <action>maincpu.pd@801954A4=temp0</action>
      <action>maincpu.pd@80196F7C=temp0</action>
    </script>
  </cheat>

</mamecheat>
If there's an easier way to do this, let me know, it would be nice being able to only need one cheat instead of hacking the movelist pointers for all 23 characters every time.
User avatar
Heihachi_73
Posts: 267
Joined: Thu Jan 26, 2006 8:10 am
Location: Melbourne, Australia
Contact:

Re: [tekken2a] Tekken 2 Ver.A - Fix block stun juggles

Post by Heihachi_73 »

Jack-2's and P.Jack's Gigaton Punch 1:
This time I have used the block stun normally used for Lei's f,N,3 kick, as the Neutron Bomb recovery is way too quick. The original stun is also used when blocking cross chops (e.g. Running Cross Arm) and Roger's f,f+1,2,1,2,1 combo, but both sides are still safe on block.

Code: Select all

<mamecheat version="1">

  <cheat desc="Fix Jack-2's unblockable Gigaton Punch 1 block stun follow-ups"><comment>Also for P.Jack - This allows you to block combos which would normally juggle after Gigaton Punch 1</comment>
    <script state="on">
      <action>temp0=maincpu.pd@801720F4</action>
    </script>
    <script state="run">
      <action>maincpu.pd@801720F4=8013D8FC</action><!-- Kazuya -->
      <action>maincpu.pd@80173BCC=8013D8FC</action><!-- Paul -->
      <action>maincpu.pd@801756A4=8013D8FC</action><!-- Law -->
      <action>maincpu.pd@8017717C=8013D8FC</action><!-- Jack-2 -->
      <action>maincpu.pd@80178C54=8013D8FC</action><!-- Nina -->
      <action>maincpu.pd@8017A72C=8013D8FC</action><!-- King -->
      <action>maincpu.pd@8017C204=8013D8FC</action><!-- Yoshimitsu -->
      <action>maincpu.pd@8017DCDC=8013D8FC</action><!-- Michelle -->
      <action>maincpu.pd@8017F7B4=8013D8FC</action><!-- Wang -->
      <action>maincpu.pd@8018128C=8013D8FC</action><!-- Heihachi -->
      <action>maincpu.pd@80182D64=8013D8FC</action><!-- Lee -->
      <action>maincpu.pd@8018483C=8013D8FC</action><!-- P.Jack -->
      <action>maincpu.pd@80186314=8013D8FC</action><!-- Armor King -->
      <action>maincpu.pd@80187DEC=8013D8FC</action><!-- Anna -->
      <action>maincpu.pd@801898C4=8013D8FC</action><!-- Ganryu -->
      <action>maincpu.pd@8018B39C=8013D8FC</action><!-- Kuma -->
      <action>maincpu.pd@8018CE74=8013D8FC</action><!-- Kunimitsu -->
      <action>maincpu.pd@8018E94C=8013D8FC</action><!-- Devil -->
      <action>maincpu.pd@80190424=8013D8FC</action><!-- Lei -->
      <action>maincpu.pd@80191EFC=8013D8FC</action><!-- Jun  -->
      <action>maincpu.pd@801939D4=8013D8FC</action><!-- Bruce  -->
      <action>maincpu.pd@801954AC=8013D8FC</action><!-- Baek  -->
      <action>maincpu.pd@80196F84=8013D8FC</action><!-- Roger  -->
    </script>
    <script state="off">
      <action>maincpu.pd@801720F4=temp0</action>
      <action>maincpu.pd@80173BCC=temp0</action>
      <action>maincpu.pd@801756A4=temp0</action>
      <action>maincpu.pd@8017717C=temp0</action>
      <action>maincpu.pd@80178C54=temp0</action>
      <action>maincpu.pd@8017A72C=temp0</action>
      <action>maincpu.pd@8017C204=temp0</action>
      <action>maincpu.pd@8017DCDC=temp0</action>
      <action>maincpu.pd@8017F7B4=temp0</action>
      <action>maincpu.pd@8018128C=temp0</action>
      <action>maincpu.pd@80182D64=temp0</action>
      <action>maincpu.pd@8018483C=temp0</action>
      <action>maincpu.pd@80186314=temp0</action>
      <action>maincpu.pd@80187DEC=temp0</action>
      <action>maincpu.pd@801898C4=temp0</action>
      <action>maincpu.pd@8018B39C=temp0</action>
      <action>maincpu.pd@8018CE74=temp0</action>
      <action>maincpu.pd@8018E94C=temp0</action>
      <action>maincpu.pd@80190424=temp0</action>
      <action>maincpu.pd@80191EFC=temp0</action>
      <action>maincpu.pd@801939D4=temp0</action>
      <action>maincpu.pd@801954AC=temp0</action>
      <action>maincpu.pd@80196F84=temp0</action>
    </script>
  </cheat>

</mamecheat>
User avatar
Heihachi_73
Posts: 267
Joined: Thu Jan 26, 2006 8:10 am
Location: Melbourne, Australia
Contact:

Re: [tekken2a] Tekken 2 Ver.A - Fix block stun juggles

Post by Heihachi_73 »

Note: This cheat is imperfect, I'd probably skip adding it for now. While some characters like Kazuya can clear the second kick, larger characters like Jack-2 are still being hit even in their crouching animation. Can't really do anything about that as regular non-staggering animations leave Heihachi/Baek open when blocked.

Heihachi's Hell Axle and Baek's Hunting Hawk:
Unfortunately there are no standing block stun animations which lead to a fast enough recovery state in Ver.A, so I have gone with Law's Running Side Kick - unlike Tekken 2 Ver.B where the user remains standing straight up and can block both hits (except for Heihachi's running variation which is still unblockable), this will now whiff when blocked as the opponent crouches slightly instead (note that a neutral guard can occasionally still be hit by the second kick). I tried every other standing block stun animation but all of them end up as a juggle on the second kick. The Leaping Side Kick used by Kazuya, Heihachi, Devil, Baek and Lei also used this block stun, but the new animation causes no major differences aside from crouching.

Code: Select all

<mamecheat version="1">

  <cheat desc="Fix Heihachi's unblockable second Hell Axle kick"><comment>Also for Baek's Hunting Hawk - This allows you to block or avoid the second kick</comment>
    <script state="on">
      <action>temp0=maincpu.pd@801720D0</action>
    </script>
    <script state="run">
      <action>maincpu.pd@801720D0=8013DA1C</action><!-- Kazuya -->
      <action>maincpu.pd@80173BA8=8013DA1C</action><!-- Paul -->
      <action>maincpu.pd@80175680=8013DA1C</action><!-- Law -->
      <action>maincpu.pd@80177158=8013DA1C</action><!-- Jack-2 -->
      <action>maincpu.pd@80178C30=8013DA1C</action><!-- Nina -->
      <action>maincpu.pd@8017A708=8013DA1C</action><!-- King -->
      <action>maincpu.pd@8017C1E0=8013DA1C</action><!-- Yoshimitsu -->
      <action>maincpu.pd@8017DCB8=8013DA1C</action><!-- Michelle -->
      <action>maincpu.pd@8017F790=8013DA1C</action><!-- Wang -->
      <action>maincpu.pd@80181268=8013DA1C</action><!-- Heihachi -->
      <action>maincpu.pd@80182D40=8013DA1C</action><!-- Lee -->
      <action>maincpu.pd@80184818=8013DA1C</action><!-- P.Jack -->
      <action>maincpu.pd@801862F0=8013DA1C</action><!-- Armor King -->
      <action>maincpu.pd@80187DC8=8013DA1C</action><!-- Anna -->
      <action>maincpu.pd@801898A0=8013DA1C</action><!-- Ganryu -->
      <action>maincpu.pd@8018B378=8013DA1C</action><!-- Kuma -->
      <action>maincpu.pd@8018CE50=8013DA1C</action><!-- Kunimitsu -->
      <action>maincpu.pd@8018E928=8013DA1C</action><!-- Devil -->
      <action>maincpu.pd@80190400=8013DA1C</action><!-- Lei -->
      <action>maincpu.pd@80191ED8=8013DA1C</action><!-- Jun  -->
      <action>maincpu.pd@801939B0=8013DA1C</action><!-- Bruce  -->
      <action>maincpu.pd@80195488=8013DA1C</action><!-- Baek  -->
      <action>maincpu.pd@80196F60=8013DA1C</action><!-- Roger  -->
    </script>
    <script state="off">
      <action>maincpu.pd@801720D0=temp0</action>
      <action>maincpu.pd@80173BA8=temp0</action>
      <action>maincpu.pd@80175680=temp0</action>
      <action>maincpu.pd@80177158=temp0</action>
      <action>maincpu.pd@80178C30=temp0</action>
      <action>maincpu.pd@8017A708=temp0</action>
      <action>maincpu.pd@8017C1E0=temp0</action>
      <action>maincpu.pd@8017DCB8=temp0</action>
      <action>maincpu.pd@8017F790=temp0</action>
      <action>maincpu.pd@80181268=temp0</action>
      <action>maincpu.pd@80182D40=temp0</action>
      <action>maincpu.pd@80184818=temp0</action>
      <action>maincpu.pd@801862F0=temp0</action>
      <action>maincpu.pd@80187DC8=temp0</action>
      <action>maincpu.pd@801898A0=temp0</action>
      <action>maincpu.pd@8018B378=temp0</action>
      <action>maincpu.pd@8018CE50=temp0</action>
      <action>maincpu.pd@8018E928=temp0</action>
      <action>maincpu.pd@80190400=temp0</action>
      <action>maincpu.pd@80191ED8=temp0</action>
      <action>maincpu.pd@801939B0=temp0</action>
      <action>maincpu.pd@80195488=temp0</action>
      <action>maincpu.pd@80196F60=temp0</action>
    </script>
  </cheat>

</mamecheat>
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: [tekken2a] Tekken 2 Ver.A - Fix block stun juggles

Post by Pugsy »

Thanks, added the first two. As for downsizing the cheats there's not an easier way, if you had loads of similar format cheats but the address was different it maybe worthwhile to set the base address in a temp variable and then add multiples of 1AD8 to add to it for each subsequent address. That way you'd only need to specify a single address - handy for duplicating such cheats for clones or for similar movement cheats.

if you set temp1=801720D0 and temp2 = 8013DA1C, temp3= 1AD8, you could do this
<action>maincpu.pd@temp1=temp2</action><!-- Kazuya -->
<action>maincpu.pd@temp1+(temp3*1)=temp2</action><!-- Paul -->
<action>maincpu.pd@temp1+(temp3*2)=temp2/action><!-- Law -->
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
Heihachi_73
Posts: 267
Joined: Thu Jan 26, 2006 8:10 am
Location: Melbourne, Australia
Contact:

Re: [tekken2a] Tekken 2 Ver.A - Fix block stun juggles

Post by Heihachi_73 »

It might be possible to alter the frame data of the animation itself rather than needing to hack all 23 movesets every time, although I have no idea where to look. That would reduce the size of the cheats significantly as it would only need to check that the first player's move pointer (e.g. Elbow Sting) address coincides with the second player's move pointer (e.g. when staggering back after blocking the move) and poke the fix, while remembering the default frame count if any other move triggers the same animation (e.g. comparing Hell Axle/Hunting Hawk vs. a regular Leaping Side Kick or u/f+LK jump kick without the second kick). Likewise when it's the second player attacking the first.
Post Reply