smash balance

This commit is contained in:
Cheese 2015-09-14 12:34:55 +10:00
parent 1417d31b73
commit d9142ac33f
39 changed files with 240 additions and 82 deletions

View File

@ -434,10 +434,23 @@ public class UtilEnt
LivingEntity ent = (LivingEntity)cur;
//Feet
double offset = UtilMath.offset(loc, ent.getLocation());
if (offset < dR)
{
ents.put(ent, 1 - (offset/dR));
continue;
}
//Eyes
offset = UtilMath.offset(loc, ent.getEyeLocation());
if (offset < dR)
{
ents.put(ent, 1 - (offset/dR));
continue;
}
}
return ents;

View File

@ -36,7 +36,7 @@ public class StaticLazer extends SkillChargeSword
{
super(skills, name, classType, skillType, cost, maxLevel,
0.012f, 0.004f,
12000, -1000, true, true,
16000, -1000, true, true,
false, true);
SetDesc(new String[]
@ -48,24 +48,25 @@ public class StaticLazer extends SkillChargeSword
"Taking damage cancels charge.",
"",
"Deals #6#1 damage and travels up to",
"#20#10 blocks.",
"#20#10 blocks, but loses 1 damage",
"per 20 blocks travelled.",
});
_fireOnFull = false;
_energyPerCharge = 1.2f;
_energyPerCharge = 2.4f;
setAchievementSkill(true);
}
@Override
public String GetRechargeString()
{
return "Recharge: " + "#12#-1 Seconds";
return "Recharge: " + "#16#-1 Seconds";
}
@Override
public String GetEnergyString()
{
return "Energy: " + "24 per Second";
return "Energy: " + "48 per Second";
}
@Override
@ -82,7 +83,7 @@ public class StaticLazer extends SkillChargeSword
Location newTarget = player.getEyeLocation().add(player.getLocation().getDirection().multiply(curRange));
//Hit Player
HashMap<LivingEntity, Double> hits = UtilEnt.getInRadius(newTarget, 2);
HashMap<LivingEntity, Double> hits = UtilEnt.getInRadius(newTarget, 1.25);
hits.remove(player);
if (!hits.isEmpty())
break;
@ -116,7 +117,7 @@ public class StaticLazer extends SkillChargeSword
//Damage Event
Factory.Damage().NewDamageEvent(other, player, null,
DamageCause.CUSTOM, 6 + level * charge, true, true, false,
DamageCause.CUSTOM, 2 + ((4 + level) * charge) - (curRange * 0.05), true, true, false,
player.getName(), GetName());
}

View File

@ -42,9 +42,9 @@ public class Fire extends MiniPlugin
_damageManager = damageManager;
}
public void Add(Item item, LivingEntity owner, double expireTime, double delayTime, double burnTime, double d, String skillName)
public void Add(Item item, LivingEntity owner, double expireTime, double delayTime, double burnTime, double damage, String skillName)
{
_fire.put(item, new FireData(owner, expireTime, delayTime, burnTime, d, skillName));
_fire.put(item, new FireData(owner, expireTime, delayTime, burnTime, damage, skillName));
item.setPickupDelay(0);
}

View File

@ -33,7 +33,7 @@ public class KitChicken extends SmashKit
new Perk[]
{
new PerkSmashStats(4, 2.0, 0.1, 1.5),
new PerkSmashStats(4, 2.0, 0.15, 2),
new PerkFlap(0.8, 0.8, false),
new PerkEggGun(),
new PerkChickenRocket()
@ -89,7 +89,7 @@ public class KitChicken extends SmashKit
ChatColor.RESET + "while also gaining permanant flight.",
}));
player.getInventory().setChestplate(ItemStackFactory.Instance.CreateStack(Material.LEATHER_CHESTPLATE));
player.getInventory().setChestplate(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_CHESTPLATE));
}
@Override

View File

