From 3109bbb7b29450ff21fca73da3d165292079b327 Mon Sep 17 00:00:00 2001 From: yjm484 <171359351@qq.com> Date: Sun, 7 Jul 2024 19:37:55 +0800 Subject: [PATCH] 0707BUGFIX --- .../Assets/Scripts/Card/TurnMaster.cs | 2 + .../Assets/Scripts/Enemy/EnemyManager.cs | 10 ++- .../Assets/Scripts/Enemy/EnemyNode.cs | 65 ++++++++++++++++++- .../Scripts/manager/DestructionManager.cs | 4 ++ 4 files changed, 79 insertions(+), 2 deletions(-) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index a3175107..ac1c0308 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -54,6 +54,8 @@ public class TurnMaster : Singleton //显示敌人攻击虚线 EnemyManager.Instance.EnemyLine_Observer(); + //回复敌人系数 + EnemyManager.Instance.enemyMultiplierRestore(); //阶段流转 StartCoroutine(EndPlayerTurnBegin()); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs index 9355a65b..c30ccfb6 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs @@ -148,11 +148,19 @@ public class EnemyManager : Singleton { foreach (var observer in enemyObservers) { - observer.GetEnemyNode().enemyTurnSettleInit(); + //observer.GetEnemyNode().enemyTurnSettleInit(); observer.GetEnemyNode().enemyTurnSettle(settleTurn); } } + public void enemyMultiplierRestore() + { + foreach (var observer in enemyObservers) + { + observer.GetEnemyNode().enemyTurnSettleInit(); + } + } + public void AttackRangePreviewInfluencedNode(MapUnity enemyNode, int step,List influencePreviewPool)//可移动格子预览 { influencePreviewPool .Clear(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index f28ae682..d49577ba 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -299,7 +299,16 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { EnemyState.abnormalCondition[condition] = value; } - Debug.Log("异常层数" + EnemyState.abnormalCondition[condition]); + if (condition.Equals(CardFunction.coma)) + { + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + } + if (condition.Equals(CardFunction.sleep)) + { + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + } } public void sufferDamage(int damageVal) @@ -318,6 +327,34 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { case AbnormalCondition.sleep: EnemyState.abnormalCondition.Remove(key); + EnemyState.damageMultiplier = 1; + EnemyState.stepRangeMultiplier = 1; + break; + } + } + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.weak: + EnemyState.damageMultiplier = 0.75; + break; + case AbnormalCondition.disarm: + EnemyState.damageMultiplier = 0; + break; + } + } + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.coma: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + break; + case AbnormalCondition.sleep: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; break; } } @@ -328,6 +365,32 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { EnemyState.damageMultiplier = 1; EnemyState.stepRangeMultiplier = 1; + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.weak: + EnemyState.damageMultiplier = 0.75; + break; + case AbnormalCondition.disarm: + EnemyState.damageMultiplier = 0; + break; + } + } + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.coma: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + break; + case AbnormalCondition.sleep: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + break; + } + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs index e70550f5..a7404cf0 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs @@ -11,6 +11,10 @@ public class DestructionManager : Singleton { TurnMaster.Instance.usedCard.usedCardList.Add(target.GetComponent().CardId); } + else + { + TurnMaster.Instance.usedCard.deleteCardList.Add(target.GetComponent().CardId); + } Destroy(target); yield return null; yield return StartCoroutine(TurnMaster.Instance.MoveCards());