Example #1
0
        public void AddParticle(ParticleEffect particle, string name)
        {
            var time = Game.RawGameTime - (Game.Ping / 2000);

            UpdateManager.BeginInvoke(
                () =>
            {
                try
                {
                    if (!particle.IsValid)
                    {
                        return;
                    }

                    var position = particle.GetControlPoint(0);

                    var obstacle = new AreaOfEffectObstacle(this, position)
                    {
                        EndCastTime     = time,
                        EndObstacleTime = time + this.Ability.ActivationDelay
                    };

                    this.Pathfinder.AddObstacle(obstacle);
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                }
            });
        }
Example #2
0
        public void AddParticle(ParticleEffect particle, string name)
        {
            var time = Game.RawGameTime - (Game.Ping / 2000);

            UpdateManager.BeginInvoke(
                () =>
            {
                try
                {
                    if (!particle.IsValid)
                    {
                        return;
                    }

                    var startPosition = particle.GetControlPoint(0);
                    var endPosition   = particle.GetControlPoint(5);

                    var obstacle = new AreaOfEffectObstacle(this, endPosition)
                    {
                        EndObstacleTime = time + (startPosition.Distance2D(endPosition) / this.ActiveAbility.Speed)
                    };

                    this.Pathfinder.AddObstacle(obstacle);
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                }
            });
        }
Example #3
0
        private void TechiesRemotesOnUpdate()
        {
            try
            {
                foreach (var bomb in this.bombs.ToList())
                {
                    if (!bomb.IsValid || !bomb.IsAlive || !bomb.IsVisible)
                    {
                        continue;
                    }

                    if ((bomb.BaseUnit.UnitState & UnitState.Invisible) != 0)
                    {
                        continue;
                    }

                    this.RemoveBomb(bomb);

                    var time = GameManager.RawGameTime - (GameManager.Ping / 2000) - 0.05f;

                    var obstacle = new AreaOfEffectObstacle(this, bomb.Position)
                    {
                        EndCastTime     = time,
                        EndObstacleTime = time + this.Ability.ActivationDelay,
                    };

                    this.Pathfinder.AddObstacle(obstacle);
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }
        }
Example #4
0
        protected override void AddObstacle()
        {
            var obstacle = new AreaOfEffectObstacle(this, this.Owner.Position)
            {
                EndCastTime     = this.EndCastTime + this.Ability.ActivationDelay,
                EndObstacleTime = this.EndCastTime + this.Ability.ActivationDelay,
            };

            this.Pathfinder.AddObstacle(obstacle);
        }
Example #5
0
        public void AddModifierObstacle(Modifier modifier, Unit sender)
        {
            var time = Game.RawGameTime - modifier.ElapsedTime;

            var obstacle = new AreaOfEffectObstacle(this, sender.Position)
            {
                EndCastTime     = time,
                EndObstacleTime = time + this.Ability.ActivationDelay,
            };

            this.Pathfinder.AddObstacle(obstacle);
        }
Example #6
0
        public void AddParticle(ParticleEffect particle, string name)
        {
            var time     = Game.RawGameTime - (Game.Ping / 2000);
            var position = particle.GetControlPoint(0);

            var obstacle = new AreaOfEffectObstacle(this, position)
            {
                EndCastTime     = time,
                EndObstacleTime = time + this.Ability.Duration
            };

            this.Pathfinder.AddObstacle(obstacle);
        }
Example #7
0
        public void AddModifierObstacle(Modifier modifier, Unit sender)
        {
            var time = Game.RawGameTime - modifier.ElapsedTime;
            var unit = EntityManager9.GetUnit(sender.Handle);

            if (unit == null)
            {
                return;
            }

            var obstacle = new AreaOfEffectObstacle(this, unit.InFront(this.firesnapCookie.JumpRange))
            {
                EndCastTime     = time,
                EndObstacleTime = time + this.Ability.ActivationDelay,
            };

            this.Pathfinder.AddObstacle(obstacle);
        }
Example #8
0
        public void AddUnit(Unit unit)
        {
            var time = Game.RawGameTime - (Game.Ping / 2000);

            var obstacle = new AreaOfEffectObstacle(this, unit.Position)
            {
                EndCastTime     = time,
                EndObstacleTime = time + this.Ability.ActivationDelay,
            };

            if (EntityManager9.Units.Count(
                    x => x.IsUnit && !x.IsAlly(this.Owner) && x.Distance(this.Owner) < this.Ability.Radius && x.IsAlive &&
                    !x.IsInvulnerable) <= 1)
            {
                obstacle.Counters = this.singleCounters.ToArray();
            }

            this.Pathfinder.AddObstacle(obstacle);
        }
Example #9
0
        public void AddParticle(Particle particle, string name)
        {
            var time     = GameManager.RawGameTime - (GameManager.Ping / 2000);
            var position = particle.GetControlPoint(1);

            var obstacle = new AreaOfEffectObstacle(this, position)
            {
                EndCastTime     = time,
                EndObstacleTime = time + this.Ability.ActivationDelay
            };

            this.Pathfinder.AddObstacle(obstacle);

            var obstacle2 = new AreaOfEffectObstacle(this, position)
            {
                EndCastTime     = time,
                EndObstacleTime = time + (this.Ability.ActivationDelay * 2)
            };

            this.Pathfinder.AddObstacle(obstacle2);
        }