@ -21,6 +21,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.game.Game.GameState;
import nautilus.game.arcade.game.games.smash.perks.PerkEndermanTeleport;
import nautilus.game.arcade.kit.KitAvailability;
import nautilus.game.arcade.kit.Perk;
import nautilus.game.arcade.kit.SmashKit;
@ -50,6 +51,7 @@ public class KitEnderman extends SmashKit
new PerkDoubleJump("Double Jump", 0.9, 0.9, false),
new PerkBlink("Blink", 16, 6000),
new PerkBlockToss(),
new PerkEndermanTeleport(),
new PerkEndermanDragon()
},
EntityType.ENDERMAN,

View File

@ -30,7 +30,7 @@ public class KitGolem extends SmashKit
new Perk[]
{
new PerkSmashStats(7, 1.0, 0.25, 8),
new PerkSmashStats(7, 1.0, 0.2, 8),
new PerkDoubleJump("Double Jump", 0.9, 0.9, false),
new PerkSlow(0),
new PerkFissure(),

View File

@ -30,7 +30,7 @@ public class KitMagmaCube extends SmashKit
new Perk[]
{
new PerkSmashStats(5, 1.75, 0.4, 5),
new PerkSmashStats(5, 1.75, 0.35, 5),
new PerkDoubleJump("Double Jump", 1.2, 1, false),
new PerkMagmaBoost(),
new PerkMagmaBlast(),

View File

@ -37,7 +37,7 @@ public class KitPig extends SmashKit
new Perk[]
{
new PerkSmashStats(5, 1.7, 0.25, 5),
new PerkSmashStats(5, 1.5, 0.25, 5),
new PerkDoubleJump("Double Jump", 0.9, 0.9, false),
new PerkPigBaconBounce(),
new PerkPigBaconBomb(),

View File

@ -36,7 +36,7 @@ public class KitSkeletalHorse extends SmashKit
new Perk[]
{
new PerkSmashStats(6, 1.4, 0.35, 6),
new PerkSmashStats(6, 1.4, 0.3, 6),
new PerkDoubleJump("Double Jump", 1, 1, false),
new PerkHorseKick(),
new PerkBoneRush(),
@ -45,7 +45,7 @@ public class KitSkeletalHorse extends SmashKit
},
EntityType.HORSE,
new ItemStack(Material.BONE),
"Bone Storm", 24000, Sound.HORSE_SKELETON_DEATH);
"Bone Storm", 20000, Sound.HORSE_SKELETON_DEATH);
}
@Override

View File

@ -37,10 +37,10 @@ public class KitSkeleton extends SmashKit
new Perk[]
{
new PerkSmashStats(5, 1.25, 0.20, 6),
new PerkSmashStats(5, 1.25, 0.15, 6),
new PerkDoubleJump("Double Jump", 0.9, 0.9, false),
new PerkFletcher(2, 4, false),
new PerkKnockbackArrow(1.75),
new PerkFletcher(3, 3, false),
new PerkKnockbackArrow(1.5),
new PerkBoneExplosion(),
new PerkRopedArrow("Roped Arrow", 1, 5000),
new PerkBarrage(5, 300, true, false, true),

View File

@ -46,7 +46,7 @@ public class KitSlime extends SmashKit
new Perk[]
{
new PerkSmashStats(6, 1.75, 0.35, 3),
new PerkSmashStats(6, 1.75, 0.5, 3),
new PerkDoubleJump("Double Jump", 1.2, 1, false),
new PerkSlimeSlam(),
new PerkSlimeRocket(),
@ -142,7 +142,7 @@ public class KitSlime extends SmashKit
player.setExp(0.99f);
Manager.GetCondition().Factory().Speed("Giga Slime", player, player, 20, 1, false, false, false);
Manager.GetCondition().Factory().Speed("Giga Slime", player, player, 20, 2, false, false, false);
}
@Override

View File

@ -92,8 +92,8 @@ public class KitSnowman extends SmashKit
new String[]
{
ChatColor.RESET + "Creates a field of snow around you",
ChatColor.RESET + "granting 150% damage to opponents",
ChatColor.RESET + "who are standing on it.",
ChatColor.RESET + "granting +1 damage and 60% knockback",
ChatColor.RESET + "to opponents standing on it.",
ChatColor.RESET + "",
ChatColor.RESET + "Your aura shrinks on low energy.",
}));

