diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java index c3793bb01..d26106512 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java @@ -26,6 +26,7 @@ import nautilus.game.arcade.game.modules.WorldBorderModule; import nautilus.game.arcade.game.modules.compass.CompassModule; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.Perk; +import nautilus.game.arcade.kit.perks.PerkBomber; import nautilus.game.arcade.kit.perks.PerkDestructor; import nautilus.game.arcade.ore.OreHider; import nautilus.game.arcade.ore.OreObsfucation; @@ -1076,6 +1077,16 @@ public class Bridge extends TeamGame implements OreObsfucation } } + @EventHandler + public void diamondOreExplode(PerkBomber.BomberExplodeDiamondBlock event) + { + event.setSpawnDrop(false); + event.getBlock().setType(Material.AIR); + + Item item = event.getBlock().getWorld().dropItem(event.getBlock().getLocation().add(.5, .5, .5), new ItemStack(Material.DIAMOND_ORE)); + item.setMetadata("owner", new FixedMetadataValue(Manager.getPlugin(), event.getPlayer().getUniqueId())); + } + @EventHandler public void itemPickup(PlayerPickupItemEvent event) { @@ -1630,6 +1641,7 @@ public class Bridge extends TeamGame implements OreObsfucation UtilPlayer.message(player, F.main("Game", "You used your " + F.elem(C.cAqua + "Early Game Revive") + ".")); + player.setFallDistance(0); GetTeam(player).SpawnTeleport(player); player.setHealth(20); event.SetCancelled("Early Game Revive"); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/animation/custom/RadiusCustomBridgeAnimation.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/animation/custom/RadiusCustomBridgeAnimation.java index fe0779c7c..18ddcbece 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/animation/custom/RadiusCustomBridgeAnimation.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/animation/custom/RadiusCustomBridgeAnimation.java @@ -29,7 +29,7 @@ public class RadiusCustomBridgeAnimation extends CustomBridgeAnimation @Override public void onUpdate(UpdateType type) { - if (type != UpdateType.FAST) + if (type != UpdateType.SEC) { return; } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitApple.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitApple.java index f8ff4b32d..f1127ed69 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitApple.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitApple.java @@ -21,7 +21,7 @@ public class KitApple extends ProgressingKit }; private static final Perk[] PERKS = { - new PerkApple(10000, 500) + new PerkApple(10000, 250) }; private static final ItemStack IN_HAND = new ItemStack(Material.APPLE); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitDestructor.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitDestructor.java index 76a45fd2d..6d342c592 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitDestructor.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/kits/KitDestructor.java @@ -26,7 +26,7 @@ public class KitDestructor extends ProgressingKit }; private static final Perk[] PERKS = { - new PerkDestructor(40, 2, 400, 1.5, false) + new PerkDestructor(40, 2, 400, 3, false) }; private static final Achievement[] ACHIEVEMENTS = { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkApple.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkApple.java index 40fdeae7c..eba99996d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkApple.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkApple.java @@ -87,7 +87,7 @@ public class PerkApple extends Perk implements IThrown if (!Kit.HasKit(player)) return; - if (!Recharge.Instance.use(player, getMessage(player) + " Throw", _throwDelay, true, false)) + if (!Recharge.Instance.use(player, getMessage(player) + " Throw", _throwDelay, false, false)) { return; } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBomber.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBomber.java index 98bb50f9d..5685169dc 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBomber.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBomber.java @@ -39,18 +39,30 @@ public class PerkBomber extends Perk } private final Block _block; + private boolean _spawnDrop; public BomberExplodeDiamondBlock(Player who, Block block) { super(who); _block = block; + _spawnDrop = true; } public Block getBlock() { return _block; } + + public void setSpawnDrop(boolean b) + { + _spawnDrop = b; + } + + public boolean shouldSpawnDrop() + { + return _spawnDrop; + } } private static final String THROWING_TNT_DISPLAY_NAME = F.item("Throwing TNT"); @@ -265,8 +277,13 @@ public class PerkBomber extends Perk if (block.getType() == Material.DIAMOND_ORE) { - Bukkit.getPluginManager().callEvent(new BomberExplodeDiamondBlock(player, block)); - block.breakNaturally(); + BomberExplodeDiamondBlock explodeEvent = new BomberExplodeDiamondBlock(player, block); + UtilServer.CallEvent(explodeEvent); + + if (explodeEvent.shouldSpawnDrop()) + { + block.breakNaturally(); + } it.remove(); } }