37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace TcgEngine
|
|
{
|
|
//Checks if a player or card has a status effect
|
|
|
|
[CreateAssetMenu(fileName = "condition", menuName = "TcgEngine/Condition/CardStatus", order = 10)]
|
|
public class ConditionStatus : ConditionData
|
|
{
|
|
[Header("Card has status")]
|
|
public StatusType has_status;
|
|
public int value = 0;
|
|
public ConditionOperatorBool oper;
|
|
|
|
public override bool IsTargetConditionMet(Game data, AbilityData ability, Card caster, Card target)
|
|
{
|
|
bool hstatus = target.HasStatus(has_status) && target.GetStatusValue(has_status) >= value;
|
|
return CompareBool(hstatus, oper);
|
|
}
|
|
|
|
public override bool IsTargetConditionMet(Game data, AbilityData ability, Card caster, Player target)
|
|
{
|
|
bool hstatus = target.HasStatus(has_status) && target.GetStatusValue(has_status) >= value;
|
|
return CompareBool(hstatus, oper);
|
|
}
|
|
|
|
public override bool IsTargetConditionMet(Game data, AbilityData ability, Card caster, Slot target)
|
|
{
|
|
Card card = data.GetSlotCard(target);
|
|
if (card != null)
|
|
return IsTargetConditionMet(data, ability, caster, card);
|
|
return false;
|
|
}
|
|
}
|
|
} |