View File

@ -34,7 +34,7 @@ public class KitSpider extends SmashKit
new Perk[]
{
new PerkSmashStats(7, 1.5, 0.3, 6),
new PerkSmashStats(6, 1.5, 0.25, 6),
new PerkSpiderLeap(),
new PerkNeedler(),
new PerkWebShot(),

View File

@ -34,7 +34,7 @@ public class KitWolf extends SmashKit
new Perk[]
{
new PerkSmashStats(5, 1.6, 0.3, 4.5),
new PerkSmashStats(5, 1.6, 0.25, 4.5),
new PerkDoubleJump("Wolf Jump", 1.0, 1.0, true),
new PerkWolf(),
},

View File

@ -37,7 +37,7 @@ public class KitZombie extends SmashKit
new Perk[]
{
new PerkSmashStats(6, 1.25, 0.3, 4.5),
new PerkSmashStats(6, 1.25, 0.25, 5),
new PerkDoubleJump("Double Jump", 0.9, 0.9, false),
new PerkFletcher(2, 2, false),
new PerkKnockbackArrow(1.5),
@ -66,7 +66,7 @@ public class KitZombie extends SmashKit
}));
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW, (byte)0, 1,
C.cYellow + C.Bold + "Right-Click" + C.cWhite + C.Bold + " - " + C.cGreen + C.Bold + "Deaths Grasp",
C.cYellow + C.Bold + "Left-Click" + C.cWhite + C.Bold + " - " + C.cGreen + C.Bold + "Deaths Grasp",
new String[]
{
ChatColor.RESET + "Leap forwards. If you collide with an ",
@ -99,6 +99,7 @@ public class KitZombie extends SmashKit
player.getInventory().setChestplate(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_CHESTPLATE));
player.getInventory().setLeggings(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_LEGGINGS));
player.getInventory().setBoots(ItemStackFactory.Instance.CreateStack(Material.CHAINMAIL_BOOTS));
}
@Override

View File

@ -0,0 +1,118 @@
package nautilus.game.arcade.game.games.smash.perks;
import java.util.HashMap;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerQuitEvent;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTextMiddle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.kit.SmashPerk;
public class PerkEndermanTeleport extends SmashPerk
{
private HashMap<Player, Block> _target = new HashMap<Player, Block>();
private HashMap<Player, Float> _charge = new HashMap<Player, Float>();
public PerkEndermanTeleport()
{
super("Teleport", new String[]
{
C.cYellow + "Hold Sneak" + C.cGray + " to " + C.cGreen + "Teleport"
});
}
@EventHandler
public void update(UpdateEvent event)
{
if (event.getType() != UpdateType.TICK)
return;
for (Player player : UtilServer.getPlayers())
{
if (!Kit.HasKit(player))
continue;
if (!player.isSneaking() || !Recharge.Instance.usable(player, GetName()))
{
_target.remove(player);
_charge.remove(player);
continue;
}
Block block = player.getTargetBlock(null, 200);
if (!_target.containsKey(player) || !_charge.containsKey(player))
{
if (block == null || block.getType() == Material.AIR)
continue;
_target.put(player, block);
_charge.put(player, 0f);
}
//Invalid Block - End
if (block == null || block.getType() == Material.AIR)
{
_target.remove(player);
_charge.remove(player);
}
//Same Block - Increase Charge
else if (block.equals(_target.get(player)))
{
_charge.put(player, _charge.get(player) + 0.015f);
UtilTextMiddle.display(null, UtilTextMiddle.progress(_charge.get(player)), 0, 10, 10, player);
if (_charge.get(player) >= 1f)
{
UtilTextMiddle.display(null, C.cGreen + "Teleported", 0, 10, 10, player);
Recharge.Instance.useForce(player, GetName(), 5000);
while (block.getRelative(BlockFace.UP).getType() != Material.AIR)
{
block = block.getRelative(BlockFace.UP);
}
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 1f, 0.5f);
player.teleport(block.getLocation().add(0.5, 1, 0.5));
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 1f, 0.5f);
UtilParticle.PlayParticle(ParticleType.WITCH_MAGIC, player.getLocation().add(0, 1, 0), 1f, 1f, 1f, 0.1f, 100, ViewDist.LONG, UtilServer.getPlayers());
}
else
{
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 1f, 1f + _charge.get(player));
UtilParticle.PlayParticle(ParticleType.WITCH_MAGIC, player.getLocation().add(0, 1, 0), 1f, 1f, 1f, 0.05f, 10, ViewDist.LONG, UtilServer.getPlayers());
}
}
//New Block - Reset
else
{
_target.put(player, block);
_charge.put(player, 0f);
}
}
}
@EventHandler
public void clean(PlayerQuitEvent event)
{
_target.remove(event.getPlayer());
_charge.remove(event.getPlayer());
}
}

