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(); } }
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); }
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); }
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); }
public abstract bool Trigger(BattleActor actor, StatusTriggerTime trigger);
public virtual void UpdateStatusEffects(StatusTriggerTime TriggerTime) { UnityEngine.Debug.Log("ApplyStatusEffect Not Implemented"); }