public static void applySerratedStrikes( Player attacker, EntityDamageByEntityEvent event, mcMMO pluginx) { int targets = 0; if (event.getEntity() instanceof LivingEntity) { LivingEntity x = (LivingEntity) event.getEntity(); targets = Utils.getTier(attacker); for (Entity derp : x.getWorld().getEntities()) { if (Utils.getDistance(x.getLocation(), derp.getLocation()) < 5) { // Make sure the Wolf is not friendly if (derp instanceof Wolf) { Wolf hurrDurr = (Wolf) derp; if (Taming.getOwner(hurrDurr, pluginx) == attacker) continue; // if(Party.getInstance().inSameParty(attacker, Taming.getOwner(hurrDurr, // pluginx))) // continue; } // Damage nearby LivingEntities if (derp instanceof LivingEntity && targets >= 1) { if (derp instanceof Player) { Player target = (Player) derp; if (target.getName().equals(attacker.getName())) continue; if (Users.getProfile(target).getGodMode()) continue; // if(Party.getInstance().inSameParty(attacker, target)) // continue; if (targets >= 1 && derp.getWorld().getPVP()) { target.damage(event.getDamage() / 4); target.sendMessage(ChatColor.DARK_RED + "Struck by Serrated Strikes!"); if (Combat.dealDamage(attacker, target, 0)) target.increaseBleedTicks(5); target.setLastCustomDamageCause( new EntityDamageByEntityEvent(attacker, target, DamageCause.ENTITY_ATTACK, 0)); targets--; continue; } } else { LivingEntity target = (LivingEntity) derp; target.increaseBleedTicks(5); target.damage(event.getDamage() / 4); target.setLastCustomDamageCause( new EntityDamageByEntityEvent(attacker, target, DamageCause.ENTITY_ATTACK, 0)); targets--; } } } } } }
public static void bleedCheck(Player attacker, LivingEntity damaged, mcMMO pluginx) { PlayerProfile PPa = Users.getProfile(attacker); if (damaged.getBleedTicks() > 0) return; if (damaged instanceof Wolf) { Wolf wolf = (Wolf) damaged; if (Taming.getOwner(wolf, pluginx) != null) { if (Taming.getOwner(wolf, pluginx) == attacker) return; // if(Party.getInstance().inSameParty(attacker, Taming.getOwner(wolf, pluginx))) // return; } } if (mcPermissions.skillPermission(SkillType.SWORDS, attacker) && Utils.isSword(attacker.getItemInHand())) { if (Math.random() * 1000 <= Math.min(PPa.getSkillLevel(SkillType.SWORDS), 750)) { if (!(damaged instanceof Player) || Combat.dealDamage(attacker, damaged, 0)) damaged.increaseBleedTicks(5); attacker.sendMessage(ChatColor.GREEN + "**ENEMY BLEEDING**"); damaged.setLastCustomDamageCause( new EntityDamageByEntityEvent(attacker, damaged, DamageCause.ENTITY_ATTACK, 0)); } } }
private boolean rangeCheck(EntityType type) { double range = Config.getInstance().getTamingCOTWRange(); Player player = getPlayer(); if (range == 0) { return true; } for (Entity entity : player.getNearbyEntities(range, range, range)) { if (entity.getType() == type) { player.sendMessage(Taming.getCallOfTheWildFailureMessage(type)); return false; } } return true; }