View File

@ -47,17 +47,6 @@ public class PerkArcticAura extends Perk
//Snow
Manager.GetBlockRestore().Snow(block, (byte)1, (byte)1, (long)(duration * (1 + blocks.get(block))), 250, 0);
}
for (Player other : Manager.GetGame().GetPlayers(true))
{
if (other.equals(player))
continue;
if (UtilMath.offset(player, other) > range)
continue;
Manager.GetCondition().Factory().Slow("Aura Slow", other, player, 0.9, 0, false, false, false, false);
}
}
}
}

View File

@ -166,7 +166,7 @@ public class PerkBatForm extends SmashPerk
}
//Move
data.Location.add(data.Direction.clone().multiply(0.75));
data.Location.add(data.Direction.clone().multiply(1));
//Effect
UtilParticle.PlayParticle(ParticleType.LARGE_EXPLODE, data.Location, 0, 0, 0, 0, 1,
@ -186,6 +186,9 @@ public class PerkBatForm extends SmashPerk
HashMap<LivingEntity, Double> targets = UtilEnt.getInRadius(data.Location, 10);
for (LivingEntity cur : targets.keySet())
{
if (cur.equals(data.Shooter))
continue;
Manager.GetDamage().NewDamageEvent(cur, data.Shooter, null,
DamageCause.CUSTOM, 12 * targets.get(cur) + 0.5, true, false, false,
data.Shooter.getName(), GetName());

View File

@ -3,6 +3,7 @@ package nautilus.game.arcade.kit.perks;
import org.bukkit.Color;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
@ -104,7 +105,9 @@ public class PerkBlink extends SmashPerk
//Firework
UtilFirework.playFirework(player.getEyeLocation(), Type.BALL, Color.BLACK, false, false);
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 1f, 1f);
player.teleport(loc);
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 1f, 1f);
//Firework
UtilFirework.playFirework(player.getEyeLocation(), Type.BALL, Color.BLACK, false, false);

View File

