Wizards: Nerf rainbow beam damage, rebalance gust spell, raise armor effectiveness

This commit is contained in:
libraryaddict 2015-05-08 18:57:33 +12:00
parent 29c4a033a7
commit 689ca94c57
4 changed files with 34 additions and 19 deletions

View File

@ -105,13 +105,15 @@ public enum SpellType // ❤
0, // Cooldown change per level 0, // Cooldown change per level
5, // Item amount in loot 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%", 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 Heal(SpellElement.SUPPORT, // Spell element
WandElement.LIFE, // Wand element WandElement.LIFE, // Wand element
@ -280,7 +282,7 @@ public enum SpellType // ❤
1, // Cooldown change per level 1, // Cooldown change per level
10, // Item amount in loot 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", C.cYellow + C.Bold + "Range: " + C.Bold + C.cWhite + "80",

View File

@ -20,7 +20,6 @@ import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilInv; import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilParticle; 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.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist; import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.common.util.UtilPlayer; 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.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemHeldEvent; import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.AnvilInventory; import org.bukkit.inventory.AnvilInventory;
@ -355,19 +353,19 @@ public class Wizards extends SoloGame
if (name.contains("LEATHER")) if (name.contains("LEATHER"))
{ {
percent = 8; percent = 10;
} }
else if (name.contains("GOLDEN") || name.contains("CHAINMAIL")) else if (name.contains("GOLDEN") || name.contains("CHAINMAIL"))
{ {
percent = 12; percent = 15;
} }
else if (name.contains("IRON")) else if (name.contains("IRON"))
{ {
percent = 15; percent = 19;
} }
else if (name.contains("DIAMOND")) else if (name.contains("DIAMOND"))
{ {
percent = 20; percent = 25;
} }
if (name.contains("BOOTS")) if (name.contains("BOOTS"))
@ -752,12 +750,9 @@ public class Wizards extends SoloGame
progressBar += ""; progressBar += "";
} }
// Send to Player UtilTextBottom.display((prefix == null ? "" : prefix + ChatColor.RESET + " ") + progressBar
for (Player player : players) + (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) public void drawUtilTextBottom(Player player)

View File

@ -1,6 +1,8 @@
package nautilus.game.arcade.game.games.wizards.spells; package nautilus.game.arcade.game.games.wizards.spells;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import mineplex.core.common.util.UtilPlayer; import mineplex.core.common.util.UtilPlayer;
import nautilus.game.arcade.game.games.wizards.Spell; 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) final Vector vector = player.getLocation().getDirection().setY(0).normalize().multiply(1.5).setY(0.3)
.multiply(1.2 + (getSpellLevel(player) * 0.4D)); .multiply(1.2 + (getSpellLevel(player) * 0.4D));
final HashMap<Player, Double> effected = UtilPlayer.getPlayersInPyramid(player, 45, 10 * getSpellLevel(player)); final double gustSize = (getSpellLevel(player) * 3) + 10;
final HashMap<Player, Double> effected = UtilPlayer.getPlayersInPyramid(player, 45, gustSize);
Iterator<Entry<Player, Double>> itel = effected.entrySet().iterator();
while (itel.hasNext())
{
Entry<Player, Double> entry = itel.next();
if (!entry.getKey().canSee(player))
{
itel.remove();
}
}
if (!effected.isEmpty()) if (!effected.isEmpty())
{ {
@ -37,9 +53,11 @@ public class SpellGust extends Spell implements SpellClick
continue; 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); target.getWorld().playSound(target.getLocation(), Sound.BAT_TAKEOFF, 1, 0.7F);
} }

View File

@ -35,7 +35,7 @@ public class SpellRainbowBeam extends Spell implements SpellClick
p.getEyeLocation().getDirection().normalize() p.getEyeLocation().getDirection().normalize()
.multiply(0.3 + p.getEyeLocation().distance(((LivingEntity) entityTarget).getEyeLocation()))); .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); double dist = loc.distance(p.getLocation()) - (80 * .2D);
// If target is more than 20% away // If target is more than 20% away