Beispiel #1
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                Unit unit;

                if (!_triggered)
                {
                    switch (_golemSize)
                    {
                    case GolemSize.Small:
                        unit = FigureManager.CreateUnit("EarthSmallGolem");
                        break;

                    case GolemSize.Big:
                        unit = FigureManager.CreateUnit("EarthBigGolem");
                        break;

                    default:
                        return(0);
                    }

                    _figure    = FigureManager.CreateFigure(unit, Enums.Piece.Pawn);
                    _triggered = true;

                    OnFigureSpawn(_figure, _source);
                }
                return(0);
            }
Beispiel #2
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                base.ApplyToProperties(property);
                BuffHinduExplosion buff = property.AttackCarriedBuffs.Find(b => { return(b is BuffHinduExplosion); }) as BuffHinduExplosion;

                buff.AddOrigin(_source);
                return(0);
            }
Beispiel #3
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                if (this.BuffStats.ShieldFlat == 1)
                {
                    property.Shield += property.Health;
                }

                return(base.ApplyToProperties(property));
            }
Beispiel #4
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                Unit unit = ((Units.ICloneable)_source.Unit).Clone();

                Figure figure = FigureManager.CreateFigure(unit, Enums.Piece.Pawn);

                OnFigureSpawn(figure, _source);

                return(0);
            }
Beispiel #5
0
 public override float ApplyToProperties(Unit.Properties property)
 {
     if (_randomDistribution)
     {
         if (_synergyCarriers != (new Random()).Next(1, _synergyCarriers))
         {
             --_synergyCarriers;
             return(0);
         }
     }
     return(base.ApplyToProperties(property));
 }
Beispiel #6
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                int range = 1;

                for (int row = _target.Position.Row - range; row <= _target.Position.Row + range; ++row)
                {
                    if (row < 0 || row > 7)
                    {
                        continue;
                    }

                    for (int column = _target.Position.Column - range; column <= _target.Position.Column + range; ++column)
                    {
                        if (column < 0 || column > 7)
                        {
                            continue;
                        }

                        if (column == _target.Position.Column && row == _target.Position.Row)
                        {
                            continue;
                        }

                        Figure figure = Board.Figures[row, column];
                        if (figure != null)
                        {
                            if (figure.Owner != _source.Owner)
                            {
                                _source.DamageFeedback(
                                    _source.Unit.Stats.AutoAttackDamageType,
                                    figure.TakeDamage(_source.Unit.Stats.AutoAttackDamageType,
                                                      _source.Unit.Stats.AttackDamage * _damageCoefficient));
                            }
                        }
                    }
                }

                Destroy();
                return(0);
            }
Beispiel #7
0
 public override float ApplyToProperties(Unit.Properties property)
 {
     _unitProperties = property;
     return(0);
 }
Beispiel #8
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                property.StartingMana = property.Mana;

                return(base.ApplyToProperties(property));
            }