Exemple #1
0
  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--;
            }
          }
        }
      }
    }
  }
Exemple #2
0
 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));
     }
   }
 }
Exemple #3
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;
  }