/// <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); }