diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index 380661d4..b3113679 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -13,16 +13,16 @@ MonoBehaviour: m_Name: cardDeckList m_EditorClassIdentifier: cardDeckList: - - 1001 - - 1001 - - 2028 - - 1002 - - 1002 - - 1002 - - 1003 - - 2008 - - 2015 - - 2001 - - 2008 - - 3001 - - 3001 + - 2006 + - 2031 + - 2036 + - 2031 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 2006 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 2967fe48..4262174e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -477,8 +477,10 @@ public class TurnMaster : Singleton yield return new WaitForSeconds(0.1f); } - yield return CardActiveSort.Instance.StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); + + //yield return StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); yield return StartCoroutine(copyNewestCard()); + CardActiveSort.Instance.ReflashCardPoint(); yield break; } @@ -492,6 +494,7 @@ public class TurnMaster : Singleton } string cardId= handCard.cardEntityList[handCardCount-1].cardOriginalData.CardId; copyCard(handCardCount + 1,cardId); + yield return CardActiveSort.Instance.StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); yield break; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index d18cc236..aff7bd82 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -213,14 +213,14 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { if(enemyType == EnemyType.enemy ) { - if (EnemyState.shieldValue > 0 && Usermanager.Instance.expectDamage > 0) + if (EnemyState.shieldValue > 0 && Usermanager.Instance.expectDamage.Item1 > 0) { enemyUIBar.sheildFlash.enabled = true; } if (mapUnities.Contains(getNodeTools .LocationToGetNode (positionX ,positionY))) { enemyUIBar.isSync = false; - float remainDamage = EnemyState.shieldValue - SufferDamageCalculation((int)Usermanager.Instance.expectDamage); + float remainDamage = EnemyState.shieldValue - ExpectSufferDamageCal(Usermanager.Instance.expectDamage); if (remainDamage >= 0) { enemyUIBar.sheildText.text = remainDamage.ToString(); @@ -1632,6 +1632,26 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + public int ExpectSufferDamageCal((float, int) damge) + { + int trueDamage = 0; + for (int i = 0; i < damge.Item2; i++) + { + trueDamage += SufferDamageCalculation((int)damge.Item1); + } + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) + { + int bleedCount = Math.Min(EnemyState.abnormalCondition[AbnormalCondition.bleed].value, damge.Item2); + int bleedDamage = 2; + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.bleedDamage)) + { + bleedDamage += Usermanager.playerAbnormalCondition[AbnormalCondition.bleedDamage].value; + } + trueDamage += bleedCount * bleedDamage; + } + return trueDamage; + } + #region 行动动画 public IEnumerator MeleeAttackAim() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index 154be9f4..84b159d7 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -1113,23 +1113,25 @@ public class SettlementManager : Singleton Dictionary trueFunctionVal = new Dictionary(); trueFunctionVal.AddRange(cardOriginalData.TrueFunctionVal); - Usermanager.Instance.expectDamage = 0; + Usermanager.Instance.expectDamage = (0,0); foreach (KeyValuePair kvp in trueFunctionVal) { switch (kvp.Key) { case CardFunction.cardDamage: // damageWork(int.Parse(kvp.Value), influencePreviewPool, pierceNum); - Usermanager .Instance .expectDamage = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); + Usermanager .Instance .expectDamage.Item1 = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); + Usermanager.Instance.expectDamage.Item2 = 1; break; case CardFunction.damagexy: string[] values = kvp.Value.Split("&"); int damageVal = int.Parse(values[0]); int damageCount = int.Parse(values[1]); // damageWork(int.Parse(kvp.Value), influencePreviewPool, pierceNum); + Usermanager.Instance.expectDamage.Item2 = damageCount; for (int i = 0; i < damageCount; i++) { - Usermanager.Instance.expectDamage+= Usermanager.Instance.DamageCalculation(damageVal); + Usermanager.Instance.expectDamage.Item1 += Usermanager.Instance.DamageCalculation(damageVal); } //Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); break; @@ -1137,12 +1139,12 @@ public class SettlementManager : Singleton if (GameManager.Instance.getNodeDiffForPlayer() > 0) { // damageWork(GameManager.Instance.getNodeDiffForPlayer(), influencePreviewPool, pierceNum); - Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(GameManager.Instance.getNodeDiffForPlayer()); + Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(GameManager.Instance.getNodeDiffForPlayer()); } else if (GameManager.Instance.getNodeDiffForPlayer() < 0) { // damageWork(-GameManager.Instance.getNodeDiffForPlayer(), influencePreviewPool, pierceNum); - Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(-GameManager.Instance.getNodeDiffForPlayer()); + Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(-GameManager.Instance.getNodeDiffForPlayer()); } break; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs index 6ab86632..c5935b6d 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs @@ -49,7 +49,7 @@ public class Usermanager : Singleton public BuffInforOnMouse buffInforOnMouseInStatus; [Header("角色将要造成的伤害")] - public float expectDamage; + public (float, int) expectDamage; [Header("角色将要造成的单次伤害")] public float expectOnceDamage; //费用和步数检查 @@ -566,6 +566,17 @@ public class Usermanager : Singleton return trueDamage; } + public int ExpectDamageCalculation(int damage,int count) + { + int trueDamage = 0; + for (int i = 0; i < count; i++) + { + trueDamage += DamageCalculation(damage); + } + + return trueDamage; + } + //护盾计算函数 public int ShieldCalculation(int shield) { diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index 55624e61..85557b53 100644 Binary files a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache and b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache differ