diff --git a/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java b/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java index 7ef4f5eaa..35145e737 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java @@ -291,8 +291,7 @@ public class Explosion extends MiniPlugin blocks.put(cur, new AbstractMap.SimpleEntry(cur.getTypeId(), cur.getData())); - if (cur.getTypeId() != 98 || cur.getData() != 0) - cur.setType(Material.AIR); + cur.setType(Material.AIR); } //DELAY diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/mount/types/Undead.java b/Plugins/Mineplex.Hub/src/mineplex/hub/mount/types/Undead.java index 0d9542b9c..9783e2703 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/mount/types/Undead.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/mount/types/Undead.java @@ -65,4 +65,20 @@ public class Undead extends Mount } } } + + @EventHandler + public void Toggle(PlayerToggleSneakEvent event) + { + if (event.getPlayer().isSneaking()) + return; + + if (IsActive(event.getPlayer())) + { + this.Disable(event.getPlayer()); + } + else + { + this.Enable(event.getPlayer()); + } + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java index 1f5979c56..a797376e9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java @@ -20,9 +20,11 @@ import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityTargetEvent; import org.bukkit.event.entity.ItemSpawnEvent; +import mineplex.core.common.util.C; import mineplex.core.common.util.UtilBlock; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilServer; +import mineplex.core.common.util.UtilTime; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; import mineplex.minecraft.game.core.damage.CustomDamageEvent; @@ -44,6 +46,7 @@ public class Halloween extends SoloGame private ArrayList _waves; private int _wave = 0; + private int _maxMobs = 100; private HashSet _mobs = new HashSet(); private PumpkinKing _king; @@ -60,9 +63,10 @@ public class Halloween extends SoloGame new String[] { + "Do not die.", "Work as a team!", - "Revive fallen allies!", - "Defeat the hordes of monsters" + "Defeat the waves of monsters", + "Kill the Pumpkin King" }); this.DamagePvP = false; @@ -96,13 +100,13 @@ public class Halloween extends SoloGame _waves.add(new WaveVictory(this)); } - @EventHandler + @EventHandler(priority = EventPriority.MONITOR) public void TeamGen(GameStateChangeEvent event) { if (event.GetState() != GameState.Live) return; - GetTeamList().add(new GameTeam("Halloween Monsters", ChatColor.RED, WorldData.GetDataLocs("RED"))); + GetTeamList().add(new GameTeam("Pumpkin King", ChatColor.RED, WorldData.GetDataLocs("RED"))); } @EventHandler @@ -189,7 +193,7 @@ public class Halloween extends SoloGame for (CreatureBase base : _mobs) base.Target(event); } - + @EventHandler(priority = EventPriority.HIGHEST) public void EntityDeath(EntityDeathEvent event) { @@ -204,6 +208,9 @@ public class Halloween extends SoloGame if (_wave >= _waves.size()) { + for (Player player : GetPlayers(false)) + Manager.GetGame().AddGems(player, 30, "Killing the Pumpkin King", false); + SetState(GameState.End); SetCustomWinLine("You defeated the Pumpkin King!!!"); AnnounceEnd(this.GetTeamList().get(0)); @@ -253,4 +260,54 @@ public class Halloween extends SoloGame event.setCancelled(true); } + + + @EventHandler(priority = EventPriority.MONITOR) + public void GemAward(CustomDamageEvent event) + { + if (event.IsCancelled()) + return; + + Player player = event.GetDamagerPlayer(true); + if (player == null) return; + + for (int i=0 ; i public Location GetRoamTarget() { + if (Math.random() > 0.75) + return GetPlayerTarget(); + Vector vec = new Vector(UtilMath.r(80) - 40, 0, UtilMath.r(80) - 40); return vec.toLocation(Host.GetSpectatorLocation().getWorld()); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobGiant.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobGiant.java index ed7fb2ba5..70662011f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobGiant.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobGiant.java @@ -64,8 +64,8 @@ public class MobGiant extends CreatureBase private void Destroy() { Host.Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(GetEntity().getLocation().add(0, 8, 0), 6d).keySet(), GetEntity().getLocation().add(0, 8, 0), false); - Host.Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(GetEntity().getLocation().add(0, 2, 0), 3.5d).keySet(), GetEntity().getLocation(), true); - Host.Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(GetEntity().getLocation().add(0, 0, 0), 3.5d).keySet(), GetEntity().getLocation(), true); + Host.Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(GetEntity().getLocation().add(0, 2, 0), 5d).keySet(), GetEntity().getLocation(), true); + Host.Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(GetEntity().getLocation().add(0, 0, 0), 5d).keySet(), GetEntity().getLocation(), true); } private void Move() @@ -87,7 +87,10 @@ public class MobGiant extends CreatureBase _tpLoc.setPitch(UtilAlg.GetPitch(dir)); _tpLoc.setYaw(UtilAlg.GetYaw(dir)); - _tpLoc.add(dir.multiply(0.1)); + double speed = Math.min(0.30, 0.15 + (GetEntity().getTicksLived() / 12000d)); + + + _tpLoc.add(dir.multiply(speed)); //Move GetEntity().teleport(_tpLoc); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonArcher.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonArcher.java index 095dbef2b..638f3581d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonArcher.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonArcher.java @@ -29,6 +29,8 @@ public class MobSkeletonArcher extends CreatureBase { ent.getEquipment().setItemInHand(new ItemStack(Material.BOW)); ent.setCustomName("Skeleton Archer"); + + Host.Manager.GetCondition().Factory().Speed("Speed", ent, ent, 99999, 0, false, false, false); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonWarrior.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonWarrior.java index f9fb84308..355c63873 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonWarrior.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSkeletonWarrior.java @@ -3,6 +3,7 @@ package nautilus.game.arcade.game.games.halloween.creatures; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilTime; +import mineplex.core.disguise.disguises.DisguiseSkeleton; import mineplex.core.disguise.disguises.DisguiseSpider; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -28,10 +29,12 @@ public class MobSkeletonWarrior extends CreatureBase @Override public void SpawnCustom(Zombie ent) { - DisguiseSpider spider = new DisguiseSpider(ent); + DisguiseSkeleton spider = new DisguiseSkeleton(ent); Host.Manager.GetDisguise().disguise(spider); ent.setCustomName("Skeleton Warrior"); ent.getEquipment().setItemInHand(new ItemStack(Material.WOOD_HOE)); + + Host.Manager.GetCondition().Factory().Speed("Speed", ent, ent, 99999, 0, false, false, false); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderLeaper.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderLeaper.java index ccf414444..18196ab9f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderLeaper.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderLeaper.java @@ -28,6 +28,8 @@ public class MobSpiderLeaper extends CreatureBase public void SpawnCustom(CaveSpider ent) { ent.setCustomName("Leaping Spider"); + + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 99999, 1, false, false, false); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderWebber.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderWebber.java index 03adaf9ae..5224a18ac 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderWebber.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobSpiderWebber.java @@ -1,8 +1,6 @@ package nautilus.game.arcade.game.games.halloween.creatures; -import mineplex.core.common.util.UtilAction; import mineplex.core.common.util.UtilAlg; -import mineplex.core.common.util.UtilEnt; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilTime; import mineplex.core.disguise.disguises.DisguiseSpider; @@ -51,19 +49,8 @@ public class MobSpiderWebber extends CreatureBase if (event.getType() == UpdateType.FAST) Move(); - if (event.getType() == UpdateType.SEC) - Web(); - } - - private void Web() - { - if (GetTarget() == null) - return; - - if (Math.random() > 0.5) - return; - - + if (event.getType() == UpdateType.SLOW) + Speed(); } private void Move() @@ -106,4 +93,14 @@ public class MobSpiderWebber extends CreatureBase } } } + + public void Speed() + { + if (GetEntity().getTicksLived() > 3600) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 2, false, false, false); + else if (GetEntity().getTicksLived() > 2400) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 1, false, false, false); + else if (GetEntity().getTicksLived() > 1200) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 0, false, false, false); + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobZombie.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobZombie.java index aa5caef0d..4d47c1d84 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobZombie.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/MobZombie.java @@ -40,6 +40,9 @@ public class MobZombie extends CreatureBase { if (event.getType() == UpdateType.SLOW) Move(); + + if (event.getType() == UpdateType.SLOW) + Speed(); } private void Move() @@ -88,4 +91,14 @@ public class MobZombie extends CreatureBase { } + + public void Speed() + { + if (GetEntity().getTicksLived() > 3600) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 2, false, false, false); + else if (GetEntity().getTicksLived() > 2400) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 1, false, false, false); + else if (GetEntity().getTicksLived() > 1200) + Host.Manager.GetCondition().Factory().Speed("Speed", GetEntity(), GetEntity(), 10, 0, false, false, false); + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/PumpkinKing.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/PumpkinKing.java index 93ff109da..734a4dc31 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/PumpkinKing.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/creatures/PumpkinKing.java @@ -494,7 +494,7 @@ public class PumpkinKing extends CreatureBase shieldIterator.remove(); } - if (!UtilTime.elapsed(_shieldSpawn, 3000)) + if (!UtilTime.elapsed(_shieldSpawn, 8000)) return; if (_shields.size() >= _shieldsMax) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitFinn.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitFinn.java index e98dfd769..26d5b9d50 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitFinn.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitFinn.java @@ -7,6 +7,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilMath; import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -26,6 +28,7 @@ public class KitFinn extends SmashKit { "Jake is hiding in his pocket.", "", + "Nearby allies receive " + C.cGreen + "Speed 1" }, new Perk[] @@ -85,4 +88,28 @@ public class KitFinn extends SmashKit Manager.GetCondition().Factory().FireItemImmunity(GetName(), player, player, 1.9, false); } } + + @EventHandler + public void Aura(UpdateEvent event) + { + if (event.getType() != UpdateType.FAST) + return; + + for (Player player : Manager.GetGame().GetPlayers(true)) + { + if (!HasKit(player)) + continue; + + for (Player other : Manager.GetGame().GetPlayers(true)) + { + if (other.equals(player)) + continue; + + if (UtilMath.offset(player, other) > 8) + continue; + + Manager.GetCondition().Factory().Speed("Aura", other, player, 1.9, 0, false, false, false); + } + } + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitRobinHood.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitRobinHood.java index 93baa130a..f70fcc0bb 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitRobinHood.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitRobinHood.java @@ -7,6 +7,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilMath; import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -26,12 +28,11 @@ public class KitRobinHood extends SmashKit { "Trick or treating from the rich...", "", + "Nearby allies receive " + C.cGreen + "Regeneration 1" }, new Perk[] - { - new PerkSpeed(1), - new PerkRegeneration(0), + { new PerkFletcher(1, 4, true), new PerkBarrage(4, 250, true, true), new PerkQuickshotRobinHood() @@ -86,4 +87,28 @@ public class KitRobinHood extends SmashKit Manager.GetCondition().Factory().FireItemImmunity(GetName(), player, player, 1.9, false); } } + + @EventHandler + public void Aura(UpdateEvent event) + { + if (event.getType() != UpdateType.FAST) + return; + + for (Player player : Manager.GetGame().GetPlayers(true)) + { + if (!HasKit(player)) + continue; + + for (Player other : Manager.GetGame().GetPlayers(true)) + { + if (other.equals(player)) + continue; + + if (UtilMath.offset(player, other) > 8) + continue; + + Manager.GetCondition().Factory().Regen("Aura", other, player, 1.9, 0, false, false, false); + } + } + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitThor.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitThor.java index 4ba474973..d914fa882 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitThor.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/kits/KitThor.java @@ -7,6 +7,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.inventory.ItemStack; +import mineplex.core.common.util.C; +import mineplex.core.common.util.UtilMath; import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -27,6 +29,7 @@ public class KitThor extends SmashKit { "Smash and kill with your Thor Hammer!", "", + "Nearby allies receive " + C.cGreen + "Strength 1" }, new Perk[] @@ -96,4 +99,28 @@ public class KitThor extends SmashKit if (HasKit(damagee)) event.AddMod("Thor Boost", "Thor Boost", 4, false); } + + @EventHandler + public void Aura(UpdateEvent event) + { + if (event.getType() != UpdateType.FAST) + return; + + for (Player player : Manager.GetGame().GetPlayers(true)) + { + if (!HasKit(player)) + continue; + + for (Player other : Manager.GetGame().GetPlayers(true)) + { + if (other.equals(player)) + continue; + + if (UtilMath.offset(player, other) > 8) + continue; + + Manager.GetCondition().Factory().Strength("Aura", other, player, 1.9, 0, false, false, false); + } + } + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave1.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave1.java index 91ecb67ac..c652e1a01 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave1.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave1.java @@ -2,33 +2,29 @@ package nautilus.game.arcade.game.games.halloween.waves; import mineplex.core.common.util.UtilTime; import nautilus.game.arcade.game.games.halloween.Halloween; -import nautilus.game.arcade.game.games.halloween.creatures.MobCreeper; import nautilus.game.arcade.game.games.halloween.creatures.MobSkeletonArcher; -import nautilus.game.arcade.game.games.halloween.creatures.MobZombie; +import nautilus.game.arcade.game.games.halloween.creatures.MobSkeletonWarrior; public class Wave1 extends WaveBase { public Wave1(Halloween host) { - super(host, "Zombies and Skeletons and Creepers! OH MY!", 60000, host.GetSpawnSet(1)); + super(host, "Skeletons? Farmers? FARMER SKELETONS!!!", 60000, host.GetSpawnSet(1)); } @Override public void Spawn(int tick) { - if (UtilTime.elapsed(_start, 20000)) + if (UtilTime.elapsed(_start, 15000)) return; - if (Host.GetCreatures().size() > 60) + if (Host.GetCreatures().size() > Host.GetMaxMobs()) return; if (tick % 10 == 0) - Host.AddCreature(new MobZombie(Host, GetSpawn())); + Host.AddCreature(new MobSkeletonWarrior(Host, GetSpawn())); if (tick % 20 == 0) Host.AddCreature(new MobSkeletonArcher(Host, GetSpawn())); - - if (tick % 30 == 0) - Host.AddCreature(new MobCreeper(Host, GetSpawn())); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave2.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave2.java index 7866f3449..9779c99a3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave2.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave2.java @@ -4,7 +4,6 @@ import mineplex.core.common.util.UtilTime; import nautilus.game.arcade.game.games.halloween.Halloween; import nautilus.game.arcade.game.games.halloween.creatures.MobCreeper; import nautilus.game.arcade.game.games.halloween.creatures.MobGiant; -import nautilus.game.arcade.game.games.halloween.creatures.MobSkeletonArcher; import nautilus.game.arcade.game.games.halloween.creatures.MobZombie; public class Wave2 extends WaveBase @@ -17,22 +16,19 @@ public class Wave2 extends WaveBase @Override public void Spawn(int tick) { - if (UtilTime.elapsed(_start, 20000)) + if (UtilTime.elapsed(_start, 15000)) return; if (tick == 0) Host.AddCreature(new MobGiant(Host, GetSpawn())); - if (Host.GetCreatures().size() > 60) + if (Host.GetCreatures().size() > Host.GetMaxMobs()) return; if (tick % 10 == 0) Host.AddCreature(new MobZombie(Host, GetSpawn())); - if (tick % 20 == 0) - Host.AddCreature(new MobSkeletonArcher(Host, GetSpawn())); - - if (tick % 30 == 0) + if (tick % 25 == 0) Host.AddCreature(new MobCreeper(Host, GetSpawn())); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave3.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave3.java index 87c4fad7b..f772f906d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave3.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave3.java @@ -15,16 +15,13 @@ public class Wave3 extends WaveBase @Override public void Spawn(int tick) { - if (UtilTime.elapsed(_start, 20000)) + if (Host.GetCreatures().size() > Host.GetMaxMobs()) return; - if (Host.GetCreatures().size() > 60) - return; - - if (tick % 10 == 0) + if (tick > 200 && tick % 10 == 0 && !UtilTime.elapsed(_start, 25000)) Host.AddCreature(new MobSpiderWebber(Host, GetSpawn())); - if (tick % 10 == 0) + if (tick % 10 == 0 && !UtilTime.elapsed(_start, 15000)) Host.AddCreature(new MobSpiderLeaper(Host, GetSpawn())); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave4.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave4.java index a6d31191a..c45a91529 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave4.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave4.java @@ -11,13 +11,13 @@ public class Wave4 extends WaveBase { public Wave4(Halloween host) { - super(host, "Ghasts (and friends!)", 60000, host.GetSpawnSet(3)); + super(host, "Ghasts and friends!", 60000, host.GetSpawnSet(3)); } @Override public void Spawn(int tick) { - if (UtilTime.elapsed(_start, 20000)) + if (UtilTime.elapsed(_start, 25000)) return; if (tick > 0 && tick % 100 == 0) @@ -29,7 +29,7 @@ public class Wave4 extends WaveBase Host.AddCreature(new MobGhast(Host, loc)); } - if (Host.GetCreatures().size() > 60) + if (Host.GetCreatures().size() > Host.GetMaxMobs()) return; if (tick % 20 == 0) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave5.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave5.java index d93c2a0bb..a03a1c90f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave5.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/waves/Wave5.java @@ -3,7 +3,7 @@ package nautilus.game.arcade.game.games.halloween.waves; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilTime; import nautilus.game.arcade.game.games.halloween.Halloween; -import nautilus.game.arcade.game.games.halloween.creatures.MobGiant; +import nautilus.game.arcade.game.games.halloween.creatures.*; public class Wave5 extends WaveBase { @@ -18,7 +18,8 @@ public class Wave5 extends WaveBase if (UtilTime.elapsed(_start, 20000)) return; - this.SpawnBeacons(Host.GetSpawnSet(2)); + if (tick == 0) + SpawnBeacons(Host.GetSpawnSet(2)); if (tick == 0) { @@ -26,19 +27,19 @@ public class Wave5 extends WaveBase Host.AddCreature(new MobGiant(Host, Host.GetSpawnSet(2).get(UtilMath.r(Host.GetSpawnSet(2).size())))); } - if (Host.GetCreatures().size() > 60) + if (Host.GetCreatures().size() > Host.GetMaxMobs()) return; if (tick % 20 == 0) { - Host.AddCreature(new MobGiant(Host, Host.GetSpawnSet(1).get(UtilMath.r(Host.GetSpawnSet(1).size())))); - Host.AddCreature(new MobGiant(Host, Host.GetSpawnSet(2).get(UtilMath.r(Host.GetSpawnSet(2).size())))); + Host.AddCreature(new MobZombie(Host, Host.GetSpawnSet(1).get(UtilMath.r(Host.GetSpawnSet(1).size())))); + Host.AddCreature(new MobZombie(Host, Host.GetSpawnSet(2).get(UtilMath.r(Host.GetSpawnSet(2).size())))); } - if (tick % 40 == 0) + if (tick % 60 == 0) { - Host.AddCreature(new MobGiant(Host, Host.GetSpawnSet(1).get(UtilMath.r(Host.GetSpawnSet(1).size())))); - Host.AddCreature(new MobGiant(Host, Host.GetSpawnSet(2).get(UtilMath.r(Host.GetSpawnSet(2).size())))); + Host.AddCreature(new MobCreeper(Host, Host.GetSpawnSet(1).get(UtilMath.r(Host.GetSpawnSet(1).size())))); + Host.AddCreature(new MobCreeper(Host, Host.GetSpawnSet(2).get(UtilMath.r(Host.GetSpawnSet(2).size())))); } } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkHammerThrow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkHammerThrow.java index 3a8b3ede4..0d1c6932c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkHammerThrow.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkHammerThrow.java @@ -129,7 +129,7 @@ public class PerkHammerThrow extends Perk implements IThrown //Damage Event Manager.GetDamage().NewDamageEvent(target, data.GetThrower(), null, - DamageCause.LIGHTNING, 12, true, true, false, + DamageCause.LIGHTNING, 16, true, true, false, UtilEnt.getName(data.GetThrower()), GetName()); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java index 9deab75d0..d1801a17b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java @@ -13,6 +13,7 @@ import org.bukkit.util.Vector; import mineplex.core.common.util.C; import mineplex.core.common.util.UtilBlock; +import mineplex.core.common.util.UtilGear; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilTime; @@ -101,7 +102,7 @@ public class PerkInfernoFinn extends Perk @EventHandler public void Refresh(UpdateEvent event) { - if (event.getType() != UpdateType.SLOWER) + if (event.getType() != UpdateType.SLOW) return; for (Player player : UtilServer.getPlayers()) @@ -112,8 +113,13 @@ public class PerkInfernoFinn extends Perk if (!Kit.HasKit(player)) continue; - player.getInventory().remove(Material.GOLD_SWORD); - player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.GOLD_SWORD, (byte)0, 1, "Flaming Sword")); + if (!UtilGear.isMat(player.getItemInHand(), Material.GOLD_SWORD)) + continue; + + if (player.getItemInHand().getDurability() == player.getItemInHand().getType().getMaxDurability()) + player.getItemInHand().setDurability((short) (player.getItemInHand().getDurability()+1)); + else + player.getItemInHand().setDurability((short) (player.getItemInHand().getDurability()-1)); } } }