@ -15,6 +15,7 @@ import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilEvent.ActionType;
import mineplex.core.projectile.IThrown;
import mineplex.core.projectile.ProjectileUser;
import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
@ -74,6 +75,9 @@ public class PerkBlockToss extends SmashPerk implements IThrown
if (UtilBlock.usable(grab))
return;
if (!Recharge.Instance.usable(player, GetName()))
return;
if (!UtilBlock.airFoliage(grab.getRelative(BlockFace.UP)) || Manager.GetBlockRestore().Contains(grab.getRelative(BlockFace.UP)))
{
@ -126,6 +130,9 @@ public class PerkBlockToss extends SmashPerk implements IThrown
for (Player cur : throwSet)
{
Recharge.Instance.recharge(cur, GetName());
Recharge.Instance.use(cur, GetName(), 2000, false, true);
BlockTossData data = _hold.remove(cur);
FallingBlock block = cur.getWorld().spawnFallingBlock(cur.getEyeLocation().add(cur.getLocation().getDirection()), data.Type, data.Data);

View File

@ -57,7 +57,7 @@ public class PerkBoneExplosion extends SmashPerk
if (!Recharge.Instance.use(player, GetName(), 10000, true, true))
return;
HashMap<Player, Double> nearby = UtilPlayer.getInRadius(player.getLocation(), 10);
HashMap<Player, Double> nearby = UtilPlayer.getInRadius(player.getLocation(), 7);
for (Player other : nearby.keySet())
{
if (player.equals(other))

View File

@ -55,6 +55,8 @@ public class PerkCreeperElectricity extends Perk
SetPowered(damagee, true);
Manager.GetCondition().Factory().Speed(GetName(), damagee, damagee, 4, 1, false, false, false);
//Sound
damagee.getWorld().playSound(damagee.getLocation(), Sound.CREEPER_HISS, 3f, 1.25f);

View File

@ -106,6 +106,6 @@ public class PerkDeadlyBones extends SmashPerk
if (event.GetReason() == null || !event.GetReason().contains(GetName()))
return;
event.AddKnockback(GetName(), 3);
event.AddKnockback(GetName(), 2.5);
}
}

View File

@ -44,7 +44,7 @@ public class PerkDeathsGrasp extends Perk
{
super("Deaths Grasp", new String[]
{
C.cYellow + "Right-Click" + C.cGray + " with Axe to use " + C.cGreen + "Deaths Grasp",
C.cYellow + "Left-Click" + C.cGray + " with Bow to use " + C.cGreen + "Deaths Grasp",
C.cGray + "+100% Arrow Damage to enemies thrown by Deaths Grasp"
});
}
@ -143,7 +143,7 @@ public class PerkDeathsGrasp extends Perk
DamageCause.CUSTOM, 6, false, true, false,
damager.getName(), GetName());
UtilAction.velocity(damagee, UtilAlg.getTrajectory(damagee, damager), 1.8, false, 0, 1, 1.8, true);
UtilAction.velocity(damagee, UtilAlg.getTrajectory2d(damagee, damager), 1.6, false, 0, 1.2, 1.8, true);
UtilAction.zeroVelocity(damager);
@ -156,6 +156,7 @@ public class PerkDeathsGrasp extends Perk
UtilPlayer.message(damagee, F.main("Game", F.name(damager.getName()) + " hit you with " + F.skill(GetName()) + "."));
Recharge.Instance.recharge(damager, GetName());
Recharge.Instance.use(damager, GetName(), 2000, true, true);
}
@EventHandler(priority = EventPriority.HIGH)

View File

