|
|
|
package engine.gameManager;
|
|
|
|
import engine.objects.Guild;
|
|
|
|
public class ZergManager {
|
|
|
|
|
|
|
|
public static float getCurrentMultiplier(int count, int maxCount){
|
|
|
|
switch(maxCount) {
|
|
|
|
case 3: return getMultiplier3Man(count);
|
|
|
|
case 5: return getMultiplier5Man(count);
|
|
|
|
case 10: return getMultiplier10Man(count);
|
|
|
|
case 20: return getMultiplier20Man(count);
|
|
|
|
case 30: return getMultiplier30Man(count);
|
|
|
|
case 40: return getMultiplier40Man(count);
|
|
|
|
default: return 1.0f; //unlimited
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static float getMultiplier3Man(int count) {
|
|
|
|
if(count < 4)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 6)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch(count){
|
|
|
|
case 4: return 0.50f;
|
|
|
|
case 5: return 0.0f;
|
|
|
|
case 6: return 0.0f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static float getMultiplier5Man(int count) {
|
|
|
|
if(count < 6)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 10)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch(count){
|
|
|
|
case 6: return 0.75f;
|
|
|
|
case 7: return 0.57f;
|
|
|
|
case 8: return 0.44f;
|
|
|
|
case 9: return 0.33f;
|
|
|
|
case 10: return 0.25f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static float getMultiplier10Man(int count) {
|
|
|
|
if(count < 11)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 20)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch(count){
|
|
|
|
case 11: return 0.86f;
|
|
|
|
case 12: return 0.75f;
|
|
|
|
case 13: return 0.65f;
|
|
|
|
case 14: return 0.57f;
|
|
|
|
case 15: return 0.50f;
|
|
|
|
case 16: return 0.44f;
|
|
|
|
case 17: return 0.38f;
|
|
|
|
case 18: return 0.33f;
|
|
|
|
case 19: return 0.29f;
|
|
|
|
case 20: return 0.25f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static float getMultiplier20Man(int count) {
|
|
|
|
if(count < 21)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 40)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch (count)
|
|
|
|
{
|
|
|
|
case 21: return 0.93f;
|
|
|
|
case 22: return 0.86f;
|
|
|
|
case 23: return 0.80f;
|
|
|
|
case 24: return 0.75f;
|
|
|
|
case 25: return 0.70f;
|
|
|
|
case 26: return 0.65f;
|
|
|
|
case 27: return 0.61f;
|
|
|
|
case 28: return 0.57f;
|
|
|
|
case 29: return 0.53f;
|
|
|
|
case 30: return 0.50f;
|
|
|
|
case 31: return 0.47f;
|
|
|
|
case 32: return 0.44f;
|
|
|
|
case 33: return 0.41f;
|
|
|
|
case 34: return 0.38f;
|
|
|
|
case 35: return 0.36f;
|
|
|
|
case 36: return 0.33f;
|
|
|
|
case 37: return 0.31f;
|
|
|
|
case 38: return 0.29f;
|
|
|
|
case 39: return 0.27f;
|
|
|
|
case 40: return 0.25f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
public static float getMultiplier30Man(int count) {
|
|
|
|
if(count < 31)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 60)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch (count)
|
|
|
|
{
|
|
|
|
case 31: return 0.95f;
|
|
|
|
case 32: return 0.91f;
|
|
|
|
case 33: return 0.86f;
|
|
|
|
case 34: return 0.82f;
|
|
|
|
case 35: return 0.79f;
|
|
|
|
case 36: return 0.75f;
|
|
|
|
case 37: return 0.72f;
|
|
|
|
case 38: return 0.68f;
|
|
|
|
case 39: return 0.65f;
|
|
|
|
case 40: return 0.63f;
|
|
|
|
case 41: return 0.60f;
|
|
|
|
case 42: return 0.57f;
|
|
|
|
case 43: return 0.55f;
|
|
|
|
case 44: return 0.52f;
|
|
|
|
case 45: return 0.50f;
|
|
|
|
case 46: return 0.48f;
|
|
|
|
case 47: return 0.46f;
|
|
|
|
case 48: return 0.44f;
|
|
|
|
case 49: return 0.42f;
|
|
|
|
case 50: return 0.40f;
|
|
|
|
case 51: return 0.38f;
|
|
|
|
case 52: return 0.37f;
|
|
|
|
case 53: return 0.35f;
|
|
|
|
case 54: return 0.33f;
|
|
|
|
case 55: return 0.32f;
|
|
|
|
case 56: return 0.30f;
|
|
|
|
case 57: return 0.29f;
|
|
|
|
case 58: return 0.28f;
|
|
|
|
case 59: return 0.26f;
|
|
|
|
case 60: return 0.25f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
public static float getMultiplier40Man(int count) {
|
|
|
|
if(count < 41)
|
|
|
|
return 1.0f;
|
|
|
|
|
|
|
|
if(count > 80)
|
|
|
|
return 0.0f;
|
|
|
|
|
|
|
|
switch (count)
|
|
|
|
{
|
|
|
|
case 41: return 0.96f;
|
|
|
|
case 42: return 0.93f;
|
|
|
|
case 43: return 0.90f;
|
|
|
|
case 44: return 0.86f;
|
|
|
|
case 45: return 0.83f;
|
|
|
|
case 46: return 0.80f;
|
|
|
|
case 47: return 0.78f;
|
|
|
|
case 48: return 0.75f;
|
|
|
|
case 49: return 0.72f;
|
|
|
|
case 50: return 0.70f;
|
|
|
|
case 51: return 0.68f;
|
|
|
|
case 52: return 0.65f;
|
|
|
|
case 53: return 0.63f;
|
|
|
|
case 54: return 0.61f;
|
|
|
|
case 55: return 0.59f;
|
|
|
|
case 56: return 0.57f;
|
|
|
|
case 57: return 0.55f;
|
|
|
|
case 58: return 0.53f;
|
|
|
|
case 59: return 0.52f;
|
|
|
|
case 60: return 0.50f;
|
|
|
|
case 61: return 0.48f;
|
|
|
|
case 62: return 0.47f;
|
|
|
|
case 63: return 0.45f;
|
|
|
|
case 64: return 0.44f;
|
|
|
|
case 65: return 0.42f;
|
|
|
|
case 66: return 0.41f;
|
|
|
|
case 67: return 0.40f;
|
|
|
|
case 68: return 0.38f;
|
|
|
|
case 69: return 0.37f;
|
|
|
|
case 70: return 0.36f;
|
|
|
|
case 71: return 0.35f;
|
|
|
|
case 72: return 0.33f;
|
|
|
|
case 73: return 0.32f;
|
|
|
|
case 74: return 0.31f;
|
|
|
|
case 75: return 0.30f;
|
|
|
|
case 76: return 0.29f;
|
|
|
|
case 77: return 0.28f;
|
|
|
|
case 78: return 0.27f;
|
|
|
|
case 79: return 0.26f;
|
|
|
|
case 80: return 0.25f;
|
|
|
|
default: return 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|