0513提交 #114

Merged
yjm484 merged 1 commits from dev-0513-yjm into dev-1217 7 months ago
  1. 17
      ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset
  2. 7
      ColorlessWorld-2024-4-2/Assets/Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta
  3. 27
      ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta
  4. 5
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/ForLook/Card_v04-0319.prefab
  5. 5
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/ForLook/Color-Card_v04-0319.prefab
  6. 15
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  7. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs
  8. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs.meta
  9. 16
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  10. 10
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  11. 84
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  12. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs
  13. 1
      ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs
  14. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs
  15. 15
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs
  16. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs
  17. 1
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs
  18. 25
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnityManager.cs
  19. 128
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs
  20. 12
      ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv
  21. 8
      ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv

17
ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset

@ -13,10 +13,19 @@ MonoBehaviour:
m_Name: cardDeckList m_Name: cardDeckList
m_EditorClassIdentifier: m_EditorClassIdentifier:
cardDeckList: cardDeckList:
- 1010
- 1005 - 1005
- 1010
- 1010
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 1010
- 1010
- 1005 - 1005
- 1005 - 1005
- 1005
- 1005
- 2001
- 1012

7
ColorlessWorld-2024-4-2/Assets/Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 5b07afdbcf13e43438545d591cfd2e4b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

27
ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta

@ -0,0 +1,27 @@
fileFormatVersion: 2
guid: a94cf6fef2879da4c91e5ef768aadf4e
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

5
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/ForLook/Card_v04-0319.prefab

@ -1221,13 +1221,14 @@ MonoBehaviour:
triggerBorde: {fileID: 3341784192257490232} triggerBorde: {fileID: 3341784192257490232}
currentCost: 0 currentCost: 0
currentCostType: currentCostType:
tempIsDisposable: 1 tempIsDisposable: 0
lastConditionBool: 0 lastConditionBool: 0
costIocn: {fileID: 0} costIocn: {fileID: 0}
bloodIcon: {fileID: 0} bloodIcon: {fileID: 0}
stepIcon: {fileID: 0} stepIcon: {fileID: 0}
nodeIcon: {fileID: 0} nodeIcon: {fileID: 0}
costImage: {fileID: 0} tempMinusCost: 0
colorValSprite:
--- !u!114 &5545682449418996990 --- !u!114 &5545682449418996990
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

5
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/ForLook/Color-Card_v04-0319.prefab

@ -1071,13 +1071,14 @@ MonoBehaviour:
triggerBorde: {fileID: 2937696754111028786} triggerBorde: {fileID: 2937696754111028786}
currentCost: 0 currentCost: 0
currentCostType: currentCostType:
tempIsDisposable: 1 tempIsDisposable: 0
lastConditionBool: 0 lastConditionBool: 0
costIocn: {fileID: 0} costIocn: {fileID: 0}
bloodIcon: {fileID: 0} bloodIcon: {fileID: 0}
stepIcon: {fileID: 0} stepIcon: {fileID: 0}
nodeIcon: {fileID: 0} nodeIcon: {fileID: 0}
costImage: {fileID: 0} tempMinusCost: 0
colorValSprite:
--- !u!114 &5545682449418996990 --- !u!114 &5545682449418996990
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

15
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

@ -35806,6 +35806,7 @@ MonoBehaviour:
farCamera: {fileID: 1180006399} farCamera: {fileID: 1180006399}
currentCardEntity: {fileID: 0} currentCardEntity: {fileID: 0}
currentMapNode: {fileID: 0} currentMapNode: {fileID: 0}
isPlayerMoved: 0
--- !u!4 &1285317928 --- !u!4 &1285317928
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -52665,19 +52666,7 @@ MonoBehaviour:
generatePoint: {fileID: 514899946} generatePoint: {fileID: 514899946}
lineOffSet: {x: 1.43, y: 0, z: 0} lineOffSet: {x: 1.43, y: 0, z: 0}
columnOffSet: {x: 0, y: 0, z: 0.86} columnOffSet: {x: 0, y: 0, z: 0.86}
enemyGenerateDataList: enemyGenerateDataList: []
- enemyPrefab: {fileID: 1253231568001379261, guid: cca022349b339cb478907d317369caed,
type: 3}
locationX: -1
locationY: 3
- enemyPrefab: {fileID: 1253231568001379261, guid: 279d9389205007c4f83c957211b36449,
type: 3}
locationX: 2
locationY: 2
- enemyPrefab: {fileID: 1253231568001379261, guid: 49641935fdc09c548a36f937cd5858cd,
type: 3}
locationX: 2
locationY: 3
mapUnityFather: {fileID: 471426433} mapUnityFather: {fileID: 471426433}
playerNameText: {fileID: 1103775266} playerNameText: {fileID: 1103775266}
cardDeckNumberText: {fileID: 1577863296} cardDeckNumberText: {fileID: 1577863296}

21
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs

