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;
            }
        }
Beispiel #3
0
        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);
        }