Uploaded August 2024 | Updated September 2026, 2 weeks ago
Dark Link is implemented in a radically different way from every other enemy in the game. His AI literally generates virtual controller inputs, and then feeds them to the same code the game uses to control the real Link. (There's some extra behaviour added, but that's the basic idea.) This can lead to bugs, because code can run that was only ever intended for the real Link.
Dark Link is coded to hold the Z button to target Link under most circumstances, but to let go of the button if he is more than 610 units away.
Whenever you jumpslash, Dark Link is coded to press A and move backwards, in order to backflip.
The bug in the above is this: If you jumpslash when Dark Link is far away, he will press A intending to backflip. But since he is not holding Z, he will instead do the default action for the A button - putting away your sword. Once he has done this, he is _permanently_ stuck unable to use the sword for the rest of the battle. This can easily be done by luring him to one corner of the map, and then running to the other corner and jumpslashing.
This seems to have been discovered by @petrie911 as part of the Ocarina of Time decompilation project: github.com/zeldaret/oot/blob/6c4935dc184122d395e1f546ec35573c4d2d3d96/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c#L625
Dark Link is implemented in a radically different way from every other enemy in the game. His AI literally generates virtual controller inputs, and then feeds them to the same code the game uses to control the real Link. (There's some extra behaviour added, but that's the basic idea.) This can lead to bugs, because code can run that was only ever intended for the real Link.
Dark Link is coded to hold the Z button to target Link under most circumstances, but to let go of the button if he is more than 610 units away.
Whenever you jumpslash, Dark Link is coded to press A and move backwards, in order to backflip.
The bug in the above is this: If you jumpslash when Dark Link is far away, he will press A intending to backflip. But since he is not holding Z, he will instead do the default action for the A button - putting away your sword. Once he has done this, he is _permanently_ stuck unable to use the sword for the rest of the battle. This can easily be done by luring him to one corner of the map, and then running to the other corner and jumpslashing.
This seems to have been discovered by @petrie911 as part of the Ocarina of Time decompilation project: github.com/zeldaret/oot/blob/6c4935dc184122d395e1f546ec35573c4d2d3d96/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c#L625


