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
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",

View File

@ -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)

View File

@ -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<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())
{
@ -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);
}

View File

@ -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