From 2212e4dac0c24e1967342eb0e7206b2b1176ca8a Mon Sep 17 00:00:00 2001 From: rayallll <18yc108@queensu.ca> Date: Sat, 2 Mar 2024 22:25:26 -0500 Subject: [PATCH] fix: combat bug --- .../component/challengeArea/ChallengeArea.jsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/memo-minder-web/src/component/challengeArea/ChallengeArea.jsx b/client/memo-minder-web/src/component/challengeArea/ChallengeArea.jsx index 4c63ada3..90915347 100644 --- a/client/memo-minder-web/src/component/challengeArea/ChallengeArea.jsx +++ b/client/memo-minder-web/src/component/challengeArea/ChallengeArea.jsx @@ -176,6 +176,10 @@ function ChallengeArea() { const transitionImage = direction === 'right' ? imagesRight[0] : imagesLeft[0]; setCurrentImage(transitionImage); } + if (isMagicAttack) { + const magicImage = direction === 'right' ? 'rightMagic.png' : 'leftMagic.png'; + setCurrentImage(magicImage); + } if (attackAnimationInterval) { clearInterval(attackAnimationInterval); attackAnimationInterval = null; @@ -281,18 +285,20 @@ function ChallengeArea() { bossImageIndex.current = (bossImageIndex.current + 1) % bossImagesLeft.length; // set boss attack interval if (!bossAttackCooldown && BossAttackCollision(distance)) { - setHealth(prevHealth => Math.max(prevHealth - 5, 0)); - setBossAttackCooldown(true); - setTimeout(() => { + if (bossHealth > 0){ + setHealth(prevHealth => Math.max(prevHealth - 5, 0)); + setBossAttackCooldown(true); + setTimeout(() => { setBossAttackCooldown(false); - }, bossCooldownTime); + }, bossCooldownTime); + } } }; const intervalId = setInterval(moveBoss, 80); return () => clearInterval(intervalId); - }, [position, bossPosition, bossAttackCooldown]); + }, [position, bossPosition, bossAttackCooldown, bossHealth]); /* ------------- Boss Logic End ------------- */ // check victory