From 689ca94c5755c441b2eac71cc503bb7f179422ec Mon Sep 17 00:00:00 2001 From: libraryaddict Date: Fri, 8 May 2015 18:57:33 +1200 Subject: [PATCH] Wizards: Nerf rainbow beam damage, rebalance gust spell, raise armor effectiveness --- .../arcade/game/games/wizards/SpellType.java | 8 ++++--- .../arcade/game/games/wizards/Wizards.java | 19 ++++++--------- .../game/games/wizards/spells/SpellGust.java | 24 ++++++++++++++++--- .../wizards/spells/SpellRainbowBeam.java | 2 +- 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/SpellType.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/SpellType.java index c72976da6..e612fcd9d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/SpellType.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/SpellType.java @@ -105,13 +105,15 @@ public enum SpellType // ❤ 0, // Cooldown change per level 5, // Item amount in loot - C.cYellow + C.Bold + "Gust Size: " + C.Bold + C.cWhite + "10 x Spell Level blocks", + C.cYellow + C.Bold + "Gust Size: " + C.Bold + C.cWhite + "(Spell Level x 3) + 10 blocks", C.cYellow + C.Bold + "Gust Strength: " + C.Bold + C.cWhite + "Spell Level x 30%", "", - "Cast the spell and watch your enemies fly!"), + "Cast the spell and watch your enemies fly!", + + "Spell strength decreases with distance"), Heal(SpellElement.SUPPORT, // Spell element WandElement.LIFE, // Wand element @@ -280,7 +282,7 @@ public enum SpellType // ❤ 1, // Cooldown change per level 10, // Item amount in loot - C.cYellow + C.Bold + "Damage: " + C.Bold + C.cWhite + "Spell Level + 2", + C.cYellow + C.Bold + "Damage: " + C.Bold + C.cWhite + "Spell Level + 1", C.cYellow + C.Bold + "Range: " + C.Bold + C.cWhite + "80", diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java index 1998bcfa6..4351096b2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java @@ -20,7 +20,6 @@ import mineplex.core.common.util.UtilEnt; import mineplex.core.common.util.UtilInv; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilParticle; -import mineplex.core.common.util.UtilTextMiddle; import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.UtilParticle.ViewDist; import mineplex.core.common.util.UtilPlayer; @@ -92,7 +91,6 @@ import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerItemHeldEvent; -import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.AnvilInventory; @@ -355,19 +353,19 @@ public class Wizards extends SoloGame if (name.contains("LEATHER")) { - percent = 8; + percent = 10; } else if (name.contains("GOLDEN") || name.contains("CHAINMAIL")) { - percent = 12; + percent = 15; } else if (name.contains("IRON")) { - percent = 15; + percent = 19; } else if (name.contains("DIAMOND")) { - percent = 20; + percent = 25; } if (name.contains("BOOTS")) @@ -752,12 +750,9 @@ public class Wizards extends SoloGame progressBar += "▌"; } - // Send to Player - for (Player player : players) - { - UtilTextBottom.display((prefix == null ? "" : prefix + ChatColor.RESET + " ") + progressBar - + (suffix == null ? "" : ChatColor.RESET + " " + suffix), players); - } + UtilTextBottom.display((prefix == null ? "" : prefix + ChatColor.RESET + " ") + progressBar + + (suffix == null ? "" : ChatColor.RESET + " " + suffix), players); + } public void drawUtilTextBottom(Player player) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellGust.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellGust.java index da0c492d1..730274a97 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellGust.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellGust.java @@ -1,6 +1,8 @@ package nautilus.game.arcade.game.games.wizards.spells; import java.util.HashMap; +import java.util.Iterator; +import java.util.Map.Entry; import mineplex.core.common.util.UtilPlayer; import nautilus.game.arcade.game.games.wizards.Spell; @@ -20,7 +22,21 @@ public class SpellGust extends Spell implements SpellClick final Vector vector = player.getLocation().getDirection().setY(0).normalize().multiply(1.5).setY(0.3) .multiply(1.2 + (getSpellLevel(player) * 0.4D)); - final HashMap effected = UtilPlayer.getPlayersInPyramid(player, 45, 10 * getSpellLevel(player)); + final double gustSize = (getSpellLevel(player) * 3) + 10; + + final HashMap effected = UtilPlayer.getPlayersInPyramid(player, 45, gustSize); + + Iterator> itel = effected.entrySet().iterator(); + + while (itel.hasNext()) + { + Entry entry = itel.next(); + + if (!entry.getKey().canSee(player)) + { + itel.remove(); + } + } if (!effected.isEmpty()) { @@ -37,9 +53,11 @@ public class SpellGust extends Spell implements SpellClick continue; } - Wizards.getArcadeManager().GetCondition().Factory().Falling("Gust", target, player, 10, false, true); + Vector vec = vector.clone().multiply(Math.max(0.2, effected.get(target))); - target.setVelocity(vector); + Wizards.getArcadeManager().GetCondition().Factory().Falling("Gust", target, player, 40, false, true); + + target.setVelocity(vec); target.getWorld().playSound(target.getLocation(), Sound.BAT_TAKEOFF, 1, 0.7F); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellRainbowBeam.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellRainbowBeam.java index 4be60e6c1..ef51b077a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellRainbowBeam.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/spells/SpellRainbowBeam.java @@ -35,7 +35,7 @@ public class SpellRainbowBeam extends Spell implements SpellClick p.getEyeLocation().getDirection().normalize() .multiply(0.3 + p.getEyeLocation().distance(((LivingEntity) entityTarget).getEyeLocation()))); - double damage = (getSpellLevel(p) * 2) + 4; + double damage = (getSpellLevel(p) * 2) + 2; double dist = loc.distance(p.getLocation()) - (80 * .2D); // If target is more than 20% away