예제 #1
0
    public override void UpdateStatusEffects(StatusTriggerTime TriggerTime)
    {
        //Debug.Log("Updating Status effects on an effects list " + effects.Count + " long.");
        StatusEffect removeEffect = null;

        foreach (StatusEffect effect in effects)
        {
            if (effect.Trigger(this, TriggerTime))
            {
                effect.ReduceDuration();
                if (effect.IsEffectDone())
                {
                    // Remove the effect
                    removeEffect = effect;
                    effect.Remove(this);
                }
            }
        }
        if (removeEffect != null)
        {
            effects.Remove(removeEffect);
        }
        if (onStatusChanged != null)
        {
            onStatusChanged();
        }
    }
예제 #2
0
 public override bool Trigger(BattleActor actor, StatusTriggerTime trigger)
 {
     if (TriggerTime != trigger)
     {
         return(false);
     }
     return(true);
 }
    public override bool Trigger(BattleActor actor, StatusTriggerTime trigger)
    {
        if (trigger != TriggerTime)
        {
            return(false);
        }

        // Do nothing, it is handled in the battle controller
        return(true);
    }
    public override bool Trigger(BattleActor actor, StatusTriggerTime trigger)
    {
        if (trigger != TriggerTime)
        {
            return(false);
        }

        // Do nothing for defense in the updateTrigger

        return(true);
    }
예제 #5
0
 public ItemModData(string Identity, ItemModType ModType, ItemModEffects StatType, float ModBase, float ScalingFactor, float Variance, StatusTriggerTime StatusTriggerType, string Status, CoreStats?CoreStat = null, PrimaryStats?PrimaryStat = null, SecondaryStats?SecondaryStat = null)
 {
     //Debug.Log("[Mode Loaded] Mod Base: " + ModBase);
     this.Identity          = Identity;
     this.ModType           = ModType;
     this.StatType          = StatType;
     this.ModBase           = ModBase;
     this.ScalingFactor     = ScalingFactor;
     this.Variance          = Variance;
     this.CoreStat          = CoreStat;
     this.PrimaryStat       = PrimaryStat;
     this.SecondaryStat     = SecondaryStat;
     this.StatusTriggerType = StatusTriggerType;
     this.Status            = Resources.Load <StatusEffect>("Skills/StatusEffects/" + Status);
 }
예제 #6
0
    public override bool Trigger(BattleActor actor, StatusTriggerTime trigger)
    {
        if (trigger != TriggerTime)
        {
            return(false);
        }

        if (actor is HeroActor)
        {
            ((HeroActor)actor).TakeDamage(damage);
        }
        else if (actor is BossActor)
        {
            ((BossActor)actor).TakeDamage(damage);
        }
        return(true);
    }
예제 #7
0
 public abstract bool Trigger(BattleActor actor, StatusTriggerTime trigger);
예제 #8
0
 public virtual void UpdateStatusEffects(StatusTriggerTime TriggerTime)
 {
     UnityEngine.Debug.Log("ApplyStatusEffect Not Implemented");
 }