@ -0,0 +1,21 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_NextRoundCostMinusOne : Buff
{
public override void Settle()
{
//value = 0;
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_NextRoundCostMinusOne();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01");
return buff;
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d031dea67185fa0478ca3d6278fe87d3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

16
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs

@ -1306,8 +1306,8 @@ public class CardEntity : MonoBehaviour
{ {
costIocn.gameObject.SetActive(true); costIocn.gameObject.SetActive(true);
bloodIcon.gameObject.SetActive(false); bloodIcon.gameObject.SetActive(false);
stepIcon.gameObject.SetActive(false); /*stepIcon.gameObject.SetActive(false);
nodeIcon .gameObject.SetActive(false); nodeIcon .gameObject.SetActive(false);*/
} }
break; break;
case Name.CostType.step: case Name.CostType.step:
@ -1315,8 +1315,8 @@ public class CardEntity : MonoBehaviour
{ {
costIocn.gameObject.SetActive(false); costIocn.gameObject.SetActive(false);
bloodIcon.gameObject.SetActive(false); bloodIcon.gameObject.SetActive(false);
stepIcon.gameObject.SetActive(true); /*stepIcon.gameObject.SetActive(true);
nodeIcon.gameObject.SetActive(false); nodeIcon.gameObject.SetActive(false);*/
} }
break; break;
case Name.CostType.health: case Name.CostType.health:
@ -1324,8 +1324,8 @@ public class CardEntity : MonoBehaviour
{ {
costIocn.gameObject.SetActive(false); costIocn.gameObject.SetActive(false);
bloodIcon.gameObject.SetActive(true); bloodIcon.gameObject.SetActive(true);
stepIcon.gameObject.SetActive(false); /*stepIcon.gameObject.SetActive(false);
nodeIcon.gameObject.SetActive(false); nodeIcon.gameObject.SetActive(false);*/
} }
break; break;
case Name.CostType.node: case Name.CostType.node:
@ -1333,8 +1333,8 @@ public class CardEntity : MonoBehaviour
{ {
costIocn.gameObject.SetActive(false); costIocn.gameObject.SetActive(false);
bloodIcon.gameObject.SetActive(false); bloodIcon.gameObject.SetActive(false);
stepIcon.gameObject.SetActive(false); /*stepIcon.gameObject.SetActive(false);
nodeIcon.gameObject.SetActive(true); nodeIcon.gameObject.SetActive(true);*/
} }
break; break;
} }

10
ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs

