Bug Fixes
* Fixed Menu page adding glow to win effects if game modifiers were active * MineStrike skins were not properly applying material and data * Skinned knife was not dealing damage
This commit is contained in:
parent
06e583c05e
commit
4958ab8149
|
@ -206,7 +206,7 @@ public class Menu extends ShopPageBase<CosmeticManager, CosmeticShop>
|
|||
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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue