package engine.gameManager;

public class ZergManager {

    public static float getMultiplier3Man(int count){
        float multiplier = 1.0f;

        if(count <= 3)
            return 1.0f;

        if(count > 6)
            return 0.0f;

        switch(count){
            case 4:
                multiplier -= 0.37f;
                break;
            case 5:
                multiplier -= 0.60f;
                break;
            case 6:
                multiplier -= 0.75f;
                break;
        }
        return multiplier;
    }

    public static float getMultiplier5Man(int count){
        float multiplier = 1.0f;

        if(count <= 5)
            return 1.0f;

        if(count > 10)
            return 0.0f;

        switch(count){
            case 6:
                multiplier -= 0.25f;
                break;
            case 7:
                multiplier -= 0.43f;
                break;
            case 8:
                multiplier -= 0.56f;
                break;
            case 9:
                multiplier -= 0.67f;
                break;
            case 10:
                multiplier -= 0.75f;
                break;
        }
        return multiplier;
    }

    public static float getMultiplier10Man(int count){
        float multiplier = 1.0f;

        if(count <= 10)
            return 1.0f;

        if(count > 20)
            return 0.0f;

        switch(count){
            case 11:
                multiplier -= 0.14f;
                break;
            case 12:
                multiplier -= 0.25f;
                break;
            case 13:
                multiplier -= 0.35f;
                break;
            case 14:
                multiplier -= 0.43f;
                break;
            case 15:
                multiplier -= 0.50f;
                break;
            case 16:
                multiplier -= 0.56f;
                break;
            case 17:
                multiplier -= 0.62f;
                break;
            case 18:
                multiplier -= 0.67f;
                break;
            case 19:
                multiplier -= 0.71f;
                break;
            case 20:
                multiplier -= 0.75f;
                break;
        }
        return multiplier;
    }

    public static float getMultiplier20Man(int count){
        return getMultiplier10Man(((int)(count * 0.5f)));
    }

    public static float getMultiplier40Man(int count){
        return getMultiplier10Man(((int)(count * 0.25f)));
    }
}