@ -20,6 +20,10 @@ import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilTime;
import mineplex.core.recharge.Recharge;
@ -89,7 +93,7 @@ public class PerkFirefly extends SmashPerk
if (event.getType() != UpdateType.TICK)
return;
_tick = (_tick + 1)%3;
_tick = (_tick + 1)%1000;
Iterator<FireflyData> dataIterator = _data.iterator();
@ -106,26 +110,35 @@ public class PerkFirefly extends SmashPerk
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.2f, 0.6f);
data.Location = data.Player.getLocation();
if (_tick == 0)
{
//Firework
UtilFirework.playFirework(data.Player.getLocation().add(0, 0.6, 0), Type.BURST, Color.ORANGE, false, false);
}
//Sound and Effect
UtilParticle.PlayParticle(ParticleType.FIREWORKS_SPARK, data.Player.getLocation().add(0, 1, 0), 0.6f, 0.6f, 0.6f, 0, 10, ViewDist.LONG, UtilServer.getPlayers());
float progress = (float)(System.currentTimeMillis()-data.Time)/1500f;
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.BLAZE_BREATH, 0.5f, 1f + progress);
}
//Velocity
else if (!UtilTime.elapsed(data.Time, 2500) || superActive)
else if (!UtilTime.elapsed(data.Time, 2750) || superActive)
{
UtilAction.velocity(data.Player, data.Player.getLocation().getDirection().multiply(superActive ? 0.9 : 0.7).add(new Vector(0,0.15,0)));
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.6f, 1.2f);
if (_tick == 0)
//Sound and Effect
if (!isSuperActive(data.Player))
{
//Firework
UtilFirework.playFirework(data.Player.getLocation().add(0, 0.6, 0), isSuperActive(data.Player) ? Type.BALL : Type.BURST, Color.RED, false, superActive);
}
for (Player other : UtilPlayer.getNearby(data.Player.getLocation(), isSuperActive(data.Player) ? 6 : 4))
UtilParticle.PlayParticle(ParticleType.FLAME, data.Player.getLocation().add(0, 1, 0), 0.6f, 0.6f, 0.6f, 0, 40, ViewDist.LONG, UtilServer.getPlayers());
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.5f, 1.25f);
}
else
{
UtilParticle.PlayParticle(ParticleType.FLAME, data.Player.getLocation().add(0, 1, 0), 1f, 1f, 1f, 0, 60, ViewDist.LONG, UtilServer.getPlayers());
UtilParticle.PlayParticle(ParticleType.LAVA, data.Player.getLocation().add(0, 1, 0), 1f, 1f, 1f, 0, 40, ViewDist.LONG, UtilServer.getPlayers());
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.75f, 0.75f);
}
for (Player other : UtilPlayer.getNearby(data.Player.getLocation(), isSuperActive(data.Player) ? 7 : 4))
{
if (other.equals(data.Player))
continue;
@ -136,10 +149,9 @@ public class PerkFirefly extends SmashPerk
other.playEffect(EntityEffect.HURT);
if (_tick == 0)
if (!data.Targets.contains(other))
{
if (Recharge.Instance.use(other, GetName() + " hit by " + data.Player.getName(), 2000, false, false))
{
data.Targets.add(other);
//Damage Event
Manager.GetDamage().NewDamageEvent(other, data.Player, null,
DamageCause.CUSTOM, 10, true, true, false,
@ -147,6 +159,7 @@ public class PerkFirefly extends SmashPerk
UtilPlayer.message(other, F.main("Game", F.elem(Manager.GetColor(data.Player) + data.Player.getName()) + " hit you with " + F.elem(GetName()) + "."));
}
}
}
}
else

View File

@ -93,7 +93,7 @@ public class PerkFlap extends SmashPerk
if (UtilEnt.isGrounded(player) || UtilBlock.solid(player.getLocation().getBlock().getRelative(BlockFace.DOWN)))
{
player.setExp(0.999f);
player.setExp(Math.min(0.9999f, player.getExp() + 0.03f));
player.setAllowFlight(true);
}
else if (Recharge.Instance.usable(player, GetName()) && player.getExp() > 0)

View File

@ -60,8 +60,8 @@ public class PerkIcePath extends Perk
if (!Recharge.Instance.use(player, GetName(), 12000, true, true))
return;
UtilAction.zeroVelocity(player);
player.teleport(player.getLocation().add(0, 0.75, 0));
player.teleport(player.getLocation().add(0, 1, 0));
UtilAction.velocity(player, new Vector(0,0.5,0));
_data.add(new IcePathData(player));

View File

@ -46,7 +46,8 @@ public class PerkInferno extends SmashPerk
if (!Kit.HasKit(player))
continue;
player.setExp((float) Math.min(0.999, player.getExp()+0.015));
if (!player.isBlocking())
player.setExp((float) Math.min(0.999, player.getExp()+0.025));
}
}
@ -105,7 +106,7 @@ public class PerkInferno extends SmashPerk
//Fire
Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER));
Manager.GetFire().Add(fire, cur, 0.7, 0, 0.5, 1, "Inferno");
Manager.GetFire().Add(fire, cur, 0.7, 0, 0.5, 1.25, "Inferno");
fire.teleport(cur.getEyeLocation());
double x = 0.07 - (UtilMath.r(14)/100d);

