Update time!

This commit is contained in:
Sam 2017-07-06 00:35:05 +01:00
parent 8c4fa7bdb2
commit c5818b1bb5
11 changed files with 131 additions and 60 deletions

View File

@ -31,7 +31,7 @@ import mineplex.core.stats.StatsManager;
public class AchievementPage extends ShopPageBase<AchievementManager, AchievementShop>
{
private static int ACHIEVEMENT_MIDDLE_INDEX = 31;
private static final int ACHIEVEMENT_MIDDLE_INDEX = 31;
private AchievementCategory _category;
private StatsManager _statsManager;

View File

@ -423,10 +423,26 @@ public class PlayerDisguiseManager extends MiniPlugin implements IPacketHandler
DisguisePlayer disguise = _disguises.remove(caller.getUniqueId());
undisguise(caller, disguise);
_mapping.remove(disguise.getName().toLowerCase());
UtilPlayer.message(caller, F.main("Disguise", "You are no longer disguised!"));
getPluginManager().callEvent(new PlayerUndisguisedEvent(caller));
removeDisguiseData(caller);
}
public void undisguise(Player caller, DisguisePlayer disguise)
{
GameProfile originalProfile = disguise.getOriginalProfile();
GameProfile currentProfile = ((CraftPlayer) caller).getProfile();
boolean sameName = caller.getName().equals(currentProfile.getName());
if (!sameName)
{
require(ScoreboardManager.class).handlePlayerQuit(disguise.getName());
}
try
{
UtilGameProfile.changeName(currentProfile, originalProfile.getName());
@ -447,7 +463,7 @@ public class PlayerDisguiseManager extends MiniPlugin implements IPacketHandler
return;
}
getDisguiseManager().undisguise(caller);
getDisguiseManager().undisguise(disguise);
GameProfile disguisedProfile = disguise.getProfile();
@ -458,14 +474,10 @@ public class PlayerDisguiseManager extends MiniPlugin implements IPacketHandler
require(FriendManager.class).updatePlayerStatus(originalProfile.getId(), new PlayerStatus(originalProfile.getId(), originalProfile.getName(), _serverName));
getPreferencesManager().handlePlayerJoin(caller, true);
if (!sameName)
{
require(ScoreboardManager.class).handlePlayerJoin(disguise.getOriginalProfile().getName());
_mapping.remove(disguise.getName().toLowerCase());
UtilPlayer.message(caller, F.main("Disguise", "You are no longer disguised!"));
getPluginManager().callEvent(new PlayerUndisguisedEvent(caller));
removeDisguiseData(caller);
}
}
public void disguise(Player caller, GameProfile requestedProfile)

View File

@ -126,7 +126,7 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
add(13, Material.FEATHER, (byte) 0, C.cYellowB + "Skywars " + C.cGray + "Solo/Team Survival", new String[]
{
C.Reset + "",
C.Reset + "16 contenders fight to rule the skies!",
C.Reset + "12 contenders fight to rule the skies!",
C.Reset + "Spawn on a sky island and build your path!",
C.Reset + "Find weapons to take your enemies down!",
C.Reset + "Up in the skies, death looming if you fall..",

View File

@ -9,6 +9,7 @@ import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilServer;
import mineplex.core.disguise.disguises.DisguiseBase;
import mineplex.core.disguise.disguises.DisguisePlayer;
import mineplex.core.disguise.playerdisguise.PlayerDisguiseManager;
import mineplex.core.leaderboard.Leaderboard;
import mineplex.core.leaderboard.LeaderboardManager;
import mineplex.core.leaderboard.LeaderboardRepository.LeaderboardSQLType;
@ -283,6 +284,8 @@ public class Moba extends TeamGame
_listeners.clear();
_betaWhitelist.deregisterSelf();
PlayerDisguiseManager playerDisguiseManager = Managers.require(PlayerDisguiseManager.class);
// Undisguise all players
for (Player player : Bukkit.getOnlinePlayers())
{
@ -290,7 +293,7 @@ public class Moba extends TeamGame
if (disguise != null && disguise instanceof DisguisePlayer)
{
Manager.GetDisguise().undisguise(disguise);
playerDisguiseManager.undisguise(player, (DisguisePlayer) disguise);
}
}
}

View File

@ -13,6 +13,8 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.potion.PotionEffectType;
public class MobaDamageManager implements Listener
{
@ -97,4 +99,30 @@ public class MobaDamageManager implements Listener
event.setKilledWord(word);
}
}
@EventHandler
public void mageStrength(CustomDamageEvent event)
{
if (event.GetCause() != DamageCause.CUSTOM)
{
return;
}
Player damager = event.GetDamagerPlayer(true);
if (damager == null)
{
return;
}
damager.getActivePotionEffects().forEach(effect ->
{
if (effect.getType() == PotionEffectType.INCREASE_DAMAGE)
{
event.AddMod("Strength", effect.getAmplifier() * 2 + 1);
}
});
}
}

