/// <summary> /// Creates a new weapon with specified name and attributes. /// </summary> public Weapon(WeaponProperties data, CombatProperties propes, Attributes attri, StatusEffectProperties effect) { WeaponData = data; CombatProperties = propes; Attributes = attri; Effect = effect; }
/// <summary> /// Applies a status effect to this entity /// </summary> public void ApplyStatusEffect(StatusEffectProperties attributes) { var constructor = Helper.GetObjectConstructor<StatusEffect>(string.Format("Corvus.Components.Gameplay.StatusEffects.{0}", attributes.EffectType), new Type[] { typeof(Entity), typeof(StatusEffectProperties) }); var statusEffect = constructor(this.Parent, attributes); if (!_StatusEffects.Contains(statusEffect.Name)) CorvEngine.AudioManager.PlaySoundEffect((statusEffect.IsPositive) ? "StatusEffectGood" : "Curse2"); _StatusEffects.Add(statusEffect); }
/// <summary> /// Creates a new instance of StatusEffect. /// </summary> /// <param name="entity">The entity being affected.</param> public StatusEffect(Entity entity, StatusEffectProperties attributes) { var effect = CorvusGame.Instance.GlobalContent.LoadSprite(SpriteName); var animation = effect.Animations.First(); effect.PlayAnimation(animation.Name); this._Sprite = effect; this._Entity = entity; this._Attributes = attributes; FloatingTextComponent = entity.GetComponent<FloatingTextComponent>(); }
/// <summary> /// Creates a new instance of StatusEffect. /// </summary> /// <param name="entity">The entity being affected.</param> public StatusEffect(Entity entity, StatusEffectProperties attributes) { var effect = CorvusGame.Instance.GlobalContent.LoadSprite(SpriteName); var animation = effect.Animations.First(); effect.PlayAnimation(animation.Name); this._Sprite = effect; this._Entity = entity; this._Attributes = attributes; FloatingTextComponent = entity.GetComponent <FloatingTextComponent>(); }
//Unfortunately, need to specify this in order for StatusEffectsComponent to work properly. public Poison(Entity entity, StatusEffectProperties attributes) : base(entity, attributes) { }
public Fleet(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
//Unfortunately, need to specify this in order for StatusEffectsComponent to work properly. public Poison(Entity entity, StatusEffectProperties attributes) : base(entity, attributes) { }
public Healing(Entity entity, StatusEffectProperties attributes) : base(entity, attributes) { }
public Pierce(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Slow(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Recover(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Fleet(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public ManaHeal(Entity entity, StatusEffectProperties sep) : base(entity, sep) { }
public Healing(Entity entity, StatusEffectProperties attributes) : base(entity, attributes) { }
public Vigor(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public ManaHeal(Entity entity, StatusEffectProperties sep) : base(entity, sep) { }
public IWorkOut(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public IWorkOut(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Pierce(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Weakness(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Vigor(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Recover(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Slow(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }
public Weakness(Entity entity, StatusEffectProperties prop) : base(entity, prop) { }