First QA testing session feedback

This commit is contained in:
Sam 2016-07-28 22:39:05 +01:00
parent 771f643b42
commit 6c11037460
10 changed files with 100 additions and 25 deletions

View File

@ -60,7 +60,7 @@ public class QuiverPayload extends TeamGame
{ {
private static final long GAME_TIMEOUT = 600000; private static final long GAME_TIMEOUT = 600000;
private static final double PAYLOAD_CAPTURE_RANGE = 3; private static final double PAYLOAD_CAPTURE_RANGE = 4;
private static final double PAYLOAD_INITIAL_VELOCITY = 0.1; private static final double PAYLOAD_INITIAL_VELOCITY = 0.1;
private static final double PAYLOAD_VELOCITY_INCREASE_FACTOR = 1.5; private static final double PAYLOAD_VELOCITY_INCREASE_FACTOR = 1.5;
private static final long PAYLOAD_VELOCITY_INCREASE_TIME = 120000; private static final long PAYLOAD_VELOCITY_INCREASE_TIME = 120000;
@ -221,7 +221,7 @@ public class QuiverPayload extends TeamGame
GameTeam teamA = GetTeamList().get(0); GameTeam teamA = GetTeamList().get(0);
GameTeam teamB = GetTeamList().get(1); GameTeam teamB = GetTeamList().get(1);
if (getTrackDistanceToMarker(getDestination(teamA)) > getTrackDistanceToMarker(getDestination(teamB))) if (getTrackDistanceToMarker(getDestination(teamA)) < getTrackDistanceToMarker(getDestination(teamB)))
{ {
WinnerTeam = teamA; WinnerTeam = teamA;
} }
@ -238,7 +238,7 @@ public class QuiverPayload extends TeamGame
{ {
_hasAnnouncedGameEnd = true; _hasAnnouncedGameEnd = true;
String message = C.cRed + "Only 60 second remain!"; String message = C.cRed + "Only 60 seconds remain!";
UtilTextMiddle.display("", message, 10, 20, 10); UtilTextMiddle.display("", message, 10, 20, 10);
UtilServer.broadcast(message); UtilServer.broadcast(message);
@ -636,6 +636,7 @@ public class QuiverPayload extends TeamGame
{ {
event.AddMod("Projectile", SUPER_ARROW_DAMAGE_REASON, SUPER_ARROW_DAMAGE_MOD, false); event.AddMod("Projectile", SUPER_ARROW_DAMAGE_REASON, SUPER_ARROW_DAMAGE_MOD, false);
event.SetDamageToLevel(false);
event.SetKnockback(false); event.SetKnockback(false);
event.GetProjectile().remove(); event.GetProjectile().remove();
} }

View File

@ -103,17 +103,13 @@ public class PowerupGenerator
_location.getBlock().getRelative(BlockFace.DOWN).setType(Material.IRON_BLOCK); _location.getBlock().getRelative(BlockFace.DOWN).setType(Material.IRON_BLOCK);
UtilPlayer.message(player, F.main("Game", "You collected the " + C.mItem + "Arrow" + C.cGray + " powerup.")); UtilPlayer.message(player, F.main("Game", "You collected the " + C.mItem + "Arrow" + C.cGray + " powerup."));
UtilServer.broadcast(C.cYellowB + player.getName() + C.cWhiteB + " collected the " + C.cYellowB + "Arrow" + C.cWhiteB + " Powerup for Team " + gameTeam.GetFormattedName() + C.cWhiteB + "."); UtilServer.broadcast(C.cYellowB + player.getName() + C.cWhiteB + " collected the " + C.cYellowB + "Arrow" + C.cWhiteB + " Powerup.");
UtilFirework.playFirework(_location, Type.BALL_LARGE, Color.YELLOW, false, true); UtilFirework.playFirework(_location, Type.BALL_LARGE, Color.YELLOW, false, true);
ItemStack itemStack = Quiver.SUPER_ARROW; ItemStack itemStack = Quiver.SUPER_ARROW;
itemStack.setAmount(ARROWS_TO_GIVE); itemStack.setAmount(ARROWS_TO_GIVE);
player.getInventory().addItem(itemStack);
for (Player other : gameTeam.GetPlayers(true))
{
other.getInventory().addItem(itemStack);
}
} }
} }

View File

