Merge branch 'master' of http://184.154.0.242:7990/scm/min/mineplex
This commit is contained in:
commit
fa2bcf7f69
@ -5,18 +5,6 @@ import java.util.Arrays;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.entity.Arrow;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
|
||||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
|
||||||
import org.bukkit.scoreboard.DisplaySlot;
|
|
||||||
import org.bukkit.scoreboard.Objective;
|
|
||||||
|
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
@ -32,12 +20,28 @@ import nautilus.game.arcade.ArcadeManager;
|
|||||||
import nautilus.game.arcade.GameType;
|
import nautilus.game.arcade.GameType;
|
||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.game.games.quiver.kits.*;
|
import nautilus.game.arcade.game.games.quiver.kits.KitBrawler;
|
||||||
|
import nautilus.game.arcade.game.games.quiver.kits.KitEnchanter;
|
||||||
|
import nautilus.game.arcade.game.games.quiver.kits.KitLeaper;
|
||||||
|
import nautilus.game.arcade.game.games.quiver.kits.KitNinja;
|
||||||
|
import nautilus.game.arcade.game.games.quiver.kits.KitSlamShot;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.stats.SharpShooterStatTracker;
|
import nautilus.game.arcade.stats.SharpShooterStatTracker;
|
||||||
import nautilus.game.arcade.stats.WinWithoutBowStatTracker;
|
import nautilus.game.arcade.stats.WinWithoutBowStatTracker;
|
||||||
import nautilus.game.arcade.stats.WinWithoutDyingStatTracker;
|
import nautilus.game.arcade.stats.WinWithoutDyingStatTracker;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Arrow;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||||
|
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||||
|
import org.bukkit.scoreboard.DisplaySlot;
|
||||||
|
import org.bukkit.scoreboard.Objective;
|
||||||
|
|
||||||
public class Quiver extends SoloGame
|
public class Quiver extends SoloGame
|
||||||
{
|
{
|
||||||
private ArrayList<QuiverScore> _ranks = new ArrayList<QuiverScore>();
|
private ArrayList<QuiverScore> _ranks = new ArrayList<QuiverScore>();
|
||||||
@ -56,7 +60,8 @@ public class Quiver extends SoloGame
|
|||||||
new KitLeaper(manager),
|
new KitLeaper(manager),
|
||||||
new KitBrawler(manager),
|
new KitBrawler(manager),
|
||||||
new KitEnchanter(manager),
|
new KitEnchanter(manager),
|
||||||
new KitSlamShot(manager)
|
new KitSlamShot(manager),
|
||||||
|
new KitNinja(manager)
|
||||||
},
|
},
|
||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
@ -75,6 +80,8 @@ public class Quiver extends SoloGame
|
|||||||
this.BlockBreakAllow.add(102);
|
this.BlockBreakAllow.add(102);
|
||||||
this.BlockBreakAllow.add(20);
|
this.BlockBreakAllow.add(20);
|
||||||
|
|
||||||
|
this.DeathSpectateSecs = 2;
|
||||||
|
|
||||||
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Kills", "dummy");
|
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Kills", "dummy");
|
||||||
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
||||||
|
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
package nautilus.game.arcade.game.games.quiver.kits;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.common.util.UtilInv;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.itemstack.ItemBuilder;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.game.Game.GameState;
|
||||||
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
import nautilus.game.arcade.kit.perks.PerkVanishing;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class KitNinja extends Kit
|
||||||
|
{
|
||||||
|
public KitNinja(ArcadeManager manager)
|
||||||
|
{
|
||||||
|
super(manager, "Ninja", KitAvailability.Achievement, 0, new String[]
|
||||||
|
{
|
||||||
|
"You're a sneaky one, you!"
|
||||||
|
}, new Perk[]
|
||||||
|
{
|
||||||
|
new PerkVanishing()
|
||||||
|
}, EntityType.ZOMBIE, new ItemBuilder(Material.GOLD_SWORD).build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void GiveItems(Player player)
|
||||||
|
{
|
||||||
|
player.getInventory().addItem(new ItemBuilder(Material.GOLD_SWORD).setUnbreakable(true).build());
|
||||||
|
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||||
|
|
||||||
|
if (Manager.GetGame().GetState() == GameState.Live)
|
||||||
|
{
|
||||||
|
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)0, 1, F.item("Super Arrow")));
|
||||||
|
|
||||||
|
final Player fPlayer = player;
|
||||||
|
|
||||||
|
UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.getPlugin(), new Runnable()
|
||||||
|
{
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
UtilInv.Update(fPlayer);
|
||||||
|
}
|
||||||
|
}, 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -21,9 +21,8 @@ public class KitSlamShot extends Kit
|
|||||||
{
|
{
|
||||||
public KitSlamShot(ArcadeManager manager)
|
public KitSlamShot(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, "Slam Shooter", KitAvailability.Achievement,
|
super(manager, "Slam Shooter", KitAvailability.Gem,
|
||||||
|
5000, new String[]
|
||||||
new String[]
|
|
||||||
{
|
{
|
||||||
"Gets 2 arrows for killing slammed players!"
|
"Gets 2 arrows for killing slammed players!"
|
||||||
},
|
},
|
||||||
@ -33,7 +32,7 @@ public class KitSlamShot extends Kit
|
|||||||
new PerkSeismicSlamOITQ()
|
new PerkSeismicSlamOITQ()
|
||||||
},
|
},
|
||||||
EntityType.ZOMBIE,
|
EntityType.ZOMBIE,
|
||||||
new ItemStack(Material.IRON_SPADE));
|
new ItemStack(Material.DIAMOND_SPADE));
|
||||||
|
|
||||||
this.setAchievementRequirements(new Achievement[]
|
this.setAchievementRequirements(new Achievement[]
|
||||||
{
|
{
|
||||||
@ -47,7 +46,7 @@ public class KitSlamShot extends Kit
|
|||||||
@Override
|
@Override
|
||||||
public void GiveItems(Player player)
|
public void GiveItems(Player player)
|
||||||
{
|
{
|
||||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_SPADE));
|
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.DIAMOND_SPADE));
|
||||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||||
|
|
||||||
if (Manager.GetGame().GetState() == GameState.Live)
|
if (Manager.GetGame().GetState() == GameState.Live)
|
||||||
|
@ -0,0 +1,107 @@
|
|||||||
|
package nautilus.game.arcade.kit.perks;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.UtilParticle;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
|
import mineplex.minecraft.game.core.combat.event.CombatDeathEvent;
|
||||||
|
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
|
||||||
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
|
||||||
|
public class PerkVanishing extends Perk
|
||||||
|
{
|
||||||
|
public PerkVanishing()
|
||||||
|
{
|
||||||
|
super("Vanishing Act", new String[]
|
||||||
|
{
|
||||||
|
"Become invisible for 2 seconds each kill.",
|
||||||
|
"Attacking with melee removes invisibility."
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void kill(CombatDeathEvent event)
|
||||||
|
{
|
||||||
|
if (!Manager.GetGame().IsLive())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// //If it's an arrow kill (OITQ)
|
||||||
|
// if (!event.GetLog().GetKiller().GetReason().toLowerCase().contains("instagib"))
|
||||||
|
// return;
|
||||||
|
|
||||||
|
if (!event.GetLog().GetKiller().IsPlayer())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player killer = UtilPlayer.searchExact(event.GetLog().GetKiller().GetName());
|
||||||
|
|
||||||
|
if (killer == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!Manager.IsAlive(killer))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!Kit.HasKit(killer))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Manager.GetCondition().Factory().Cloak("Vanishing Act", killer, null, 2, false, true);
|
||||||
|
|
||||||
|
UtilParticle.PlayParticle(ParticleType.LARGE_EXPLODE, killer.getLocation().add(0, 1, 0), 0, 0, 0, 0, 1, ViewDist.LONG, UtilServer.getPlayers());
|
||||||
|
|
||||||
|
killer.getWorld().playSound(killer.getLocation(), Sound.FIZZ, 1f, 2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void remove(CustomDamageEvent event)
|
||||||
|
{
|
||||||
|
if (event.isCancelled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!Manager.GetGame().IsLive())
|
||||||
|
return;
|
||||||
|
|
||||||
|
//Arrow damage, ignore it!
|
||||||
|
if (event.GetDamage() > 10)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player damager = event.GetDamagerPlayer(true);
|
||||||
|
|
||||||
|
if (damager == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!Manager.IsAlive(damager))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!Kit.HasKit(damager))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Manager.GetCondition().EndCondition(damager, ConditionType.CLOAK, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @EventHandler
|
||||||
|
// public void remove(UpdateEvent event)
|
||||||
|
// {
|
||||||
|
// if (event.getType() != UpdateType.TICK)
|
||||||
|
// return;
|
||||||
|
//
|
||||||
|
// if (!Manager.GetGame().IsLive())
|
||||||
|
// return;
|
||||||
|
//
|
||||||
|
// for (Player player : Manager.GetGame().GetPlayers(true))
|
||||||
|
// {
|
||||||
|
// if (!Kit.HasKit(player))
|
||||||
|
// continue;
|
||||||
|
//
|
||||||
|
// if (!UtilPlayer.isChargingBow(player))
|
||||||
|
// continue;
|
||||||
|
//
|
||||||
|
// if (Manager.GetCondition().IsCloaked(player))
|
||||||
|
// Manager.GetCondition().Clean(player);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user