Browse Source

加入火种buff

pull/16/head
软件204张景程 2 years ago
parent
commit
bc70537c49
  1. 1
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset
  2. 1
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkullGuardian.asset
  3. 52
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  4. 7
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Vulnerable.cs
  5. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  6. 31
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  7. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs
  8. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs
  9. 27
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs
  10. 60
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs
  11. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs.meta
  12. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceLoadManager.cs.meta
  13. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs
  14. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs.meta
  15. 28
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs
  16. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache
  17. BIN
      ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

1
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset

@ -23,6 +23,7 @@ MonoBehaviour:
upShieldValue: 0
maxHP: 25
currentHP: 25
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3

1
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkullGuardian.asset

@ -23,6 +23,7 @@ MonoBehaviour:
upShieldValue: 7
maxHP: 27
currentHP: 27
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3

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

@ -382,9 +382,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c4e609945f10ddd4289c176395cebad5, type: 3}
m_Name:
m_EditorClassIdentifier:
loadScreen: {fileID: 1612911696}
slider: {fileID: 129931013}
text: {fileID: 834322864}
--- !u!4 &13807177
Transform:
m_ObjectHideFlags: 0
@ -4878,6 +4875,7 @@ Transform:
- {fileID: 409697653}
- {fileID: 678393340}
- {fileID: 603990721}
- {fileID: 878196045}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &365854624
@ -6420,6 +6418,10 @@ MonoBehaviour:
buffPanle: {fileID: 365854624}
buffIcon: {fileID: 610775712955856159, guid: 457a3d2dee855fa41a324600bf63e57f, type: 3}
damagemultiply: 0
firm: 0
drawNubmerMultiply: 0
sufferDamageMultiply: 0
stepRangeMultiply: 0
--- !u!1 &497308547
GameObject:
m_ObjectHideFlags: 0
@ -9739,6 +9741,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 867255144}
m_CullTransparentMesh: 1
--- !u!1 &878196044
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 878196045}
- component: {fileID: 878196046}
m_Layer: 0
m_Name: MapUnityBuffSettle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &878196045
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 878196044}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 348176937}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &878196046
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 878196044}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4fc97c2ed99c8104e89a3c496f4cf33b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &896604551
GameObject:
m_ObjectHideFlags: 0

7
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Vulnerable.cs

@ -8,14 +8,9 @@ public class Buff_Vulnerable : Buff
public override void Settle()
{
base.Settle();
SettleVulnerable();
}
public void SettleVulnerable()
{
if (value > 0)
Usermanager.Instance.SufferDamageJudge();
}
public override void UIShow(GameObject buff, string key)
{

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

@ -49,18 +49,21 @@ public class TurnMaster : Singleton<TurnMaster>
//洗牌--抽卡
StartCoroutine(ShuffleWithLosingCards());
//써炬鯤소buff
Usermanager.Instance.PlayerTurnSettle();
//恢复体力
GameManager.Instance.playerState.currentStepRange = GameManager.Instance.playerState.maxStepRange;
GameManager.Instance.playerState.currentStepRange = Usermanager.Instance.StepRangeCalculation(GameManager.Instance.playerState.maxStepRange);
restoreResource(0);
//써炬鯤소buff
Usermanager.Instance.PlayerTurnSettle();
//显示敌人攻击虚线
EnemyManager.Instance.EnemyLine_Observer();
//回复敌人系数
EnemyManager.Instance.enemyMultiplierRestore();
//써炬뒈욥Buff
MapUnitySettleManager.Instance.MapGridsSettle();
//阶段流转
StartCoroutine(EndPlayerTurnBegin());
}

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

@ -453,7 +453,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
public void sufferDamage(int damageVal)
{
EnemyState.currentHP -= damageVal;
EnemyState.currentHP -= SufferDamageCalculation (damageVal);
Debug.Log("µÐÈËѪÁ¿" + EnemyState.currentHP);
if (EnemyState.currentHP <= 0)
{
@ -559,6 +559,9 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
case AbnormalCondition.thorn:
thornSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.fireSeed:
fireSeedSettle(EnemyState.abnormalCondition[key]);
break;
}
abnormalConditionEndCheck();
}
@ -636,6 +639,10 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
EnemyState.stepRangeMultiplier = 0;
EnemyState.abnormalCondition[AbnormalCondition.sleep]--;
}
private void fireSeedSettle(int fireSeedStack)
{
EnemyState.abnormalCondition[AbnormalCondition.fireSeed]--;
}
public void bleedSettle()
{
@ -663,5 +670,27 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
}
//获取格子
public MapUnity GetMapGrid()
{
return GameManager.Instance.X[positionX].Y[positionY];
}
#region Buff结算函数
//结算易伤
public int SufferDamageCalculation(int damage)
{
if (EnemyState .abnormalCondition .ContainsKey(AbnormalCondition.vulnerable))
{
EnemyState .sufferDamageMultiply = 1.5f;
}
else
{
EnemyState. sufferDamageMultiply = 1f;
}
damage = (int)(EnemyState.sufferDamageMultiply * damage);
return damage;
}
#endregion
}

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

