This commit is contained in:
SoulliesOfficial
2026-04-01 12:23:27 -04:00
parent aff7ac0e03
commit c3b1561375
933 changed files with 114333 additions and 119360 deletions

View File

@@ -1,3 +1,4 @@
using System.Collections.Generic;
using Continentis.MainGame.Character;
using Continentis.Mods.Basic.Cards;
using UnityEngine;
@@ -19,66 +20,67 @@ namespace Continentis.MainGame.Card
/// <summary>
/// 设置伤害值
/// </summary>
/// <param name="additive">是否为叠加true为叠加false为覆盖</param>
/// <param name="originalDamage">原始伤害值仅在additive为true时有效否则被覆盖为BaseDamage</param>
/// <param name="damageAttributeName">要写入的属性名,默认为 "Damage"</param>
/// <param name="damageOffset">伤害增量</param>
public void SetDamage(int damageOffset, bool additive = false, int originalDamage = 0)
/// <param name="additive">是否为叠加true为叠加false为覆盖</param>
/// <param name="originalDamage">原始伤害值仅在additive为true时有效</param>
public void SetDamage(int damageOffset, string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
card.SetVariableAttribute("Damage", damageOffset, additive, originalDamage);
card.SetVariableAttribute(damageAttributeName, damageOffset, additive, originalDamage);
}
/// <summary>
/// 默认伤害计算,仅使用卡牌基础伤害(无任何属性加成)
/// </summary>
public void SetDamage_Default()
public void SetDamage_Default(string damageAttributeName = "Damage")
{
SetDamage(0);
SetDamage(0, damageAttributeName);
}
/// <summary>
/// 斩击伤害计算,伤害=基础伤害+(力量加成+敏捷加成)/2
/// </summary>
public void SetDamage_Slash(bool additive = false, int originalDamage = 0)
public void SetDamage_Slash(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
float rawDamageOffsetFromStrength = user.GetRawAttribute("OffsetFromStrength");
float rawDamageOffsetFromAgility = user.GetRawAttribute("OffsetFromAgility");
SetDamage(Mathf.RoundToInt((rawDamageOffsetFromStrength + rawDamageOffsetFromAgility) / 2f), additive, originalDamage);
SetDamage(Mathf.RoundToInt((rawDamageOffsetFromStrength + rawDamageOffsetFromAgility) / 2f), damageAttributeName, additive, originalDamage);
}
/// <summary>
/// 打击伤害计算,伤害=基础伤害+力量加成
/// </summary>
public void SetDamage_Strike(bool additive = false, int originalDamage = 0)
public void SetDamage_Strike(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
int damageOffset = user.GetAttribute("OffsetFromStrength");
SetDamage(damageOffset, additive, originalDamage);
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
}
/// <summary>
/// 突刺伤害计算,伤害=基础伤害+敏捷加成
/// </summary>
public void SetDamage_Prick(bool additive = false, int originalDamage = 0)
public void SetDamage_Prick(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
int damageOffset = user.GetAttribute("OffsetFromAgility");
SetDamage(damageOffset, additive, originalDamage);
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
}
/// <summary>
/// 奥术伤害计算,伤害=基础伤害+智力加成
/// </summary>
public void SetDamage_Arcane(bool additive = false, int originalDamage = 0)
public void SetDamage_Arcane(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
int damageOffset = user.GetAttribute("OffsetFromIntelligence");
SetDamage(damageOffset, additive, originalDamage);
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
}
/// <summary>
/// 契术伤害计算,伤害=基础伤害+魅力加成
/// </summary>
public void SetDamage_Sorcery(bool additive = false, int originalDamage = 0)
public void SetDamage_Sorcery(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
{
int damageOffset = user.GetAttribute("OffsetFromCharisma");
SetDamage(damageOffset, additive, originalDamage);
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
}
}
}

View File

@@ -16,9 +16,9 @@ namespace Continentis.MainGame.Card
{
card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge"));
}
else if(card.HasAttribute("Shield"))
else if(card.HasAttribute("TemporaryHealth"))
{
card.SetAttribute("DisplayShield", card.GetAttribute("Shield"));
card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth"));
}
}
@@ -32,9 +32,9 @@ namespace Continentis.MainGame.Card
{
card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge"));
}
else if(card.HasAttribute("Shield"))
else if(card.HasAttribute("TemporaryHealth"))
{
card.SetAttribute("DisplayShield", card.GetAttribute("Shield"));
card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth"));
}
}
@@ -102,11 +102,11 @@ namespace Continentis.MainGame.Card
}
/// <summary>
/// 设置护盾值,默认无加成
/// 设置临时生命值,默认无加成
/// </summary>
public void SetShield(bool additive = false, int originalShield = 0)
{
card.SetVariableAttribute("Shield", 0, additive, originalShield);
card.SetVariableAttribute("TemporaryHealth", 0, additive, originalShield);
}
}
}