protected BaseAttack(string name, int attack, IDamage damage, AppendageType appendages) { this.Name = name; this.Attack = attack; this.Damage = damage; this.Appendages = appendages; }
protected BaseAppendage(string name, AppendageType type, int size, int toughness, AppendageStatus status = default, IEnumerable <IInjury>?injuries = default, IEnumerable <IEffect>?effects = default) { this.Name = name; this.Type = type; this.Size = size; this.Toughness = toughness; this.Status = status; this.Injuries = injuries?.ToList() ?? new List <IInjury>(); this.Effects = effects?.ToList() ?? new List <IEffect>(); }
public TestAttack(string name, int attack, IDamage damage, AppendageType appendages) : base(name, attack, damage, appendages) { }
public Appendage( string name, AppendageType type, int size, int toughness, AppendageStatus status = AppendageStatus.Normal, IEnumerable <IInjury>?injuries = null) : base(name, type, size, toughness, status, injuries) { }
public virtual IAttack Attack(AppendageType appendage) => this.attacks.FirstOrDefault(attack => attack.Appendages.HasAnyFlags(appendage));