package nl.sugcube.crystalquest.economy;
import nl.sugcube.crystalquest.CrystalQuest;
/**
* @author SugarCaney
*/
public class Multipliers {
public static CrystalQuest plugin;
public static final double MULTIPLIER_BUFF_LVL_0 = 1;
public static final double MULTIPLIER_BUFF_LVL_1 = 1.1;
public static final double MULTIPLIER_BUFF_LVL_2 = 1.2;
public static final double MULTIPLIER_BUFF_LVL_3 = 1.3;
public static final double MULTIPLIER_BUFF_LVL_4 = 1.4;
public static final double MULTIPLIER_BUFF_LVL_5 = 1.5;
public static final double MULTIPLIER_DEBUFF_LVL_0 = 1;
public static final double MULTIPLIER_DEBUFF_LVL_1 = 1.1;
public static final double MULTIPLIER_DEBUFF_LVL_2 = 1.2;
public static final double MULTIPLIER_DEBUFF_LVL_3 = 1.3;
public static final double MULTIPLIER_DEBUFF_LVL_4 = 1.4;
public static final double MULTIPLIER_DEBUFF_LVL_5 = 1.5;
public static final double MULTIPLIER_EXPLOSIVE_LVL_0 = 1;
public static final double MULTIPLIER_EXPLOSIVE_LVL_1 = 1.1;
public static final double MULTIPLIER_EXPLOSIVE_LVL_2 = 1.2;
public static final double MULTIPLIER_EXPLOSIVE_LVL_3 = 1.3;
public static final double MULTIPLIER_EXPLOSIVE_LVL_4 = 1.4;
public static final double MULTIPLIER_EXPLOSIVE_LVL_5 = 1.5;
public static final double MULTIPLIER_LIGHTNING_LVL_0 = 0;
public static final double MULTIPLIER_LIGHTNING_LVL_1 = 0.5;
public static final double MULTIPLIER_LIGHTNING_LVL_2 = 1;
public static final double MULTIPLIER_LIGHTNING_LVL_3 = 1.5;
public static final double MULTIPLIER_LIGHTNING_LVL_4 = 2;
public static final double MULTIPLIER_LIGHTNING_LVL_5 = 2.5;
public static final double MULTIPLIER_AMMO_LVL_0 = 0.0;
public static final double MULTIPLIER_AMMO_LVL_1 = 0.1;
public static final double MULTIPLIER_AMMO_LVL_2 = 0.2;
public static final double MULTIPLIER_AMMO_LVL_3 = 0.3;
public static final double MULTIPLIER_AMMO_LVL_4 = 0.4;
public static final double MULTIPLIER_AMMO_LVL_5 = 0.5;
public static final double MULTIPLIER_CREEPER_LVL_0 = 0.125;
public static final double MULTIPLIER_CREEPER_LVL_1 = 0.250;
public static final double MULTIPLIER_CREEPER_LVL_2 = 0.375;
public static final double MULTIPLIER_CREEPER_LVL_3 = 0.500;
public static final double MULTIPLIER_CREEPER_LVL_4 = 0.625;
public static final double MULTIPLIER_CREEPER_LVL_5 = 0.750;
public static final double MULTIPLIER_CREEPERGEM_LVL_0 = 1;
public static final double MULTIPLIER_CREEPERGEM_LVL_1 = 2;
public static final double MULTIPLIER_CREEPERGEM_LVL_2 = 3;
public static final double MULTIPLIER_CREEPERGEM_LVL_3 = 4;
public static final double MULTIPLIER_CREEPERGEM_LVL_4 = 5;
public static final double MULTIPLIER_CREEPERGEM_LVL_5 = 6;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_0 = 0;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_1 = 1;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_2 = 2;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_3 = 2;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_4 = 3;
public static final double MULTIPLIER_WOLFRESISTANCE_LVL_5 = 3;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_0 = 1;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_1 = 1;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_2 = 1;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_3 = 2;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_4 = 2;
public static final double MULTIPLIER_WOLFSTRENGTH_LVL_5 = 3;
public static final double MULTIPLIER_XP_LVL_0 = 1;
public static final double MULTIPLIER_XP_LVL_1 = 2;
public static final double MULTIPLIER_XP_LVL_2 = 3;
public static final double MULTIPLIER_XP_LVL_3 = 4;
public static final double MULTIPLIER_XP_LVL_4 = 5;
public static final double MULTIPLIER_XP_LVL_5 = 6;
public static final double MULTIPLIER_SMASH_LVL_0 = 0;
public static final double MULTIPLIER_SMASH_LVL_1 = 0.1;
public static final double MULTIPLIER_SMASH_LVL_2 = 0.2;
public static final double MULTIPLIER_SMASH_LVL_3 = 0.3;
public static final double MULTIPLIER_SMASH_LVL_4 = 0.4;
public static final double MULTIPLIER_SMASH_LVL_5 = 0.5;
public static final double MULTIPLIER_WIN_LVL_0 = 1;
public static final double MULTIPLIER_WIN_LVL_1 = 1.1;
public static final double MULTIPLIER_WIN_LVL_2 = 1.2;
public static final double MULTIPLIER_WIN_LVL_3 = 1.3;
public static final double MULTIPLIER_WIN_LVL_4 = 1.4;
public static final double MULTIPLIER_WIN_LVL_5 = 1.5;
public static final double MULTIPLIER_BLOOD_LVL_0 = 0;
public static final double MULTIPLIER_BLOOD_LVL_1 = 0.2;
public static final double MULTIPLIER_BLOOD_LVL_2 = 0.4;
public static final double MULTIPLIER_BLOOD_LVL_3 = 0.6;
public static final double MULTIPLIER_BLOOD_LVL_4 = 0.8;
public static final double MULTIPLIER_BLOOD_LVL_5 = 1.0;
public Multipliers(CrystalQuest instance) {
plugin = instance;
}
public static double getMultiplier(String type, int level, boolean asPercentage) {
if (type.equalsIgnoreCase("buff")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_BUFF_LVL_0 * 100 : MULTIPLIER_BUFF_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_BUFF_LVL_1 * 100 : MULTIPLIER_BUFF_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_BUFF_LVL_2 * 100 : MULTIPLIER_BUFF_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_BUFF_LVL_3 * 100 : MULTIPLIER_BUFF_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_BUFF_LVL_4 * 100 : MULTIPLIER_BUFF_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_BUFF_LVL_5 * 100 : MULTIPLIER_BUFF_LVL_5);
default:
return (asPercentage ? MULTIPLIER_BUFF_LVL_0 * 100 : MULTIPLIER_BUFF_LVL_0);
}
}
else if (type.equalsIgnoreCase("debuff")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_0 * 100 : MULTIPLIER_DEBUFF_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_1 * 100 : MULTIPLIER_DEBUFF_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_2 * 100 : MULTIPLIER_DEBUFF_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_3 * 100 : MULTIPLIER_DEBUFF_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_4 * 100 : MULTIPLIER_DEBUFF_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_5 * 100 : MULTIPLIER_DEBUFF_LVL_5);
default:
return (asPercentage ? MULTIPLIER_DEBUFF_LVL_0 * 100 : MULTIPLIER_DEBUFF_LVL_0);
}
}
else if (type.equalsIgnoreCase("explosive")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_0 * 100 : MULTIPLIER_EXPLOSIVE_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_1 * 100 : MULTIPLIER_EXPLOSIVE_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_2 * 100 : MULTIPLIER_EXPLOSIVE_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_3 * 100 : MULTIPLIER_EXPLOSIVE_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_4 * 100 : MULTIPLIER_EXPLOSIVE_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_5 * 100 : MULTIPLIER_EXPLOSIVE_LVL_5);
default:
return (asPercentage ? MULTIPLIER_EXPLOSIVE_LVL_0 * 100 : MULTIPLIER_EXPLOSIVE_LVL_0);
}
}
else if (type.equalsIgnoreCase("lightning")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_0 * 100 : MULTIPLIER_LIGHTNING_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_1 * 100 : MULTIPLIER_LIGHTNING_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_2 * 100 : MULTIPLIER_LIGHTNING_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_3 * 100 : MULTIPLIER_LIGHTNING_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_4 * 100 : MULTIPLIER_LIGHTNING_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_5 * 100 : MULTIPLIER_LIGHTNING_LVL_5);
default:
return (asPercentage ? MULTIPLIER_LIGHTNING_LVL_0 * 100 : MULTIPLIER_LIGHTNING_LVL_0);
}
}
else if (type.equalsIgnoreCase("ammo")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_AMMO_LVL_0 * 100 : MULTIPLIER_AMMO_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_AMMO_LVL_1 * 100 : MULTIPLIER_AMMO_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_AMMO_LVL_2 * 100 : MULTIPLIER_AMMO_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_AMMO_LVL_3 * 100 : MULTIPLIER_AMMO_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_AMMO_LVL_4 * 100 : MULTIPLIER_AMMO_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_AMMO_LVL_5 * 100 : MULTIPLIER_AMMO_LVL_5);
default:
return (asPercentage ? MULTIPLIER_AMMO_LVL_0 * 100 : MULTIPLIER_AMMO_LVL_0);
}
}
else if (type.equalsIgnoreCase("creeper")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_0 * 100 : MULTIPLIER_CREEPER_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_1 * 100 : MULTIPLIER_CREEPER_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_2 * 100 : MULTIPLIER_CREEPER_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_3 * 100 : MULTIPLIER_CREEPER_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_4 * 100 : MULTIPLIER_CREEPER_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_5 * 100 : MULTIPLIER_CREEPER_LVL_5);
default:
return (asPercentage ? MULTIPLIER_CREEPER_LVL_0 * 100 : MULTIPLIER_CREEPER_LVL_0);
}
}
else if (type.equalsIgnoreCase("creepergem")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_0 * 100 : MULTIPLIER_CREEPERGEM_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_1 * 100 : MULTIPLIER_CREEPERGEM_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_2 * 100 : MULTIPLIER_CREEPERGEM_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_3 * 100 : MULTIPLIER_CREEPERGEM_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_4 * 100 : MULTIPLIER_CREEPERGEM_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_5 * 100 : MULTIPLIER_CREEPERGEM_LVL_5);
default:
return (asPercentage ? MULTIPLIER_CREEPERGEM_LVL_0 * 100 : MULTIPLIER_CREEPERGEM_LVL_0);
}
}
else if (type.equalsIgnoreCase("wolfstrength")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_0 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_1 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_2 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_3 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_4 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_5 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_5);
default:
return (asPercentage ? MULTIPLIER_WOLFSTRENGTH_LVL_0 * 100 : MULTIPLIER_WOLFSTRENGTH_LVL_0);
}
}
else if (type.equalsIgnoreCase("wolfresistance")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_0 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_1 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_2 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_3 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_4 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_5 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_5);
default:
return (asPercentage ? MULTIPLIER_WOLFRESISTANCE_LVL_0 * 100 : MULTIPLIER_WOLFRESISTANCE_LVL_0);
}
}
else if (type.equalsIgnoreCase("xp")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_XP_LVL_0 * 100 : MULTIPLIER_XP_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_XP_LVL_1 * 100 : MULTIPLIER_XP_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_XP_LVL_2 * 100 : MULTIPLIER_XP_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_XP_LVL_3 * 100 : MULTIPLIER_XP_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_XP_LVL_4 * 100 : MULTIPLIER_XP_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_XP_LVL_5 * 100 : MULTIPLIER_XP_LVL_5);
default:
return (asPercentage ? MULTIPLIER_XP_LVL_0 * 100 : MULTIPLIER_XP_LVL_0);
}
}
else if (type.equalsIgnoreCase("smash")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_SMASH_LVL_0 * 100 : MULTIPLIER_SMASH_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_SMASH_LVL_1 * 100 : MULTIPLIER_SMASH_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_SMASH_LVL_2 * 100 : MULTIPLIER_SMASH_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_SMASH_LVL_3 * 100 : MULTIPLIER_SMASH_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_SMASH_LVL_4 * 100 : MULTIPLIER_SMASH_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_SMASH_LVL_5 * 100 : MULTIPLIER_SMASH_LVL_5);
default:
return (asPercentage ? MULTIPLIER_SMASH_LVL_0 * 100 : MULTIPLIER_SMASH_LVL_0);
}
}
else if (type.equalsIgnoreCase("win")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_WIN_LVL_0 * 100 : MULTIPLIER_WIN_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_WIN_LVL_1 * 100 : MULTIPLIER_WIN_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_WIN_LVL_2 * 100 : MULTIPLIER_WIN_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_WIN_LVL_3 * 100 : MULTIPLIER_WIN_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_WIN_LVL_4 * 100 : MULTIPLIER_WIN_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_WIN_LVL_5 * 100 : MULTIPLIER_WIN_LVL_5);
default:
return (asPercentage ? MULTIPLIER_WIN_LVL_0 * 100 : MULTIPLIER_WIN_LVL_0);
}
}
else if (type.equalsIgnoreCase("blood")) {
switch (level) {
case 0:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_0 * 100 : MULTIPLIER_BLOOD_LVL_0);
case 1:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_1 * 100 : MULTIPLIER_BLOOD_LVL_1);
case 2:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_2 * 100 : MULTIPLIER_BLOOD_LVL_2);
case 3:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_3 * 100 : MULTIPLIER_BLOOD_LVL_3);
case 4:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_4 * 100 : MULTIPLIER_BLOOD_LVL_4);
case 5:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_5 * 100 : MULTIPLIER_BLOOD_LVL_5);
default:
return (asPercentage ? MULTIPLIER_BLOOD_LVL_0 * 100 : MULTIPLIER_BLOOD_LVL_0);
}
}
return -1;
}
}