public override void ApplyOnSkip(Logic.Battles.ICreaturesInBattle skipCreature) { if (skipCreature == null) { throw new ArgumentNullException("skipCreature"); } skipCreature.PermanentAttack += this.attackPointsToAdd; }
public override void ApplyWhenAttacking(Logic.Battles.ICreaturesInBattle attackerWithSpecialty, Logic.Battles.ICreaturesInBattle defender) { if (attackerWithSpecialty == null) { throw new ArgumentNullException(); } if (defender == null) { throw new ArgumentNullException(); } else if (this.rounds > 0) { this.rounds--; attackerWithSpecialty.CurrentAttack = attackerWithSpecialty.CurrentAttack * 2; } }
public override decimal ChangeDamageWhenAttacking(Logic.Battles.ICreaturesInBattle attackerWithSpecialty, Logic.Battles.ICreaturesInBattle defender, decimal currentDamage) { if (attackerWithSpecialty == null) { throw new ArgumentNullException("attackerWithSpecialty"); } if (defender == null) { throw new ArgumentNullException("defender"); } if (playedROunds == 0) { return(currentDamage); } this.playedROunds--; return(currentDamage * 2); }