Pedro Gomes c61de8834c Status effect system
absorb status effect
added absorb to priest holyball
2024-07-07 00:56:05 +01:00

35 lines
1.1 KiB
C#

using Kryz.CharacterStats;
using Kryz.CharacterStats.Examples;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "AbsorbEffect", menuName = "RiftMayhem/AbilitySystem/Effects/Absorb Effect", order = 1)]
public class AbsorbEffect : StatusEffect
{
public float amount;
public float percentStatInfluence;
AbsorbEffectInstance targetAbsorbEffect;
public override void ApplyEffect(Taggable user, List<Taggable> targets)
{
base.ApplyEffect(user, targets);
foreach (Taggable target in targets)
{
if (IsAlliedTarget(user, target))
{
targetAbsorbEffect = target.GetComponent<AbsorbEffectInstance>();
targetAbsorbEffect.owner.RPC(nameof(targetAbsorbEffect.RPC_ApplyAbsorbEffect), targetAbsorbEffect.owner.Owner, StatusEffectIndexer.Instance.StatusEffects.IndexOf(this));
}
}
}
private bool IsAlliedTarget(Taggable user, Taggable target)
{
return user.targetTag.AlliedTags.Contains(target.targetTag);
}
}