public override Attack GenerateAttack() { Attack outgoing = new Attack(stats.MinimumDamage, stats.MaximumDamage, this.level); weapon.ModifyOutgoing(outgoing); potion.ModifyOutgoing(outgoing); return outgoing; }
public override void ModifyOutgoing(Attack outgoing) { outgoing.MaximumDamage = (int)(outgoing.MaximumDamage * 1.6); outgoing.MinimumDamage = (int)(outgoing.MinimumDamage * 1.1); }
public override void ModifyIncoming(Attack incoming) { // default: do nothing // note: you can completely omit this method if you don't wish to modify incoming attacks }
public abstract void ModifyOutgoing(Attack outgoing);
public virtual void ModifyIncoming(Attack incoming) { // default: do nothing }
public override void RecieveAttack(Attack incoming) { Health -= (int)(incoming.GenerateDamage() * (1 - stats.DamageReduction)); }
public abstract void RecieveAttack(Attack incoming);
public override void ModifyOutgoing(Attack outgoing) { outgoing.MultiplyDamage(1.1); }