diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitMagmaCube.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitMagmaCube.java index a23130042..745f725a6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitMagmaCube.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitMagmaCube.java @@ -63,6 +63,14 @@ public class KitMagmaCube extends SmashKit ChatColor.RESET + "", ChatColor.RESET + "Right-Click again to end Flame Dash early.", }), + ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER, (byte) 0, 1, + C.cYellow + C.Bold + "Passive" + C.cWhite + C.Bold + " - " + C.cGreen + C.Bold + "Fuel the Fire", + new String[] + { + ChatColor.RESET + "Each kill increases your size, damage", + ChatColor.RESET + "armor and decreases your knockback taken.", + ChatColor.RESET + "Resets on death.", + }), ItemStackFactory.Instance.CreateStack(Material.NETHER_STAR, (byte) 0, 1, C.cYellow + C.Bold + "Smash Crystal" + C.cWhite + C.Bold + " - " + C.cGreen + C.Bold + "Meteor Shower", new String[] @@ -89,21 +97,21 @@ public class KitMagmaCube extends SmashKit public void GiveItems(Player player) { disguise(player); - + DisguiseMagmaCube disguise = (DisguiseMagmaCube) Manager.GetDisguise().getActiveDisguise(player); - + disguise.SetSize(1); - + UtilInv.Clear(player); player.getInventory().addItem(PLAYER_ITEMS[0], PLAYER_ITEMS[1]); if (Manager.GetGame().GetState() == GameState.Recruit) - player.getInventory().addItem(PLAYER_ITEMS[2]); + player.getInventory().addItem(PLAYER_ITEMS[2], PLAYER_ITEMS[3]); - player.getInventory().setArmorContents(PLAYER_ARMOR);; + player.getInventory().setArmorContents(PLAYER_ARMOR); } - + @EventHandler public void fireResistance(UpdateEvent event) { @@ -111,19 +119,19 @@ public class KitMagmaCube extends SmashKit { return; } - + if (Manager.GetGame() == null) { return; } - + for (Player player : Manager.GetGame().GetPlayers(true)) { if (!HasKit(player)) { continue; } - + player.setFireTicks(0); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/PerkSmashStats.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/PerkSmashStats.java index 07804dab9..534ab5f3b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/PerkSmashStats.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/PerkSmashStats.java @@ -24,21 +24,6 @@ public class PerkSmashStats extends Perk super("Smash Stats"); } - public PerkSmashStats(double damage, double knockbackTaken, double regen, double armor) - { - super("Smash Stats", new String[]{}); - - _damage = damage; - _knockbackTaken = knockbackTaken; - _regen = regen; - _armor = armor; - - setDesc( - (C.cAqua + "Damage: " + C.cWhite + _damage) + C.cWhite + " " + (C.cAqua + "Knockback Taken: " + C.cWhite + (int) (_knockbackTaken * 100) + "%"), - (C.cAqua + "Armor: " + C.cWhite + _armor) + C.cWhite + " " + (C.cAqua + "Health Regeneration: " + C.cWhite + _regen + " per Second") - ); - } - @Override public void setupValues() { @@ -113,4 +98,14 @@ public class PerkSmashStats extends Perk UtilPlayer.health(player, _regen); } } + + public double getArmour() + { + return _armor; + } + + public void setArmor(double armor) + { + _armor = armor; + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBlast.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBlast.java index 108b0f715..0be61eca6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBlast.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBlast.java @@ -43,12 +43,12 @@ import nautilus.game.arcade.kit.Perk; public class PerkMagmaBlast extends Perk { - private int _cooldown = 6000; - private float _velocity = 0.2F; - private int _fireTicks = 40; - private int _velocityRadius = 8; - private int _fireRadius = 2; - private int _damage = 8; + private int _cooldown; + private float _velocity; + private int _fireTicks; + private int _velocityRadius; + private int _fireRadius; + private int _damage; private Map _proj = new HashMap<>(); @@ -185,13 +185,16 @@ public class PerkMagmaBlast extends Perk { if(team.contains(cur)) { - { - continue; - } + continue; } double range = hitMap.get(cur); + if (range > 0.8) + { + range = 1; + } + Manager.GetDamage().NewDamageEvent(cur, shooter, proj, DamageCause.PROJECTILE, range * _damage, false, true, false, shooter.getName(), GetName()); // Velocity diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBoost.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBoost.java index 9a00a8894..7b2030ba0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBoost.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/perks/magmacube/PerkMagmaBoost.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import nautilus.game.arcade.game.games.smash.perks.PerkSmashStats; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -59,7 +60,18 @@ public class PerkMagmaBoost extends Perk { Player killed = (Player) event.GetEvent().getEntity(); - _kills.remove(killed.getUniqueId()); + if (_kills.remove(killed.getUniqueId()) != null) + { + for (Perk perk : Kit.GetPerks()) + { + if (perk instanceof PerkSmashStats) + { + PerkSmashStats perkSmashStats = (PerkSmashStats) perk; + perkSmashStats.setArmor(Double.valueOf(_spreadsheet.getDataMap().get(_spreadsheet.getKey(Kit, perkSmashStats, "Armor")))); + break; + } + } + } if (event.GetLog().GetKiller() == null) { @@ -95,6 +107,16 @@ public class PerkMagmaBoost extends Perk slime.SetSize(size + 1); Manager.GetDisguise().updateDisguise(slime); + for (Perk perk : Kit.GetPerks()) + { + if (perk instanceof PerkSmashStats) + { + PerkSmashStats perkSmashStats = (PerkSmashStats) perk; + perkSmashStats.setArmor(perkSmashStats.getArmour() + 0.5); + break; + } + } + killer.setExp(0.99F * (size / (float) _maxStacks)); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Perk.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Perk.java index a403f675a..a727a304a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Perk.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/Perk.java @@ -16,7 +16,7 @@ public abstract class Perk implements Listener private boolean _display; private int _upgradeLevel; - private PerkSpreadsheetModule _spreadsheet; + protected PerkSpreadsheetModule _spreadsheet; public Perk(String name) { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/data/FireflyData.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/data/FireflyData.java index c04f9b167..ad8772b88 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/data/FireflyData.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/data/FireflyData.java @@ -1,10 +1,6 @@ package nautilus.game.arcade.kit.perks.data; -import java.util.HashSet; - -import org.bukkit.entity.Entity; - -public class FireflyData +public class FireflyData { public org.bukkit.entity.Player Player; public org.bukkit.Location Location;