mzxrules

Attack Collision Timing Glitch

Aug 8th, 2016
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. As usual, all addresses are for Ocarina of Time NTSC 1.0 or Majora's Mask Japanese 1.0. Furthermore, I should note that my research into this isn't complete yet, but considering the sheer scope of this glitch, I need to get the basics out.
  2.  
  3. Videos:
  4. Kill Beamos with Deku Nuts: https://www.youtube.com/watch?v=3GbKicciTRY
  5. Kill Armos with Deku Nuts: https://twitter.com/bakeneko1048/status/762667908136787968
  6. Break Bubbles with Deku Nuts: https://twitter.com/bakeneko1048/status/762755525276676096
  7. Kill Beamos with Spin Attack: https://www.youtube.com/watch?v=oLFDNHHB_zQ
  8.  
  9. In Zelda 64, certain actors define a "damage table", a 0x20 byte struct, that allows the actor to react to a wide variety of attacks in different ways. Each byte in the table corresponds to one type of attack.
  10.  
  11. A listing of known damage tables for Ocarina of Time can be found here:
  12. https://docs.google.com/spreadsheets/d/1pXvFipVwQPoD4MCuUij8CLLZ_P7np4aNdgn1f8ziXso/edit#gid=136746718
  13.  
  14. A listing of known damage tables for Majora's Mask can be found here:
  15. https://docs.google.com/spreadsheets/d/1OaOJU39XZ6ueg2136gt0GmJzAV0GznXe4Bzx547zDjM/edit#gid=1086571355
  16.  
  17. The byte itself is split into two parts:
  18.  
  19. & 0xF0 stores the type of reaction the actor will have when hit by that attack. These ids are actor specific
  20. & 0x0F stores the amount of damage dealt by that attack
  21.  
  22. For example, Anubis has 0x23 set for a hit by Din's Fire. The 2 represents that Anubis has been hit by a fire attack, while the 3 is the amount of damage the attack deals.
  23.  
  24. With this glitch, it seems to me (though further debugging is needed) that whenever you hit an enemy with a damage table with an attack, then interrupt the hit by talking to Navi or triggering a mini-cutscene (like pressing on a blue switch, or allowing day to advance to night in Majora's Mask) the Zelda 64 engine zeroes the attack type variable being stored in the actor, which in turn can change how the actor reacts to that hit when normal play resumes.
  25.  
  26. Thus, if you hit a Tektike or Dinolfos with a Deku Nut and interrupt the hit with Navi, these enemies will "take damage" since type 0 attacks on these monsters are treated as being hit by (for example) a sword. However, no damage is dealt, possibly because the attack's damage modifier is 0. More research is needed.
  27.  
  28. Beamos and Armos are different. When hit by a damaging type of attack, both enemies decrement their health by 1 directly, rather than refer to the damage table. Beamos in Ocarina of Time do not define a Damage Table, thus the glitch does not work. However, it's Majora's Mask counterpart defines type 0 as an explosive hit, allowing you to kill it by delaying nearly all forms of attacks. Armos statues seem to not follow this pattern for some reason though, as type 0 corresponds with Deku Stick/Kokiri Sword attacks, two attacks that the creature is suppose to be immune to.
Add Comment
Please, Sign In to add comment