View File

@ -18,7 +18,11 @@ import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.itemstack.ItemStackFactory;
import mineplex.core.projectile.IThrown;
import mineplex.core.projectile.ProjectileUser;
@ -71,7 +75,7 @@ public class PerkInkBlast extends SmashPerk implements IThrown
UtilInv.Update(player);
for (int i=0 ; i<7 ; i++)
for (int i=0 ; i<9 ; i++)
{
org.bukkit.entity.Item ent = player.getWorld().dropItem(player.getEyeLocation().add(player.getLocation().getDirection()), ItemStackFactory.Instance.CreateStack(Material.INK_SACK));
@ -110,8 +114,8 @@ public class PerkInkBlast extends SmashPerk implements IThrown
Manager.GetDamage().NewDamageEvent(target, data.GetThrower(), null,
DamageCause.PROJECTILE, 3, true, true, false,
UtilEnt.getName(data.GetThrower()), GetName());
Manager.GetCondition().Factory().Blind(GetName(), target, data.GetThrower(), 1.5, 0, false, false, false);
UtilParticle.PlayParticle(ParticleType.EXPLODE, target.getLocation().add(0, 1, 0), 1f, 1f, 1f, 0, 12, ViewDist.LONG, UtilServer.getPlayers());
}
@Override

View File