@ -15,6 +15,7 @@ import nautilus.game.arcade.game.games.quiver.ultimates.UltimateBarrage;
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.PerkFletcher; import nautilus.game.arcade.kit.perks.PerkFletcher;
public class KitBarrage extends ProgressingKit public class KitBarrage extends ProgressingKit
@ -25,32 +26,40 @@ public class KitBarrage extends ProgressingKit
"Gain an arrow every " + C.cGreen + "5" + C.cWhite + " seconds.", "Gain an arrow every " + C.cGreen + "5" + C.cWhite + " seconds.",
"", "",
C.cGreenB + "ULTIMATE", C.cGreenB + "ULTIMATE",
"When you fire your next arrow you fire will fire an addiational", "When you fire your next arrow you fire an addiational",
C.cGreen + "10" + C.cWhite + " arrows." C.cGreen + "10" + C.cWhite + " arrows."
}; };
private static final String DOUBLE_JUMP = "Double Jump";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(10) new UltimateBarrage(10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(11) new UltimateBarrage(11)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(12) new UltimateBarrage(12)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(13) new UltimateBarrage(13)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(14) new UltimateBarrage(14)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFletcher(5, 1, true, -1, "Super Arrow"), new PerkFletcher(5, 1, true, -1, "Super Arrow"),
new UltimateBarrage(15) new UltimateBarrage(15)
} }

View File

@ -15,6 +15,7 @@ import nautilus.game.arcade.game.games.quiver.ultimates.UltimateBeserker;
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.PerkStrength; import nautilus.game.arcade.kit.perks.PerkStrength;
public class KitBeserker extends ProgressingKit public class KitBeserker extends ProgressingKit
@ -30,28 +31,36 @@ public class KitBeserker extends ProgressingKit
"Lasts for " + C.cGreen + "6" + C.cWhite + " seconds." "Lasts for " + C.cGreen + "6" + C.cWhite + " seconds."
}; };
private static final String DOUBLE_JUMP = "Double Jump";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(6000) new UltimateBeserker(6000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(6500) new UltimateBeserker(6500)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(7000) new UltimateBeserker(7000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(7500) new UltimateBeserker(7500)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(8000) new UltimateBeserker(8000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkStrength(1), new PerkStrength(1),
new UltimateBeserker(8500) new UltimateBeserker(8500)
} }

View File

@ -29,24 +29,26 @@ public class KitHeadHunter extends ProgressingKit
"Lasts for " + C.cGreen + "3" + C.cWhite + " seconds." "Lasts for " + C.cGreen + "3" + C.cWhite + " seconds."
}; };
private static final String DOUBLE_JUMP = "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.9, 0.9, true),
}, },
{ {
new PerkDoubleJump("Double Jump", 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
}, },
{ {
new PerkDoubleJump("Double Jump", 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
}, },
{ {
new PerkDoubleJump("Double Jump", 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
}, },
{ {
new PerkDoubleJump("Double Jump", 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
}, },
{ {
new PerkDoubleJump("Double Jump", 0.9, 0.9, true), new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
} }
}; };

View File

@ -16,6 +16,7 @@ import nautilus.game.arcade.game.games.quiver.ultimates.UltimateNecromancer;
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.PerkLifestealArrows; import nautilus.game.arcade.kit.perks.PerkLifestealArrows;
public class KitNecromancer extends ProgressingKit public class KitNecromancer extends ProgressingKit
@ -23,35 +24,43 @@ public class KitNecromancer extends ProgressingKit
private static final String[] DESCRIPTION = { private static final String[] DESCRIPTION = {
"Spooky scary skeletons", "Spooky scary skeletons",
"", "",
"Sucessful arrow hits restore " + C.cGreen + "2" + C.cWhite + " hearts.", "Successful arrow hits restore " + C.cGreen + "2" + C.cWhite + " hearts.",
"", "",
C.cGreenB + "ULTIMATE", C.cGreenB + "ULTIMATE",
"Summon " + C.cGreen + "3 Undead Minions" + C.cWhite + " that shoot at other players", "Summon " + C.cGreen + "3 Undead Minions" + C.cWhite + " that shoot at other players",
"Lasts for " + C.cGreen + "5" + C.cWhite + " seconds." "Lasts for " + C.cGreen + "5" + C.cWhite + " seconds."
}; };
private static final String DOUBLE_JUMP = "Double Jump";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(5000, 3) new UltimateNecromancer(5000, 3)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(5500, 3) new UltimateNecromancer(5500, 3)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(6000, 3) new UltimateNecromancer(6000, 3)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(6500, 3) new UltimateNecromancer(6500, 3)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(7000, 3) new UltimateNecromancer(7000, 3)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkLifestealArrows(4), new PerkLifestealArrows(4),
new UltimateNecromancer(7500, 3) new UltimateNecromancer(7500, 3)
} }

View File

@ -17,6 +17,7 @@ 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.PerkDash; import nautilus.game.arcade.kit.perks.PerkDash;
import nautilus.game.arcade.kit.perks.PerkDoubleJump;
public class KitNewNinja extends ProgressingKit public class KitNewNinja extends ProgressingKit
{ {
@ -31,28 +32,36 @@ public class KitNewNinja extends ProgressingKit
"Lasts for " + C.cGreen + "6" + C.cWhite + " seconds." "Lasts for " + C.cGreen + "6" + C.cWhite + " seconds."
}; };
private static final String DOUBLE_JUMP = "Double Jump";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(6000) new UltimateNinja(6000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(6500) new UltimateNinja(6500)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(7000) new UltimateNinja(7000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(7500) new UltimateNinja(7500)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(8000) new UltimateNinja(8000)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkDash(5000, 10, 8), new PerkDash(5000, 10, 8),
new UltimateNinja(8500) new UltimateNinja(8500)
} }

