snwo fight changes
This commit is contained in:
parent
6f16eeead7
commit
b2a595b01b
@ -201,28 +201,30 @@ public class SnowFight extends TeamGame
|
||||
return;
|
||||
|
||||
// Item
|
||||
//
|
||||
// if (!_tiles.containsKey(player))
|
||||
// {
|
||||
// _tiles.put(player, 0);
|
||||
// }
|
||||
//
|
||||
// if (GetKit(player) instanceof KitSportsman)
|
||||
// UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||
//
|
||||
//
|
||||
// int tiles = _tiles.get(player);
|
||||
// _tiles.put(player, tiles + 1);
|
||||
//
|
||||
// if (!(GetKit(player) instanceof KitSportsman))
|
||||
// {
|
||||
// if (_tiles.get(player) == 2)
|
||||
// {
|
||||
// UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||
// _tiles.put(player, 0);
|
||||
// }
|
||||
// }
|
||||
|
||||
if (!_tiles.containsKey(player))
|
||||
{
|
||||
_tiles.put(player, 0);
|
||||
}
|
||||
|
||||
if (GetKit(player) instanceof KitSportsman)
|
||||
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||
|
||||
|
||||
int tiles = _tiles.get(player);
|
||||
_tiles.put(player, tiles + 1);
|
||||
|
||||
if (!(GetKit(player) instanceof KitSportsman))
|
||||
{
|
||||
if (_tiles.get(player) == 2)
|
||||
{
|
||||
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||
_tiles.put(player, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Snow Height
|
||||
SnowDecrease(event.getBlock(), 1);
|
||||
|
||||
@ -606,16 +608,19 @@ public class SnowFight extends TeamGame
|
||||
|
||||
long time = 1000 * 195 - (System.currentTimeMillis() - this.GetStateTime());
|
||||
|
||||
if(IsLive())
|
||||
{
|
||||
if (time > 0)
|
||||
{
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Meteors");
|
||||
if(IsLive())
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Meteors in");
|
||||
Scoreboard.Write(UtilTime.MakeStr(time, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
Scoreboard.Write(C.cGold + C.Bold + "Meteors!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Scoreboard.Draw();
|
||||
}
|
||||
|
@ -1,30 +1,17 @@
|
||||
package nautilus.game.arcade.game.games.snowfight.kits;
|
||||
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
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.PerkPotionGenerator;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Egg;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.PotionSplashEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.potion.Potion;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.potion.PotionType;
|
||||
|
||||
public class KitMedic extends Kit
|
||||
@ -36,20 +23,12 @@ public class KitMedic extends Kit
|
||||
|
||||
new String[]
|
||||
{
|
||||
"To the rescue...!",
|
||||
" ",
|
||||
"Gets 1 Snowball every second tile.",
|
||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
||||
"Right-Click Snowballs to throw them.",
|
||||
" ",
|
||||
"Gets 1 Healing Potion every 32 seconds [max. 1]",
|
||||
"Slowness II when hit.",
|
||||
" ",
|
||||
"Supports all nearby allies with REGENERATION."
|
||||
"Throw warmth potions to heal allies!",
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkPotionGenerator("Warmth Potions", 30, 1, PotionType.INSTANT_HEAL, true, "Warmth Potion", false)
|
||||
},
|
||||
EntityType.SKELETON,
|
||||
new ItemStack(Material.POTION));
|
||||
@ -62,6 +41,8 @@ public class KitMedic extends Kit
|
||||
{
|
||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -72,69 +53,4 @@ public class KitMedic extends Kit
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Aura(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (!HasKit(player))
|
||||
continue;
|
||||
|
||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (other.equals(player))
|
||||
continue;
|
||||
|
||||
if (UtilMath.offset(player, other) > 4)
|
||||
continue;
|
||||
|
||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
||||
Manager.GetCondition().Factory().Regen("Aura", other, player, 1.9, 0, false, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void KitItems(UpdateEvent event)
|
||||
{
|
||||
if(!Manager.GetGame().IsLive())
|
||||
return;
|
||||
|
||||
if (event.getType() == UpdateType.SLOWEST)
|
||||
{
|
||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (!HasKit(player))
|
||||
continue;
|
||||
|
||||
Potion potion = new Potion(PotionType.INSTANT_HEAL);
|
||||
potion.setSplash(true);
|
||||
player.getInventory().setItem(1, potion.toItemStack(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Splash(PotionSplashEvent event)
|
||||
{
|
||||
if(event.getEntity().getShooter() instanceof Player)
|
||||
{
|
||||
if(!HasKit((Player) event.getEntity().getShooter()))
|
||||
return;
|
||||
|
||||
for(Entity entity : event.getAffectedEntities())
|
||||
{
|
||||
if(entity instanceof Player)
|
||||
{
|
||||
Manager.GetCondition().Factory().Slow("Heal Potion", (Player)entity, (Player)event.getEntity().getShooter(), 5.0, 1, false, false, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,6 +19,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.PerkFallDamage;
|
||||
|
||||
public class KitSportsman extends Kit
|
||||
@ -31,17 +32,13 @@ public class KitSportsman extends Kit
|
||||
new String[]
|
||||
{
|
||||
"Trained to be the fastest on snow and ice.",
|
||||
"",
|
||||
"Gets 1 Snowball every tile",
|
||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
||||
"Right-Click Snowballs to throw them.",
|
||||
"",
|
||||
"Supports all nearby allies with SPEED."
|
||||
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkFallDamage(3)
|
||||
new PerkDoubleJump("Snow Jump", 1, 0.8, true, 8000, true),
|
||||
new PerkFallDamage(2),
|
||||
},
|
||||
EntityType.SKELETON,
|
||||
new ItemStack(Material.SNOW_BALL));
|
||||
@ -53,6 +50,8 @@ public class KitSportsman extends Kit
|
||||
{
|
||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -63,30 +62,4 @@ public class KitSportsman extends Kit
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Aura(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (!HasKit(player))
|
||||
continue;
|
||||
|
||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (other.equals(player))
|
||||
continue;
|
||||
|
||||
if (UtilMath.offset(player, other) > 4)
|
||||
continue;
|
||||
|
||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
||||
Manager.GetCondition().Factory().Speed("Aura", other, player, 1.9, 0, false, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,27 +1,18 @@
|
||||
package nautilus.game.arcade.game.games.snowfight.kits;
|
||||
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
|
||||
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.PerkFallDamage;
|
||||
import nautilus.game.arcade.kit.perks.PerkConstructor;
|
||||
import nautilus.game.arcade.kit.perks.PerkIronSkin;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.potion.PotionType;
|
||||
|
||||
public class KitTactician extends Kit
|
||||
{
|
||||
@ -32,18 +23,11 @@ public class KitTactician extends Kit
|
||||
new String[]
|
||||
{
|
||||
"No Snowfight is complete without a tactical game!",
|
||||
" ",
|
||||
"Gets 1 Snowball every second tile.",
|
||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
||||
"Right-Click Snowballs to throw them.",
|
||||
" ",
|
||||
"Gets 1 Barrier every 32 seconds [max. 2]",
|
||||
"Place Barriers to improve your defense.",
|
||||
"You cant place Barriers above Ice, Packed Ice or Fences.",
|
||||
" ",
|
||||
"Supports all nearby allies with RESISTANCE."
|
||||
|
||||
}, new Perk[]
|
||||
{
|
||||
new PerkConstructor("Barrier", 30, 1, Material.FENCE, "Warmth Potion", false),
|
||||
new PerkIronSkin(0.25)
|
||||
},
|
||||
EntityType.SKELETON,
|
||||
new ItemStack(Material.FENCE));
|
||||
@ -55,6 +39,8 @@ public class KitTactician extends Kit
|
||||
{
|
||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||
player.getInventory().setItem(7, ItemStackFactory.Instance.CreateStack(Material.COMPASS.getId(), (byte) 0, 1, "§a§lTracking Compass"));
|
||||
}
|
||||
|
||||
@ -66,53 +52,4 @@ public class KitTactician extends Kit
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Aura(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (!HasKit(player))
|
||||
continue;
|
||||
|
||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (other.equals(player))
|
||||
continue;
|
||||
|
||||
if (UtilMath.offset(player, other) > 4)
|
||||
continue;
|
||||
|
||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
||||
Manager.GetCondition().Factory().Protection("Aura", other, player, 1.9, 0, false, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void KitItems(UpdateEvent event)
|
||||
{
|
||||
if(!Manager.GetGame().IsLive())
|
||||
return;
|
||||
|
||||
if (event.getType() == UpdateType.SLOWEST)
|
||||
{
|
||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
{
|
||||
if (!HasKit(player))
|
||||
continue;
|
||||
|
||||
int amount = 0;
|
||||
if (player.getInventory().getItem(1) != null && UtilInv.contains(player, Material.FENCE, (byte) 0, 1))
|
||||
amount = 2;
|
||||
else
|
||||
amount = 1;
|
||||
player.getInventory().setItem(1, ItemStackFactory.Instance.CreateStack(Material.FENCE, (byte) 0, amount, "Barrier"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,84 @@
|
||||
package nautilus.game.arcade.kit.perks;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.event.PerkConstructorEvent;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.potion.Potion;
|
||||
import org.bukkit.potion.PotionType;
|
||||
|
||||
public class PerkPotionGenerator extends Perk
|
||||
{
|
||||
private int _max = 0;
|
||||
private double _time = 0;
|
||||
|
||||
private PotionType _type;
|
||||
private boolean _splash;
|
||||
private String _name;
|
||||
|
||||
public PerkPotionGenerator(String perkName, double time, int max, PotionType type, boolean splash, String name, boolean visible)
|
||||
{
|
||||
super(perkName, new String[]
|
||||
{
|
||||
C.cGray + "Receive 1 " + name + " every " + time + " seconds. Maximum of " + max + ".",
|
||||
}, visible);
|
||||
|
||||
_time = time;
|
||||
_splash = splash;
|
||||
|
||||
_name = name;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Construct(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
for (Player cur : UtilServer.getPlayers())
|
||||
{
|
||||
if (!Kit.HasKit(cur))
|
||||
continue;
|
||||
|
||||
if (!Manager.GetGame().IsAlive(cur))
|
||||
continue;
|
||||
|
||||
if (Manager.isSpectator(cur))
|
||||
continue;
|
||||
|
||||
if (!Recharge.Instance.use(cur, GetName(), (long) (_time * 1000), false, false))
|
||||
continue;
|
||||
|
||||
Potion potion = new Potion(_type);
|
||||
potion.setSplash(_splash);
|
||||
ItemStack stack = potion.toItemStack(1);
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
meta.setDisplayName(_name);
|
||||
|
||||
if (UtilInv.contains(cur, stack.getType(), (byte)0, _max))
|
||||
continue;
|
||||
|
||||
PerkConstructorEvent cE = new PerkConstructorEvent(cur);
|
||||
Bukkit.getServer().getPluginManager().callEvent(cE);
|
||||
|
||||
if (cE.isCancelled())
|
||||
continue;
|
||||
|
||||
//Add
|
||||
cur.getInventory().addItem(stack);
|
||||
|
||||
cur.playSound(cur.getLocation(), Sound.ITEM_PICKUP, 2f, 1f);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user