diff --git a/goal_src/jak2/engine/target/target-util.gc b/goal_src/jak2/engine/target/target-util.gc index f3fc5a141b..6fbfe14362 100644 --- a/goal_src/jak2/engine/target/target-util.gc +++ b/goal_src/jak2/engine/target/target-util.gc @@ -1456,8 +1456,8 @@ (dotimes (a2-2 8) (let ((v1-9 (-> self attack-info-old a2-2))) (when (= (-> arg0 id) (-> v1-9 id)) - (if (not (time-elapsed? (-> v1-9 attack-time) (the-as time-frame (-> *TARGET-bank* same-attack-invulnerable-timeout))) - ) + ;; og:preserve-this fix clock drift bug which can lead to longer invuln timeouts (use base-clock instead of target-clock) + (if (not (>= (- (-> *display* base-clock frame-counter) (-> v1-9 attack-time)) (the-as time-frame (-> *TARGET-bank* same-attack-invulnerable-timeout)))) (return #f) ) (cond diff --git a/goal_src/jak3/engine/target/target-util.gc b/goal_src/jak3/engine/target/target-util.gc index ce61a7558b..b0eadc9051 100644 --- a/goal_src/jak3/engine/target/target-util.gc +++ b/goal_src/jak3/engine/target/target-util.gc @@ -1669,7 +1669,8 @@ (dotimes (a2-2 8) (let ((v1-9 (-> self attack-info-old a2-2))) (when (= (-> arg0 id) (-> v1-9 id)) - (if (not (time-elapsed? (-> v1-9 attack-time) (-> *TARGET-bank* same-attack-invulnerable-timeout))) + ;; og:preserve-this fix clock drift bug which can lead to longer invuln timeouts (use base-clock instead of target-clock) + (if (not (>= (- (-> *display* base-clock frame-counter) (-> v1-9 attack-time)) (-> *TARGET-bank* same-attack-invulnerable-timeout))) (return #f) ) (cond