Beispiel #1
0
        internal override void Update()
        {
            AaCd.Update();

            if (Life == 0 || Life > Convert.ToUInt16(Context.GetVillage.Beasts.Beasts["Mage"]["Vie"]))
            {
                Die();
                return;
            }
            //Context.GetGame.Sprites.GetSprite("Mage").Position = new Vector2f(Position.X, Position.Y);
            //Context.GetGame.GetWindow.Render.Draw(Context.GetGame.Sprites.GetSprite("Mage"));
            if (EnemyTarget == null)
            {
                AcquireTarget();
            }
            if (AaCd.IsUsable && EnemyTarget.Position.IsInRange(this.Position, EnemyTarget.Position, base.Range))
            {
                Attack(EnemyTarget);
                AaCd.SetTs();
            }
            if (EnemyTarget.IsBurned)
            {
                SwitchTarget(Ignite.DotBuildList);
            }
            Ignite.Update(this);
        }
        internal override void Update()
        {
            if (Life == 0 || Life > 2000)
            {
                Die();
                return;
            }
            AaCd.Update();
            Context.GetGame.Sprites.GetSprite("Gargole").Position = new Vector2f(Position.X, Position.Y);
            Context.GetGame.GetWindow.Render.Draw(Context.GetGame.Sprites.GetSprite("Gargole"));
            if (!IsParalysed)
            {
                if (EnemyTarget == null && Context.BuildCount >= 1)
                {
                    AcquireTarget();
                    bool tr = Position.IsInRange(Position, EnemyTarget.Position, Range);
                }

                if (EnemyTarget == null)
                {
                    return;
                }
                if (EnemyTarget.Life == 0 || EnemyTarget.Life > 2000)
                {
                    AcquireTarget();
                }

                if (EnemyTarget != null && Position.IsInRange(Position, EnemyTarget.Position, Range))
                {
                    if (AaCd.IsUsable)
                    {
                        Attack(EnemyTarget);
                        AaCd.SetTs();
                    }
                }

                if (_howl.CD.IsUsable && Position.IsInRange(Position, EnemyTarget.Position, _howl.Range))
                {
                    _howl.Update(this);
                }

                if (EnemyTarget != null && !Position.IsInRange(Position, EnemyTarget.Position, Range))
                {
                    Position = Position.Movement(Position, EnemyTarget.Position, 1, Speed, Range);
                }
            }
        }
Beispiel #3
0
        internal override void Update()
        {
            AaCd.Update();
            Context.GetGame.Sprites.GetSprite("Tower").Position = new Vector2f(Position.X, Position.Y);
            Context.GetGame.GetWindow.Render.Draw(Context.GetGame.Sprites.GetSprite("Tower"));
            if (base.Life == 0 || base.Life > base.MaxLife)
            {
                Die();
                Context.GetGame.GetGrid[new Vector2i((((int)Position.X - 375) / 15), ((int)Position.Y - 375) / 15)].SetName  = "Empty";
                Context.GetGame.GetGrid[new Vector2i((((int)Position.X - 375) / 15), ((int)Position.Y - 375) / 15)].Building = null;
                return;
            }

            if (Target == null)
            {
                if (Context.BarbCount > 0)
                {
                    AcquireTarget();
                }
                return;
            }

            if (!Target.Position.IsInRange(Target.Position, Position, Range))
            {
                Target = null;
                AcquireTarget();
                if (Target == null)
                {
                    return;
                }
            }

            if (base.Position.IsInRange(Position, Target.Position, Range))
            {
                Console.WriteLine(Target.Life);
                Attack(Target);
                if (Target != null)
                {
                    Target = (Target.Life == 0 || Target.Life > 2000) ? null : Target;
                }
                AcquireTarget();
            }
        }