Example #1
0
  /**
   * Check for Bleed effect.
   *
   * @param defender The defending entity
   */
  public void bleedCheck(LivingEntity defender) {
    if (player == null) return;

    if (!Permissions.swordsBleed(player)) {
      return;
    }

    if (Combat.shouldBeAffected(player, defender)) {
      BleedEventHandler eventHandler = new BleedEventHandler(this, defender);

      int randomChance = 100;

      if (Permissions.luckySwords(player)) {
        randomChance = (int) (randomChance * 0.75);
      }

      float chance =
          (float)
              (((double) Swords.BLEED_CHANCE_MAX / (double) Swords.BLEED_MAX_BONUS_LEVEL)
                  * skillLevel);
      if (chance > Swords.BLEED_CHANCE_MAX) chance = Swords.BLEED_CHANCE_MAX;

      if (chance > Misc.getRandom().nextInt(randomChance)) {
        eventHandler.addBleedTicks();
        eventHandler.sendAbilityMessages();
      }
    }
  }
Example #2
0
  /**
   * Check for Bleed effect.
   *
   * @param defender The defending entity
   */
  public void bleedCheck(LivingEntity defender) {
    if (!permissionsInstance.swordsBleed(player)) {
      return;
    }

    if (Combat.shouldBeAffected(player, defender)) {
      BleedEventHandler eventHandler = new BleedEventHandler(this, defender);

      int randomChance = 1000;

      if (player.hasPermission("mcmmo.perks.lucky.swords")) {
        randomChance = (int) (randomChance * 0.75);
      }

      if (Swords.getRandom().nextInt(randomChance) < eventHandler.skillModifier) {
        eventHandler.addBleedTicks();
        eventHandler.sendAbilityMessages();
      }
    }
  }