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); }
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); }
public override float ApplyToProperties(Unit.Properties property) { if (this.BuffStats.ShieldFlat == 1) { property.Shield += property.Health; } return(base.ApplyToProperties(property)); }
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); }
public override float ApplyToProperties(Unit.Properties property) { if (_randomDistribution) { if (_synergyCarriers != (new Random()).Next(1, _synergyCarriers)) { --_synergyCarriers; return(0); } } return(base.ApplyToProperties(property)); }
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); }
public override float ApplyToProperties(Unit.Properties property) { _unitProperties = property; return(0); }
public override float ApplyToProperties(Unit.Properties property) { property.StartingMana = property.Mana; return(base.ApplyToProperties(property)); }