+{
+ public UltraCommand(SalesPackageManager plugin)
+ {
+ super(plugin, Rank.MODERATOR, "ultra");
+ }
+
+ @Override
+ public void Execute(Player caller, String[] args)
+ {
+ resetCommandCharge(caller);
+ PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(caller, "/sales rank " + args[0] + " ULTRA false");
+ Bukkit.getServer().getPluginManager().callEvent(event);
+
+ resetCommandCharge(caller);
+ event = new PlayerCommandPreprocessEvent(caller, "/sales coin " + args[0] + " 7500");
+ Bukkit.getServer().getPluginManager().callEvent(event);
+
+ resetCommandCharge(caller);
+ event = new PlayerCommandPreprocessEvent(caller, "/sales booster " + args[0] + " 30");
+ Bukkit.getServer().getPluginManager().callEvent(event);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/Coins.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/Coins.java
new file mode 100644
index 000000000..1091a16fd
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/Coins.java
@@ -0,0 +1,23 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public class Coins extends SalesPackageBase
+{
+ private int _amount;
+
+ public Coins(SalesPackageManager manager, int amount)
+ {
+ super(manager, amount + " Coins");
+
+ _amount = amount;
+ }
+ public void displayToAgent(Player agent, String playerName)
+ {
+ addButton(agent, "/sales coin " + playerName + " " + _amount, _amount + " Coins.");
+ agent.sendMessage(" ");
+ addBackButton(agent, playerName);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeHero.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeHero.java
new file mode 100644
index 000000000..610eb524b
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeHero.java
@@ -0,0 +1,20 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public class LifetimeHero extends SalesPackageBase
+{
+ public LifetimeHero(SalesPackageManager manager)
+ {
+ super(manager, "Lifetime Hero");
+ }
+
+ public void displayToAgent(Player agent, String playerName)
+ {
+ addButton(agent, "/sales rank " + playerName + " HERO true", " Lifetime Hero Rank.");
+ agent.sendMessage(" ");
+ addBackButton(agent, playerName);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeUltra.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeUltra.java
new file mode 100644
index 000000000..b00b44ca9
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/LifetimeUltra.java
@@ -0,0 +1,20 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public class LifetimeUltra extends SalesPackageBase
+{
+ public LifetimeUltra(SalesPackageManager manager)
+ {
+ super(manager, "Lifetime Ultra");
+ }
+
+ public void displayToAgent(Player agent, String playerName)
+ {
+ addButton(agent, "/sales rank " + playerName + " ULTRA true", " Lifetime Ultra Rank.");
+ agent.sendMessage(" ");
+ addBackButton(agent, playerName);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyHero.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyHero.java
new file mode 100644
index 000000000..66102b208
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyHero.java
@@ -0,0 +1,23 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public class MonthlyHero extends SalesPackageBase
+{
+ public MonthlyHero(SalesPackageManager manager)
+ {
+ super(manager, "Monthly Hero");
+ }
+
+ public void displayToAgent(Player agent, String playerName)
+ {
+ addButton(agent, "/sales coin " + playerName + " 15000", " 15,000 Coins");
+ addButton(agent, "/sales booster " + playerName + " 60", " 60 Gem Boosters");
+ addButton(agent, "/sales rank " + playerName + " HERO false", " Monthly Hero.");
+ addButton(agent, "Apply All", "/sales hero " + playerName, " Apply all above.");
+ agent.sendMessage(" ");
+ addBackButton(agent, playerName);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyUltra.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyUltra.java
new file mode 100644
index 000000000..ce48bbf2f
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/MonthlyUltra.java
@@ -0,0 +1,23 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public class MonthlyUltra extends SalesPackageBase
+{
+ public MonthlyUltra(SalesPackageManager manager)
+ {
+ super(manager, "Monthly Ultra");
+ }
+
+ public void displayToAgent(Player agent, String playerName)
+ {
+ addButton(agent, "/sales coin " + playerName + " 7500", " 7,500 Coins");
+ addButton(agent, "/sales booster " + playerName + " 30", " 30 Gem Boosters");
+ addButton(agent, "/sales rank " + playerName + " ULTRA false", " Monthly Ultra.");
+ addButton(agent, "Apply All", "/sales ultra " + playerName, " Apply all above.");
+ agent.sendMessage(" ");
+ addBackButton(agent, playerName);
+ }
+}
diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/SalesPackageBase.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/SalesPackageBase.java
new file mode 100644
index 000000000..dd0f3b588
--- /dev/null
+++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/salespackages/SalesPackageBase.java
@@ -0,0 +1,44 @@
+package mineplex.staffServer.salespackage.salespackages;
+
+import mineplex.core.common.jsonchat.JsonMessage;
+import mineplex.core.common.util.UtilServer;
+import mineplex.staffServer.salespackage.SalesPackageManager;
+
+import org.bukkit.entity.Player;
+
+public abstract class SalesPackageBase
+{
+ private String _name;
+
+ protected SalesPackageManager Manager;
+
+ protected SalesPackageBase(SalesPackageManager manager, String name)
+ {
+ Manager = manager;
+ _name = name;
+ }
+
+ public abstract void displayToAgent(Player agent, String playerName);
+
+ public String getName()
+ {
+ return _name;
+ }
+
+ protected void addButton(Player agent, String command, String itemText)
+ {
+ addButton(agent, "Apply", command, itemText);
+ }
+
+ protected void addButton(Player agent, String buttonText, String command, String itemText)
+ {
+ new JsonMessage("[").color("blue").extra(buttonText).color("green").click("run_command", command)
+ .add("] ").color("blue").add(itemText).color("yellow").sendToPlayer(agent);
+ }
+
+ protected void addBackButton(Player agent, String playerName)
+ {
+ new JsonMessage("[").color("blue").extra("Back").color("green").click("run_command", "/display " + playerName + " ALL")
+ .add("] ").color("blue").sendToPlayer(agent);
+ }
+}
diff --git a/Plugins/Nautilus.Core.CraftBukkit/src/org/bukkit/entity/Projectile.java b/Plugins/Nautilus.Core.CraftBukkit/src/org/bukkit/entity/Projectile.java
index 289feae9e..d57fe8140 100644
--- a/Plugins/Nautilus.Core.CraftBukkit/src/org/bukkit/entity/Projectile.java
+++ b/Plugins/Nautilus.Core.CraftBukkit/src/org/bukkit/entity/Projectile.java
@@ -2,15 +2,55 @@ package org.bukkit.entity;
import org.bukkit.projectiles.ProjectileSource;
-public abstract interface Projectile extends Entity
-{
+/**
+ * Represents a shootable entity.
+ */
+public interface Projectile extends Entity {
+
+ /**
+ * This method exists for legacy reasons to provide backwards
+ * compatibility. It will not exist at runtime and should not be used
+ * under any circumstances.
+ */
@Deprecated
- public abstract LivingEntity getShooter();
+ public LivingEntity _INVALID_getShooter();
+ /**
+ * Retrieve the shooter of this projectile.
+ *
+ * @return the {@link ProjectileSource} that shot this projectile
+ */
+ public ProjectileSource getShooter();
+
+ /**
+ * This method exists for legacy reasons to provide backwards
+ * compatibility. It will not exist at runtime and should not be used
+ * under any circumstances.
+ */
@Deprecated
- public abstract void setShooter(LivingEntity paramLivingEntity);
+ public void _INVALID_setShooter(LivingEntity shooter);
- public abstract boolean doesBounce();
+ /**
+ * Set the shooter of this projectile.
+ *
+ * @param source the {@link ProjectileSource} that shot this projectile
+ */
+ public void setShooter(ProjectileSource source);
- public abstract void setBounce(boolean paramBoolean);
-}
+ /**
+ * Determine if this projectile should bounce or not when it hits.
+ *
+ * If a small fireball does not bounce it will set the target on fire.
+ *
+ * @return true if it should bounce.
+ */
+ public boolean doesBounce();
+
+ /**
+ * Set whether or not this projectile should bounce or not when it hits
+ * something.
+ *
+ * @param doesBounce whether or not it should bounce.
+ */
+ public void setBounce(boolean doesBounce);
+}
\ No newline at end of file
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java
index 7cbba9ff1..553c90c1f 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java
@@ -33,6 +33,7 @@ import mineplex.core.packethandler.PacketHandler;
import mineplex.core.pet.PetManager;
import mineplex.core.portal.Portal;
import mineplex.core.preferences.PreferencesManager;
+import mineplex.core.projectile.ProjectileManager;
import mineplex.core.punish.Punish;
import mineplex.core.recharge.Recharge;
import mineplex.core.spawn.Spawn;
@@ -109,16 +110,18 @@ public class Arcade extends JavaPlugin
BlockRestore blockRestore = new BlockRestore(this);
+ ProjectileManager projectileManager = new ProjectileManager(this);
+
//Inventory
InventoryManager inventoryManager = new InventoryManager(this);
PetManager petManager = new PetManager(this, _clientManager, _donationManager, creature, webServerAddress);
- MountManager mountManager = new MountManager(this, _clientManager, _donationManager, blockRestore);
- GadgetManager gadgetManager = new GadgetManager(this, _clientManager, _donationManager, inventoryManager, mountManager, petManager, preferenceManager, disguiseManager, blockRestore);
+ MountManager mountManager = new MountManager(this, _clientManager, _donationManager, blockRestore, disguiseManager);
+ GadgetManager gadgetManager = new GadgetManager(this, _clientManager, _donationManager, inventoryManager, mountManager, petManager, preferenceManager, disguiseManager, blockRestore, projectileManager);
CosmeticManager cosmeticManager = new CosmeticManager(this, _clientManager, _donationManager, inventoryManager, gadgetManager, mountManager, petManager);
cosmeticManager.setInterfaceSlot(7);
//Arcade Manager
- _gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferenceManager, inventoryManager, cosmeticManager, webServerAddress);
+ _gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferenceManager, inventoryManager, cosmeticManager, projectileManager, webServerAddress);
new MemoryFix(this);
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java
index 1e01d1475..497a8c505 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java
@@ -47,8 +47,6 @@ import mineplex.minecraft.game.classcombat.item.event.ItemTriggerEvent;
import mineplex.minecraft.game.classcombat.shop.ClassCombatShop;
import mineplex.minecraft.game.classcombat.shop.ClassShopManager;
import mineplex.minecraft.game.core.IRelation;
-import mineplex.minecraft.game.core.condition.ConditionManager;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.minecraft.game.core.damage.DamageManager;
import mineplex.minecraft.game.core.fire.Fire;
import mineplex.core.MiniPlugin;
@@ -63,6 +61,8 @@ import mineplex.core.blood.Blood;
import mineplex.core.chat.Chat;
import mineplex.core.common.Rank;
import mineplex.core.common.util.*;
+import mineplex.minecraft.game.core.condition.ConditionManager;
+import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.core.cosmetic.CosmeticManager;
import mineplex.core.creature.Creature;
import mineplex.core.disguise.DisguiseManager;
@@ -134,7 +134,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
CoreClientManager clientManager, DonationManager donationManager, DamageManager damageManager,
DisguiseManager disguiseManager, Creature creature, Teleport teleport, Blood blood, AntiStack antistack,
Portal portal, PacketHandler packetHandler, PreferencesManager preferences, InventoryManager inventoryManager,
- CosmeticManager cosmeticManager, String webAddress)
+ CosmeticManager cosmeticManager, ProjectileManager projectileManager, String webAddress)
{
super("Game Manager", plugin);
@@ -182,7 +182,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
_firework = new FireworkHandler();
_fire = new Fire(plugin, _conditionManager, damageManager);
- _projectileManager = new ProjectileManager(plugin);
+ _projectileManager = projectileManager;
if (serverConfig.GameList.contains(GameType.ChampionsDominate)
|| serverConfig.GameList.contains(GameType.ChampionsTDM)
@@ -810,13 +810,6 @@ public class ArcadeManager extends MiniPlugin implements IRelation
}
}
- @EventHandler
- public void TeleportLog(PlayerTeleportEvent event)
- {
- System.out.println("Teleporting: " + event.getPlayer().getName() + " to "
- + event.getTo().getWorld().getWorldFolder().getName());
- }
-
public InventoryManager getInventoryManager()
{
return _inventoryManager;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/addons/TeamArmorAddon.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/addons/TeamArmorAddon.java
index cf948db67..ce3d94de8 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/addons/TeamArmorAddon.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/addons/TeamArmorAddon.java
@@ -1,8 +1,6 @@
package nautilus.game.arcade.addons;
-import org.bukkit.Effect;
import org.bukkit.Material;
-import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.inventory.InventoryClickEvent;
@@ -12,10 +10,7 @@ import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.plugin.java.JavaPlugin;
import mineplex.core.MiniPlugin;
-import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilGear;
-import mineplex.core.common.util.UtilPlayer;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.events.PlayerKitGiveEvent;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/GameCommand.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/GameCommand.java
index 362ed2400..e1cc12a87 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/GameCommand.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/GameCommand.java
@@ -10,7 +10,7 @@ public class GameCommand extends MultiCommandBase
{
public GameCommand(ArcadeManager plugin)
{
- super(plugin, Rank.ADMIN, "game");
+ super(plugin, Rank.ADMIN, new Rank[] {Rank.YOUTUBE, Rank.MAPDEV}, "game");
AddCommand(new StartCommand(Plugin));
AddCommand(new StopCommand(Plugin));
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/SetCommand.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/SetCommand.java
index 7b3d19b5a..5ad5c815e 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/SetCommand.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/SetCommand.java
@@ -12,22 +12,22 @@ import mineplex.core.common.Rank;
import mineplex.core.common.util.C;
public class SetCommand extends CommandBase
-{
+{
public SetCommand(ArcadeManager plugin)
{
- super(plugin, Rank.ADMIN, "set");
+ super(plugin, Rank.ADMIN, new Rank[] {Rank.YOUTUBE, Rank.MAPDEV}, "set");
}
-
- @Override
+
+ @Override
public void Execute(Player caller, String[] args)
- {
+ {
if (Plugin.GetGame() == null)
return;
-
+
if (args.length == 0)
{
caller.sendMessage("/game set (Map)");
- return;
+ return;
}
String game = args[0].toLowerCase();
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/StartCommand.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/StartCommand.java
index d8b996565..a57fd55d2 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/StartCommand.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/StartCommand.java
@@ -12,7 +12,7 @@ public class StartCommand extends CommandBase
{
public StartCommand(ArcadeManager plugin)
{
- super(plugin, Rank.ADMIN, "start");
+ super(plugin, Rank.ADMIN, new Rank[] {Rank.YOUTUBE, Rank.MAPDEV}, "start");
}
@Override
@@ -30,7 +30,7 @@ public class StartCommand extends CommandBase
int seconds;
if(args != null && args.length > 0)
seconds = Integer.parseInt(args[0]);
- else
+ else
seconds = 10;
Plugin.GetGameManager().StateCountdown(Plugin.GetGame(), seconds, true);
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java
index cae9cc02f..76265b22d 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java
@@ -23,6 +23,7 @@ import org.bukkit.entity.FallingBlock;
import org.bukkit.entity.Horse;
import org.bukkit.entity.Horse.Style;
import org.bukkit.entity.Horse.Variant;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
@@ -713,7 +714,7 @@ public class CastleSiege extends TeamGame
int damage = (int) (5 * (event.getEntity().getVelocity().length() / 3d));
//Damage Event
- Manager.GetDamage().NewDamageEvent(player, event.getEntity().getShooter(), event.getEntity(),
+ Manager.GetDamage().NewDamageEvent(player, (LivingEntity)event.getEntity().getShooter(), event.getEntity(),
DamageCause.CUSTOM, damage, true, false, false,
null, GetName());
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java
index 3b882ee0d..28ec0d01f 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java
@@ -1,10 +1,13 @@
package nautilus.game.arcade.game.games.deathtag;
import java.util.ArrayList;
+import java.util.Collections;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.PlayerDeathEvent;
@@ -25,6 +28,7 @@ import nautilus.game.arcade.game.GameTeam;
import nautilus.game.arcade.game.SoloGame;
import nautilus.game.arcade.game.GameTeam.PlayerState;
import nautilus.game.arcade.game.games.deathtag.kits.*;
+import nautilus.game.arcade.game.games.sneakyassassins.powerups.PowerUpManager;
import nautilus.game.arcade.kit.Kit;
import nautilus.game.arcade.kit.NullKit;
import nautilus.game.arcade.stats.ComeAtMeBroStatTracker;
@@ -37,6 +41,8 @@ public class DeathTag extends SoloGame
private NautHashMap _deathLocation = new NautHashMap();
private int _currentSpeed = -1;
+
+ private ArrayList _lights = new ArrayList();
public DeathTag(ArcadeManager manager)
{
@@ -68,6 +74,20 @@ public class DeathTag extends SoloGame
registerStatTrackers(new ComeAtMeBroStatTracker(this));
}
+
+ @Override
+ public void ParseData()
+ {
+ _lights = this.WorldData.GetCustomLocs("89");
+
+ for (Location loc : _lights)
+ {
+ if (Math.random() > 0.5)
+ loc.getBlock().setType(Material.GOLD_BLOCK);
+ else
+ loc.getBlock().setTypeIdAndData(35, (byte)15, false);
+ }
+ }
@Override
public void RestrictKits()
@@ -113,6 +133,25 @@ public class DeathTag extends SoloGame
{
return _runners;
}
+
+ @EventHandler
+ public void UpdateLights(UpdateEvent event)
+ {
+ if (!IsLive())
+ return;
+
+ if (event.getType() != UpdateType.SEC)
+ return;
+
+ for (Location loc : _lights)
+ {
+ if (loc.getBlock().getType() == Material.GOLD_BLOCK)
+ loc.getBlock().setTypeIdAndData(35, (byte)15, false);
+ else
+ loc.getBlock().setType(Material.GOLD_BLOCK);
+ }
+ }
+
@EventHandler
public void UpdateSpeed(UpdateEvent event)
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java
index 3528d43fa..d7f43170d 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java
@@ -2,6 +2,8 @@ package nautilus.game.arcade.game.games.dragonescape;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -11,6 +13,8 @@ import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.FireworkEffect.Type;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
@@ -171,18 +175,38 @@ public class DragonEscapeTeams extends TeamGame
@EventHandler
public void MoveDragon(UpdateEvent event)
- {
+ {
if (event.getType() != UpdateType.TICK)
return;
if (_dragonData == null)
return;
-
+
_dragonData.Target = _waypoints.get(Math.min(_waypoints.size()-1, (GetWaypointIndex(_dragonData.Location) + 1)));
_dragonData.Move();
+
+ Set blocks = UtilBlock.getInRadius(_dragonData.Location, 10d).keySet();
+
+ Iterator blockIterator = blocks.iterator();
+ while (blockIterator.hasNext())
+ {
+ Block block = blockIterator.next();
+
+ if (block.isLiquid())
+ blockIterator.remove();
+
+ else if (block.getRelative(BlockFace.UP).isLiquid())
+ blockIterator.remove();
- Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(_dragonData.Location, 10d).keySet(), _dragonData.Location, false);
+ else if (WorldData.MapName.contains("Hell") && block.getY() < 30)
+ blockIterator.remove();
+
+ else if (WorldData.MapName.contains("Pirate") && (block.getY() < 6))
+ blockIterator.remove();
+ }
+
+ Manager.GetExplosion().BlockExplosion(blocks, _dragonData.Location, false);
}
@EventHandler
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java
index 5e089847d..91df8eb87 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java
@@ -14,7 +14,9 @@ import org.bukkit.FireworkEffect.Type;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftFallingSand;
import org.bukkit.entity.Arrow;
+import org.bukkit.entity.Entity;
import org.bukkit.entity.FallingBlock;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Slime;
@@ -568,9 +570,9 @@ public class Gravity extends SoloGame
if (obj.Ent instanceof Player)
{
//Damage Event
- Manager.GetDamage().NewDamageEvent((Player)obj.Ent, proj.getShooter(), null,
+ Manager.GetDamage().NewDamageEvent((Player)obj.Ent, (LivingEntity)proj.getShooter(), null,
DamageCause.CUSTOM, 1, false, true, true,
- UtilEnt.getName(proj.getShooter()), "Sonic Blast");
+ UtilEnt.getName((Entity)proj.getShooter()), "Sonic Blast");
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java
index 3c1b7dccd..544300428 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java
@@ -562,7 +562,7 @@ public class HideSeek extends TeamGame
if (eventEE.getDamager() instanceof Projectile)
{
proj = (Projectile)eventEE.getDamager();
- damager = proj.getShooter();
+ damager = (LivingEntity)proj.getShooter();
}
else if (eventEE.getDamager() instanceof LivingEntity)
{
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java
index 9a28f8a4f..9d816df01 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java
@@ -62,8 +62,11 @@ public class Micro extends TeamGame
public void ParseData()
{
for (Location loc : WorldData.GetCustomLocs("20"))
+ {
_glass.add(loc.getBlock());
-
+ loc.getBlock().setType(Material.STAINED_GLASS);
+ }
+
for (int y= WorldData.MinY ; y < WorldData.MaxY ; y++)
for (int x= WorldData.MinX ; x < WorldData.MaxX ; x++)
for (int z= WorldData.MinZ ; z < WorldData.MaxZ ; z++)
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java
index 9a1176cce..e686d7692 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java
@@ -44,8 +44,8 @@ import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
-import mineplex.core.recharge.Recharge;
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
+import mineplex.core.recharge.Recharge;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.GameType;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java
index ecc6c48be..7d2470059 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java
@@ -32,10 +32,9 @@ import nautilus.game.arcade.kit.Kit;
public class QuiverTeams extends TeamGame
{
private HashMap _teamKills = new HashMap();
- private ArrayList _lastScoreboard = new ArrayList();
private HashMap _deathTime = new HashMap();
- private int _reqKills = 100;
+ private int _reqKills = 6;
public QuiverTeams(ArcadeManager manager)
{
@@ -52,7 +51,7 @@ public class QuiverTeams extends TeamGame
"Bow and Arrow insta-kills.",
"You receive 1 Arrow per kill.",
"Glass blocks are breakable",
- "First team to 100 kills wins."
+ "First team to 60 kills wins."
});
this.HungerSet = 20;
@@ -195,6 +194,10 @@ public class QuiverTeams extends TeamGame
Scoreboard.Write(kills + "" + team.GetColor() + " Kills");
}
+ Scoreboard.WriteBlank();
+ Scoreboard.Write(C.Bold + "First To");
+ Scoreboard.Write(C.cGold + C.Bold + _reqKills + " Kills");
+
Scoreboard.Draw();
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/kits/KitFrosty.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/kits/KitFrosty.java
index 4ff4ce99d..51b000027 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/kits/KitFrosty.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/kits/KitFrosty.java
@@ -3,6 +3,7 @@ package nautilus.game.arcade.game.games.runner.kits;
import org.bukkit.EntityEffect;
import org.bukkit.Material;
import org.bukkit.entity.EntityType;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
@@ -52,6 +53,6 @@ public class KitFrosty extends Kit
event.GetDamageeEntity().playEffect(EntityEffect.HURT);
- Manager.GetCondition().Factory().Slow("Snowball Slow", event.GetDamageeEntity(), event.GetProjectile().getShooter(), 2, 1, false, false, true, false);
+ Manager.GetCondition().Factory().Slow("Snowball Slow", event.GetDamageeEntity(), (LivingEntity)event.GetProjectile().getShooter(), 2, 1, false, false, true, false);
}
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java
index 4f653735e..780c9155b 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java
@@ -38,11 +38,11 @@ import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilTime;
+import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.core.itemstack.ItemStackFactory;
import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.GameType;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java
index 2644f2286..3ded0d662 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java
@@ -266,7 +266,7 @@ public class Spleef extends SoloGame
@EventHandler
public void Hunger(UpdateEvent event)
{
- if (event.getType() != UpdateType.SEC)
+ if (event.getType() != UpdateType.SLOW)
return;
if (!IsLive())
@@ -283,7 +283,7 @@ public class Spleef extends SoloGame
UtilPlayer.message(player, F.main("Game", "Break blocks to restore hunger!"));
}
- UtilPlayer.hunger(player, -1);
+ UtilPlayer.hunger(player, -2);
}
}
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java
index e71659203..d408691ba 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java
@@ -2,12 +2,14 @@ package nautilus.game.arcade.game.games.spleef;
import java.lang.reflect.Field;
-import org.bukkit.Bukkit;
import org.bukkit.Effect;
+import org.bukkit.Location;
+import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftArrow;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Player;
+import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.block.BlockDamageEvent;
@@ -17,7 +19,11 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilEnt;
+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.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.ArcadeManager;
@@ -57,14 +63,59 @@ public class SpleefTeams extends TeamGame
}
@EventHandler
- public void ArrowDamage(ProjectileHitEvent event)
+ public void SnowballDamage(ProjectileHitEvent event)
{
- final Arrow arrow = (Arrow)event.getEntity();
- final double velocity = arrow.getVelocity().length();
+ if (!(event.getEntity() instanceof Snowball))
+ return;
+
+ Snowball ball = (Snowball)event.getEntity();
- if (!(arrow.getShooter() instanceof Player))
+ if (ball.getShooter() == null || !(ball.getShooter() instanceof Player))
return;
+ Location loc = ball.getLocation().add(ball.getVelocity().multiply(0.8));
+
+ Block block = loc.getBlock();
+
+ //Find Nearest if hit nothing :O
+ if (block.getType() == Material.AIR)
+ {
+ Block closest = null;
+ double closestDist = 0;
+
+ for (Block other : UtilBlock.getSurrounding(block, true))
+ {
+ if (other.getType() == Material.AIR)
+ continue;
+
+ double dist = UtilMath.offset(loc, other.getLocation().add(0.5, 0.5, 0.5));
+
+ if (closest == null || dist < closestDist)
+ {
+ closest = other;
+ closestDist = dist;
+ }
+ }
+
+ if (closest != null)
+ block = closest;
+ }
+
+ BlockFade(block, (Player)ball.getShooter(), false);
+ }
+
+ @EventHandler
+ public void ArrowDamage(ProjectileHitEvent event)
+ {
+ if (!(event.getEntity() instanceof Arrow))
+ return;
+
+ final Arrow arrow = (Arrow)event.getEntity();
+ final double velocity = arrow.getVelocity().length();
+
+ if (!(arrow.getShooter() instanceof Player))
+ return;
+
final Player player = (Player)arrow.getShooter();
Manager.GetPlugin().getServer().getScheduler().scheduleSyncDelayedTask(Manager.GetPlugin(), new Runnable()
@@ -90,14 +141,14 @@ public class SpleefTeams extends TeamGame
Block block = arrow.getWorld().getBlockAt(x, y, z);
double radius = 0.5 + velocity/1.6d;
-
- BlockFade(block, player);
-
+
+ BlockFade(block, player, false);
+
for (Block other : UtilBlock.getInRadius(block.getLocation().add(0.5, 0.5, 0.5), radius).keySet())
{
- BlockFade(other, player);
+ BlockFade(other, player, true);
}
-
+
arrow.remove();
}
catch (Exception e)
@@ -107,25 +158,41 @@ public class SpleefTeams extends TeamGame
}
}, 0);
}
-
+
@EventHandler(priority = EventPriority.LOW)
public void BlockDamage(BlockDamageEvent event)
{
if (!this.IsLive())
return;
-
+
if (!this.IsAlive(event.getPlayer()))
return;
event.setCancelled(true);
-
- BlockFade(event.getBlock(), event.getPlayer());
+
+ BlockFade(event.getBlock(), event.getPlayer(), false);
+
+ //Snowball
+ if (GetKit(event.getPlayer()) instanceof KitSnowballer)
+ if (!UtilInv.contains(event.getPlayer(), Material.SNOW_BALL, (byte)0, 16))
+ event.getPlayer().getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.SNOW_BALL));
}
-
- public void BlockFade(Block block, Player player)
+
+ public void BlockFade(Block block, Player player, boolean slowDamage)
{
- UtilPlayer.hunger(player, 1);
-
+ AddStat(player, "BlocksBroken", 1, false, false);
+
+ //Prevent Super Hunger from Bow
+ if (Recharge.Instance.use(player, GetName() + " Hunger", 50, false, false))
+ if (block.getTypeId() != 7)
+ UtilPlayer.hunger(player, 1);
+
+ if (!slowDamage)
+ {
+ Break(block);
+ return;
+ }
+
//Wool and Stained Clay
if (block.getTypeId() == 35 || block.getTypeId() == 159)
{
@@ -138,7 +205,7 @@ public class SpleefTeams extends TeamGame
block.setData((byte)14);
else
- Break(block, player);
+ Break(block);
}
//Stone
@@ -154,9 +221,9 @@ public class SpleefTeams extends TeamGame
block.setData((byte)2);
else
- Break(block, player);
+ Break(block);
}
-
+
//Grass
else if (block.getTypeId() == 2)
{
@@ -171,38 +238,33 @@ public class SpleefTeams extends TeamGame
else if (block.getData() == 0)
block.setData((byte)2);
-
+
else
- Break(block, player);
+ Break(block);
}
//Other
else if (block.getTypeId() != 7)
{
- Break(block, player);
+ Break(block);
}
}
-
- public void Break(Block block, Player player)
+
+ public void Break(Block block)
{
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getTypeId());
block.setTypeId(0);
-
- Bukkit.getPluginManager().callEvent(new SpleefDestroyBlockEvent(block, player));
}
-
+
@EventHandler
public void Hunger(UpdateEvent event)
{
- if (Manager.IsTournamentServer())
+ if (event.getType() != UpdateType.SLOW)
return;
-
- if (event.getType() != UpdateType.SEC)
- return;
-
+
if (!IsLive())
return;
-
+
for (Player player : GetPlayers(true))
{
if (player.getFoodLevel() <= 0)
@@ -210,11 +272,11 @@ public class SpleefTeams extends TeamGame
Manager.GetDamage().NewDamageEvent(player, null, null,
DamageCause.STARVATION, 1, false, true, false,
"Starvation", GetName());
-
+
UtilPlayer.message(player, F.main("Game", "Break blocks to restore hunger!"));
}
-
- UtilPlayer.hunger(player, -1);
+
+ UtilPlayer.hunger(player, -2);
}
}
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkEggGun.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkEggGun.java
index 025aec360..6e39e8143 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkEggGun.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkEggGun.java
@@ -4,6 +4,7 @@ import java.util.HashMap;
import org.bukkit.Sound;
import org.bukkit.entity.Egg;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
@@ -118,9 +119,9 @@ public class PerkEggGun extends Perk
Egg egg = (Egg)event.GetProjectile();
//Damage Event
- Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), egg.getShooter(), egg,
+ Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), (LivingEntity)egg.getShooter(), egg,
DamageCause.PROJECTILE, 1, true, true, false,
- UtilEnt.getName(egg.getShooter()), GetName());
+ UtilEnt.getName((LivingEntity)egg.getShooter()), GetName());
event.GetDamageeEntity().setVelocity(new Vector(0,0,0));
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkRopedArrow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkRopedArrow.java
index 9f1593a1d..5be3169b9 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkRopedArrow.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkRopedArrow.java
@@ -7,6 +7,7 @@ import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.event.EventHandler;
@@ -89,11 +90,11 @@ public class PerkRopedArrow extends Perk
if (!(proj.getShooter() instanceof Player))
return;
- Vector vec = UtilAlg.getTrajectory(proj.getShooter(), proj);
+ Vector vec = UtilAlg.getTrajectory((LivingEntity)proj.getShooter(), proj);
double mult = (proj.getVelocity().length() / 3d);
//Action
- UtilAction.velocity(proj.getShooter(), vec,
+ UtilAction.velocity((LivingEntity)proj.getShooter(), vec,
0.4 + mult * _power, false, 0, 0.6 * mult * _power, 1.2 * mult * _power, true);
//Effect
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkSmokebomb.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkSmokebomb.java
index 20ce72e5b..9ccd89189 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkSmokebomb.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkSmokebomb.java
@@ -13,11 +13,11 @@ import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
+import mineplex.minecraft.game.core.condition.Condition;
+import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
-import mineplex.minecraft.game.core.condition.Condition;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.kit.Perk;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitchPotion.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitchPotion.java
index 60a991b67..70d0b436f 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitchPotion.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitchPotion.java
@@ -3,6 +3,7 @@ package nautilus.game.arcade.kit.perks;
import java.util.ArrayList;
import java.util.Iterator;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.ThrownPotion;
@@ -25,7 +26,6 @@ import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
-
import nautilus.game.arcade.kit.Perk;
public class PerkWitchPotion extends Perk
@@ -89,9 +89,9 @@ public class PerkWitchPotion extends Perk
continue;
//Damage Event
- Manager.GetDamage().NewDamageEvent(player, event.getEntity().getShooter(), null,
+ Manager.GetDamage().NewDamageEvent(player, (LivingEntity)event.getEntity().getShooter(), null,
DamageCause.CUSTOM, 5, true, true, false,
- UtilEnt.getName(event.getEntity().getShooter()), GetName());
+ UtilEnt.getName((LivingEntity)event.getEntity().getShooter()), GetName());
}
}
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitherSkull.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitherSkull.java
index 40abaee6f..70484d69c 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitherSkull.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWitherSkull.java
@@ -132,7 +132,7 @@ public class PerkWitherSkull extends Perk
WitherSkull skull = (WitherSkull)event.getEntity();
- Explode(skull, event.getLocation(), skull.getShooter());
+ Explode(skull, event.getLocation(), (LivingEntity)skull.getShooter());
}
@EventHandler(priority = EventPriority.LOWEST)
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java
index 24364eeaa..4e1499814 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java
@@ -39,6 +39,7 @@ import org.bukkit.event.block.BlockFromToEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
import org.bukkit.event.block.BlockPlaceEvent;
+import org.bukkit.event.block.LeavesDecayEvent;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
@@ -921,7 +922,7 @@ public class GameFlagManager implements Listener
}
@EventHandler
- public void WorldLeavesDecay(BlockFromToEvent event)
+ public void WorldLeavesDecay(LeavesDecayEvent event)
{
Game game = Manager.GetGame();
if (game == null) return;
diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java
index 605e3956d..8f20258ac 100644
--- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java
+++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java
@@ -10,12 +10,12 @@ import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTime;
+import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.core.mount.Mount;
-import mineplex.core.mount.types.Dragon;
+import mineplex.core.mount.types.MountDragon;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.RestartServerEvent;
import mineplex.core.updater.event.UpdateEvent;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.GameType;
import nautilus.game.arcade.events.GamePrepareCountdownCommence;
@@ -83,10 +83,10 @@ public class GameManager implements Listener
for (Mount mount : Manager.getCosmeticManager().getMountManager().getMounts())
{
- if (mount instanceof Dragon)
+ if (mount instanceof MountDragon)
{
- ((Dragon) mount).SetName(text);
- ((Dragon) mount).setHealthPercent(health);
+ ((MountDragon) mount).SetName(text);
+ ((MountDragon) mount).setHealthPercent(health);
}
}
}
@@ -590,7 +590,7 @@ public class GameManager implements Listener
player.leaveVehicle();
player.teleport(Manager.GetLobby().GetSpawn());
}
- }, i*3);
+ }, i);
}
}
diff --git a/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/PvP.java b/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/PvP.java
index 615574bc6..cfe3add2b 100644
--- a/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/PvP.java
+++ b/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/PvP.java
@@ -29,12 +29,12 @@ import mineplex.core.chat.Chat;
import mineplex.core.command.CommandCenter;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
+import mineplex.minecraft.core.condition.ConditionManager;
import mineplex.core.creature.Creature;
import mineplex.core.energy.Energy;
import mineplex.core.explosion.Explosion;
import mineplex.minecraft.game.classcombat.item.ItemFactory;
import mineplex.minecraft.game.core.combat.CombatManager;
-import mineplex.minecraft.game.core.condition.ConditionManager;
import mineplex.minecraft.game.core.fire.Fire;
import mineplex.minecraft.game.core.mechanics.Weapon;
import nautilus.game.pvp.modules.Farming;
diff --git a/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/modules/clans/ClansGame.java b/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/modules/clans/ClansGame.java
index 790be1c2a..17fbea6f2 100644
--- a/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/modules/clans/ClansGame.java
+++ b/Plugins/Nautilus.Game.PvP/src/nautilus/game/pvp/modules/clans/ClansGame.java
@@ -25,7 +25,6 @@ import org.bukkit.event.player.PlayerQuitEvent;
import me.chiss.Core.Combat.Event.CombatDeathEvent;
import mineplex.minecraft.game.core.classcombat.SkillTriggerEvent;
-import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import mineplex.core.blockrestore.BlockRestoreData;
import mineplex.core.common.util.C;
@@ -35,6 +34,7 @@ import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTime;
import mineplex.core.common.util.UtilTime.TimeUnit;
+import mineplex.minecraft.core.condition.Condition.ConditionType;
import mineplex.core.itemstack.ItemStackFactory;
public class ClansGame
diff --git a/Website/LOC.Core/LOC.Core.csproj b/Website/LOC.Core/LOC.Core.csproj
index 89d688b85..e83cfeeab 100644
--- a/Website/LOC.Core/LOC.Core.csproj
+++ b/Website/LOC.Core/LOC.Core.csproj
@@ -83,6 +83,7 @@
+
diff --git a/Website/LOC.Core/Tokens/Client/ClientToken.cs b/Website/LOC.Core/Tokens/Client/ClientToken.cs
index a73a187ee..c06400e72 100644
--- a/Website/LOC.Core/Tokens/Client/ClientToken.cs
+++ b/Website/LOC.Core/Tokens/Client/ClientToken.cs
@@ -43,6 +43,7 @@
SalesPackages = new List(),
UnknownSalesPackages = new List(),
Transactions = new List(),
+ CoinRewards = new List(),
CustomBuilds = new List(),
Pets = new List(),
PetNameTagCount = account.PetNameTagCount
@@ -82,7 +83,7 @@
}
if (account.AccountTransactions == null)
- account.AccountTransactions = new List();
+ account.AccountTransactions = new List();
foreach (var transaction in account.AccountTransactions)
{
diff --git a/Website/LOC.Core/Tokens/Client/CoinTransactionToken.cs b/Website/LOC.Core/Tokens/Client/CoinTransactionToken.cs
new file mode 100644
index 000000000..d9e9361f3
--- /dev/null
+++ b/Website/LOC.Core/Tokens/Client/CoinTransactionToken.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace LOC.Core.Tokens.Client
+{
+ public class CoinTransactionToken
+ {
+ public long Date { get; set; }
+
+ public int Amount { get; set; }
+
+ public string Source { get; set; }
+
+ public CoinTransactionToken(Model.Sales.CoinTransaction transaction)
+ {
+ Amount = transaction.Amount;
+ Date = transaction.Date;
+ Source = transaction.Source;
+ }
+ }
+}
diff --git a/Website/LOC.Core/Tokens/Client/DonorToken.cs b/Website/LOC.Core/Tokens/Client/DonorToken.cs
index 4e636c181..f45c969fc 100644
--- a/Website/LOC.Core/Tokens/Client/DonorToken.cs
+++ b/Website/LOC.Core/Tokens/Client/DonorToken.cs
@@ -1,6 +1,7 @@
namespace LOC.Core.Tokens.Client
{
using System.Collections.Generic;
+ using LOC.Core.Model.Sales;
public class DonorToken
{
@@ -10,6 +11,7 @@
public List SalesPackages { get; set; }
public List UnknownSalesPackages { get; set; }
public List Transactions { get; set; }
+ public List CoinRewards { get; set; }
public List CustomBuilds { get; set; }
public List Pets { get; set; }
public int PetNameTagCount { get; set; }
diff --git a/Website/LOC.Website.Common/Models/AccountAdministrator.cs b/Website/LOC.Website.Common/Models/AccountAdministrator.cs
index 39faa04ff..34bf7c40f 100644
--- a/Website/LOC.Website.Common/Models/AccountAdministrator.cs
+++ b/Website/LOC.Website.Common/Models/AccountAdministrator.cs
@@ -687,7 +687,7 @@
repository.CommitChanges();
}
- public Account GetAccountByUUID(string uuid)
+ public ClientToken GetAccountByUUID(string uuid)
{
using (var repository = _repositoryFactory.CreateRepository())
{
@@ -698,7 +698,16 @@
account.LoadNavigationProperties(repository.Context);
- return account;
+ ClientToken clientToken = null;
+
+ clientToken = new ClientToken(account);
+
+ foreach (var trans in repository.Where(x => x.Account.AccountId == account.AccountId).ToList())
+ {
+ clientToken.DonorToken.CoinRewards.Add(new CoinTransactionToken(trans));
+ }
+
+ return clientToken;
}
}
}
diff --git a/Website/LOC.Website.Common/Models/IAccountAdministrator.cs b/Website/LOC.Website.Common/Models/IAccountAdministrator.cs
index 8391389a9..9f1dfccd5 100644
--- a/Website/LOC.Website.Common/Models/IAccountAdministrator.cs
+++ b/Website/LOC.Website.Common/Models/IAccountAdministrator.cs
@@ -39,6 +39,6 @@
bool CoinReward(GemRewardToken token);
- Account GetAccountByUUID(string uuid);
+ ClientToken GetAccountByUUID(string uuid);
}
}
diff --git a/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs b/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs
index d0c85c5aa..6713bef16 100644
--- a/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs
+++ b/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs
@@ -42,9 +42,7 @@
[HttpPost]
public ActionResult GetAccountByUUID(string uuid)
{
- var account = _accountAdministrator.GetAccountByUUID(uuid);
-
- var json = JsonConvert.SerializeObject(new ClientToken(account));
+ var json = JsonConvert.SerializeObject(_accountAdministrator.GetAccountByUUID(uuid));
return Content(json, "application/json");
}
diff --git a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
index 9b78888fc..bd2a0d731 100644
--- a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
+++ b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
@@ -1,12 +1,12 @@