View File

@ -29,7 +29,7 @@ public class SkillAquaCannon extends HeroSkill
"Fires a beam of water that deals damage",
"to the first enemy it comes in contact with."
};
private static final int DAMAGE = 6;
private static final int DAMAGE = 4;
private static final ItemStack SKILL_ITEM = new ItemStack(Material.DIAMOND_HOE);
public SkillAquaCannon(int slot)
@ -66,7 +66,7 @@ public class SkillAquaCannon extends HeroSkill
continue;
}
Manager.GetDamage().NewDamageEvent(entity, player, null, DamageCause.CUSTOM, DAMAGE, true, false, false, player.getName(), MobaConstants.BASIC_ATTACK);
Manager.GetDamage().NewDamageEvent(entity, player, null, DamageCause.CUSTOM, DAMAGE, false, false, false, player.getName(), MobaConstants.BASIC_ATTACK);
break;
}
}

View File

@ -4,7 +4,6 @@ import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
@ -42,8 +41,6 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import java.util.HashMap;
@ -95,6 +92,7 @@ public class MobaShop implements Listener
villager.setCustomNameVisible(true);
UtilEnt.vegetate(villager);
UtilEnt.silence(villager, true);
UtilEnt.ghost(villager, true, false);
UtilEnt.CreatureForceLook(villager, 0, UtilAlg.GetYaw(UtilAlg.getTrajectory(villager.getLocation(), _host.GetSpectatorLocation())));
((CraftLivingEntity) villager).getHandle().k = false;
@ -226,6 +224,12 @@ public class MobaShop implements Listener
}
_host.GetKit(player).GiveItems(player);
// If we aren't tracking purchases then after we give the item remove it.
if (!category.isTrackingPurchases())
{
owned.remove(item);
}
}
public boolean ownsItem(Player player, MobaItem item)

View File

