Some more wither updates
This commit is contained in:
parent
0d78433bd2
commit
f1ba5947a4
@ -279,7 +279,7 @@ public enum Achievement
|
||||
|
||||
SUPER_PAINTBALL_SPEEDRUNNER("Speedrunner", 1000,
|
||||
new String[]{"Super Paintball.Speedrunner"},
|
||||
new String[]{"Win a game in 20 seconds"},
|
||||
new String[]{"Win a game in 30 seconds"},
|
||||
new int[]{1},
|
||||
AchievementCategory.SUPER_PAINTBALL),
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
package mineplex.core.gadget.gadgets;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.Effect;
|
||||
@ -34,7 +34,7 @@ import mineplex.core.updater.event.UpdateEvent;
|
||||
|
||||
public class ItemMelonLauncher extends ItemGadget implements IThrown
|
||||
{
|
||||
private HashSet<Item> _melon = new HashSet<Item>();
|
||||
private ArrayList<Item> _melon = new ArrayList<Item>();
|
||||
|
||||
public ItemMelonLauncher(GadgetManager manager)
|
||||
{
|
||||
@ -145,5 +145,11 @@ public class ItemMelonLauncher extends ItemGadget implements IThrown
|
||||
melon.remove();
|
||||
}
|
||||
}
|
||||
|
||||
while (_melon.size() > 60)
|
||||
{
|
||||
Item item = _melon.remove(0);
|
||||
item.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public class CripplingBlow extends Skill
|
||||
|
||||
SetDesc(new String[]
|
||||
{
|
||||
"Your powerflow axe blows give",
|
||||
"Your powerful axe attacks give",
|
||||
"targets Slow 1 for 1.5 second,",
|
||||
"as well as no knockback."
|
||||
});
|
||||
|
@ -126,7 +126,7 @@ public class Paintball extends TeamGame
|
||||
new KillFastStatTracker(this, 4, 5, "KillingSpree"),
|
||||
new WinWithoutLosingTeammateStatTracker(this, "FlawlessVictory"),
|
||||
new MedicStatTracker(this),
|
||||
new WinFastStatTracker(this, 20, "Speedrunner"),
|
||||
new WinFastStatTracker(this, 30, "Speedrunner"),
|
||||
new LastStandStatTracker(this)
|
||||
);
|
||||
}
|
||||
|
@ -81,8 +81,10 @@ public class WitherGame extends TeamGame implements IBlockRestorer
|
||||
new Kit[]
|
||||
{
|
||||
new KitHumanArcher(manager),
|
||||
new KitHumanBuilder(manager),
|
||||
new KitHumanRunner(manager),
|
||||
//new KitHumanBuilder(manager),
|
||||
//new KitHumanRunner(manager),
|
||||
new NullKit(manager),
|
||||
new NullKit(manager),
|
||||
new NullKit(manager),
|
||||
new KitWitherMinion(manager),
|
||||
//new KitWitherWeb(manager),
|
||||
@ -379,13 +381,13 @@ public class WitherGame extends TeamGame implements IBlockRestorer
|
||||
ArrayList<Location> collisions = new ArrayList<Location>();
|
||||
|
||||
//Fly Speed
|
||||
double speed = 0.06 - (_yLimit - player.getLocation().getY()) * 0.0075;
|
||||
double speed = 0.09 - (_yLimit - player.getLocation().getY()) * 0.006;
|
||||
|
||||
if (speed > 0.16)
|
||||
speed = 0.16;
|
||||
|
||||
if (speed < 0.015)
|
||||
speed = 0.015;
|
||||
if (speed < 0.016)
|
||||
speed = 0.016;
|
||||
|
||||
player.setFlySpeed((float)speed);
|
||||
|
||||
@ -505,6 +507,17 @@ public class WitherGame extends TeamGame implements IBlockRestorer
|
||||
event.GetDamageePlayer().playEffect(EntityEffect.HURT);
|
||||
|
||||
playerOut(event.GetDamageePlayer());
|
||||
|
||||
if (event.GetDamagerPlayer(true) != null)
|
||||
{
|
||||
AddGems(event.GetDamagerPlayer(true), 2, "Humans Stunned", true);
|
||||
|
||||
Bukkit.broadcastMessage(C.cBlue + "Death> " + C.cGreen + event.GetDamageePlayer().getName() + C.cGray + " was killed by " + C.cRed + event.GetDamagerPlayer(true).getName() + C.cGray + ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
Bukkit.broadcastMessage(C.cBlue + "Death> " + C.cGreen + event.GetDamageePlayer().getName() + C.cGray + " was killed.");
|
||||
}
|
||||
}
|
||||
|
||||
public void playerOut(Player player)
|
||||
@ -512,6 +525,8 @@ public class WitherGame extends TeamGame implements IBlockRestorer
|
||||
//State
|
||||
SetPlayerState(player, PlayerState.OUT);
|
||||
player.setHealth(20);
|
||||
|
||||
player.setFlySpeed(0.1f);
|
||||
|
||||
//Conditions
|
||||
Manager.GetCondition().Factory().Blind("Hit", player, player, 1.5, 0, false, false, false);
|
||||
|
@ -15,6 +15,7 @@ import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.PerkDoubleJump;
|
||||
import nautilus.game.arcade.kit.perks.PerkFletcher;
|
||||
import nautilus.game.arcade.kit.perks.PerkRopedArrow;
|
||||
import nautilus.game.arcade.kit.perks.PerkWitherArrowBlind;
|
||||
@ -32,7 +33,7 @@ public class KitHumanArcher extends Kit
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkRopedArrow("Roped Arrow", 1, 4000),
|
||||
new PerkDoubleJump("Double Jump", 1, 0.8, true, 4000, true),
|
||||
new PerkWitherArrowBlind(6),
|
||||
new PerkFletcher(4, 4, true),
|
||||
|
||||
@ -48,7 +49,7 @@ public class KitHumanArcher extends Kit
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_SWORD));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||
|
||||
ItemStack potion = new ItemStack(Material.POTION, 3, (short)16429); // 16422
|
||||
ItemStack potion = new ItemStack(Material.POTION, 2, (short)16429); // 16422
|
||||
PotionMeta potionMeta = (PotionMeta)potion.getItemMeta();
|
||||
potionMeta.setDisplayName(ChatColor.RESET + "Revival Potion");
|
||||
potion.setItemMeta(potionMeta);
|
||||
|
@ -16,6 +16,7 @@ import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.PerkBlockRestorer;
|
||||
import nautilus.game.arcade.kit.perks.PerkDoubleJump;
|
||||
import nautilus.game.arcade.kit.perks.PerkIronShell;
|
||||
|
||||
public class KitHumanBuilder extends Kit
|
||||
@ -31,6 +32,7 @@ public class KitHumanBuilder extends Kit
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkDoubleJump("Double Jump", 1, 0.8, true, 6000, true),
|
||||
new PerkIronShell(),
|
||||
new PerkBlockRestorer()
|
||||
},
|
||||
@ -45,7 +47,7 @@ public class KitHumanBuilder extends Kit
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_AXE));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_SPADE));
|
||||
|
||||
ItemStack potion = new ItemStack(Material.POTION, 3, (short)16429); // 16422
|
||||
ItemStack potion = new ItemStack(Material.POTION, 2, (short)16429); // 16422
|
||||
PotionMeta potionMeta = (PotionMeta)potion.getItemMeta();
|
||||
potionMeta.setDisplayName(ChatColor.RESET + "Revival Potion");
|
||||
potion.setItemMeta(potionMeta);
|
||||
|
@ -44,7 +44,7 @@ public class KitHumanRunner extends Kit
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_AXE));
|
||||
|
||||
ItemStack potion = new ItemStack(Material.POTION, 3, (short)16429); // 16422
|
||||
ItemStack potion = new ItemStack(Material.POTION, 2, (short)16429); // 16422
|
||||
PotionMeta potionMeta = (PotionMeta)potion.getItemMeta();
|
||||
potionMeta.setDisplayName(ChatColor.RESET + "Revival Potion");
|
||||
potion.setItemMeta(potionMeta);
|
||||
|
@ -99,18 +99,18 @@ public class PerkWitherArrowBlind extends Perk
|
||||
if (UtilMath.offset(player.getLocation().add(0, 3, 0), arrow.getLocation()) < _proximityHit)
|
||||
{
|
||||
Manager.GetCondition().Factory().Blind(GetName(), player, null, 4, 0, false, false, false);
|
||||
|
||||
UtilParticle.PlayParticle(ParticleType.HUGE_EXPLOSION, arrow.getLocation(), 0, 0, 0, 0, 1);
|
||||
|
||||
arrowIterator.remove();
|
||||
arrow.remove();
|
||||
hit = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (hit)
|
||||
{
|
||||
UtilParticle.PlayParticle(ParticleType.HUGE_EXPLOSION, arrow.getLocation(), 0, 0, 0, 0, 1);
|
||||
arrowIterator.remove();
|
||||
arrow.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Dead
|
||||
|
@ -47,7 +47,7 @@ public class PerkWitherArrows extends Perk
|
||||
{
|
||||
player.setExp((float) Math.max(0, player.getExp()-(1f/20f)));
|
||||
|
||||
for (int i=0 ; i<1 ; i++)
|
||||
for (int i=0 ; i<2 ; i++)
|
||||
{
|
||||
Arrow arrow = player.getWorld().spawnArrow(
|
||||
player.getEyeLocation().add(player.getLocation().getDirection()),
|
||||
|
@ -137,7 +137,7 @@ public class PerkWitherAttack extends Perk
|
||||
double scale = 0.4 + 0.6 * Math.min(1, skull.getTicksLived()/20d);
|
||||
|
||||
//Players
|
||||
HashMap<Player, Double> players = UtilPlayer.getInRadius(skull.getLocation(), 6);
|
||||
HashMap<Player, Double> players = UtilPlayer.getInRadius(skull.getLocation(), 7);
|
||||
for (Player player : players.keySet())
|
||||
{
|
||||
if (!Manager.GetGame().IsAlive(player))
|
||||
@ -145,7 +145,7 @@ public class PerkWitherAttack extends Perk
|
||||
|
||||
//Damage Event
|
||||
Manager.GetDamage().NewDamageEvent(player, (LivingEntity)skull.getShooter(), null,
|
||||
DamageCause.CUSTOM, 10 * players.get(player) * scale, true, true, false,
|
||||
DamageCause.CUSTOM, 2 + 10 * players.get(player) * scale, true, true, false,
|
||||
UtilEnt.getName((LivingEntity)skull.getShooter()), GetName());
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ public class GameGemManager implements Listener
|
||||
if (event.GetState() != PlayerState.OUT)
|
||||
return;
|
||||
|
||||
if (event.GetGame().GetType() == GameType.Paintball || event.GetGame().GetType() == GameType.MineStrike)
|
||||
if (event.GetGame().GetType() == GameType.WitherAssault || event.GetGame().GetType() == GameType.Paintball || event.GetGame().GetType() == GameType.MineStrike)
|
||||
return;
|
||||
|
||||
RewardGems(event.GetGame(), event.GetPlayer(), false);
|
||||
|
@ -58,9 +58,12 @@ public class GameLootManager implements Listener
|
||||
false);
|
||||
|
||||
//Chest
|
||||
_rewardManager.addReward(new InventoryReward(_rewardManager, Manager.getInventoryManager(), "Treasure Chest", "Treasure Chest", 1, 2,
|
||||
_rewardManager.addReward(new InventoryReward(_rewardManager, Manager.getInventoryManager(), "Treasure Chest", "Treasure Chest", 1, 1,
|
||||
new ItemStack(Material.CHEST), RewardRarity.COMMON, 4));
|
||||
|
||||
|
||||
_rewardManager.addReward(new InventoryReward(_rewardManager, Manager.getInventoryManager(), "Treasure Chest", "Treasure Chest", 1, 2,
|
||||
new ItemStack(Material.CHEST), RewardRarity.COMMON, 1));
|
||||
|
||||
//Key
|
||||
_rewardManager.addReward(new InventoryReward(_rewardManager, Manager.getInventoryManager(), "Treasure Key", "Treasure Key", 1, 1,
|
||||
new ItemStack(Material.DIAMOND), RewardRarity.UNCOMMON, 1000));
|
||||
|
Loading…
Reference in New Issue
Block a user