测试三阵营

This commit is contained in:
xianyi
2025-08-11 14:09:21 +08:00
parent 6a7da24965
commit ca64c08f7e
17 changed files with 734 additions and 583 deletions

View File

@@ -19,6 +19,9 @@ namespace TcgEngine
public CardType has_type;
public TeamData has_team;
public TraitData has_trait;
[Header("Team Mana (only for Mana type)")]
public string team_id = ""; // 当type为Mana时指定影响的阵营
public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Player target)
{
@@ -31,10 +34,19 @@ namespace TcgEngine
if (type == EffectStatType.Mana)
{
target.mana += val;
target.mana_max += val;
target.mana = Mathf.Max(target.mana, 0);
target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max);
// 如果指定了阵营影响阵营mana否则影响通用mana
if (!string.IsNullOrEmpty(team_id))
{
target.AddTeamMana(team_id, val, val);
}
else
{
Debug.Log($"AddStatCount Mana 通用: {val}");
target.mana += val;
target.mana_max += val;
target.mana = Mathf.Max(target.mana, 0);
target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max);
}
}
}
@@ -47,6 +59,13 @@ namespace TcgEngine
target.hp += val;
if (type == EffectStatType.Mana)
target.mana += val;
if (type == EffectStatType.ManaFire)
target.mana_fire += val;
if (type == EffectStatType.ManaForest)
target.mana_forest += val;
if (type == EffectStatType.ManaWater)
target.mana_water += val;
}
public override void DoOngoingEffect(GameLogic logic, AbilityData ability, Card caster, Card target)
@@ -58,6 +77,13 @@ namespace TcgEngine
target.hp_ongoing += val;
if (type == EffectStatType.Mana)
target.mana_ongoing += val;
if (type == EffectStatType.ManaFire)
target.mana_fire_ongoing += val;
if (type == EffectStatType.ManaForest)
target.mana_forest_ongoing += val;
if (type == EffectStatType.ManaWater)
target.mana_water_ongoing += val;
}
private int GetCount(Game data, Card caster)