@ -104,6 +104,7 @@ public class TurnMaster : Singleton<TurnMaster>
//恢复体力 //恢复体力
GameManager.Instance.playerState.currentStepRange = Usermanager.Instance.StepRangeCalculation(GameManager.Instance.playerState.maxStepRange); GameManager.Instance.playerState.currentStepRange = Usermanager.Instance.StepRangeCalculation(GameManager.Instance.playerState.maxStepRange);
GameManager.Instance.isPlayerMoved = false;
//显示敌人攻击虚线 //显示敌人攻击虚线
EnemyManager.Instance.EnemyLine_Observer(); EnemyManager.Instance.EnemyLine_Observer();
//回复敌人系数 //回复敌人系数
@ -237,15 +238,18 @@ public class TurnMaster : Singleton<TurnMaster>
{ {
/* totalCost = Usermanager.Instance.totalCost; /* totalCost = Usermanager.Instance.totalCost;
Usermanager.Instance.currentCost = totalCost;*/ Usermanager.Instance.currentCost = totalCost;*/
int maxCost = GameManager.Instance.playerState.maxCost;
if (LegacyManager.Instance.isUseful(Name.Legacy.LegacyNode_PerpetualMotionPump)) if (LegacyManager.Instance.isUseful(Name.Legacy.LegacyNode_PerpetualMotionPump))
{ {
int lastRoundCost = GameManager.Instance.playerState.currentCost; int lastRoundCost = GameManager.Instance.playerState.currentCost;
GameManager.Instance.playerState.currentCost = GameManager.Instance.playerState.maxCost+ lastRoundCost; maxCost += lastRoundCost;
} }
else if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.nextRoundCostMinusOne))
{ {
GameManager.Instance.playerState.currentCost = GameManager.Instance.playerState.maxCost; maxCost -= 1;
Usermanager.playerAbnormalCondition[AbnormalCondition.nextRoundCostMinusOne].value-=1;
} }
GameManager.Instance.playerState.currentCost = maxCost;
/*if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.nextTurnExtraOneCost)) /*if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.nextTurnExtraOneCost))

84
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs

@ -276,6 +276,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
//this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position; //this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position;
MapUnity mapUnity = getNodeTools.LocationToGetNode(positionX, positionY); MapUnity mapUnity = getNodeTools.LocationToGetNode(positionX, positionY);
mapUnity.enemyNode = this; mapUnity.enemyNode = this;
EnemyState.currentHP = 1;
// transform.SetParent(mapUnity.CylinderFloor.transform); // transform.SetParent(mapUnity.CylinderFloor.transform);
if (enemyType ==EnemyType.block) if (enemyType ==EnemyType.block)
{ {
@ -1340,6 +1341,89 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
} }
} }
public void sufferDamageIfKilled(int damageVal, bool isFromPlayer, ref bool ifKilled)
{
if (isFromPlayer == true)
{
thornCal();
}
bleedRealize();
acidRainRealize();
int trueDamage = SufferDamageCalculation(damageVal);
if (trueDamage > EnemyState.shieldValue)
{
int afterVal = trueDamage - EnemyState.shieldValue;
EnemyState.shieldValue = 0;
EnemyState.currentHP -= afterVal;
}
else
{
EnemyState.shieldValue -= trueDamage;
}
Debug.Log("µÐÈËѪÁ¿" + EnemyState.currentHP);
if (EnemyState.currentHP <= 0)
{
ifKilled=true;
OnDeath();
}
else
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{
switch (key)
{
case AbnormalCondition.sleep:
EnemyState.abnormalCondition.Remove(key);
EnemyState.damageMultiplier = 1;
EnemyState.stepRangeMultiplier = 1;
break;
case AbnormalCondition.shedding:
MapUnity currentNode = getNodeTools.LocationToGetNode(positionX, positionY);
HashSet<MapUnity> targets = new HashSet<MapUnity> { currentNode };
int count = EnemyState.abnormalCondition[AbnormalCondition.shedding].value;
getNodeTools.getCircleNode(targets, 1);
enemy.RandomPollute(targets, count);
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;
}
}
foreach (var Buff in EnemyState.abnormalCondition)
{
Debug.Log(Buff.Key + "²ãÊý:" + Buff.Value.value);
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.flashPoint))
{
FlashPointRealize();
}
}
}
public void bleedCal() public void bleedCal()
{ {
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed))

4
ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs

@ -107,6 +107,8 @@ public class GameManager : Singleton<GameManager>
[Header("当前玩家拖拽的卡牌选中的地块")] [Header("当前玩家拖拽的卡牌选中的地块")]
public MapUnity currentMapNode; public MapUnity currentMapNode;
public bool isPlayerMoved = false;
private void Start() private void Start()
{ {
//生成角色数据 //生成角色数据
@ -225,6 +227,7 @@ public class GameManager : Singleton<GameManager>
if (playerOn.whoColour != lastPlayerOn.whoColour) if (playerOn.whoColour != lastPlayerOn.whoColour)
{ {
Debug.Log("节点1");
Usermanager.Instance.SufferPlayerOnColorCondition(playerOn.whoColour); Usermanager.Instance.SufferPlayerOnColorCondition(playerOn.whoColour);
//player.ChangeColorAnim(); //player.ChangeColorAnim();
} }
@ -237,6 +240,7 @@ public class GameManager : Singleton<GameManager>
if (playerOn.whoColour != lastWhoColor) if (playerOn.whoColour != lastWhoColor)
{ {
// player.ChangeColorAnim(); // player.ChangeColorAnim();
Debug.Log("节点2");
Usermanager.Instance.SufferPlayerOnColorCondition(playerOn.whoColour); Usermanager.Instance.SufferPlayerOnColorCondition(playerOn.whoColour);
} }
lastWhoColor = playerOn.whoColour; lastWhoColor = playerOn.whoColour;

1
ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs

@ -297,6 +297,7 @@ public class Player : MonoBehaviour
// moveLineRenderer.enabled = false; // moveLineRenderer.enabled = false;
playerMoveDestination.SetActive(false); playerMoveDestination.SetActive(false);
destinationCannotUpdate = false; destinationCannotUpdate = false;
GameManager.Instance.isPlayerMoved = true;
if (LegacyManager.Instance.relicClassNameList.Contains(Name.Legacy.LegacyNode_Bipod)) if (LegacyManager.Instance.relicClassNameList.Contains(Name.Legacy.LegacyNode_Bipod))
{ {
LegacyManager.Instance.legacyNodesList[Name.Legacy.LegacyNode_Bipod].ResetCount(); LegacyManager.Instance.legacyNodesList[Name.Legacy.LegacyNode_Bipod].ResetCount();

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs

@ -155,6 +155,8 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
public const string Buff_EnemyNode = "118"; public const string Buff_EnemyNode = "118";
//´«È¾ //´«È¾
public const string infection = "119"; public const string infection = "119";
//下回合能量上限-1
public const string nextRoundCostMinusOne = "120";
public static readonly List<string> canNegativeNumberList = new List<string> { angerUpperDamage, shieldUpperValue, addDrawCard }; public static readonly List<string> canNegativeNumberList = new List<string> { angerUpperDamage, shieldUpperValue, addDrawCard };

15
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs

@ -197,10 +197,25 @@ public static class CardFunction
public const string Invisible = "96"; public const string Invisible = "96";
//僻豖善部華晚埽 //僻豖善部華晚埽
public const string repelToEnd = "97"; public const string repelToEnd = "97";
//如果目标没有流血,施加流血
public const string bleedIfNot = "98";
//场上每有一种颜色的地块,造成n点伤害
public const string damageMulNodeKind = "99";
//将剩余移动力转化为能量
public const string switchStepToCost = "100";
//移动到目标格子,对周围造成n点伤害
public const string teleportAndDamageAround = "101";
//如果本回合移动过,造成n点伤害
public const string damageIfMoved = "102";
//如果击杀,回复n点能量
public const string damageAndRestoreCostIfKill = "103";
//マ潟誹埮 //マ潟誹埮
public const string thrifty = "114"; public const string thrifty = "114";
//換� //換�
public const string infection = "119"; public const string infection = "119";
//下回合能量上限-1
public const string nextRoundCostMinusOne = "120";

17
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs

@ -459,6 +459,23 @@ public static class Name
case CardFunction.repelToEnd: case CardFunction.repelToEnd:
sb.Append("蔚醴梓僻豖祫部華晚埽"); sb.Append("蔚醴梓僻豖祫部華晚埽");
break; break;
case CardFunction.damageMulNodeKind:
sb.Append("场上每有一种颜色的地块,造成" + kvp.Value + "点伤害");
break;
case CardFunction.bleedIfNot:
sb.Append("如果目标没有流血,施加" + kvp.Value + "层流血");
break;
case CardFunction.switchStepToCost:
sb.Append("本回合将剩余移动力转化为能量");
break;
case CardFunction.teleportAndDamageAround:
sb.Append("传送到目标格子,对周围造成" + kvp.Value + "点伤害");
break;
case CardFunction.damageIfMoved:
sb.Append("如果本回合移动过,造成" + kvp.Value + "点伤害");
break;
case CardFunction.damageAndRestoreCostIfKill:
break;
} }
} }

1
ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs

@ -79,6 +79,7 @@ public class BuffDataManager : Singleton<BuffDataManager>
abnormalCondition.Add("116", new Buff_YellowNode()); abnormalCondition.Add("116", new Buff_YellowNode());
abnormalCondition.Add("117", new Buff_BlueNode()); abnormalCondition.Add("117", new Buff_BlueNode());
abnormalCondition.Add("118", new Buff_EnemyNode()); abnormalCondition.Add("118", new Buff_EnemyNode());
abnormalCondition.Add("120", new Buff_NextRoundCostMinusOne());
abnormalCondition.Add("206", new Buff_flashPoint()); abnormalCondition.Add("206", new Buff_flashPoint());
abnormalCondition.Add("207", new Buff_BonePile()); abnormalCondition.Add("207", new Buff_BonePile());

25
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnityManager.cs

@ -66,6 +66,31 @@ public class MapUnityManager : Singleton<MapUnityManager>
return advColor; return advColor;
} }
public int getNodeKind()
{
int nodeKind = 0;
if (redNodeCount>0)
{
nodeKind++;
}
if (blackNodeCount > 0)
{
nodeKind++;
}
if (blueNodeCount > 0)
{
nodeKind++;
}
if (yellowNodeCount > 0)
{
nodeKind++;
}
if (whiteNodeCount > 0)
{
nodeKind++;
}
return nodeKind;
}
public string GetKeyWithMaxValue(Dictionary<string, int> dictionary) public string GetKeyWithMaxValue(Dictionary<string, int> dictionary)
{ {

128
ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs

@ -7,6 +7,7 @@ using Unity.VisualScripting;
using UnityEditor.Experimental.GraphView; using UnityEditor.Experimental.GraphView;
using UnityEngine; using UnityEngine;
using static Name; using static Name;
using static UnityEditor.PlayerSettings;
using static UnityEngine.EventSystems.EventTrigger; using static UnityEngine.EventSystems.EventTrigger;
@ -28,6 +29,25 @@ public class SettlementManager : Singleton<SettlementManager>
} }
} }
public void bleedIfNotWork(int stackVak, List<MapUnity> influencePreviewPool)
{
for (int i = 0; i < influencePreviewPool.Count; i++)
{
if (influencePreviewPool[i].enemyNode != null && influencePreviewPool[i].enemyNode.enemyType != EnemyNode.EnemyType.block)
{
if (influencePreviewPool[i].enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed))
{
}
else
{
influencePreviewPool[i].enemyNode.sufferAbnormalCondition(AbnormalCondition.bleed, stackVak);
}
}
}
}
public void doubleBleed(List<MapUnity> influencePreviewPool) public void doubleBleed(List<MapUnity> influencePreviewPool)
{ {
if (influencePreviewPool[0].enemyNode != null && influencePreviewPool[0].enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) if (influencePreviewPool[0].enemyNode != null && influencePreviewPool[0].enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed))
@ -515,6 +535,21 @@ public class SettlementManager : Singleton<SettlementManager>
} }
} }
public void teleportAndDamageAround(List<MapUnity> influencePreviewPool,int damage)
{
if (influencePreviewPool[0].enemyNode != null)
{
}
else
{
getNodeTools.playerTeleportToNode(influencePreviewPool[0]);
HashSet<MapUnity> values = new HashSet<MapUnity> { influencePreviewPool[0]};
getNodeTools.getCircleNode(values,1);
damageWork(damage, values.ToList(), 0);
}
}
public void teleportAround(List<MapUnity> influencePreviewPool) public void teleportAround(List<MapUnity> influencePreviewPool)
{ {
HashSet<MapUnity> targets = new HashSet<MapUnity> { influencePreviewPool[0] }; HashSet<MapUnity> targets = new HashSet<MapUnity> { influencePreviewPool[0] };
@ -713,6 +748,7 @@ public class SettlementManager : Singleton<SettlementManager>
public void damageWork(int damageVal, List<MapUnity> influencePreviewPool,int pierceNum) public void damageWork(int damageVal, List<MapUnity> influencePreviewPool,int pierceNum)
{ {
int pierceCount=0; int pierceCount=0;
pierceNum = -1;
if (pierceNum!=-1) if (pierceNum!=-1)
{ {
for (int i = 0; i < influencePreviewPool.Count; i++) for (int i = 0; i < influencePreviewPool.Count; i++)
@ -743,6 +779,49 @@ public class SettlementManager : Singleton<SettlementManager>
} }
public void damageWorkIfKillRestoreCost(int damageVal, List<MapUnity> influencePreviewPool, int pierceNum,int restoreCost)
{
int pierceCount = 0;
pierceNum = -1;
bool ifKilled=false;
if (pierceNum != -1)
{
for (int i = 0; i < influencePreviewPool.Count; i++)
{
//Ôì³ÉÉ˺¦
if (influencePreviewPool[i].enemyNode != null)
{
pierceCount++;
influencePreviewPool[i].enemyNode.sufferDamageIfKilled(Usermanager.Instance.DamageCalculation(damageVal), true,ref ifKilled);
if (ifKilled)
{
GameManager.Instance.playerState.currentCost += restoreCost;
}
if (pierceCount >= pierceNum + 1)
{
break;
}
}
}
}
else
{
for (int i = 0; i < influencePreviewPool.Count; i++)
{
//Ôì³ÉÉ˺¦
if (influencePreviewPool[i].enemyNode != null)
{
influencePreviewPool[i].enemyNode.sufferDamageIfKilled(Usermanager.Instance.DamageCalculation(damageVal), true, ref ifKilled);
if (ifKilled)
{
GameManager.Instance.playerState.currentCost += restoreCost;
}
}
}
}
}
public IEnumerator settle(CardOriginalData cardOriginalData, HashSet<MapUnity> influencePreviewPoolSet, int cardIndex, MapUnity targetNode) public IEnumerator settle(CardOriginalData cardOriginalData, HashSet<MapUnity> influencePreviewPoolSet, int cardIndex, MapUnity targetNode)
{ {
List<MapUnity> influencePreviewPool=new List<MapUnity>(influencePreviewPoolSet); List<MapUnity> influencePreviewPool=new List<MapUnity>(influencePreviewPoolSet);
@ -834,10 +913,26 @@ public class SettlementManager : Singleton<SettlementManager>
damageWork(damageVal, influencePreviewPool, pierceNum); damageWork(damageVal, influencePreviewPool, pierceNum);
} }
break; break;
case CardFunction.damageAndRestoreCostIfKill:
string[] valuesB = kvp.Value.Split("&");
int damageValB = int.Parse(valuesB[0]);
int restoreCost = int.Parse(valuesB[1]);
damageWorkIfKillRestoreCost(damageValB, influencePreviewPool, pierceNum,restoreCost);
break;
case CardFunction.damageForRedNode: case CardFunction.damageForRedNode:
List<MapUnity> redList = new List<MapUnity>(getNodeTools.getNodesWithColor(Name.Color.Red)); List<MapUnity> redList = new List<MapUnity>(getNodeTools.getNodesWithColor(Name.Color.Red));
damageWork(int.Parse(kvp.Value), redList, pierceNum); damageWork(int.Parse(kvp.Value), redList, pierceNum);
break; break;
case CardFunction.damageIfMoved:
if (GameManager.Instance.isPlayerMoved)
{
damageWork(int.Parse(kvp.Value), influencePreviewPool, pierceNum);
}
break;
case CardFunction.damageMulNodeKind:
int nodeKind=MapUnityManager.Instance.getNodeKind();
damageWork(int.Parse(kvp.Value)*nodeKind, influencePreviewPool, pierceNum);
break;
case CardFunction.damageForBlueNode: case CardFunction.damageForBlueNode:
List<MapUnity> blueList = new List<MapUnity>(getNodeTools.getNodesWithColor(Name.Color.Blue)); List<MapUnity> blueList = new List<MapUnity>(getNodeTools.getNodesWithColor(Name.Color.Blue));
damageWork(int.Parse(kvp.Value), blueList, pierceNum); damageWork(int.Parse(kvp.Value), blueList, pierceNum);
@ -931,6 +1026,9 @@ public class SettlementManager : Singleton<SettlementManager>
case CardFunction.doubleBleed: case CardFunction.doubleBleed:
doubleBleed(influencePreviewPool); doubleBleed(influencePreviewPool);
break; break;
case CardFunction.bleedIfNot:
bleedIfNotWork(int.Parse(kvp.Value), influencePreviewPool);
break;
case CardFunction.tripleBleed: case CardFunction.tripleBleed:
tripleBleed(influencePreviewPool); tripleBleed(influencePreviewPool);
break; break;
@ -955,6 +1053,11 @@ public class SettlementManager : Singleton<SettlementManager>
case CardFunction.nodesForCost: case CardFunction.nodesForCost:
nodesForCostWork(influencePreviewPool, int.Parse(kvp.Value)); nodesForCostWork(influencePreviewPool, int.Parse(kvp.Value));
break; break;
case CardFunction.switchStepToCost:
int step=GameManager.Instance.playerState.currentStepRange;
GameManager.Instance.playerState.currentStepRange = 0;
GameManager.Instance.playerState.currentCost += step;
break;
case CardFunction.dyeing: case CardFunction.dyeing:
// //
break; break;
@ -985,6 +1088,9 @@ public class SettlementManager : Singleton<SettlementManager>
case CardFunction.teleportAround: case CardFunction.teleportAround:
teleportAround(new List<MapUnity> { targetNode }); teleportAround(new List<MapUnity> { targetNode });
break; break;
case CardFunction.teleportAndDamageAround:
teleportAndDamageAround(influencePreviewPool, int.Parse(kvp.Value));
break;
case CardFunction.pullFirstEnemyToSelf: case CardFunction.pullFirstEnemyToSelf:
pullFirstEnemyToSelf(influencePreviewPool); pullFirstEnemyToSelf(influencePreviewPool);
break; break;
@ -1034,6 +1140,7 @@ public class SettlementManager : Singleton<SettlementManager>
case CardFunction.calm: case CardFunction.calm:
case CardFunction.Invisible: case CardFunction.Invisible:
case CardFunction.thrifty: case CardFunction.thrifty:
case CardFunction.nextRoundCostMinusOne:
Usermanager.Instance.SufferPlayerAbnormalCondition(kvp.Key, int.Parse(kvp.Value)); Usermanager.Instance.SufferPlayerAbnormalCondition(kvp.Key, int.Parse(kvp.Value));
break; break;
case CardFunction.doublebleedDamage: case CardFunction.doublebleedDamage:
@ -1155,6 +1262,27 @@ public class SettlementManager : Singleton<SettlementManager>
Usermanager .Instance .expectDamage.Item1 = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); Usermanager .Instance .expectDamage.Item1 = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value));
Usermanager.Instance.expectDamage.Item2 = 1; Usermanager.Instance.expectDamage.Item2 = 1;
break; break;
case CardFunction.damageAndRestoreCostIfKill:
string[] valuesB = kvp.Value.Split("&");
int damageValB = int.Parse(valuesB[0]);
int restoreCost = int.Parse(valuesB[1]);
Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(damageValB);
Usermanager.Instance.expectDamage.Item2 = 1;
break;
case CardFunction.damageMulNodeKind:
int nodeKind = MapUnityManager.Instance.getNodeKind();
Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value) * nodeKind);
Usermanager.Instance.expectDamage.Item2 = 1;
break;
case CardFunction.damageIfMoved:
int damage = 0;
if (GameManager.Instance.isPlayerMoved)
{
damage= Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value));
}
Usermanager.Instance.expectDamage.Item1 = damage;
Usermanager.Instance.expectDamage.Item2 = 1;
break;
case CardFunction.damagexy: case CardFunction.damagexy:
string[] values = kvp.Value.Split("&"); string[] values = kvp.Value.Split("&");
int damageVal = int.Parse(values[0]); int damageVal = int.Parse(values[0]);

12
ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv

@ -2,15 +2,15 @@
1001,1,1,1,3_1,none,1,5,0_0;1_0;2_0,white;white;white,CardIcon/1010,挥砍,1 1001,1,1,1,3_1,none,1,5,0_0;1_0;2_0,white;white;white,CardIcon/1010,挥砍,1
1002,1,1,1,3_1,none,2,4,0_0;-1_1;-1_-1,white;white;white,CardIcon/1010,格挡,1 1002,1,1,1,3_1,none,2,4,0_0;-1_1;-1_-1,white;white;white,CardIcon/1010,格挡,1
1003,1,1,0,3_1,none,40,1,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,white;white;white;white;white;white,CardIcon/1010,烟圈,1 1003,1,1,0,3_1,none,40,1,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,white;white;white;white;white;white,CardIcon/1010,烟圈,1
1004,1,2,1,3_1,none,12;13,2;2,0_0;1_0;0_-1;0_1,blue;blue;red;red,CardIcon/1011,搜索,1 1004,1,1,1,3_1,none,12;13,2;2,0_0;1_0;0_-1;0_1,blue;blue;red;red,CardIcon/1011,搜索,1
1005,1,1,0,3_1,none,1;12,8;1,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,red;red;red;red;red;red,CardIcon/1012,刀扇,2 1005,1,1,0,3_1,none,1;12,8;1,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,red;red;red;red;red;red,CardIcon/1012,刀扇,2
1006,1,0,1,3_1,none,13,2,1_0;0_-1;0_1;2_0;1_-1;1_1,red;red;red;blue;blue;blue,CardIcon/1013,喷吐,2 1006,1,0,1,3_1,none,13,2,1_0;0_-1;0_1;2_0;1_-1;1_1,red;red;red;blue;blue;blue,CardIcon/1013,喷吐,2
1009,1,1,1,3_1,none,23,1,0_0;1_0;2_0,green;green;green,CardIcon/1016,突刺,2 1009,1,1,1,3_1,none,23,1,0_0;1_0;2_0,green;green;green,CardIcon/1016,突刺,2
1010,1,2,1,3_1,none,19,2,0_0;1_0;2_0;1_1;1_-1,blue;blue;blue;blue;blue,CardIcon/1017,重锤,1 1010,1,1,1,3_1,none,19,2,0_0;1_0;2_0;1_1;1_-1,blue;blue;blue;blue;blue,CardIcon/1017,重锤,1
1011,1,1,1,3_1,none,5,1,0_0;1_0;2_0;3_0;4_0,blue;blue;blue;blue;blue,CardIcon/1018,长鞭,2 1011,1,1,1,3_1,none,5,1,0_0;1_0;2_0;3_0;4_0,blue;blue;blue;blue;blue,CardIcon/1018,长鞭,2
1012,1,0,1,3_1,none,none,none,0_0;1_0;0_1,yellow;red;blue,CardIcon/1019,彩球,1 1012,1,0,1,3_1,none,none,none,0_0;1_0;0_1,yellow;red;blue,CardIcon/1019,彩球,1
1013,1,2,1,3_1,none,2,10,1_0;0_-1;0_1;2_0;1_-1;1_1;3_0;2_1;2_-1,red;red;red;blue;blue;blue;yellow;yellow;yellow,CardIcon/1020,九宫格,2 1013,1,1,1,3_1,none,13;2,1;8,1_0;0_-1;0_1;2_0;1_-1;1_1;3_0;2_1;2_-1,red;red;red;blue;blue;blue;yellow;yellow;yellow,CardIcon/1020,九宫格,2
1014,1,2,1,3_1,none,1,7,1_0;2_0;3_0;-1_1;-1_2;-2_3;-1_-1;-1_-2;-2_-3,red;red;red;yellow;yellow;yellow;blue;blue;blue,CardIcon/1021,三色线,2 1014,1,1,1,3_1,none,1,5,1_0;2_0;3_0;-1_1;-1_2;-2_3;-1_-1;-1_-2;-2_-3,red;red;red;yellow;yellow;yellow;blue;blue;blue,CardIcon/1021,三色线,2
1016,1,1,1,3_1,none,53,2&3,0_0;1_0;2_0;0_1;0_-1;1_2;1_-2,red;red;red;red;red;red;red,CardIcon/1021,散射,1 1016,1,1,1,3_1,none,53,2&3,0_0;1_0;2_0;0_1;0_-1;1_2;1_-2,red;red;red;red;red;red;red,CardIcon/1021,散射,1
1017,1,2,1,3_1,none,17,1,0_0;1_0;2_0;3_0;2_1;2_-1;2_2;2_-2,blue;blue;blue;blue;blue;blue;blue;blue,CardIcon/1021,单向箭头,2 1017,1,1,1,3_1,none,17,1,0_0;1_0;2_0;3_0;2_1;2_-1;2_2;2_-2,blue;blue;blue;blue;blue;blue;blue;blue,CardIcon/1021,单向箭头,2
1007,1,3,1,3_1,none,1,32,0_0;1_0;0_1;0_-1;1_1;1_-1;1_2;1_-2,black;black;black;black;black;black;black;black,CardIcon/1021,黑火药,3 1007,1,2,1,3_1,none,1,20,0_0;1_0;0_1;0_-1;1_1;1_-1;1_2;1_-2,black;black;black;black;black;black;black;black,CardIcon/1021,黑火药,3

1 ID 费用类型 费用 施法范围 作用范围 条件 功能 数值 地块标记 地块颜色 图片路径 名称 稀有度
2 1001 1 1 1 3_1 none 1 5 0_0;1_0;2_0 white;white;white CardIcon/1010 挥砍 1
3 1002 1 1 1 3_1 none 2 4 0_0;-1_1;-1_-1 white;white;white CardIcon/1010 格挡 1
4 1003 1 1 0 3_1 none 40 1 1_0;0_1;0_-1;-1_0;-1_1;-1_-1 white;white;white;white;white;white CardIcon/1010 烟圈 1
5 1004 1 2 1 1 3_1 none 12;13 2;2 0_0;1_0;0_-1;0_1 blue;blue;red;red CardIcon/1011 搜索 1
6 1005 1 1 0 3_1 none 1;12 8;1 1_0;0_1;0_-1;-1_0;-1_1;-1_-1 red;red;red;red;red;red CardIcon/1012 刀扇 2
7 1006 1 0 1 3_1 none 13 2 1_0;0_-1;0_1;2_0;1_-1;1_1 red;red;red;blue;blue;blue CardIcon/1013 喷吐 2
8 1009 1 1 1 3_1 none 23 1 0_0;1_0;2_0 green;green;green CardIcon/1016 突刺 2
9 1010 1 2 1 1 3_1 none 19 2 0_0;1_0;2_0;1_1;1_-1 blue;blue;blue;blue;blue CardIcon/1017 重锤 1
10 1011 1 1 1 3_1 none 5 1 0_0;1_0;2_0;3_0;4_0 blue;blue;blue;blue;blue CardIcon/1018 长鞭 2
11 1012 1 0 1 3_1 none none none 0_0;1_0;0_1 yellow;red;blue CardIcon/1019 彩球 1
12 1013 1 2 1 1 3_1 none 2 13;2 10 1;8 1_0;0_-1;0_1;2_0;1_-1;1_1;3_0;2_1;2_-1 red;red;red;blue;blue;blue;yellow;yellow;yellow CardIcon/1020 九宫格 2
13 1014 1 2 1 1 3_1 none 1 7 5 1_0;2_0;3_0;-1_1;-1_2;-2_3;-1_-1;-1_-2;-2_-3 red;red;red;yellow;yellow;yellow;blue;blue;blue CardIcon/1021 三色线 2
14 1016 1 1 1 3_1 none 53 2&3 0_0;1_0;2_0;0_1;0_-1;1_2;1_-2 red;red;red;red;red;red;red CardIcon/1021 散射 1
15 1017 1 2 1 1 3_1 none 17 1 0_0;1_0;2_0;3_0;2_1;2_-1;2_2;2_-2 blue;blue;blue;blue;blue;blue;blue;blue CardIcon/1021 单向箭头 2
16 1007 1 3 2 1 3_1 none 1 32 20 0_0;1_0;0_1;0_-1;1_1;1_-1;1_2;1_-2 black;black;black;black;black;black;black;black CardIcon/1021 黑火药 3

8
ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_effect_4.csv

@ -28,3 +28,11 @@
2036,1,1,65;66,5;1,yellow>10,67,1,66,0_0,EffectCardIcon/血蛭,1,3,1,血蛭,翻三倍 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 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 2039,1,0,65;11,5;2,red>19,11,3,11,0_0,EffectCardIcon/战吼,0,3,1,战吼,none
2040,1,1,98,5,yellow>6,9,2,none,0_0,EffectCardIcon/战吼,1,1,0,伤口,额外施加2层流血
2041,1,1,53,7&2,red>12,12,1,none,0_0,EffectCardIcon/战吼,1,2,0,飞镖,none
2042,1,1,99,3,none,none,none,none,0_0,EffectCardIcon/战吼,1,2,0,剑阵,none
2043,1,0,12;16;120,3;3;1,red>10,11,1,none,0_0,EffectCardIcon/战吼,0,3,1,孤注一掷,none
2044,1,1,12;102,1;10,none,none,none,none,0_0,EffectCardIcon/战吼,1,1,0,背刺,none
2045,1,1,101,7,blue>5,12,1,none,0_0,EffectCardIcon/战吼,1,1,0,践踏,none
2046,1,1,100,1,yellow>7,16,2,none,0_0,EffectCardIcon/战吼,0,2,0,狂战,none
2047,1,1,1,22,blue>9,103,22&2,1,0_0,EffectCardIcon/战吼,1,2,0,斩杀,如果击杀,回复2点能量

1 ID 消耗类型 消耗数值 基础功能 数值 条件 额外功能 数值 否定功能 地块标记 图片路径 施法范围 稀有度 消耗 名字 卡牌描述
28 2036 1 1 65;66 5;1 yellow>10 67 1 66 0_0 EffectCardIcon/血蛭 1 3 1 血蛭 翻三倍
29 2038 1 2 97 1 blue<9 33 1 none 0_0 EffectCardIcon/猛烈一击 1 2 0 猛烈一击 none
30 2039 1 0 65;11 5;2 red>19 11 3 11 0_0 EffectCardIcon/战吼 0 3 1 战吼 none
31 2040 1 1 98 5 yellow>6 9 2 none 0_0 EffectCardIcon/战吼 1 1 0 伤口 额外施加2层流血
32 2041 1 1 53 7&2 red>12 12 1 none 0_0 EffectCardIcon/战吼 1 2 0 飞镖 none
33 2042 1 1 99 3 none none none none 0_0 EffectCardIcon/战吼 1 2 0 剑阵 none
34 2043 1 0 12;16;120 3;3;1 red>10 11 1 none 0_0 EffectCardIcon/战吼 0 3 1 孤注一掷 none
35 2044 1 1 12;102 1;10 none none none none 0_0 EffectCardIcon/战吼 1 1 0 背刺 none
36 2045 1 1 101 7 blue>5 12 1 none 0_0 EffectCardIcon/战吼 1 1 0 践踏 none
37 2046 1 1 100 1 yellow>7 16 2 none 0_0 EffectCardIcon/战吼 0 2 0 狂战 none
38 2047 1 1 1 22 blue>9 103 22&2 1 0_0 EffectCardIcon/战吼 1 2 0 斩杀 如果击杀,回复2点能量
Loading…
Cancel
Save