From 763a1170d9af71ff420dabd563e4c5e3f7f70c00 Mon Sep 17 00:00:00 2001 From: yjm484 <171359351@qq.com> Date: Thu, 1 May 2025 08:34:01 +0800 Subject: [PATCH] =?UTF-8?q?0501=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/GameDate/cardDeckList.asset | 16 ++--- .../Assets/Scripts/Buff/Buff_BlueNode.cs | 30 ++++++++++ .../Assets/Scripts/Buff/Buff_BlueNode.cs.meta | 11 ++++ .../Assets/Scripts/Buff/Buff_EnemyNode.cs | 30 ++++++++++ .../Scripts/Buff/Buff_EnemyNode.cs.meta | 11 ++++ .../Assets/Scripts/Buff/Buff_RedNode.cs | 30 ++++++++++ .../Assets/Scripts/Buff/Buff_RedNode.cs.meta | 11 ++++ .../Assets/Scripts/Buff/Buff_Thrifty.cs | 30 ++++++++++ .../Assets/Scripts/Buff/Buff_Thrifty.cs.meta | 11 ++++ .../Assets/Scripts/Buff/Buff_YellowNode.cs | 30 ++++++++++ .../Scripts/Buff/Buff_YellowNode.cs.meta | 11 ++++ .../Assets/Scripts/Card/CardDrag.cs | 2 +- .../Assets/Scripts/Card/CardEntity.cs | 4 +- .../Scripts/Card/CardResourcesManager.cs | 4 +- .../Assets/Scripts/Card/TurnMaster.cs | 17 +++++- .../Assets/Scripts/Enemy/EnemyNode.cs | 4 ++ .../Assets/Scripts/Tool/AbnormalCondition.cs | 14 +++++ .../Assets/Scripts/Tool/CardFunction.cs | 8 ++- .../Assets/Scripts/Tool/Name.cs | 13 +++- .../Assets/Scripts/manager/BuffDataManager.cs | 59 ++++++++++++++++--- .../Scripts/manager/SettlementManager.cs | 13 ++-- .../Assets/Scripts/manager/Usermanager.cs | 22 +++++++ .../Assets/StreamingAssets/card_data_ab_1.csv | 2 +- .../StreamingAssets/card_data_effect_4.csv | 3 +- 24 files changed, 354 insertions(+), 32 deletions(-) create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index ca46eb67..4a9323d8 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: - - 2006 - - 2006 + - 2038 + - 2038 + - 2030 - 2023 - - 2023 - - 1005 - - 1005 - 1005 + - 1016 - 1005 - 1005 - - 2006 + - 1016 + - 2030 + - 1016 - 1005 - - 1005 - - 2023 + - 2008 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs new file mode 100644 index 00000000..777abf4f --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_BlueNode : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_BlueNode(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs.meta new file mode 100644 index 00000000..f77c4d98 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BlueNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 288acca7d3d61dd48a3d0548e627c02e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs new file mode 100644 index 00000000..54f636ba --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_EnemyNode : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_EnemyNode(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs.meta new file mode 100644 index 00000000..02566628 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_EnemyNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cf7bd11003189b641a0e629fd997fe74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs new file mode 100644 index 00000000..c4dbf4de --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_RedNode : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_RedNode(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs.meta new file mode 100644 index 00000000..1986f016 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_RedNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e64a264035ea66b48b82bc8e3e3dba5b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs new file mode 100644 index 00000000..2fc2d734 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Thrifty : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Thrifty(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs.meta new file mode 100644 index 00000000..c914189b --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thrifty.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a09862aa7f713a247bbcc1de48411cc6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs new file mode 100644 index 00000000..e63de984 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_YellowNode : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_YellowNode(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs.meta new file mode 100644 index 00000000..c0c73ddd --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_YellowNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d187a201a26377948bb4fd2d413ccc2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs index 33c37e53..f7c79c69 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs @@ -320,7 +320,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag { int trueCost; string trueCostType = Name.CostType.energy; - (trueCost, trueCostType) = CardResourcesManager.Instance.getCardCost(cardEntity.cardOriginalData); + (trueCost, trueCostType) = CardResourcesManager.Instance.getCardCost(cardEntity); if (GameManager.Instance.playerState.currentCost - trueCost < 0) { Debug.Log("能量费用不足"); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index 41f3f8d2..c39b17ae 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -117,6 +117,7 @@ public class CardEntity : MonoBehaviour string lastCostType; public Image costImage; + public int tempMinusCost = 0; private void Start() { currentCost = cardOriginalData.Cost; @@ -131,6 +132,7 @@ public class CardEntity : MonoBehaviour //初始化卡牌边框颜色 normalBorder.SetActive(true); triggerBorde.SetActive(false); + tempMinusCost = 0; } private void Update() @@ -420,7 +422,7 @@ public class CardEntity : MonoBehaviour } else {*/ - (currentCost, currentCostType)=CardResourcesManager.Instance.getCardCost(cardOriginalData); + (currentCost, currentCostType)=CardResourcesManager.Instance.getCardCost(this); cost.text = currentCost.ToString(); if (currentCost!=lastCost ) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs index 2c4f858f..02c261c8 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs @@ -91,14 +91,16 @@ public class CardResourcesManager : Singleton return System.Text.RegularExpressions.Regex.IsMatch(input, @"^[><=]|\d+$"); } - public (int trueCost, string trueCostType) getCardCost(CardOriginalData cardOriginalData) + public (int trueCost, string trueCostType) getCardCost(CardEntity cardEntity) { + CardOriginalData cardOriginalData= cardEntity.cardOriginalData; int cost = cardOriginalData.Cost; string costType=cardOriginalData.costType.Substring(0); if (MapUnityManager.Instance.isPlayerOn(Name.NodeColor.Black)) { cost += 1; } + cost -= cardEntity.tempMinusCost; if (cardOriginalData.TrueFunctionVal.ContainsKey(CardFunction.reduceCost)) { cost -= int.Parse(cardOriginalData.TrueFunctionVal[CardFunction.reduceCost]); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 74fb7d25..9f843afe 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -695,8 +695,23 @@ public class TurnMaster : Singleton { Destroy(selectCardFather.GetChild(i).gameObject); } - CardActiveSort.Instance.ReflashCardPoint(); + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.Buff_Thrifty)) + { + RandomHandCardMinusCost(selectCount); + } + } + + public void RandomHandCardMinusCost(int num) + { + Debug.Log("进入减费"); + HashSet targetSet = MathTool.GetRandomElements(new HashSet(TurnMaster.Instance.handCard.cardEntityList), num); + foreach (CardEntity cardEntity in targetSet) + { + Debug.Log("减费CardId是"+cardEntity.cardOriginalData.CardId); + cardEntity.tempMinusCost += 1; + + } } //退出选卡界面 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index cce0652f..04a28b1c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -9,6 +9,7 @@ using UnityEngine.Assertions; using UnityEngine.UI; using static Name; using static UnityEditor.FilePathAttribute; +using static UnityEditor.Progress; using static UnityEngine.Rendering.DebugUI; public class EnemyNode : MonoBehaviour,IEnemyObserver @@ -221,6 +222,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { enemyUIBar.isSync = false; float remainDamage = EnemyState.shieldValue - ExpectSufferDamageCal(Usermanager.Instance.expectDamage, getNodeTools.LocationToGetNode(positionX, positionY)); + Debug.Log("remainDamage是"+ remainDamage); if (remainDamage >= 0) { enemyUIBar.sheildText.text = remainDamage.ToString(); @@ -1636,8 +1638,10 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver int trueDamage = 0; for (int i = 0; i < damge.Item2; i++) { + Debug.Log("Item1是" + damge.Item1); trueDamage += SufferDamageCalculation((int)damge.Item1); } + Debug.Log("trueDamage是" + trueDamage); if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) { int canBleedCount = 0; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs index 0ec25e97..8bda539f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs @@ -143,6 +143,18 @@ public class AbnormalCondition : Singleton public const string Buff_Thief = "112"; //Buff_ContaminatusImmortalis public const string Buff_ContaminatusImmortalis = "113"; + //勤俭节约 + public const string Buff_Thrifty = "114"; + //Buff_RedNode + public const string Buff_RedNode = "115"; + //Buff_YellowNode + public const string Buff_YellowNode = "116"; + //Buff_BlueNode + public const string Buff_BlueNode = "117"; + //Buff_EnemyNode + public const string Buff_EnemyNode = "118"; + //传染 + public const string infection = "119"; public static readonly List canNegativeNumberList = new List { angerUpperDamage, shieldUpperValue, addDrawCard }; @@ -152,4 +164,6 @@ public class AbnormalCondition : Singleton public static readonly List playUndeterminedBuffList = new List { angerUpperDamage, shieldUpperValue }; public static readonly List enemyDebuffList = new List { wet, banStep , fireSeed , levelSleep , vulnerable , bleed , sleep ,disarm, posion , weak ,coma, disable ,bleedHeal, deathMark }; + + public static readonly List nodeBuffList = new List { Buff_RedNode, Buff_YellowNode, Buff_BlueNode, Buff_EnemyNode }; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs index aec49a9e..2d5d89da 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs @@ -125,7 +125,7 @@ public static class CardFunction public const string turnHalfYellowNodesToShield = "60"; //消耗玩家周围2范围地块,每消耗3红获得1层狂热 public const string turn3RedNodesToEmber = "61"; - //消耗玩家周围2范围地块,每消耗3红获得1层狂热 + //消耗玩家周围2范围地块,每消耗2红获得1层狂热 public const string turn2RedNodesToEmber = "62"; //对目标造成护盾的伤害 public const string shieldToDamage = "63"; @@ -195,6 +195,12 @@ public static class CardFunction public const string damagexyForBlueNode = "95"; //隐身 public const string Invisible = "96"; + //击退到场地边缘 + public const string repelToEnd = "97"; + //勤俭节约 + public const string thrifty = "114"; + //传染 + public const string infection = "119"; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index b72f4750..dc479807 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -339,7 +339,7 @@ public static class Name sb.Append("抽" + kvp.Value + "张效果牌"); break; case CardFunction.doublebleedDamage: - sb.Append("使流血伤害翻倍"); + sb.Append("使血伤翻倍"); break; case CardFunction.drawAndCopyCard: sb.Append("抽一张牌,获得这张牌的复制"); @@ -392,8 +392,14 @@ public static class Name case CardFunction.turnYellowNodesToShield: sb.Append("消耗所有黄色,获得对应数量的护盾"); break; + case CardFunction.turn3RedNodesToEmber: + sb.Append("消耗玩家周围2范围地块,每消耗3红获得1层狂热"); + break; + case CardFunction.turn2RedNodesToEmber: + sb.Append("消耗玩家周围2范围地块,每消耗2红获得1层狂热"); + break; case CardFunction.bleedDamage: - sb.Append("增加" + kvp.Value + "点流血伤害"); + sb.Append("增加" + kvp.Value + "层血伤"); break; case CardFunction.drawDyeingCard: sb.Append("抽" + kvp.Value + "张涂色牌"); @@ -422,6 +428,9 @@ public static class Name case CardFunction.spreadColorToAround: sb.Append("将目标地块的颜色扩散至周围"); break; + case CardFunction.repelToEnd: + sb.Append("将目标击退至场地边缘"); + break; } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs index 7c95b7c2..9108a23d 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs @@ -74,6 +74,11 @@ public class BuffDataManager : Singleton abnormalCondition.Add("111", new Buff_PollutionSpreader()); abnormalCondition.Add("112", new Buff_Thief()); abnormalCondition.Add("113", new Buff_ContaminatusImmortalis()); + abnormalCondition.Add("114", new Buff_Thrifty()); + abnormalCondition.Add("115", new Buff_RedNode()); + abnormalCondition.Add("116", new Buff_YellowNode()); + abnormalCondition.Add("117", new Buff_BlueNode()); + abnormalCondition.Add("118", new Buff_EnemyNode()); abnormalCondition.Add("206", new Buff_flashPoint()); abnormalCondition.Add("207", new Buff_BonePile()); @@ -99,7 +104,7 @@ public class BuffDataManager : Singleton switch (buffName ) { case AbnormalCondition.vulnerable: - return "受到的伤害增加50%,持续x回合"; + return "易伤:受到的伤害增加50%,持续x回合"; case AbnormalCondition.fireSeed: return "每累计10层承受15点伤害,将火种层数减少10"; case AbnormalCondition.posion: @@ -109,7 +114,7 @@ public class BuffDataManager : Singleton case AbnormalCondition.coma: return "无法行动"; case AbnormalCondition.weak: - return "攻击造成的伤害减少25%,持续X回合"; + return "虚弱:攻击造成的伤害减少25%,持续X回合"; case AbnormalCondition.parasitism: return "移动会污染地面"; case AbnormalCondition.corrode: @@ -117,7 +122,7 @@ public class BuffDataManager : Singleton case AbnormalCondition.boomAndPollute: return "死亡时对周围进行污染"; case AbnormalCondition.downSpeed: - return "移动力减少1点,持续X回合"; + return "致残:移动力减少1点,持续X回合"; case AbnormalCondition.Buff_SoulMaker: return "污染格数>12时,所有敌人增加2移速"; case AbnormalCondition.Buff_BoundSoul: @@ -151,17 +156,53 @@ public class BuffDataManager : Singleton case AbnormalCondition.Buff_ContaminatusImmortalis: return "周围有污染地块时,攻击护盾造成双倍伤害"; case AbnormalCondition.bleed4TurnCost: - return "回合内触发4次流血,获得1点能量"; + return "赋能:玩家回合内触发4次流血,获得1点能量"; case AbnormalCondition.bleed3TurnCost: - return "回合内触发3次流血,获得1点能量"; + return "赋能+:玩家回合内触发3次流血,获得1点能量"; case AbnormalCondition.bleedDamage: - return "增加流血伤害"; + return "血伤:增加流血伤害"; + case AbnormalCondition.bleed: + return "流血:每次移动、收到伤害收到2点伤害,减少1层"; case AbnormalCondition.firm: - return "护盾在你回合开始时不会消失"; + return "强固:护盾在你回合开始时不会消失"; case AbnormalCondition.calm: - return "增加施法距离"; + return "冷静:增加相当于层数的施法距离"; case AbnormalCondition.tempCastRange: - return "本回合增加施法距离"; + return "临时冷静:本回合增加施法距离"; + case AbnormalCondition.Buff_RedNode: + return "增强:角色站在红色地块时,攻击造成的伤害+2"; + case AbnormalCondition.Buff_BlueNode: + return "巩固:角色站在蓝色地块时,玩家回合结束时获得5点护甲"; + case AbnormalCondition.Buff_YellowNode: + return "加速:角色站在黄色地块时,玩家回合开始时,获得1移动力"; + case AbnormalCondition.Buff_EnemyNode: + return "污染:角色站在污染地块时,手牌费用+1"; + case AbnormalCondition.Invisible: + return "隐身:目标无法被直接攻击,移动或者收到伤害效果消失,持续X回合"; + case AbnormalCondition.angerUpperDamage: + return "狂热:攻击伤害提升X点"; + case AbnormalCondition.shieldUpperValue: + return "敏捷:从卡牌中获得护盾提升X点"; + case AbnormalCondition.infection: + return "传染:死亡时,将剩余流血层数传染给3格范围内所有敌方单位,持续X回合"; + case AbnormalCondition.thorn: + return "荆棘:每收到一次攻击,造成X点反伤"; + case AbnormalCondition.immunity: + return "斗篷:抵挡X次负面效果"; + case AbnormalCondition.deathMark: + return "死亡印记:目标死亡后,将所有debuff传染给3格内所有敌方单位"; + case AbnormalCondition.nextCardCostHp: + return "血祭:使下一张牌消耗改为血量"; + case AbnormalCondition.bleedHeal: + return "血疗:目标单位的下X次流血伤害会治疗玩家"; + case AbnormalCondition.Buff_Thrifty: + return "勤俭节约:丢弃卡牌时,使手牌中随机1张卡牌当前回合费用-1"; + case AbnormalCondition.nextEffectCardDoubleSettle: + return "下张效果牌打出2次"; + case AbnormalCondition.cantUserEffectCaed: + return "本回合无法释放效果牌"; + case AbnormalCondition.nextDyeingCardRangeAddTwo: + return "下张涂色牌施法距离+2"; } return " "; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index c7e4b61e..f5084cea 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -562,7 +562,7 @@ public class SettlementManager : Singleton } repelNode = result; } - Debug.Log("endNode是" + endNode.locationX + endNode.locationY); + //Debug.Log("endNode是" + endNode.locationX + endNode.locationY); if (endNode != null) { enemyMoveToNode(enemy, endNode, mapUnity.enemyNode); @@ -961,6 +961,9 @@ public class SettlementManager : Singleton case CardFunction.repel: repelFromPlayer(influencePreviewPool, targetNode,int.Parse(kvp.Value)); break; + case CardFunction.repelToEnd: + repelFromPlayer(influencePreviewPool, targetNode, 100); + break; case CardFunction.dyeingAround: dyeingAroundWork(influencePreviewPool); break; @@ -1030,6 +1033,7 @@ public class SettlementManager : Singleton case CardFunction.nextEffectCardDoubleSettle: case CardFunction.calm: case CardFunction.Invisible: + case CardFunction.thrifty: Usermanager.Instance.SufferPlayerAbnormalCondition(kvp.Key, int.Parse(kvp.Value)); break; case CardFunction.doublebleedDamage: @@ -1156,11 +1160,8 @@ public class SettlementManager : Singleton 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.Item1 += Usermanager.Instance.DamageCalculation(damageVal); - } + Usermanager.Instance.expectDamage.damageCount = damageCount; + Usermanager.Instance.expectDamage.damage += Usermanager.Instance.DamageCalculation(damageVal); //Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); break; case CardFunction.nodeDiffDamage: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs index b80c4cef..40accc73 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs @@ -305,10 +305,32 @@ public class Usermanager : Singleton { GameManager.Instance.playerState.currentStepRange = 0; } + if (AbnormalCondition.nodeBuffList.Contains(condition)) + { + nodeBuffMutex(condition); + } playerAbnormalCondition.Add(condition, BuffDataManager.Instance.abnormalCondition[condition].NewBuff(value)); Debug.Log("加入了:" + condition + "value是:" + value); } } + + public void nodeBuffMutex(string condition) + { + List nodeBuffList=new List(AbnormalCondition.nodeBuffList); + nodeBuffList.Remove(condition); + foreach(string buff in nodeBuffList) + { + tryRemoveUserAbnormalCondition(buff); + } + } + + public void tryRemoveUserAbnormalCondition(string condition) + { + if (Usermanager.playerAbnormalCondition.ContainsKey(condition)) + { + Usermanager.playerAbnormalCondition.Remove(condition); + } + } //回合Buff结算 public void PlayerTurnSettle() { diff --git a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_ab_1.csv b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_ab_1.csv index 1fee9501..89874b06 100644 --- a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_ab_1.csv +++ b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_ab_1.csv @@ -1,5 +1,5 @@ 锘縄D,娑堣楃被鍨,娑堣楁暟鍊,鍩虹鍔熻兘,鏁板,鏉′欢,棰濆鍔熻兘,鏁板,鍚﹀畾鍔熻兘,鍦板潡鏍囪,鍥剧墖璺緞,鏂芥硶鑼冨洿,绋鏈夊害,娑堣,鍚嶅瓧,鍗$墝鎻忚堪 3001,1,2,75,1,red>12,76,1,75,0_0,EffectCardIcon/璧嬭兘,0,2,1,璧嬭兘,3娆℃祦琛 -3002,1,1,57,4,blue>9,57,2,none,0_0,EffectCardIcon/鍓茶,0,2,0,鍓茶,none +3002,1,1,57,2,blue>10,57,1,none,0_0,EffectCardIcon/鍓茶,0,2,0,鍓茶,none 3003,1,1,82,1,none,none,none,none,0_0,EffectCardIcon/娑堝け,0,3,1,娑堝け,none 3004,1,2,18,1,red>9,33,1,none,0_0,EffectCardIcon/鐩惧瀿,0,2,1,鐩惧瀿,none diff --git a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv index 9a739a71..d56678f1 100644 --- a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv +++ b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv @@ -20,10 +20,11 @@ 2027,1,2,5;58,2;2,blue>10,5;58,3;3,5;58,0_0,EffectCardIcon/绌疯拷鐚涚爫,1,2,0,绌疯拷鐚涚爫,none 2028,1,1,53,6&2,aroundblue=4,53,6&4,53,0_1;1_0;0_-1;-1_0;-1_1;-1_-1,EffectCardIcon/鍓戝垉椋庢毚,1,3,0,鍓戝垉椋庢毚,none 2029,1,1,59,1,blue>11,60,1,59,0_0,EffectCardIcon/鏆撮鍚稿叆,0,2,1,鏆撮鍚稿叆,闅忔満鐣欎笅涓鍗 -2030,1,1,60,1,yellow>10,61,1,60,0_0,EffectCardIcon/姹插彇,0,2,0,姹插彇,none +2030,1,1,61,1,yellow>10,62,1,61,0_0,EffectCardIcon/姹插彇,0,2,0,姹插彇,姣忔秷鑰2绾㈣幏寰1灞傜媯鐑 2031,1,0,12,1,red>9,91,1,91,0_0,EffectCardIcon/鍐嶆潵涓鏉,0,2,0,鍐嶆潵涓鏉,none 2032,1,2,49,1,none,none,none,none,0_0,EffectCardIcon/鐐圭紑,1,1,0,鐐圭紑,none 2034,1,1,63,1,red>12,93,1,none,0_0,EffectCardIcon/鐩惧嚮,1,2,0,鐩惧嚮,none 2035,1,1,1;64,7;8,blue>9,64,10,64,0_0,EffectCardIcon/鎾曟壇,1,1,0,鎾曟壇,鑾峰緱10鐐规姢鐩 2036,1,1,65;66,5;1,yellow>10,67,1,66,0_0,EffectCardIcon/琛铔,1,3,1,琛铔,缈讳笁鍊 +2038,1,2,97,1,blue<9,33,1,none,0_0,EffectCardIcon/鐚涚儓涓鍑,1,2,0,鐚涚儓涓鍑,none 2039,1,0,65;11,5;2,red>19,11,3,11,0_0,EffectCardIcon/鎴樺惣,0,3,1,鎴樺惣,none