mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-01-19 08:55:26 +01:00
Fixed Arcobatics & Archery ignoring ChanceMax settings from advanced config
This commit is contained in:
parent
6d76a14ed0
commit
3aee334fbd
@ -6,12 +6,17 @@ import com.gmail.nossr50.config.AdvancedConfig;
|
|||||||
|
|
||||||
public class Acrobatics {
|
public class Acrobatics {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
public static final int DODGE_MAX_CHANCE = advancedConfig.getDodgeChanceMax();
|
||||||
public static final int DODGE_MAX_BONUS_LEVEL = advancedConfig.getDodgeMaxBonusLevel();
|
public static final int DODGE_MAX_BONUS_LEVEL = advancedConfig.getDodgeMaxBonusLevel();
|
||||||
public static final int DODGE_XP_MODIFIER = advancedConfig.getDodgeXPModifier();
|
public static final int DODGE_XP_MODIFIER = advancedConfig.getDodgeXPModifier();
|
||||||
|
|
||||||
public static final int FALL_XP_MODIFIER = advancedConfig.getFallXPModifier();
|
public static final int ROLL_MAX_CHANCE = advancedConfig.getRollChanceMax();
|
||||||
public static final int ROLL_MAX_BONUS_LEVEL = advancedConfig.getRollMaxBonusLevel();
|
public static final int ROLL_MAX_BONUS_LEVEL = advancedConfig.getRollMaxBonusLevel();
|
||||||
|
public static final int GRACEFUL_MAX_CHANCE = advancedConfig.getGracefulRollChanceMax();
|
||||||
|
public static final int GRACEFUL_MAX_BONUS_LEVEL = advancedConfig.getGracefulRollMaxBonusLevel();
|
||||||
|
|
||||||
public static final int ROLL_XP_MODIFIER = advancedConfig.getRollXPModifier();
|
public static final int ROLL_XP_MODIFIER = advancedConfig.getRollXPModifier();
|
||||||
|
public static final int FALL_XP_MODIFIER = advancedConfig.getFallXPModifier();
|
||||||
|
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
|
|
||||||
|
@ -40,13 +40,20 @@ public class AcrobaticsManager {
|
|||||||
|
|
||||||
RollEventHandler eventHandler = new RollEventHandler(this, event);
|
RollEventHandler eventHandler = new RollEventHandler(this, event);
|
||||||
|
|
||||||
int randomChance = 1000;
|
int randomChance = 100;
|
||||||
|
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Acrobatics.getRandom().nextInt(randomChance) <= eventHandler.skillModifier && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
float chance = (float) (((double) Acrobatics.ROLL_MAX_CHANCE / (double) Acrobatics.ROLL_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
|
if (chance > Acrobatics.ROLL_MAX_CHANCE) chance = Acrobatics.ROLL_MAX_CHANCE;
|
||||||
|
if (eventHandler.isGraceful) {
|
||||||
|
chance = (float) (((double) Acrobatics.GRACEFUL_MAX_CHANCE / (double) Acrobatics.GRACEFUL_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
|
if (chance > Acrobatics.GRACEFUL_MAX_CHANCE) chance = Acrobatics.GRACEFUL_MAX_CHANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chance > Acrobatics.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
eventHandler.processXPGain(eventHandler.damage * Acrobatics.ROLL_XP_MODIFIER);
|
eventHandler.processXPGain(eventHandler.damage * Acrobatics.ROLL_XP_MODIFIER);
|
||||||
@ -71,13 +78,16 @@ public class AcrobaticsManager {
|
|||||||
|
|
||||||
DodgeEventHandler eventHandler = new DodgeEventHandler(this, event);
|
DodgeEventHandler eventHandler = new DodgeEventHandler(this, event);
|
||||||
|
|
||||||
int randomChance = 4000;
|
int randomChance = 100;
|
||||||
|
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Acrobatics.getRandom().nextInt(randomChance) <= eventHandler.skillModifier && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
float chance = (float) (((double) Acrobatics.DODGE_MAX_CHANCE / (double) Acrobatics.DODGE_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
|
if (chance > Acrobatics.DODGE_MAX_CHANCE) chance = Acrobatics.DODGE_MAX_CHANCE;
|
||||||
|
|
||||||
|
if (chance > Acrobatics.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
eventHandler.processXPGain(eventHandler.damage * Acrobatics.DODGE_XP_MODIFIER);
|
eventHandler.processXPGain(eventHandler.damage * Acrobatics.DODGE_XP_MODIFIER);
|
||||||
|
@ -9,7 +9,7 @@ import com.gmail.nossr50.util.Permissions;
|
|||||||
import com.gmail.nossr50.util.Skills;
|
import com.gmail.nossr50.util.Skills;
|
||||||
|
|
||||||
public class RollEventHandler extends AcrobaticsEventHandler {
|
public class RollEventHandler extends AcrobaticsEventHandler {
|
||||||
private boolean isGraceful;
|
public boolean isGraceful;
|
||||||
private int damageThreshold;
|
private int damageThreshold;
|
||||||
|
|
||||||
protected RollEventHandler(AcrobaticsManager manager, EntityDamageEvent event) {
|
protected RollEventHandler(AcrobaticsManager manager, EntityDamageEvent event) {
|
||||||
|
@ -49,7 +49,10 @@ public class ArcheryManager {
|
|||||||
if (player.hasPermission("mcmmo.perks.lucky.archery")) {
|
if (player.hasPermission("mcmmo.perks.lucky.archery")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
final float chance = (float) (((double) Archery.ARROW_TRACKING_MAX_BONUS / (double) Archery.ARROW_TRACKING_MAX_BONUS_LEVEL) * skillLevel);
|
|
||||||
|
float chance = (float) (((double) Archery.ARROW_TRACKING_MAX_BONUS / (double) Archery.ARROW_TRACKING_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
|
if (chance > Archery.ARROW_TRACKING_MAX_BONUS) chance = Archery.ARROW_TRACKING_MAX_BONUS;
|
||||||
|
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.addToTracker();
|
eventHandler.addToTracker();
|
||||||
}
|
}
|
||||||
@ -80,7 +83,9 @@ public class ArcheryManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (float) (((double) Archery.DAZE_MAX_BONUS / (double) Archery.DAZE_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Archery.DAZE_MAX_BONUS / (double) Archery.DAZE_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
|
if (chance > Archery.DAZE_MAX_BONUS) chance = Archery.DAZE_MAX_BONUS;
|
||||||
|
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.handleDazeEffect();
|
eventHandler.handleDazeEffect();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user