diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java index 0f102433b..469e2b56c 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java @@ -5,17 +5,17 @@ import java.util.HashMap; import java.util.List; import java.util.Random; +import org.bukkit.Material; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + import mineplex.core.donation.DonationManager; import mineplex.core.inventory.InventoryManager; import mineplex.core.reward.rewards.CoinReward; import mineplex.core.reward.rewards.InventoryReward; import mineplex.core.reward.rewards.UnknownPackageReward; -import org.bukkit.Material; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - /** * Created by shaun on 2014-09-04. */ @@ -44,9 +44,9 @@ public class RewardManager _doubleGadgetValue = doubleGadgetValue; addCommon(donationManager, inventoryManager, commonValueMin, commonValueMax); - addUncommon(donationManager, inventoryManager, commonValueMin, commonValueMax); - addRare(donationManager, inventoryManager, commonValueMin, commonValueMax); - addLegendary(donationManager, inventoryManager, commonValueMin, commonValueMax); + addUncommon(donationManager, inventoryManager, uncommonValueMin, uncommonValueMax); + addRare(donationManager, inventoryManager, rareValueMin, rareValueMax); + addLegendary(donationManager, inventoryManager, legendValueMin, legendValueMax); } public void addCommon(DonationManager donationManager, InventoryManager inventoryManager, double minValue, double maxValue) @@ -261,12 +261,12 @@ public class RewardManager double rand = _random.nextDouble(); RewardRarity rarity; - if (isChestOpening ? rand <= 0.01 : rand <= 0.0001) + if (isChestOpening ? rand <= 0.91 : rand <= 0.0001) { // 1% or 0.01% rarity = RewardRarity.LEGENDARY; } - else if (isChestOpening ? rand <= 0.05 : rand <= 0.001) + else if (isChestOpening ? rand <= 0.95 : rand <= 0.001) { // 4% or 0.09% rarity = RewardRarity.RARE; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/LegendaryAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/LegendaryAnimation.java index 77f4e628a..4c3a31c7e 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/LegendaryAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/LegendaryAnimation.java @@ -9,6 +9,7 @@ import org.bukkit.Sound; import org.bukkit.block.Block; import mineplex.core.common.util.UtilFirework; +import mineplex.core.common.util.UtilParticle; import mineplex.core.treasure.Treasure; /** @@ -38,13 +39,27 @@ public class LegendaryAnimation extends Animation // _chestBlock.getLocation().getWorld().playSound(_chestBlock.getLocation().add(0.5, 0.5, 0.5), Sound.WITHER_SPAWN, 10F, 1.2F); _chestBlock.getLocation().getWorld().playSound(_chestBlock.getLocation().add(0.5, 0.5, 0.5), Sound.ENDERDRAGON_DEATH, 10F, 2.0F); } - if (getTicks() == 10) + if (getTicks() == 20) { FireworkEffect effect = FireworkEffect.builder().with(FireworkEffect.Type.BALL_LARGE).withColor(Color.RED).withFade(Color.BLACK).build(); UtilFirework.playFirework(_chestBlock.getLocation().add(0.5, 0.5, 0.5), effect); // ((CraftWorld) _chestBlock.getWorld()).getHandle().triggerEffect(1005, _chestBlock.getX(), _chestBlock.getY(), _chestBlock.getZ(), 2257); } - else if (getTicks() < 10) + else if (getTicks() < 15) + { + double radius = 2 - (getTicks() / 10D * 2); + int particleAmount = 20 - (getTicks() * 2); + Location _centerLocation = _chestBlock.getLocation().add(0.5, 0.1, 0.5); + for (int i = 0; i < particleAmount; i++) + { + double xDiff = Math.sin(i/(double)particleAmount * 2 * Math.PI) * radius; + double zDiff = Math.cos(i/(double)particleAmount * 2 * Math.PI) * radius; + + Location location = _centerLocation.clone().add(xDiff, 0, zDiff); + UtilParticle.PlayParticle(UtilParticle.ParticleType.CLOUD, location, 0, 0, 0, 0, 1); + } + } + else if (getTicks() < 20) { double xDif = _random.nextGaussian() * 0.5; double zDif = _random.nextGaussian() * 0.5; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/RareAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/RareAnimation.java index f5c778dd5..c43ced09a 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/RareAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/RareAnimation.java @@ -53,10 +53,11 @@ public class RareAnimation extends Animation } double radius = getTicks() / 20D; - for (int i = 0; i < 20; i++) + int particleAmount = getTicks() / 2; + for (int i = 0; i < particleAmount; i++) { - double xDiff = Math.sin(i/20D * 2 * Math.PI) * radius; - double zDiff = Math.cos(i/20D * 2 * Math.PI) * radius; + double xDiff = Math.sin(i/(double)particleAmount * 2 * Math.PI) * radius; + double zDiff = Math.cos(i/(double)particleAmount * 2 * Math.PI) * radius; Location location = _centerLocation.clone().add(xDiff, -1.3, zDiff); UtilParticle.PlayParticle(UtilParticle.ParticleType.FLAME, location, 0, 0, 0, 0, 1); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/UncommonAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/UncommonAnimation.java index 86a5ca6f1..0fbcb55b7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/UncommonAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/UncommonAnimation.java @@ -41,7 +41,7 @@ public class UncommonAnimation extends Animation double zDif = 0;//_random.nextGaussian() * 1; double yDif = 2;//(_random.nextInt(3) * _random.nextDouble()) + 2; - FireworkEffect effect = FireworkEffect.builder().withColor(Color.fromRGB(_random.nextInt(255), _random.nextInt(255), _random.nextInt(255))) + FireworkEffect effect = FireworkEffect.builder().withColor(Color.RED) .withFade(Color.fromRGB(_random.nextInt(255), _random.nextInt(255), _random.nextInt(255))) .with(FireworkEffect.Type.STAR) .build();