// Effects public void Stun(float time, bool bonusDamage, float bonusAmount) { if (effects.StunImmune) { return; } effects.AddEffect(EffectType.STUN, time); effects.AddEffect(EffectType.STUNRESIST, time * 2f); if (bonusDamage) { effects.AddEffect(EffectType.STUNBONUS, time, bonusAmount); } GameObject effect = Instantiate((GameObject)Resources.Load("StunEffect"), gameObject.transform.position, Quaternion.identity); Destroy(effect, time / TimeEffect(1f)); effect.transform.parent = gameObject.transform; }
public void ApplyStatus(StatusEffects infx) { StatusEffects tempy = Instantiate(infx); tempy.AddEffect(this); bool tempeh = false; for (int i = 0; i < CurrentEffects.Count; i++) { if (CurrentEffects[i].EffectName == infx.EffectName) { CurrentEffects[i] = tempy; tempeh = true; i = CurrentEffects.Count; } } if (!tempeh) { CurrentEffects.Add(tempy); } }
public void SyncStatusEffects(int effectType, float duration, int value = -1) { statusEffects.AddEffect(effectType, duration, value); }