12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.gmail.nossr50.skills.axes;
- import org.bukkit.entity.LivingEntity;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import com.gmail.nossr50.datatypes.McMMOPlayer;
- import com.gmail.nossr50.skills.SkillManager;
- import com.gmail.nossr50.skills.utilities.SkillType;
- import com.gmail.nossr50.util.Misc;
- public class AxeManager extends SkillManager {
- public AxeManager(McMMOPlayer mcMMOPlayer) {
- super(mcMMOPlayer, SkillType.AXES);
- }
- /**
- * Apply bonus to damage done by axes.
- *
- * @param event The event to modify
- */
- public void bonusDamage(EntityDamageByEntityEvent event) {
- AxeBonusDamageEventHandler eventHandler = new AxeBonusDamageEventHandler(this, event);
- eventHandler.calculateDamageBonus();
- eventHandler.modifyEventDamage();
- }
- /**
- * Check for critical chances on axe damage.
- *
- * @param event The event to modify
- */
- public void criticalHitCheck(EntityDamageByEntityEvent event, LivingEntity target) {
- CriticalHitEventHandler eventHandler = new CriticalHitEventHandler(this, event, target);
- double chance = (Axes.criticalHitMaxChance / Axes.criticalHitMaxBonusLevel) * eventHandler.skillModifier;
- if (chance > Misc.getRandom().nextInt(activationChance)) {
- eventHandler.modifyEventDamage();
- eventHandler.sendAbilityMessages();
- }
- }
- /**
- * Check for Impact ability.
- *
- * @param event The event to modify
- */
- public void impact(EntityDamageByEntityEvent event, LivingEntity target) {
- ImpactEventHandler eventHandler = new ImpactEventHandler(this, event, target);
- if (!eventHandler.applyImpact()) {
- eventHandler.applyGreaterImpact();
- }
- }
- /**
- * Check for Skull Splitter ability.
- *
- * @param target The entity hit by Skull Splitter
- * @param damage The base damage to deal
- */
- public void skullSplitter(LivingEntity target, int damage) {
- SkullSplitterEventHandler eventHandler = new SkullSplitterEventHandler(mcMMOPlayer.getPlayer(), damage, target);
- eventHandler.applyAbilityEffects();
- }
- }
|