diff --git a/Plugins/Mineplex.Core/src/mineplex/core/cosmetic/ui/page/Menu.java b/Plugins/Mineplex.Core/src/mineplex/core/cosmetic/ui/page/Menu.java index 1c5693edd..3429950c6 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/cosmetic/ui/page/Menu.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/cosmetic/ui/page/Menu.java @@ -206,7 +206,7 @@ public class Menu extends ShopPageBase type = GadgetType.GameModifier; lore = getLore(ownedCount.get(type), maxCount.get(type), "Cosmetic effects which changes appearances of objects in game", "Visible in Games", enabled.get(type)); addButton(gameModifierSlot, new ShopItem(Material.TORCH, "Game Modifiers", lore, 1, false), new OpenGameModifiers(this, enabled.get(type))); - if (enabled.containsKey(type)) addGlow(winEffectSlot); + if (enabled.containsKey(type)) addGlow(gameModifierSlot); } private String[] getLore(int ownedCount, int maxCount, String info, String visibility, Gadget enabled) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/gamemodifiers/minestrike/MineStrikeSkin.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/gamemodifiers/minestrike/MineStrikeSkin.java index e756048c9..5eba4de8d 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/gamemodifiers/minestrike/MineStrikeSkin.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/gamemodifiers/minestrike/MineStrikeSkin.java @@ -7,7 +7,7 @@ public enum MineStrikeSkin P250_Muertos( "P250", "Muertos", Material.INK_SACK, (byte) 3), CZ75_Auto_Tigris( "CZ75-Auto", "Tigris", Material.CLAY_BRICK, (byte) 0), - Desert_Eagle_Blaze( "Desert_Eagle", "Blaze", Material.NETHER_STALK, (byte) 0), + Desert_Eagle_Blaze( "Desert Eagle", "Blaze", Material.NETHER_STALK, (byte) 0), Nova_Koi( "Nova", "Koi", Material.INK_SACK, (byte) 14), XM1014_Tranquility( "XM1014", "Tranquility", Material.SULPHUR, (byte) 0), PP_Bizon_Streak( "PP Bizon", "Streak", Material.INK_SACK, (byte) 4), @@ -17,10 +17,10 @@ public enum MineStrikeSkin P2000_Fire_Elemental( "P2000", "Fire Elemental", Material.INK_SACK, (byte) 6), FAMAS_Pulse( "FAMAS", "Pulse", Material.CLAY_BALL, (byte) 0), M4A4_Howl( "M4A4", "Howl", Material.INK_SACK, (byte) 11), - Steyr_AUG_Torque( "Steyr_AUG", "Torque", Material.BLAZE_ROD, (byte) 0), + Steyr_AUG_Torque( "Steyr AUG", "Torque", Material.BLAZE_ROD, (byte) 0), Glock_18_Fade( "Glock 18", "Fade", Material.INK_SACK, (byte) 13), - Galil_AR_Eco( "Galil_AR", "Eco", Material.INK_SACK, (byte) 10), - AK_47_Vulcan( "AK_47", "Vulcan", Material.INK_SACK, (byte) 7), + Galil_AR_Eco( "Galil AR", "Eco", Material.INK_SACK, (byte) 10), + AK_47_Vulcan( "AK-47", "Vulcan", Material.INK_SACK, (byte) 7), SG553_Pulse( "SG553", "Pulse", Material.INK_SACK, (byte) 5), Knife_M9_Bayonette_Fade( "Knife", "M9 Bayonette Fade", Material.DIAMOND_SWORD, (byte) 0); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index d44e77335..c42d46eb0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -1165,6 +1165,10 @@ public abstract class Game implements Listener otherList.removeAll(teamList); Player player = teamList.remove(0); WinEffectManager.prePlay(this, player, teamList, otherList); + + Location loc = SpectatorSpawn.clone().add(1000, 0, 1000); + loc.setY(200); + WinEffectManager.playWinEffect(loc); } String winnerText = ChatColor.WHITE + "Nobody"; @@ -1237,18 +1241,12 @@ public abstract class Game implements Listener otherList.addAll(UtilServer.getPlayersCollection()); Player player = places.get(0); otherList.remove(player); - /* - while(otherList.size() < 10) { - Player p = UtilServer.getPlayers()[UtilMath.r(UtilServer.getPlayers().length)]; - otherList.add(p); - } - while(teamList.size() < 10) { - Player p = UtilServer.getPlayers()[UtilMath.r(UtilServer.getPlayers().length)]; - teamList.add(p); - } - */ WinEffectManager.prePlay(this, player, teamList, otherList); + + Location loc = SpectatorSpawn.clone().add(1000, 0, 1000); + loc.setY(200); + WinEffectManager.playWinEffect(loc); } for (Player player : UtilServer.getPlayers()) @@ -1852,6 +1850,7 @@ public abstract class Game implements Listener public void disable(){} + //TODO: REMOVE THIS! @EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index 0460e6e96..58afb64e6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -1300,18 +1300,23 @@ public class MineStrike extends TeamGame { if (event.GetDamagerPlayer(false) != null) { + Player damager = event.GetDamagerPlayer(false); + + GadgetManager gadgetManager = Manager.getCosmeticManager().getGadgetManager(); + GameModifierMineStrikeSkin knifeSkin = (GameModifierMineStrikeSkin) gadgetManager.getActiveGameModifier(damager, + GameModifierType.MineStrike, GameModifierMineStrikeSkin.getWeaponFilter("Knife")); + + ItemStack inHand = damager.getItemInHand(); //Cancel Non-Knife Melee - if (!UtilGear.isMat(event.GetDamagerPlayer(false).getItemInHand(), Material.IRON_AXE) && - !UtilGear.isMat(event.GetDamagerPlayer(false).getItemInHand(), Material.IRON_SWORD)) + if (!UtilGear.isMat(inHand, Material.IRON_AXE) && + !UtilGear.isMat(inHand, Material.IRON_SWORD) && + !(knifeSkin != null && UtilGear.isMatAndData(inHand, knifeSkin.getSkinMaterial(), knifeSkin.getSkinData()))) { event.SetCancelled("Non-Knife"); } //Knife Attack else if (!event.IsCancelled()) { - Player damager = event.GetDamagerPlayer(false); - if (damager == null) return; - LivingEntity damagee = event.GetDamageeEntity(); if (damagee == null) return; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/StrikeItem.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/StrikeItem.java index 92fd7f0c9..7d93deed5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/StrikeItem.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/StrikeItem.java @@ -2,6 +2,7 @@ package nautilus.game.arcade.game.games.minestrike.items; import java.util.ArrayList; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.Sound; @@ -9,6 +10,7 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.material.MaterialData; import mineplex.core.common.util.C; import mineplex.core.common.util.F; @@ -87,10 +89,9 @@ public abstract class StrikeItem public void setSkin(Material skinMaterial, byte skinData) { _skinMaterial = skinMaterial; - _stack.setType(skinMaterial); - _skinData = skinData; - _stack.getData().setData(skinData); + + _stack = new ItemStack(skinMaterial, 1, (short) 0, skinData); } public String getOwnerName() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java index de23ef96f..b5409cd0f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java @@ -3,6 +3,17 @@ package nautilus.game.arcade.managers; import java.util.ArrayList; import java.util.Iterator; +import org.bukkit.ChatColor; +import org.bukkit.Color; +import org.bukkit.FireworkEffect.Type; +import org.bukkit.Location; +import org.bukkit.Sound; +import org.bukkit.entity.Creature; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; + import mineplex.core.bonuses.event.CarlSpinnerEvent; import mineplex.core.common.util.C; import mineplex.core.common.util.F; @@ -37,17 +48,6 @@ import nautilus.game.arcade.game.games.uhc.UHC; import nautilus.game.arcade.gametutorial.TutorialPhase; import nautilus.game.arcade.gametutorial.TutorialText; -import org.bukkit.ChatColor; -import org.bukkit.Color; -import org.bukkit.FireworkEffect.Type; -import org.bukkit.Location; -import org.bukkit.Sound; -import org.bukkit.entity.Creature; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - public class GameManager implements Listener { ArcadeManager Manager; @@ -398,9 +398,6 @@ public class GameManager implements Listener if (UtilTime.elapsed(game.GetStateTime(), 3000)) { game.SetState(GameState.WinRoom); - Location loc = game.SpectatorSpawn.clone().add(1000, 0, 1000); - loc.setY(200); - game.WinEffectManager.playWinEffect(loc); } } else if (game.GetState() == GameState.WinRoom)