UI.AddLabel("                 ___________")
UI.AddCheckbox("Skeet Indicators")
UI.AddCheckbox("Fake Indicator")
UI.AddLabel("                 ___________")
 

var Inair = function() {
    if(!(Entity.GetProp(Entity.GetLocalPlayer(), "CBasePlayer", "m_fFlags") & (1 << 0))) {
        return true;
    } else {
        return false;
    }
}

var getVelocity = function(index) {
	players = Entity.GetPlayers();
	for(i = 0; i < players.length; i++); {
		var velocity = Entity.GetProp(index, "CBasePlayer", "m_vecVelocity[0]");
		var speed = Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);
	}
	return speed;
}

Render.Arc = function (x, y, radius, radius_inner, start_angle, end_angle, segments, color)
{
    segments = 360 / segments;

    for (var i = start_angle; i < start_angle + end_angle; i = i + segments)
    {

        var rad = i * Math.PI / 180;
        var rad2 = (i + segments) * Math.PI / 180;

        var rad_cos = Math.cos(rad);
        var rad_sin = Math.sin(rad);

        var rad2_cos = Math.cos(rad2);
        var rad2_sin = Math.sin(rad2);

        var x1_inner = x + rad_cos * radius_inner;
        var y1_inner = y + rad_sin * radius_inner;

        var x1_outer = x + rad_cos * radius;
        var y1_outer = y + rad_sin * radius;

        var x2_inner = x + rad2_cos * radius_inner;
        var y2_inner = y + rad2_sin * radius_inner;

        var x2_outer = x + rad2_cos * radius;
        var y2_outer = y + rad2_sin * radius;
        Render.Polygon( [
            [ x1_outer, y1_outer ],
            [ x2_outer, y2_outer ],
            [ x1_inner, y1_inner ] ],
            color
        );

        Render.Polygon( [
            [ x1_inner, y1_inner ],
            [ x2_outer, y2_outer ],
            [ x2_inner, y2_inner ] ],
            color
        );
    }
}

var add_y = 0

function skeet(){
    fonts = Render.AddFont("Calibri", 18, 900)
    fake = Local.GetFakeYaw();
	real = Local.GetRealYaw();
    delta = Math.min(Math.abs(real - fake) /2, 60).toFixed(0);
    velocity = Math.round(getVelocity(Entity.GetLocalPlayer())).toString();
    screen_size = Global.GetScreenSize();
    x = screen_size[0];
    y = screen_size[1];
    add_y = 0
    Render.Indicator = function(text, col) {
        x = screen_size[0] / 100
        y = screen_size[1] / 1.33
        fonts = Render.AddFont("Calibri", 18, 900)
        text_size = Render.TextSizeCustom(text, fonts)
        width = text_size[0] - 2;
        add_y = add_y + 33
        Render.GradientRect(13, y - add_y + 2, width / 2, 26, 1, [0, 0, 0, 0], [0, 0, 0, 55]);
        Render.GradientRect(13 + width / 2, y - add_y + 2, width / 2, 26, 1, [0, 0, 0, 55], [0, 0, 0, 0]);
        Render.StringCustom(x, y + 1 - add_y, 0, text, [33, 33, 33, 180], fonts)
        Render.StringCustom(x, y - add_y, 0, text, col, fonts)
    }

    //render
    if(UI.GetValue("Script items", "Skeet Indicators"))
    if(UI.GetValue("Script items", "Fake Indicator")){
        fake_sz = Render.TextSizeCustom("FAKE", fonts)[0] + 15;
        Render.Indicator("FAKE", [255 - (delta * 2.29824561404), delta * 3.42105263158, delta * 0.22807017543, 255])
        Render.Arc(x + fake_sz, y - add_y + 15,10,5,0,360,120,[17, 17, 17,255])
        Render.Arc(x + fake_sz, y - add_y + 15,9,6,0,delta / 60 * 360,120,[255 - (delta * 2.29824561404), delta * 3.42105263158, delta * 0.22807017543, 255])
    }
    if(velocity > 255 || Inair()) {
        Render.Indicator("LC", velocity > 275 ? [132, 195, 16, 255] : [255, 0, 0, 255])
    }
    if(UI.IsHotkeyActive("Extra", "Fake duck")) {
        Render.Indicator("DUCK", [255, 255, 255, 255])
    }
    if(UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force body aim")) {
        Render.Indicator("BAIM", [255, 0, 0, 255])
    }
    if(UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force safe point")) {
        Render.Indicator("SAFE", [132, 195, 16, 255])
    }
    if(UI.GetValue("Miscellaneous", "Extended backtracking")) {
        Render.Indicator("PING", [255 - ((Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing") / 189 * 60) * 2.29824561404), (Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing") / 189 * 60) * 3.42105263158, (Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing") / 189 * 60) * 0.22807017543, 255])
    }
    if(UI.IsHotkeyActive("Script items", "Dormant Aimbot")) {
        Render.Indicator("DA", [132, 195, 16, 255]);
    }
    if(UI.IsHotkeyActive("Script items", "Weapon Mindmg")) {
    var isMindmg = UI.IsHotkeyActive("Script items", "Weapon Mindmg")
    
                heavy_cur = UI.GetValue ("Rage", "HEAVY PISTOL", "Targeting", "Minimum damage")
                scout_cur = UI.GetValue ("Rage", "SCOUT", "Targeting", "Minimum damage")
                awp_cur   = UI.GetValue ("Rage", "AWP", "Targeting", "Minimum damage")
                auto_cur  = UI.GetValue ("Rage", "AUTOSNIPER", "Targeting", "Minimum damage")
                GENERAl_cur  = UI.GetValue ("Rage", "GENERAl", "Targeting", "Minimum damage")
                weapon_name = Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer()));
                
                if(weapon_name == "r8 revolver" || weapon_name == "desert eagle" || weapon_name == " 52>;L25@ r8" || weapon_name == "ssg 08" || weapon_name == "awp" || weapon_name == "scar 20" || weapon_name == "g3sg1") {
                if (weapon_name == "r8 revolver" || weapon_name == "desert eagle" || weapon_name == " 52>;L25@ r8" /* revolver on russian lang */) { dmg_render = heavy_cur }
                if (weapon_name == "ssg 08") { dmg_render = scout_cur }
                if (weapon_name == "awp") { dmg_render = awp_cur }
                if (weapon_name == "scar 20" || weapon_name == "g3sg1") { dmg_render = auto_cur }
                if (weapon_name == "GENERAl") { dmg_render = GENERAl_cur }
                } else { dmg_render = "0" }
    
                Render.Indicator("" + (isMindmg ? UI.GetValue("Script items", "Weapon Override") : dmg_render.toString()), [255, 255, 255, 255]);
            
    }
    if(UI.GetValue("Anti-Aim", "Rage Anti-Aim", "Auto direction")) {
        Render.Indicator("FREESTAND", [132, 195, 16, 255]);
    }
    if(UI.GetValue("Anti-Aim", "Rage Anti-Aim", "At targets")) {
        Render.Indicator("AT", [132, 195, 16, 255]) 
    }
    if(UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Hide shots")) {
        Render.Indicator("ONSHOT", [132, 195, 16, 255])
    }
    if(UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Doubletap")) {
        Render.Indicator("DT", Exploit.GetCharge() == 1 ? [255, 255, 255, 255] : [255, 0, 0, 255])
    }
    if(UI.IsHotkeyActive("Script items", "Edge yaw")) {
        Render.Indicator("EDGE", [255, 255, 255, 255]);
    }
    
}
Cheat.RegisterCallback("Draw", "skeet")
