Add the base of kit progression

This commit is contained in:
Sam 2016-08-28 09:04:46 +01:00
parent d81ed348f3
commit 34c6e1cab7
8 changed files with 215 additions and 77 deletions

View File

@ -36,40 +36,61 @@ public class KitBarrage extends ProgressingKit
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String ARROWS = "Arrows";
private static final String SUPER_ARROW = "Super Arrow";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(10) new UltimateBarrage(10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(11) new UltimateBarrage(11)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(12) new UltimateBarrage(12)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(13) new UltimateBarrage(13)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(14) new UltimateBarrage(14)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, true, SUPER_ARROW),
new UltimateBarrage(15) new UltimateBarrage(15)
} }
}; };
private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, ARROWS, 10)
},
{
increase(ULTIMATE, ARROWS, 10)
},
{
increase(ULTIMATE, ARROWS, 10)
},
{
increase(ULTIMATE, ARROWS, 10)
},
{
increase(ULTIMATE, ARROWS, 10)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.IRON_AXE); private static final ItemStack IN_HAND = new ItemStack(Material.IRON_AXE);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
@ -79,7 +100,7 @@ public class KitBarrage extends ProgressingKit
public KitBarrage(ArcadeManager manager) public KitBarrage(ArcadeManager manager)
{ {
super(manager, "Barrage", "quiverbarrage", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Barrage", "quiverbarrage", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@ -110,4 +131,10 @@ public class KitBarrage extends ProgressingKit
quiverPayload.resetUltimate(Bukkit.getPlayer(player), true); quiverPayload.resetUltimate(Bukkit.getPlayer(player), true);
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -37,6 +37,8 @@ public class KitBeserker extends ProgressingKit
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String DURATION = "Duration";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
@ -71,6 +73,24 @@ public class KitBeserker extends ProgressingKit
} }
}; };
private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.IRON_SWORD); private static final ItemStack IN_HAND = new ItemStack(Material.IRON_SWORD);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
@ -80,7 +100,7 @@ public class KitBeserker extends ProgressingKit
public KitBeserker(ArcadeManager manager) public KitBeserker(ArcadeManager manager)
{ {
super(manager, "Beserker", "quiverbeserker", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Beserker", "quiverbeserker", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@Override @Override
@ -110,4 +130,10 @@ public class KitBeserker extends ProgressingKit
quiverPayload.resetUltimate(Bukkit.getPlayer(player), true); quiverPayload.resetUltimate(Bukkit.getPlayer(player), true);
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -24,25 +24,8 @@ public class KitLeaper extends ProgressingKit
C.cYellow + "Double tap " + C.cWhite + "your jump key to " + C.cGreen + "Double Jump" C.cYellow + "Double tap " + C.cWhite + "your jump key to " + C.cGreen + "Double Jump"
}; };
private static final Perk[][] PERKS = { private static final Perk[] PERKS = {
{ new PerkDoubleJump("Double Jump", 0.9, 0.9, true)
new PerkDoubleJump("Double Jump", 0.945, 0.945, true)
},
{
new PerkDoubleJump("Double Jump", 0.99, 0.99, true)
},
{
new PerkDoubleJump("Double Jump", 1.035, 1.035, true)
},
{
new PerkDoubleJump("Double Jump", 1.08, 1.08, true)
},
{
new PerkDoubleJump("Double Jump", 1.125, 1.125, true)
},
{
new PerkDoubleJump("Double Jump", 1.17, 1.17, true)
}
}; };
private static final ItemStack IN_HAND = new ItemStack(Material.STONE_SWORD); private static final ItemStack IN_HAND = new ItemStack(Material.STONE_SWORD);

View File

@ -32,6 +32,8 @@ public class KitNecromancer extends ProgressingKit
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String DURATION = "Duration";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
@ -66,6 +68,24 @@ public class KitNecromancer extends ProgressingKit
} }
}; };
private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.BONE); private static final ItemStack IN_HAND = new ItemStack(Material.BONE);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
@ -75,7 +95,7 @@ public class KitNecromancer extends ProgressingKit
public KitNecromancer(ArcadeManager manager) public KitNecromancer(ArcadeManager manager)
{ {
super(manager, "Necromancer", "quivernecromancer", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Necromancer", "quivernecromancer", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@ -92,5 +112,9 @@ public class KitNecromancer extends ProgressingKit
} }
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -35,6 +35,8 @@ public class KitNewNinja extends ProgressingKit
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String DURATION = "Duration";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
@ -69,6 +71,24 @@ public class KitNewNinja extends ProgressingKit
} }
}; };
private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.GOLD_SWORD); private static final ItemStack IN_HAND = new ItemStack(Material.GOLD_SWORD);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
@ -78,7 +98,7 @@ public class KitNewNinja extends ProgressingKit
public KitNewNinja(ArcadeManager manager) public KitNewNinja(ArcadeManager manager)
{ {
super(manager, "Ninja", "quivernewninja", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Ninja", "quivernewninja", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@Override @Override
@ -101,4 +121,10 @@ public class KitNewNinja extends ProgressingKit
quiverPayload.resetUltimate(Bukkit.getPlayer(player), true); quiverPayload.resetUltimate(Bukkit.getPlayer(player), true);
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -39,6 +39,8 @@ public class KitPyromancer extends ProgressingKit
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String DURATION = "Duration";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
@ -73,6 +75,24 @@ public class KitPyromancer extends ProgressingKit
} }
}; };
private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
{
increase(ULTIMATE, DURATION, 10)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.BLAZE_POWDER); private static final ItemStack IN_HAND = new ItemStack(Material.BLAZE_POWDER);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
@ -82,7 +102,7 @@ public class KitPyromancer extends ProgressingKit
public KitPyromancer(ArcadeManager manager) public KitPyromancer(ArcadeManager manager)
{ {
super(manager, "Pyromancer", "quiverpyromancer", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Pyromancer", "quiverpyromancer", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@ -113,4 +133,10 @@ public class KitPyromancer extends ProgressingKit
quiverPayload.resetUltimate(Bukkit.getPlayer(player), true); quiverPayload.resetUltimate(Bukkit.getPlayer(player), true);
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -16,63 +16,100 @@ import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.Game.GameState;
import nautilus.game.arcade.game.games.quiver.Quiver; import nautilus.game.arcade.game.games.quiver.Quiver;
import nautilus.game.arcade.game.games.quiver.QuiverPayload; import nautilus.game.arcade.game.games.quiver.QuiverPayload;
import nautilus.game.arcade.game.games.quiver.ultimates.UltimateHeadHunter; import nautilus.game.arcade.game.games.quiver.ultimates.UltimateSkyWarrior;
import nautilus.game.arcade.kit.KitAvailability; import nautilus.game.arcade.kit.KitAvailability;
import nautilus.game.arcade.kit.Perk; import nautilus.game.arcade.kit.Perk;
import nautilus.game.arcade.kit.ProgressingKit; import nautilus.game.arcade.kit.ProgressingKit;
import nautilus.game.arcade.kit.perks.PerkDoubleJump; import nautilus.game.arcade.kit.perks.PerkDoubleJump;
import nautilus.game.arcade.kit.perks.PerkSpeed;
public class KitHeadHunter extends ProgressingKit public class KitSkyWarrior extends ProgressingKit
{ {
private static final String[] DESCRIPTION = { private static final String[] DESCRIPTION = {
"You can\'t hide from me.", "Something to do with the kit",
"", "",
C.cYellow + "Double tap " + C.cWhite + "your jump key to " + C.cGreen + "Double Jump", "Gain permanent Speed I",
"", "",
C.cGreenB + "ULTIMATE", C.cGreenB + "ULTIMATE",
"All players are outlined with " + C.cGreen + "Spectral Vision" + C.cWhite + ".", "You fly up into the air and are given a launcher.",
"Lasts for " + C.cGreen + "3" + C.cWhite + " seconds." "Clicking the launcher fires a Astral Arrow.",
"When it hits a block a pulse of energy is fired",
"damaging all players within " + C.cGreen + "5" + C.cWhite + " blocks",
"for " + C.cGreen + "10" + C.cWhite + " damage.",
"",
"Total of " + C.cRed + "3" + C.cWhite + " uses!",
"",
"Once all arrows are fired you teleport to a random",
"teammate dealing damage to all players within",
C.cGreen + "10" + C.cWhite + " blocks for " + C.cGreen + "2" + C.cWhite + " damage."
}; };
private static final String DOUBLE_JUMP = "Double Jump"; private static final String DOUBLE_JUMP = "Double Jump";
private static final String ULTIMATE = "Ultimate";
private static final String DURATION = "Duration";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(10000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(11000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(12000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(13000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(14000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new UltimateHeadHunter(15000), new PerkSpeed(1),
new UltimateSkyWarrior(2, 10, 10, 5, 30)
} }
}; };
private static final ItemStack IN_HAND = new ItemStack(Material.STONE_SWORD); private static final String[][] UPGRADE_DETAILS = {
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
{
increase(ULTIMATE, DURATION, 12)
},
};
private static final ItemStack IN_HAND = new ItemStack(Material.FEATHER);
private static final ItemStack[] PLAYER_ITEMS = { private static final ItemStack[] PLAYER_ITEMS = {
new ItemBuilder(Material.STONE_SWORD).setUnbreakable(true).build(), new ItemBuilder(Material.IRON_AXE).setUnbreakable(true).build(),
new ItemBuilder(Material.BOW).setUnbreakable(true).build(), new ItemBuilder(Material.BOW).setUnbreakable(true).build(),
}; };
public KitHeadHunter(ArcadeManager manager) public KitSkyWarrior(ArcadeManager manager)
{ {
super(manager, "Head Hunter", "quiverheadhunter", KitAvailability.Free, DESCRIPTION, PERKS, EntityType.ZOMBIE, IN_HAND); super(manager, "Sky Warrior", "quiverskywarrior", KitAvailability.Free, DESCRIPTION, PERKS, UPGRADE_DETAILS, EntityType.ZOMBIE, IN_HAND);
} }
@Override @Override
@ -102,4 +139,10 @@ public class KitHeadHunter extends ProgressingKit
quiverPayload.resetUltimate(Bukkit.getPlayer(player), true); quiverPayload.resetUltimate(Bukkit.getPlayer(player), true);
} }
@Override
public boolean showUpgrades()
{
return true;
}
} }

View File

@ -24,25 +24,8 @@ public class KitSlamShot extends ProgressingKit
C.cYellow + "Right-Click" + C.cWhite + " with your " + C.cGreen + "Diamond Shovel" + C.cWhite + " to " + C.cGreen + "Ground Pound" C.cYellow + "Right-Click" + C.cWhite + " with your " + C.cGreen + "Diamond Shovel" + C.cWhite + " to " + C.cGreen + "Ground Pound"
}; };
private static final Perk[][] PERKS = { private static final Perk[] PERKS = {
{ new PerkSeismicSlamOITQ()
new PerkSeismicSlamOITQ(10000)
},
{
new PerkSeismicSlamOITQ(9500)
},
{
new PerkSeismicSlamOITQ(9000)
},
{
new PerkSeismicSlamOITQ(8500)
},
{
new PerkSeismicSlamOITQ(8000)
},
{
new PerkSeismicSlamOITQ(7500)
},
}; };
private static final ItemStack IN_HAND = new ItemStack(Material.DIAMOND_SPADE); private static final ItemStack IN_HAND = new ItemStack(Material.DIAMOND_SPADE);