-
+
@@ -19,31 +19,27 @@
-
-
+
-
-
-
+
-
+
-
@@ -51,18 +47,18 @@
-
-
+
-
-
+
+
+
@@ -73,24 +69,25 @@
-
-
+
-
-
+
+
+
+
+
-
@@ -98,7 +95,6 @@
-
@@ -107,42 +103,42 @@
-
-
+
-
+
+
-
-
+
-
+
+
-
+
@@ -153,57 +149,62 @@
-
+
-
+
+
+
+
+
+
-
+
+
-
+
-
+
-
+
+
-
-
-
+
-
+
-
+
@@ -211,63 +212,60 @@
-
+
-
-
+
+
+
-
+
-
+
-
-
+
-
-
+
+
-
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
@@ -281,15 +279,17 @@
-
+
-
+
+
+
@@ -303,25 +303,26 @@
+
+
-
+
-
-
+
@@ -332,21 +333,21 @@
+
-
+
+
+
-
-
-
@@ -354,8 +355,6 @@
-
-
@@ -363,43 +362,44 @@
+
-
+
+
-
-
+
-
+
-
+
+
-
-
+
+
+
-
-
@@ -410,127 +410,125 @@
-
+
-
-
-
-
+
-
-
+
-
+
+
-
+
-
+
-
+
+
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
@@ -546,47 +544,49 @@
-
+
+
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -597,74 +597,70 @@
+
-
+
+
-
-
+
-
-
+
-
-
+
+
-
+
-
+
-
-
-
+
-
-
+
-
-
+
+
-
-
+
@@ -675,33 +671,32 @@
-
+
-
-
-
-
+
-
-
+
-
-
-
+
+
+
+
+
+
@@ -709,91 +704,94 @@
-
+
+
-
+
+
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
+
-
+
-
+
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
@@ -809,37 +807,39 @@
-
+
+
-
+
+
-
+
-
+
-
+
-
+
@@ -849,7 +849,7 @@
-
+
@@ -860,29 +860,29 @@
+
-
+
+
-
-
+
-
-
+
@@ -890,44 +890,40 @@
-
+
-
+
-
-
-
+
-
-
+
-
-
+
+
-
-
+
@@ -938,33 +934,32 @@
-
+
-
-
-
-
+
-
-
+
-
+
+
+
+
@@ -972,84 +967,89 @@
-
+
+
-
+
+
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
+
-
+
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/Website/LOCWebsite.suo b/Website/LOCWebsite.suo
index 5a10b5f66..aff2fcd81 100644
Binary files a/Website/LOCWebsite.suo and b/Website/LOCWebsite.suo differ