Beispiel #1
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Me == null)
            {
                return;
            }
            if (!MainMenu.OthersMenu.Item("others").IsActive() || !Game.IsInGame || Me == null || Game.IsPaused || Game.IsWatchingGame)
            {
                return;
            }

            //TODO:ATTACKRANGE
            if (MainMenu.OthersMenu.Item("ShowAttakRange").GetValue <bool>())
            {
                Item item = Me.Inventory.Items.FirstOrDefault(x => x != null && x.IsValid && (x.Name.Contains("item_dragon_lance") || x.Name.Contains("item_hurricane_pike")));

                if (Me.ClassId == ClassId.CDOTA_Unit_Hero_TrollWarlord && Me.HasModifier("modifier_troll_warlord_berserkers_rage"))
                {
                    _attackRange = 150 + Me.HullRadius + 24;
                }
                else if (Me.ClassId == ClassId.CDOTA_Unit_Hero_TrollWarlord && !Me.HasModifier("modifier_troll_warlord_berserkers_rage"))
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius + 24;
                }
                else
                if (Me.ClassId == ClassId.CDOTA_Unit_Hero_TemplarAssassin)
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius;
                }
                else
                if (Me.ClassId == ClassId.CDOTA_Unit_Hero_DragonKnight && Me.HasModifier("modifier_dragon_knight_dragon_form"))
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius + 24;
                }
                else
                if (item == null && Me.IsRanged)
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius + 24;
                }
                else
                if (item != null && Me.IsRanged)
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius + 24;
                }
                else
                {
                    _attackRange = Me.GetAttackRange() + Me.HullRadius;
                }
                if (_rangeDisplay == null)
                {
                    if (Me.IsAlive)
                    {
                        _rangeDisplay = Me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf");
                        _rangeDisplay.SetControlPoint(1, new Vector3(255, 0, 222));
                        _rangeDisplay.SetControlPoint(3, new Vector3(5, 0, 0));
                        _rangeDisplay.SetControlPoint(2, new Vector3(_lastRange, 255, 0));
                    }
                }
                else
                {
                    if (!Me.IsAlive)
                    {
                        _rangeDisplay.Dispose();
                        _rangeDisplay = null;
                    }
                    else if (_lastRange.Equals(_attackRange))
                    {
                        _rangeDisplay.Dispose();
                        _lastRange    = _attackRange;
                        _rangeDisplay = Me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf");
                        _rangeDisplay.SetControlPoint(1, new Vector3(255, 0, 222));
                        _rangeDisplay.SetControlPoint(3, new Vector3(5, 0, 0));
                        _rangeDisplay.SetControlPoint(2, new Vector3(_lastRange, 255, 0));
                    }
                }
            }
            else
            {
                if (_rangeDisplay != null)
                {
                    _rangeDisplay.Dispose();
                }
                _rangeDisplay = null;
            }


            //TODO:TARGETMARKER
            E = Toolset.ClosestToMouse(Me, 10000);
            if (E != null && E.IsValid && !E.IsIllusion && E.IsAlive && E.IsVisible &&
                MainMenu.OthersMenu.Item("ShowTargetMarker").GetValue <bool>())
            {
                DrawTarget();
            }
            else if (_particleEffect != null)
            {
                _particleEffect.Dispose();
                _particleEffect = null;
            }
            // TY  splinterjke.:)
        }