ref: ac7263b1adef941f8978b775d4b7629a7d8620e3
parent: 8b194055907d1f69f9e0c7edd232f4e669e3fe48
author: SatoMew <SatoMew@users.noreply.github.com>
date: Thu Aug 11 22:22:57 EDT 2022
Update comments related to Swift and Substitute checks (#380) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com>
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -5368,10 +5368,10 @@
.swiftCheck
ld a, [de]
cp SWIFT_EFFECT
- ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true)
+ ret z ; Swift never misses (this was fixed from the Japanese versions)
call CheckTargetSubstitute ; substitute check (note that this overwrites a)
jr z, .checkForDigOrFlyStatus
-; This code is buggy. It's supposed to prevent HP draining moves from working on substitutes.
+; The fix for Swift broke this code. It's supposed to prevent HP draining moves from working on Substitutes.
; Since CheckTargetSubstitute overwrites a with either $00 or $01, it never works.
cp DRAIN_HP_EFFECT
jp z, .moveMissed