|
@@ -1,13 +1,10 @@
|
|
package com.gmail.nossr50.skills.unarmed;
|
|
package com.gmail.nossr50.skills.unarmed;
|
|
|
|
|
|
-import org.bukkit.ChatColor;
|
|
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.entity.EntityDamageEvent;
|
|
import org.bukkit.event.entity.EntityDamageEvent;
|
|
|
|
|
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
import com.gmail.nossr50.datatypes.SkillType;
|
|
import com.gmail.nossr50.datatypes.SkillType;
|
|
-import com.gmail.nossr50.locale.LocaleLoader;
|
|
|
|
-import com.gmail.nossr50.util.Misc;
|
|
|
|
import com.gmail.nossr50.util.Permissions;
|
|
import com.gmail.nossr50.util.Permissions;
|
|
import com.gmail.nossr50.util.Users;
|
|
import com.gmail.nossr50.util.Users;
|
|
|
|
|
|
@@ -39,7 +36,7 @@ public class UnarmedManager {
|
|
if (eventHandler.isHoldingItem()) {
|
|
if (eventHandler.isHoldingItem()) {
|
|
eventHandler.calculateSkillModifier();
|
|
eventHandler.calculateSkillModifier();
|
|
|
|
|
|
- if (Unarmed.getRandom().nextInt(3000) <= eventHandler.skillModifier) {
|
|
|
|
|
|
+ if (Unarmed.getRandom().nextInt(3000) < eventHandler.skillModifier) {
|
|
if (!hasIronGrip(defender)) {
|
|
if (!hasIronGrip(defender)) {
|
|
eventHandler.sendAbilityMessage();
|
|
eventHandler.sendAbilityMessage();
|
|
eventHandler.handleDisarm();
|
|
eventHandler.handleDisarm();
|
|
@@ -54,15 +51,33 @@ public class UnarmedManager {
|
|
* @param defender The defending player
|
|
* @param defender The defending player
|
|
* @param event The event to modify
|
|
* @param event The event to modify
|
|
*/
|
|
*/
|
|
- public void deflectCheck(Player defender, EntityDamageEvent event) {
|
|
|
|
- if (!permissionsInstance.deflect(defender)) {
|
|
|
|
|
|
+ public void deflectCheck(EntityDamageEvent event) {
|
|
|
|
+ if (!permissionsInstance.deflect(player)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- if (Unarmed.getRandom().nextInt(2000) <= skillLevel) {
|
|
|
|
- event.setCancelled(true);
|
|
|
|
- defender.sendMessage(LocaleLoader.getString("Combat.ArrowDeflect"));
|
|
|
|
|
|
+ DeflectEventHandler eventHandler = new DeflectEventHandler(this, event);
|
|
|
|
+
|
|
|
|
+ if (Unarmed.getRandom().nextInt(2000) < eventHandler.skillModifier) {
|
|
|
|
+ eventHandler.cancelEvent();
|
|
|
|
+ eventHandler.sendAbilityMessage();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Handle Unarmed bonus damage.
|
|
|
|
+ *
|
|
|
|
+ * @param event The event to modify.
|
|
|
|
+ */
|
|
|
|
+ public void bonusDamage(EntityDamageEvent event) {
|
|
|
|
+ if (!permissionsInstance.unarmedBonus(player)) {
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ UnarmedBonusDamageEventHandler eventHandler = new UnarmedBonusDamageEventHandler(this, event);
|
|
|
|
+
|
|
|
|
+ eventHandler.calculateDamageBonus();
|
|
|
|
+ eventHandler.modifyEventDamage();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -76,7 +91,7 @@ public class UnarmedManager {
|
|
|
|
|
|
IronGripEventHandler eventHandler = new IronGripEventHandler(this, defender);
|
|
IronGripEventHandler eventHandler = new IronGripEventHandler(this, defender);
|
|
|
|
|
|
- if (Unarmed.getRandom().nextInt(1000) <= eventHandler.skillModifier) {
|
|
|
|
|
|
+ if (Unarmed.getRandom().nextInt(1000) < eventHandler.skillModifier) {
|
|
eventHandler.sendAbilityMessages();
|
|
eventHandler.sendAbilityMessages();
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|