@ -44,21 +44,21 @@ public class MobaWarriorShop extends MobaShopMenu
new MobaItem(new ItemBuilder(Material.IRON_HELMET)
.setTitle(C.cGreenB + "Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 1)
.build(), 400)
.build(), 100)
.addEffects(
new MobaHPRegenEffect(0.03)
),
// new MobaItem(new ItemBuilder(Material.IRON_HELMET)
// .setTitle(C.cYellowB + "Superior Archer's Bane")
// .addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
// .build(), 750)
// .addEffects(
// new MobaHPRegenEffect(0.05)
// ),
new MobaItem(new ItemBuilder(Material.IRON_HELMET)
.setTitle(C.cYellowB + "Superior Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
.build(), 300)
.addEffects(
new MobaHPRegenEffect(0.05)
),
new MobaItem(new ItemBuilder(Material.IRON_HELMET)
.setTitle(C.cGreenB + "Brawler's Plate")
.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
.build(), 400)
.build(), 300)
.addEffects(
new MobaHPRegenEffect(0.03)
),
@ -71,7 +71,7 @@ public class MobaWarriorShop extends MobaShopMenu
// ),
new MobaItem(new ItemBuilder(Material.DIAMOND_HELMET)
.setTitle(C.cDRedB + "Prince's Plate")
.build(), 2000)
.build(), 1200)
.addEffects(
new MobaHPRegenEffect(0.15)
)
@ -81,21 +81,21 @@ public class MobaWarriorShop extends MobaShopMenu
new MobaItem(new ItemBuilder(Material.IRON_CHESTPLATE)
.setTitle(C.cGreenB + "Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 1)
.build(), 600)
.build(), 150)
.addEffects(
new MobaTotalHealthEffect(2)
),
// new MobaItem(new ItemBuilder(Material.IRON_CHESTPLATE)
// .setTitle(C.cYellowB + "Superior Archer's Bane")
// .addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
// .build(), 1000)
// .addEffects(
// new MobaTotalHealthEffect(4)
// ),
new MobaItem(new ItemBuilder(Material.IRON_CHESTPLATE)
.setTitle(C.cYellowB + "Superior Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
.build(), 400)
.addEffects(
new MobaTotalHealthEffect(4)
),
new MobaItem(new ItemBuilder(Material.IRON_CHESTPLATE)
.setTitle(C.cGreenB + "Brawler's Plate")
.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
.build(), 600)
.build(), 400)
.addEffects(
new MobaTotalHealthEffect(2)
),
@ -108,7 +108,7 @@ public class MobaWarriorShop extends MobaShopMenu
// ),
new MobaItem(new ItemBuilder(Material.DIAMOND_CHESTPLATE)
.setTitle(C.cDRedB + "Prince's Plate")
.build(), 2500)
.build(), 1500)
.addEffects(
new MobaTotalHealthEffect(4)
)
@ -118,21 +118,21 @@ public class MobaWarriorShop extends MobaShopMenu
new MobaItem(new ItemBuilder(Material.IRON_LEGGINGS)
.setTitle(C.cGreenB + "Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 1)
.build(), 600)
.build(), 150)
.addEffects(
new MobaCDREffect(0.05)
),
// new MobaItem(new ItemBuilder(Material.IRON_LEGGINGS)
// .setTitle(C.cYellowB + "Superior Archer's Bane")
// .addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
// .build(), 1000)
// .addEffects(
// new MobaCDREffect(0.07)
// ),
new MobaItem(new ItemBuilder(Material.IRON_LEGGINGS)
.setTitle(C.cYellowB + "Superior Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
.build(), 400)
.addEffects(
new MobaCDREffect(0.07)
),
new MobaItem(new ItemBuilder(Material.IRON_LEGGINGS)
.setTitle(C.cGreenB + "Brawler's Plate")
.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
.build(), 600)
.build(), 400)
.addEffects(
new MobaCDREffect(0.05)
),
@ -145,7 +145,7 @@ public class MobaWarriorShop extends MobaShopMenu
// ),
new MobaItem(new ItemBuilder(Material.DIAMOND_LEGGINGS)
.setTitle(C.cDRedB + "Prince's Plate")
.build(), 2500)
.build(), 1500)
.addEffects(
new MobaCDREffect(0.1)
)
@ -155,21 +155,21 @@ public class MobaWarriorShop extends MobaShopMenu
new MobaItem(new ItemBuilder(Material.IRON_BOOTS)
.setTitle(C.cGreenB + "Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 1)
.build(), 400)
.build(), 100)
.addEffects(
new MobaSpeedEffect(0.04)
),
// new MobaItem(new ItemBuilder(Material.IRON_BOOTS)
// .setTitle(C.cYellowB + "Superior Archer's Bane")
// .addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
// .build(), 750)
// .addEffects(
// new MobaSpeedEffect(0.06)
// ),
new MobaItem(new ItemBuilder(Material.IRON_BOOTS)
.setTitle(C.cYellowB + "Superior Archer's Bane")
.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 2)
.build(), 300)
.addEffects(
new MobaSpeedEffect(0.06)
),
new MobaItem(new ItemBuilder(Material.IRON_BOOTS)
.setTitle(C.cGreenB + "Brawler's Plate")
.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
.build(), 400)
.build(), 300)
.addEffects(
new MobaSpeedEffect(0.04)
),
@ -182,7 +182,7 @@ public class MobaWarriorShop extends MobaShopMenu
// ),
new MobaItem(new ItemBuilder(Material.DIAMOND_BOOTS)
.setTitle(C.cDRedB + "Prince's Plate")
.build(), 2000)
.build(), 1200)
.addEffects(
new MobaSpeedEffect(0.1)
)

View File

@ -135,6 +135,24 @@ public class Tower
_host.getArcadeManager().GetDamage().NewDamageEvent(_target, null, null, DamageCause.CUSTOM, _damage++, false, true, false, "Tower", "Tower");
}
public void updateHealing()
{
if (_dead)
{
return;
}
for (Player player : _team.GetPlayers(true))
{
if (UtilPlayer.isSpectator(player) || UtilMath.offsetSquared(player, _crystal) > TARGET_RANGE_SQUARED)
{
continue;
}
MobaUtil.heal(player, null, 2);
}
}
private void setLaserTarget(LivingEntity target)
{
if (target == null)

View File

@ -144,6 +144,13 @@ public class TowerManager implements Listener
tower.updateDamage();
}
}
else if (event.getType() != UpdateType.SLOW)
{
for (Tower tower : _towers)
{
tower.updateHealing();
}
}
}
@EventHandler

View File

@ -364,6 +364,7 @@ public class MobaTraining extends Moba
UtilEnt.vegetate(entity);
UtilEnt.setFakeHead(entity, true);
UtilEnt.silence(entity, true);
UtilEnt.ghost(entity, true, false);
}
CreatureAllowOverride = false;
@ -452,8 +453,6 @@ public class MobaTraining extends Moba
// Reducing the wither's health to 10% gives a shield like effect.
stand.setGravity(false);
UtilEnt.setBoundingBox(stand, 3, 5);
DisguiseWither disguise = new DisguiseWither(stand);
disguise.setName(C.cAqua + "Blue's Wither");
disguise.setCustomNameVisible(true);