View File

@ -16,6 +16,7 @@ import nautilus.game.arcade.game.games.quiver.ultimates.UltimatePyromancer;
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.PerkFireArrows; import nautilus.game.arcade.kit.perks.PerkFireArrows;
public class KitPyromancer extends ProgressingKit public class KitPyromancer extends ProgressingKit
@ -23,7 +24,7 @@ public class KitPyromancer extends ProgressingKit
private static final String[] DESCRIPTION = { private static final String[] DESCRIPTION = {
"Hot! Hot! Hot!", "Hot! Hot! Hot!",
"", "",
"When your arrows land, players within " + C.cGreen + "2" + C.cWhite + " block are set on", "When your arrows land, players within " + C.cGreen + "2" + C.cWhite + " blocks are set on",
"fire for " + C.cGreen + "3" + C.cWhite + " seconds.", "fire for " + C.cGreen + "3" + C.cWhite + " seconds.",
"", "",
C.cGreenB + "ULTIMATE", C.cGreenB + "ULTIMATE",
@ -31,28 +32,36 @@ public class KitPyromancer extends ProgressingKit
"deals " + C.cGreen + "3" + C.cWhite + " damage and sets nearby players on fire." "deals " + C.cGreen + "3" + C.cWhite + " damage and sets nearby players on fire."
}; };
private static final String DOUBLE_JUMP = "Double Jump";
private static final Perk[][] PERKS = { private static final Perk[][] PERKS = {
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(3, 10) new UltimatePyromancer(3, 10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(3.5, 10) new UltimatePyromancer(3.5, 10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(4, 10) new UltimatePyromancer(4, 10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(4.5, 10) new UltimatePyromancer(4.5, 10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(5, 10) new UltimatePyromancer(5, 10)
}, },
{ {
new PerkDoubleJump(DOUBLE_JUMP, 0.9, 0.9, true),
new PerkFireArrows(2, 60), new PerkFireArrows(2, 60),
new UltimatePyromancer(5.5, 10) new UltimatePyromancer(5.5, 10)
} }

View File

@ -9,6 +9,7 @@ import java.util.UUID;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Arrow; import org.bukkit.entity.Arrow;
import org.bukkit.entity.Creature; import org.bukkit.entity.Creature;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton; import org.bukkit.entity.Skeleton;
@ -20,6 +21,7 @@ import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilPlayer; import mineplex.core.common.util.UtilPlayer;
import mineplex.minecraft.game.core.damage.CustomDamageEvent; import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.TeamGame;
public class UltimateNecromancer extends Ultimate public class UltimateNecromancer extends Ultimate
{ {
@ -69,11 +71,8 @@ public class UltimateNecromancer extends Ultimate
} }
Player player = (Player) event.getTarget(); Player player = (Player) event.getTarget();
Player source = getPlayerFromEntity(player);
if (!_entities.containsKey(player.getUniqueId())) TeamGame teamGame = (TeamGame) Manager.GetGame();
{
return;
}
Set<LivingEntity> entities = _entities.get(player.getUniqueId()); Set<LivingEntity> entities = _entities.get(player.getUniqueId());
@ -82,6 +81,21 @@ public class UltimateNecromancer extends Ultimate
return; return;
} }
if (source == null)
{
return;
}
if (teamGame.GetTeam(player).equals(teamGame.GetTeam(source)))
{
event.setCancelled(true);
}
if (!_entities.containsKey(player.getUniqueId()))
{
return;
}
event.setCancelled(true); event.setCancelled(true);
} }
@ -149,6 +163,24 @@ public class UltimateNecromancer extends Ultimate
_entities.remove(player.getUniqueId()); _entities.remove(player.getUniqueId());
} }
public Player getPlayerFromEntity(Entity entity)
{
for (UUID uuid : _entities.keySet())
{
Set<LivingEntity> livingEntities = _entities.get(uuid);
for (LivingEntity livingEntity : livingEntities)
{
if (livingEntity.equals(livingEntity))
{
return UtilPlayer.searchExact(uuid);
}
}
}
return null;
}
@Override @Override
public double getChargeIncreasePerSecond() public double getChargeIncreasePerSecond()
{ {

View File

@ -13,13 +13,12 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile; import org.bukkit.entity.Projectile;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import mineplex.core.common.Rank;
import mineplex.core.common.util.UtilParticle; import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist; import mineplex.core.common.util.UtilParticle.ViewDist;