@ -44,4 +44,8 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
public const string downSpeed = "21";
//²øÈÆ-
public const string BanStep = "22";
//后加敌方
//火种
public const string fireSeed = "23";
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs

@ -24,6 +24,8 @@ public class EnemyState_SO : ScriptableObject
public float currentHP;//当前血量
public float sufferDamageMultiply;//受伤系数
public int colourType;//涂色类型,0为不涂色
public int maxSkillCoolDown;//技能冷却

27
ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs

@ -224,6 +224,33 @@ public class EnemyUIBar : MonoBehaviour
buffIconList.Add(thorn);
}
break;
case AbnormalCondition.fireSeed:
if (EnemyState.abnormalCondition[key] != 0)
{
var thorn = Instantiate(buffIcon, buffPanle.transform);
thorn.transform.GetChild(0).GetComponent<Text>().text = "»ð";
thorn.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(thorn);
}
break;
case AbnormalCondition.downSpeed:
if (EnemyState.abnormalCondition[key] != 0)
{
var thorn = Instantiate(buffIcon, buffPanle.transform);
thorn.transform.GetChild(0).GetComponent<Text>().text = "Âý";
thorn.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(thorn);
}
break;
case AbnormalCondition.upperSpeed:
if (EnemyState.abnormalCondition[key] != 0)
{
var thorn = Instantiate(buffIcon, buffPanle.transform);
thorn.transform.GetChild(0).GetComponent<Text>().text = "¿ì";
thorn.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(thorn);
}
break;
}
}

60
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs

@ -0,0 +1,60 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MapUnitySettleManager : Singleton<MapUnitySettleManager>
{
public void PlayerMudGridSettle(int value)
{
if(GameManager .Instance .playerOn .whoColour == MapUnity.WhoColour.enemyColour )
{
Usermanager.Instance.AddPlayerAbnormalCondition_downSpeed(value);
}
else if (GameManager.Instance.playerOn.whoColour == MapUnity.WhoColour.playerColour)
{
Usermanager.Instance.AddPlayerAbnormalCondition_upperSpeed(value);
}
}
public void EnemyRedGridSettle (EnemyNode enemyNode , int value)
{
if (enemyNode.GetMapGrid().whoColour == MapUnity.WhoColour.playerColour)
{
AddEnemyFireSeed(enemyNode, value);
}
}
#region 给敌方施加Buff方法
//给敌方施加火种
public void AddEnemyFireSeed(EnemyNode enemyNode, int value)
{
enemyNode.sufferAbnormalCondition(AbnormalCondition.fireSeed, value);
if (enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed] >= 10)
{
enemyNode.sufferDamage(Usermanager .Instance . DamageCalculation(15));
enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed] -= 10;
}
}
#endregion
public void MapGridsSettle()
{
PlayerMudGridSettle(1);
if (EnemyManager.Instance.enemySpeedSortingList.Count > 0)
{
for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++)
{
if (EnemyManager.Instance.enemySpeedSortingList[i] != null)
{
EnemyRedGridSettle(EnemyManager.Instance.enemySpeedSortingList[i], 3);
}
}
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs.meta

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

2
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceLoadManager.cs.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c4e609945f10ddd4289c176395cebad5
guid: a89c4e241092d8d4e9db66087ec8d193
MonoImporter:
externalObjects: {}
serializedVersion: 2

8
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs

@ -0,0 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScenceManager : Singleton <ScenceManager>
{
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs.meta

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

28
ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs

@ -109,6 +109,18 @@ public class Usermanager : Singleton<Usermanager>
SufferPlayerAbnormalCondition(AbnormalCondition.banDrawCard, value, buff);
RefreshEnemyBuffIcon();
}
public void AddPlayerAbnormalCondition_downSpeed(int value)
{
Buff buff = new Buff_DownStepRange();
SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, value, buff);
RefreshEnemyBuffIcon();
}
public void AddPlayerAbnormalCondition_upperSpeed(int value)
{
Buff buff = new Buff_UpperStepRange();
SufferPlayerAbnormalCondition(AbnormalCondition.upperSpeed, value, buff);
RefreshEnemyBuffIcon();
}
#endregion
//Buff施加
@ -271,6 +283,20 @@ public class Usermanager : Singleton<Usermanager>
stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply);
return stepRange;
}
//Ò×É˼ÆË㺯Êý
public int SufferDamageCalculation(int damage)
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.vulnerable))
{
sufferDamageMultiply = 1.5f;
}
else
{
sufferDamageMultiply = 1f;
}
damage =(int)( damagemultiply * damage);
return damage;
}
//判断函数
@ -301,4 +327,6 @@ public class Usermanager : Singleton<Usermanager>
return firm;
}
#endregion
}

BIN
ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

Binary file not shown.
Loading…
Cancel
Save