@ -151,7 +151,7 @@ public class PerkLazer extends Perk
if (other.equals(player))
continue;
if (UtilMath.offset(newTarget, other.getLocation().add(0, 1, 0)) < 3)
if (UtilMath.offset(newTarget, other.getLocation().add(0, 1, 0)) < 2.5)
{
hitPlayer = true;
break;
@ -189,7 +189,7 @@ public class PerkLazer extends Perk
continue;
//Do from center
if (UtilMath.offset(target, other.getLocation().add(0, 1, 0)) < 3.5)
if (UtilMath.offset(target, other.getLocation().add(0, 1, 0)) < 3)
{
//Damage Event
Manager.GetDamage().NewDamageEvent(other, player, null,

View File

@ -57,7 +57,7 @@ public class PerkNeedler extends SmashPerk
if (!Kit.HasKit(player))
return;
if (!Recharge.Instance.use(player, GetName(), isSuperActive(player) ? 600 : 1800, !isSuperActive(player), !isSuperActive(player)))
if (!Recharge.Instance.use(player, GetName(), isSuperActive(player) ? 600 : 2000, !isSuperActive(player), !isSuperActive(player)))
return;
_active.put(player, 8);

View File

@ -69,7 +69,7 @@ public class PerkPigBaconBomb extends SmashPerk
if (!Kit.HasKit(player))
return;
float energy = 0.40f;
float energy = 0.30f;
DisguiseBase disguise = Manager.GetDisguise().getDisguise(player);
if (disguise != null && disguise instanceof DisguisePigZombie)

View File

@ -89,7 +89,7 @@ public class PerkPigBaconBounce extends SmashPerk implements IThrown
player.setExp(Math.max(0f, player.getExp() - energy));
//Launch
Item ent = player.getWorld().dropItem(player.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.PORK));
Item ent = player.getWorld().dropItem(player.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.PORK, (byte) 0, 1, "Bacon"+System.currentTimeMillis()));
UtilAction.velocity(ent, player.getLocation().getDirection(), 1.2, false, 0, 0.2, 10, false);
Manager.GetProjectile().AddThrow(ent, player, this, -1, true, true, true, false, 0.4f);
ent.setPickupDelay(9999);

View File

@ -78,7 +78,7 @@ public class PerkSeismicSlam extends Perk
if (!Kit.HasKit(player))
return;
if (!Recharge.Instance.use(player, GetName(), 6000, true, true))
if (!Recharge.Instance.use(player, GetName(), 7000, true, true))
return;
//Action
@ -115,7 +115,7 @@ public class PerkSeismicSlam extends Perk
_live.remove(player);
//Action
int damage = 11;
int damage = 10;
double range = 8;
HashMap<LivingEntity, Double> targets = UtilEnt.getInRadius(player.getLocation(), range);

View File

@ -93,7 +93,7 @@ public class PerkStormSquid extends SmashPerk
//Damage Event
Manager.GetDamage().NewDamageEvent(cur, player, null,
DamageCause.CUSTOM, 20 * targets.get(cur), false, true, false,
DamageCause.CUSTOM, 16 * targets.get(cur), false, true, false,
player.getName(), GetName());
//Velocity

View File

@ -36,7 +36,8 @@ public class PerkWitherImage extends SmashPerk
{
super("Wither Image", new String[]
{
C.cYellow + "Right-Click" + C.cGray + " with Axe to " + C.cGreen + "Wither Image"
C.cYellow + "Right-Click" + C.cGray + " with Axe to " + C.cGreen + "Wither Image",
C.cYellow + "Double Right-Click" + C.cGray + " with Axe to " + C.cGreen + "Wither Swap"
});
}
@ -105,7 +106,7 @@ public class PerkWitherImage extends SmashPerk
}
else
{
if (!Recharge.Instance.use(player, "Wither Swap", 1000, true, false))
if (!Recharge.Instance.use(player, "Wither Swap", 2000, true, false))
return;
Skeleton skel = _images.get(player);

View File

@ -191,7 +191,7 @@ public class PerkWitherSkull extends SmashPerk
double scale = 0.4 + 0.6 * Math.min(1, skull.getTicksLived()/20d);
//Players
HashMap<Player, Double> players = UtilPlayer.getInRadius(skull.getLocation(), 7);
HashMap<Player, Double> players = UtilPlayer.getInRadius(skull.getLocation(), 6);
for (Player player : players.keySet())
{
if (!Manager.GetGame().IsAlive(player))
@ -199,7 +199,7 @@ public class PerkWitherSkull extends SmashPerk
//Damage Event
Manager.GetDamage().NewDamageEvent(player, (LivingEntity)skull.getShooter(), null,
DamageCause.CUSTOM, 2 + 10 * players.get(player) * scale, true, true, false,
DamageCause.CUSTOM, 12 * players.get(player) * scale, true, true, false,
UtilEnt.getName((LivingEntity)skull.getShooter()), GetName());
}
}

View File

@ -82,7 +82,7 @@ public class PerkWolf extends SmashPerk
if (!Kit.HasKit(player))
return;
if (!Recharge.Instance.use(player, "Cub Tackle", isSuperActive(player) ? 800 : 8000, !isSuperActive(player), !isSuperActive(player)))
if (!Recharge.Instance.use(player, "Cub Tackle", isSuperActive(player) ? 1600 : 8000, !isSuperActive(player), !isSuperActive(player)))
return;
//Get Nearest Wolf
@ -255,7 +255,7 @@ public class PerkWolf extends SmashPerk
if (!Kit.HasKit(player))
return;
if (!Recharge.Instance.use(player, "Wolf Strike", isSuperActive(player) ? 800 : 8000, !isSuperActive(player), !isSuperActive(player)))
if (!Recharge.Instance.use(player, "Wolf Strike", isSuperActive(player) ? 1600 : 8000, !isSuperActive(player), !isSuperActive(player)))
return;
//Velocity

View File

@ -9,7 +9,6 @@ public class FireflyData
public org.bukkit.entity.Player Player;
public org.bukkit.Location Location;
public long Time;
public HashSet<Entity> Targets = new HashSet<Entity>();
public FireflyData(org.bukkit.entity.Player player)
{