mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 07:06:45 +01:00
Merge pull request #326 from Glitchfinder/fixes
More fixes and patches.
This commit is contained in:
commit
fd5de7b218
@ -10,90 +10,90 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class AcrobaticsCommand extends SkillCommand {
|
public class AcrobaticsCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String dodgeChance;
|
private String dodgeChance;
|
||||||
private String rollChance;
|
private String rollChance;
|
||||||
private String gracefulRollChance;
|
private String gracefulRollChance;
|
||||||
|
|
||||||
private float dodgeChanceMax = advancedConfig.getDodgeChanceMax();
|
private float dodgeChanceMax = advancedConfig.getDodgeChanceMax();
|
||||||
private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel();
|
private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel();
|
||||||
private float rollChanceMax = advancedConfig.getRollChanceMax();
|
private float rollChanceMax = advancedConfig.getRollChanceMax();
|
||||||
private float rollMaxBonusLevel = advancedConfig.getRollMaxBonusLevel();
|
private float rollMaxBonusLevel = advancedConfig.getRollMaxBonusLevel();
|
||||||
private float gracefulRollChanceMax = advancedConfig.getGracefulRollChanceMax();
|
private float gracefulRollChanceMax = advancedConfig.getGracefulRollChanceMax();
|
||||||
private float gracefulRollMaxBonusLevel = advancedConfig.getGracefulRollMaxBonusLevel();
|
private float gracefulRollMaxBonusLevel = advancedConfig.getGracefulRollMaxBonusLevel();
|
||||||
|
|
||||||
private boolean canDodge;
|
private boolean canDodge;
|
||||||
private boolean canRoll;
|
private boolean canRoll;
|
||||||
private boolean canGracefulRoll;
|
private boolean canGracefulRoll;
|
||||||
|
|
||||||
public AcrobaticsCommand() {
|
public AcrobaticsCommand() {
|
||||||
super(SkillType.ACROBATICS);
|
super(SkillType.ACROBATICS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
// DODGE
|
// DODGE
|
||||||
if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax);
|
if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax);
|
||||||
else dodgeChance = df.format((dodgeChanceMax / dodgeMaxBonusLevel) * skillValue);
|
else dodgeChance = df.format(((double) dodgeChanceMax / (double) dodgeMaxBonusLevel) * (double) skillValue);
|
||||||
// ROLL
|
// ROLL
|
||||||
if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax);
|
if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax);
|
||||||
else rollChance = df.format((rollChanceMax / rollMaxBonusLevel) * skillValue);
|
else rollChance = df.format(((double) rollChanceMax / (double) rollMaxBonusLevel) * (double) skillValue);
|
||||||
// GRACEFULROLL
|
// GRACEFULROLL
|
||||||
if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax);
|
if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax);
|
||||||
else gracefulRollChance = df.format((gracefulRollChanceMax / gracefulRollMaxBonusLevel) * skillValue);
|
else gracefulRollChance = df.format(((double) gracefulRollChanceMax / (double) gracefulRollMaxBonusLevel) * (double) skillValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void permissionsCheck() {
|
protected void permissionsCheck() {
|
||||||
canDodge = permInstance.dodge(player);
|
canDodge = permInstance.dodge(player);
|
||||||
canRoll = permInstance.roll(player);
|
canRoll = permInstance.roll(player);
|
||||||
canGracefulRoll = permInstance.gracefulRoll(player);
|
canGracefulRoll = permInstance.gracefulRoll(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean effectsHeaderPermissions() {
|
protected boolean effectsHeaderPermissions() {
|
||||||
return canDodge || canGracefulRoll || canRoll;
|
return canDodge || canGracefulRoll || canRoll;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void effectsDisplay() {
|
protected void effectsDisplay() {
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
|
||||||
String perkPrefix = ChatColor.RED + "[mcMMO Perks] ";
|
String perkPrefix = ChatColor.RED + "[mcMMO Perks] ";
|
||||||
player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Acrobatics" }) }));
|
player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Acrobatics" }) }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canRoll) {
|
if (canRoll) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.0"), LocaleLoader.getString("Acrobatics.Effect.1") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.0"), LocaleLoader.getString("Acrobatics.Effect.1") }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canGracefulRoll) {
|
if (canGracefulRoll) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.2"), LocaleLoader.getString("Acrobatics.Effect.3") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.2"), LocaleLoader.getString("Acrobatics.Effect.3") }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDodge) {
|
if (canDodge) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.4"), LocaleLoader.getString("Acrobatics.Effect.5") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.4"), LocaleLoader.getString("Acrobatics.Effect.5") }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean statsHeaderPermissions() {
|
protected boolean statsHeaderPermissions() {
|
||||||
return canDodge || canGracefulRoll || canRoll;
|
return canDodge || canGracefulRoll || canRoll;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void statsDisplay() {
|
protected void statsDisplay() {
|
||||||
if (canRoll) {
|
if (canRoll) {
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canGracefulRoll) {
|
if (canGracefulRoll) {
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDodge) {
|
if (canDodge) {
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,97 +10,97 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class ArcheryCommand extends SkillCommand {
|
public class ArcheryCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String skillShotBonus;
|
private String skillShotBonus;
|
||||||
private String dazeChance;
|
private String dazeChance;
|
||||||
private String retrieveChance;
|
private String retrieveChance;
|
||||||
|
|
||||||
private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel();
|
private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel();
|
||||||
private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage();
|
private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage();
|
||||||
private double skillShotBonusMax = advancedConfig.getSkillShotBonusMax();
|
private double skillShotBonusMax = advancedConfig.getSkillShotBonusMax();
|
||||||
|
|
||||||
private float dazeBonusMax = advancedConfig.getDazeBonusMax();
|
private float dazeBonusMax = advancedConfig.getDazeBonusMax();
|
||||||
private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel();
|
private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel();
|
||||||
|
|
||||||
private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax();
|
private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax();
|
||||||
private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel();
|
private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel();
|
||||||
|
|
||||||
|
|
||||||
private boolean canSkillShot;
|
private boolean canSkillShot;
|
||||||
private boolean canDaze;
|
private boolean canDaze;
|
||||||
private boolean canRetrieve;
|
private boolean canRetrieve;
|
||||||
|
|
||||||
public ArcheryCommand() {
|
public ArcheryCommand() {
|
||||||
super(SkillType.ARCHERY);
|
super(SkillType.ARCHERY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
// SkillShot
|
// SkillShot
|
||||||
double bonus = (int)(skillValue / skillShotIncreaseLevel) * skillShotIncreasePercentage;
|
double bonus = (int)((double) skillValue / (double) skillShotIncreaseLevel) * (double) skillShotIncreasePercentage;
|
||||||
if (bonus > skillShotBonusMax) skillShotBonus = percent.format(skillShotBonusMax);
|
if (bonus > skillShotBonusMax) skillShotBonus = percent.format(skillShotBonusMax);
|
||||||
else skillShotBonus = percent.format(bonus);
|
else skillShotBonus = percent.format(bonus);
|
||||||
|
|
||||||
// Daze
|
// Daze
|
||||||
if(skillValue >= dazeMaxBonusLevel) dazeChance = df.format(dazeBonusMax);
|
if(skillValue >= dazeMaxBonusLevel) dazeChance = df.format(dazeBonusMax);
|
||||||
else dazeChance = df.format((dazeBonusMax / dazeMaxBonusLevel) * skillValue);
|
else dazeChance = df.format(((double) dazeBonusMax / (double) dazeMaxBonusLevel) * (double) skillValue);
|
||||||
|
|
||||||
// Retrieve
|
// Retrieve
|
||||||
if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax);
|
if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax);
|
||||||
else retrieveChance = df.format((retrieveBonusMax / retrieveMaxBonusLevel) * skillValue);
|
else retrieveChance = df.format(((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * (double) skillValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void permissionsCheck() {
|
protected void permissionsCheck() {
|
||||||
canSkillShot = permInstance.archeryBonus(player);
|
canSkillShot = permInstance.archeryBonus(player);
|
||||||
canDaze = permInstance.daze(player);
|
canDaze = permInstance.daze(player);
|
||||||
canRetrieve = permInstance.trackArrows(player);
|
canRetrieve = permInstance.trackArrows(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean effectsHeaderPermissions() {
|
protected boolean effectsHeaderPermissions() {
|
||||||
return canSkillShot || canDaze || canRetrieve;
|
return canSkillShot || canDaze || canRetrieve;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void effectsDisplay() {
|
protected void effectsDisplay() {
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.archery")) {
|
if (player.hasPermission("mcmmo.perks.lucky.archery")) {
|
||||||
String perkPrefix = ChatColor.RED + "[mcMMO Perks] ";
|
String perkPrefix = ChatColor.RED + "[mcMMO Perks] ";
|
||||||
player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Archery" }) }));
|
player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Archery" }) }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canSkillShot) {
|
if (canSkillShot) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.0"), LocaleLoader.getString("Archery.Effect.1") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.0"), LocaleLoader.getString("Archery.Effect.1") }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDaze) {
|
if (canDaze) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.2"), LocaleLoader.getString("Archery.Effect.3") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.2"), LocaleLoader.getString("Archery.Effect.3") }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canRetrieve) {
|
if (canRetrieve) {
|
||||||
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.4"), LocaleLoader.getString("Archery.Effect.5") }));
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.4"), LocaleLoader.getString("Archery.Effect.5") }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean statsHeaderPermissions() {
|
protected boolean statsHeaderPermissions() {
|
||||||
return canSkillShot || canDaze || canRetrieve;
|
return canSkillShot || canDaze || canRetrieve;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void statsDisplay() {
|
protected void statsDisplay() {
|
||||||
if (canSkillShot) {
|
if (canSkillShot) {
|
||||||
player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus }));
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDaze) {
|
if (canDaze) {
|
||||||
player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }));
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canRetrieve) {
|
if (canRetrieve) {
|
||||||
player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }));
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import com.gmail.nossr50.locale.LocaleLoader;
|
|||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
|
|
||||||
public class AxesCommand extends SkillCommand {
|
public class AxesCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String critChance;
|
private String critChance;
|
||||||
private String bonusDamage;
|
private String bonusDamage;
|
||||||
@ -19,13 +19,13 @@ public class AxesCommand extends SkillCommand {
|
|||||||
private String greaterImpactDamage;
|
private String greaterImpactDamage;
|
||||||
private String skullSplitterLength;
|
private String skullSplitterLength;
|
||||||
|
|
||||||
private int bonusDamageAxesBonusMax = advancedConfig.getBonusDamageAxesBonusMax();
|
private int bonusDamageAxesBonusMax = advancedConfig.getBonusDamageAxesBonusMax();
|
||||||
private int bonusDamageAxesMaxBonusLevel = advancedConfig.getBonusDamageAxesMaxBonusLevel();
|
private int bonusDamageAxesMaxBonusLevel = advancedConfig.getBonusDamageAxesMaxBonusLevel();
|
||||||
private double critMaxChance = advancedConfig.getAxesCriticalChance();
|
private double critMaxChance = advancedConfig.getAxesCriticalChance();
|
||||||
private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel();
|
private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel();
|
||||||
private int greaterImpactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel();
|
private int greaterImpactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel();
|
||||||
// private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier();
|
// private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier();
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
|
|
||||||
private boolean canSkullSplitter;
|
private boolean canSkullSplitter;
|
||||||
private boolean canCritical;
|
private boolean canCritical;
|
||||||
@ -39,17 +39,17 @@ public class AxesCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel);
|
int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel);
|
||||||
|
|
||||||
impactDamage = String.valueOf(1 + ((int) skillValue / greaterImpactIncreaseLevel));
|
impactDamage = String.valueOf(1 + ((double) skillValue / (double) greaterImpactIncreaseLevel));
|
||||||
skullSplitterLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
skullSplitterLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
greaterImpactDamage = "2";
|
greaterImpactDamage = "2";
|
||||||
|
|
||||||
if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance);
|
if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance);
|
||||||
else critChance = String.valueOf((critMaxChance / critMaxBonusLevel) * (float)skillCheck);
|
else critChance = String.valueOf(((double) critMaxChance / (double) critMaxBonusLevel) * (double) skillCheck);
|
||||||
if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax);
|
if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax);
|
||||||
else bonusDamage = String.valueOf((int) skillValue / (bonusDamageAxesMaxBonusLevel / bonusDamageAxesBonusMax));
|
else bonusDamage = String.valueOf((double) skillValue / ((double) bonusDamageAxesMaxBonusLevel / (double) bonusDamageAxesBonusMax));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -8,7 +8,7 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class ExcavationCommand extends SkillCommand {
|
public class ExcavationCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private String gigaDrillBreakerLength;
|
private String gigaDrillBreakerLength;
|
||||||
|
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
@ -22,7 +22,7 @@ public class ExcavationCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
gigaDrillBreakerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
gigaDrillBreakerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -30,10 +30,10 @@ public class FishingCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
lootTier = Fishing.getFishingLootTier(profile);
|
lootTier = Fishing.getFishingLootTier(profile);
|
||||||
magicChance = percent.format((float) lootTier / 15);
|
magicChance = percent.format((double) lootTier / 15D);
|
||||||
int dropChance = Fishing.getShakeChance(lootTier);
|
int dropChance = Fishing.getShakeChance(lootTier);
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.fishing")) {
|
if (player.hasPermission("mcmmo.perks.lucky.fishing")) {
|
||||||
dropChance = (int) (dropChance * 1.25);
|
dropChance = (int) ((double) dropChance * 1.25D);
|
||||||
}
|
}
|
||||||
shakeChance = String.valueOf(dropChance);
|
shakeChance = String.valueOf(dropChance);
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class HerbalismCommand extends SkillCommand {
|
public class HerbalismCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String greenTerraLength;
|
private String greenTerraLength;
|
||||||
private String greenThumbChance;
|
private String greenThumbChance;
|
||||||
@ -42,21 +42,21 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
greenTerraLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
greenTerraLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
//FARMERS DIET
|
//FARMERS DIET
|
||||||
if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5";
|
if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5";
|
||||||
else farmersDietRank = String.valueOf((int)skillValue / farmersDietRankChange);
|
else farmersDietRank = String.valueOf((double) skillValue / (double) farmersDietRankChange);
|
||||||
//GREEN THUMB
|
//GREEN THUMB
|
||||||
if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4";
|
if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4";
|
||||||
else greenThumbStage = String.valueOf((int)skillValue / greenThumbStageChange);
|
else greenThumbStage = String.valueOf((double) skillValue / (double) greenThumbStageChange);
|
||||||
|
|
||||||
|
|
||||||
if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus);
|
if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus);
|
||||||
else greenThumbChance = String.valueOf((greenThumbMaxBonus / greenThumbMaxLevel) * skillValue);
|
else greenThumbChance = String.valueOf(((double) greenThumbMaxBonus / (double) greenThumbMaxLevel) * (double) skillValue);
|
||||||
//DOUBLE DROPS
|
//DOUBLE DROPS
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -12,25 +12,25 @@ import com.gmail.nossr50.locale.LocaleLoader;
|
|||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
|
|
||||||
public class MiningCommand extends SkillCommand {
|
public class MiningCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private String doubleDropChance;
|
private String doubleDropChance;
|
||||||
private String superBreakerLength;
|
private String superBreakerLength;
|
||||||
private String blastMiningRank;
|
private String blastMiningRank;
|
||||||
private String blastRadiusIncrease;
|
private String blastRadiusIncrease;
|
||||||
private String blastDamageDecrease;
|
private String blastDamageDecrease;
|
||||||
|
|
||||||
private int blastMiningRank1 = advancedConfig.getBlastMiningRank1();
|
private int blastMiningRank1 = advancedConfig.getBlastMiningRank1();
|
||||||
private int blastMiningRank2 = advancedConfig.getBlastMiningRank2();
|
private int blastMiningRank2 = advancedConfig.getBlastMiningRank2();
|
||||||
private int blastMiningRank3 = advancedConfig.getBlastMiningRank3();
|
private int blastMiningRank3 = advancedConfig.getBlastMiningRank3();
|
||||||
private int blastMiningRank4 = advancedConfig.getBlastMiningRank4();
|
private int blastMiningRank4 = advancedConfig.getBlastMiningRank4();
|
||||||
private int blastMiningRank5 = advancedConfig.getBlastMiningRank5();
|
private int blastMiningRank5 = advancedConfig.getBlastMiningRank5();
|
||||||
private int blastMiningRank6 = advancedConfig.getBlastMiningRank6();
|
private int blastMiningRank6 = advancedConfig.getBlastMiningRank6();
|
||||||
private int blastMiningRank7 = advancedConfig.getBlastMiningRank7();
|
private int blastMiningRank7 = advancedConfig.getBlastMiningRank7();
|
||||||
private int blastMiningRank8 = advancedConfig.getBlastMiningRank8();
|
private int blastMiningRank8 = advancedConfig.getBlastMiningRank8();
|
||||||
|
|
||||||
private double doubleDropsMaxBonus = advancedConfig.getMiningDoubleDropChance();
|
private double doubleDropsMaxBonus = advancedConfig.getMiningDoubleDropChance();
|
||||||
private int doubleDropsMaxLevel = advancedConfig.getMiningDoubleDropMaxLevel();
|
private int doubleDropsMaxLevel = advancedConfig.getMiningDoubleDropMaxLevel();
|
||||||
public int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
public int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
|
|
||||||
private boolean canSuperBreaker;
|
private boolean canSuperBreaker;
|
||||||
private boolean canDoubleDrop;
|
private boolean canDoubleDrop;
|
||||||
@ -45,10 +45,10 @@ public class MiningCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
superBreakerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
superBreakerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue);
|
||||||
|
|
||||||
if (skillValue >= blastMiningRank8) {
|
if (skillValue >= blastMiningRank8) {
|
||||||
blastMiningRank = "8";
|
blastMiningRank = "8";
|
||||||
|
@ -14,15 +14,15 @@ import com.gmail.nossr50.skills.repair.Repair;
|
|||||||
import com.gmail.nossr50.skills.repair.Repairable;
|
import com.gmail.nossr50.skills.repair.Repairable;
|
||||||
|
|
||||||
public class RepairCommand extends SkillCommand {
|
public class RepairCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private int arcaneForgingRank;
|
private int arcaneForgingRank;
|
||||||
private String repairMasteryBonus;
|
private String repairMasteryBonus;
|
||||||
private String superRepairChance;
|
private String superRepairChance;
|
||||||
|
|
||||||
private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
||||||
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
||||||
private float superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
private float superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
||||||
private float superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
private float superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
||||||
|
|
||||||
private boolean canSuperRepair;
|
private boolean canSuperRepair;
|
||||||
private boolean canMasterRepair;
|
private boolean canMasterRepair;
|
||||||
@ -35,6 +35,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
private boolean canRepairString;
|
private boolean canRepairString;
|
||||||
private boolean canRepairLeather;
|
private boolean canRepairLeather;
|
||||||
private boolean canRepairWood;
|
private boolean canRepairWood;
|
||||||
|
private boolean arcaneBypass;
|
||||||
|
|
||||||
private int salvageLevel;
|
private int salvageLevel;
|
||||||
private int diamondLevel;
|
private int diamondLevel;
|
||||||
@ -48,7 +49,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
// We're using pickaxes here, not the best but it works
|
// We're using pickaxes here, not the best but it works
|
||||||
Repairable diamondRepairable = mcMMO.repairManager.getRepairable(278);
|
Repairable diamondRepairable = mcMMO.repairManager.getRepairable(278);
|
||||||
Repairable goldRepairable = mcMMO.repairManager.getRepairable(285);
|
Repairable goldRepairable = mcMMO.repairManager.getRepairable(285);
|
||||||
@ -63,10 +64,10 @@ public class RepairCommand extends SkillCommand {
|
|||||||
salvageLevel = Config.getInstance().getSalvageUnlockLevel();
|
salvageLevel = Config.getInstance().getSalvageUnlockLevel();
|
||||||
|
|
||||||
if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax);
|
if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax);
|
||||||
else repairMasteryBonus = df.format((repairMasteryChanceMax / repairMasteryMaxBonusLevel) * skillValue);
|
else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * (double) skillValue);
|
||||||
|
|
||||||
if(skillValue >= superRepairMaxBonusLevel) superRepairChance = df.format(superRepairChanceMax);
|
if(skillValue >= superRepairMaxBonusLevel) superRepairChance = df.format(superRepairChanceMax);
|
||||||
else superRepairChance = df.format((superRepairChanceMax / superRepairMaxBonusLevel) * skillValue);
|
else superRepairChance = df.format(((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * (double) skillValue);
|
||||||
|
|
||||||
arcaneForgingRank = Repair.getArcaneForgingRank(profile);
|
arcaneForgingRank = Repair.getArcaneForgingRank(profile);
|
||||||
}
|
}
|
||||||
@ -84,6 +85,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
canRepairString = permInstance.stringRepair(player);
|
canRepairString = permInstance.stringRepair(player);
|
||||||
canRepairLeather = permInstance.leatherRepair(player);
|
canRepairLeather = permInstance.leatherRepair(player);
|
||||||
canRepairWood = permInstance.woodRepair(player);
|
canRepairWood = permInstance.woodRepair(player);
|
||||||
|
arcaneBypass = permInstance.arcaneBypass(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -154,11 +156,11 @@ public class RepairCommand extends SkillCommand {
|
|||||||
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Rank", new Object[] { arcaneForgingRank }));
|
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Rank", new Object[] { arcaneForgingRank }));
|
||||||
|
|
||||||
if (Config.getInstance().getArcaneForgingEnchantLossEnabled()) {
|
if (Config.getInstance().getArcaneForgingEnchantLossEnabled()) {
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Chance.Success", new Object[] { Repair.getEnchantChance(arcaneForgingRank) }));
|
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Chance.Success", new Object[] { (arcaneBypass ? 100 : Repair.getEnchantChance(arcaneForgingRank)) }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.getInstance().getArcaneForgingDowngradeEnabled()) {
|
if (Config.getInstance().getArcaneForgingDowngradeEnabled()) {
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Chance.Downgrade", new Object[] { Repair.getDowngradeChance(arcaneForgingRank) }));
|
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Chance.Downgrade", new Object[] { (arcaneBypass ? 0 : Repair.getDowngradeChance(arcaneForgingRank)) }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class SwordsCommand extends SkillCommand {
|
public class SwordsCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String counterAttackChance;
|
private String counterAttackChance;
|
||||||
private String bleedLength;
|
private String bleedLength;
|
||||||
@ -36,19 +36,19 @@ public class SwordsCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
serratedStrikesLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
serratedStrikesLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
|
|
||||||
if (skillValue >= bleedMaxLevel) bleedLength = String.valueOf(bleedMaxTicks);
|
if (skillValue >= bleedMaxLevel) bleedLength = String.valueOf(bleedMaxTicks);
|
||||||
else bleedLength = String.valueOf(bleedBaseTicks);
|
else bleedLength = String.valueOf(bleedBaseTicks);
|
||||||
|
|
||||||
if(skillValue >= bleedMaxLevel) bleedChance = df.format(bleedChanceMax);
|
if(skillValue >= bleedMaxLevel) bleedChance = df.format(bleedChanceMax);
|
||||||
else bleedChance = df.format((bleedChanceMax / bleedMaxLevel) * skillValue);
|
else bleedChance = df.format(((double) bleedChanceMax / (double) bleedMaxLevel) * (double) skillValue);
|
||||||
|
|
||||||
if(skillValue >= counterMaxLevel) counterAttackChance = df.format(counterChanceMax);
|
if(skillValue >= counterMaxLevel) counterAttackChance = df.format(counterChanceMax);
|
||||||
else counterAttackChance = df.format((counterChanceMax / counterMaxLevel) * skillValue);
|
else counterAttackChance = df.format(((double) counterChanceMax / (double) counterMaxLevel) * (double) skillValue);
|
||||||
|
|
||||||
serratedStrikesLength = String.valueOf(serratedBleedTicks);
|
serratedStrikesLength = String.valueOf(serratedBleedTicks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -11,17 +11,17 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class TamingCommand extends SkillCommand {
|
public class TamingCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private String goreChance;
|
private String goreChance;
|
||||||
|
|
||||||
private float goreChanceMax = advancedConfig.getGoreChanceMax();
|
private float goreChanceMax = advancedConfig.getGoreChanceMax();
|
||||||
private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel();
|
private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel();
|
||||||
private int fastFoodUnlock = advancedConfig.getFastFoodUnlock();
|
private int fastFoodUnlock = advancedConfig.getFastFoodUnlock();
|
||||||
private float fastFoodChance = advancedConfig.getFastFoodChance();
|
private float fastFoodChance = advancedConfig.getFastFoodChance();
|
||||||
private int enviromentallyAwareUnlock = advancedConfig.getEnviromentallyAwareUnlock();
|
private int enviromentallyAwareUnlock = advancedConfig.getEnviromentallyAwareUnlock();
|
||||||
private int thickFurUnlock = advancedConfig.getThickFurUnlock();
|
private int thickFurUnlock = advancedConfig.getThickFurUnlock();
|
||||||
private int shockProofUnlock = advancedConfig.getShockProofUnlock();
|
private int shockProofUnlock = advancedConfig.getShockProofUnlock();
|
||||||
private int sharpenedClawUnlock = advancedConfig.getSharpenedClawsUnlock();
|
private int sharpenedClawUnlock = advancedConfig.getSharpenedClawsUnlock();
|
||||||
|
|
||||||
private boolean canBeastLore;
|
private boolean canBeastLore;
|
||||||
private boolean canGore;
|
private boolean canGore;
|
||||||
@ -38,9 +38,9 @@ public class TamingCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax);
|
if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax);
|
||||||
else goreChance = df.format((goreChanceMax / goreMaxLevel) * skillValue);
|
else goreChance = df.format(((double) goreChanceMax / (double) goreMaxLevel) * (double) skillValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -10,7 +10,7 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class UnarmedCommand extends SkillCommand {
|
public class UnarmedCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private String berserkLength;
|
private String berserkLength;
|
||||||
private String deflectChance;
|
private String deflectChance;
|
||||||
private String disarmChance;
|
private String disarmChance;
|
||||||
@ -22,7 +22,7 @@ public class UnarmedCommand extends SkillCommand {
|
|||||||
private float deflectMaxLevel = advancedConfig.getDeflectMaxBonusLevel();
|
private float deflectMaxLevel = advancedConfig.getDeflectMaxBonusLevel();
|
||||||
private float ironArmMaxBonus = advancedConfig.getIronArmBonus();
|
private float ironArmMaxBonus = advancedConfig.getIronArmBonus();
|
||||||
private int ironArmIncreaseLevel = advancedConfig.getIronArmIncreaseLevel();
|
private int ironArmIncreaseLevel = advancedConfig.getIronArmIncreaseLevel();
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
|
|
||||||
private boolean canBerserk;
|
private boolean canBerserk;
|
||||||
private boolean canDisarm;
|
private boolean canDisarm;
|
||||||
@ -35,17 +35,17 @@ public class UnarmedCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("#.0");
|
DecimalFormat df = new DecimalFormat("#.0");
|
||||||
berserkLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
berserkLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
|
|
||||||
if(skillValue >= disarmMaxLevel) disarmChance = df.format(disarmChanceMax);
|
if(skillValue >= disarmMaxLevel) disarmChance = df.format(disarmChanceMax);
|
||||||
else disarmChance = df.format((disarmChanceMax / disarmMaxLevel) * skillValue);
|
else disarmChance = df.format(((double) disarmChanceMax / (double) disarmMaxLevel) * (double) skillValue);
|
||||||
|
|
||||||
if(skillValue >= deflectMaxLevel) deflectChance = df.format(deflectChanceMax);
|
if(skillValue >= deflectMaxLevel) deflectChance = df.format(deflectChanceMax);
|
||||||
else deflectChance = df.format((deflectChanceMax / deflectMaxLevel) * skillValue);
|
else deflectChance = df.format(((double) deflectChanceMax / (double) deflectMaxLevel) * (double) skillValue);
|
||||||
|
|
||||||
if (skillValue >= 250) ironArmBonus = String.valueOf(ironArmMaxBonus);
|
if (skillValue >= 250) ironArmBonus = String.valueOf(ironArmMaxBonus);
|
||||||
else ironArmBonus = String.valueOf(3 + ((int) skillValue / ironArmIncreaseLevel));
|
else ironArmBonus = String.valueOf(3 + ((double) skillValue / (double) ironArmIncreaseLevel));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -11,14 +11,14 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
public class WoodcuttingCommand extends SkillCommand {
|
public class WoodcuttingCommand extends SkillCommand {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private String treeFellerLength;
|
private String treeFellerLength;
|
||||||
private String doubleDropChance;
|
private String doubleDropChance;
|
||||||
|
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance();
|
private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance();
|
||||||
private int doubleDropsMaxLevel = advancedConfig.getWoodcuttingDoubleDropMaxLevel();
|
private int doubleDropsMaxLevel = advancedConfig.getWoodcuttingDoubleDropMaxLevel();
|
||||||
private int leafBlowUnlock = advancedConfig.getLeafBlowUnlockLevel();
|
private int leafBlowUnlock = advancedConfig.getLeafBlowUnlockLevel();
|
||||||
|
|
||||||
private boolean canTreeFell;
|
private boolean canTreeFell;
|
||||||
private boolean canLeafBlow;
|
private boolean canLeafBlow;
|
||||||
@ -31,11 +31,11 @@ public class WoodcuttingCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
|
||||||
treeFellerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel));
|
treeFellerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,55 +14,55 @@ public class AdvancedConfig extends ConfigLoader {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void loadKeys() {
|
protected void loadKeys() {
|
||||||
// TODO Do I need to use this?
|
// TODO Do I need to use this?
|
||||||
}
|
}
|
||||||
/* GENERAL */
|
/* GENERAL */
|
||||||
public int getAbilityLength() { return config.getInt("Skills.General.Ability_IncreaseLevel", 50); }
|
public int getAbilityLength() { return config.getInt("Skills.General.Ability_IncreaseLevel", 50); }
|
||||||
|
|
||||||
/* ACROBATICS */
|
/* ACROBATICS */
|
||||||
public int getDodgeChanceMax() { return config.getInt("Skills.Acrobatics.Dodge_ChanceMax", 20); }
|
public int getDodgeChanceMax() { return config.getInt("Skills.Acrobatics.Dodge_ChanceMax", 20); }
|
||||||
public int getDodgeMaxBonusLevel() { return config.getInt("Skills.Acrobatics.Dodge_MaxBonusLevel", 800); }
|
public int getDodgeMaxBonusLevel() { return config.getInt("Skills.Acrobatics.Dodge_MaxBonusLevel", 800); }
|
||||||
|
|
||||||
public int getRollChanceMax() { return config.getInt("Skills.Acrobatics.Roll_ChanceMax", 100); }
|
public int getRollChanceMax() { return config.getInt("Skills.Acrobatics.Roll_ChanceMax", 100); }
|
||||||
public int getRollMaxBonusLevel() { return config.getInt("Skills.Acrobatics.Roll_MaxBonusLevel", 1000); }
|
public int getRollMaxBonusLevel() { return config.getInt("Skills.Acrobatics.Roll_MaxBonusLevel", 1000); }
|
||||||
|
|
||||||
public int getGracefulRollChanceMax() { return config.getInt("Skills.Acrobatics.GracefulRoll_ChanceMax", 100); }
|
public int getGracefulRollChanceMax() { return config.getInt("Skills.Acrobatics.GracefulRoll_ChanceMax", 100); }
|
||||||
public int getGracefulRollMaxBonusLevel() { return config.getInt("Skills.Acrobatics.GracefulRoll_MaxBonusLevel", 500); }
|
public int getGracefulRollMaxBonusLevel() { return config.getInt("Skills.Acrobatics.GracefulRoll_MaxBonusLevel", 500); }
|
||||||
|
|
||||||
public int getDodgeXPModifier() { return config.getInt("Skills.Acrobatics.Dodge_XP_Modifier", 120); }
|
public int getDodgeXPModifier() { return config.getInt("Skills.Acrobatics.Dodge_XP_Modifier", 120); }
|
||||||
public int getRollXPModifier() { return config.getInt("Skills.Acrobatics.Roll_XP_Modifier", 80); }
|
public int getRollXPModifier() { return config.getInt("Skills.Acrobatics.Roll_XP_Modifier", 80); }
|
||||||
public int getFallXPModifier() { return config.getInt("Skills.Acrobatics.Fall_XP_Modifier", 120); }
|
public int getFallXPModifier() { return config.getInt("Skills.Acrobatics.Fall_XP_Modifier", 120); }
|
||||||
|
|
||||||
/* ARCHERY */
|
/* ARCHERY */
|
||||||
public int getSkillShotIncreaseLevel() { return config.getInt("Skills.Archery.SkillShot_IncreaseLevel", 50); }
|
public int getSkillShotIncreaseLevel() { return config.getInt("Skills.Archery.SkillShot_IncreaseLevel", 50); }
|
||||||
public double getSkillShotIncreasePercentage() { return config.getDouble("Skills.Archery.SkillShot_IncreasePercentage", 0.1D); }
|
public double getSkillShotIncreasePercentage() { return config.getDouble("Skills.Archery.SkillShot_IncreasePercentage", 0.1D); }
|
||||||
public double getSkillShotBonusMax() { return config.getDouble("Skills.Archery.SkillShot_MaxBonus", 2.0D); }
|
public double getSkillShotBonusMax() { return config.getDouble("Skills.Archery.SkillShot_MaxBonus", 2.0D); }
|
||||||
|
|
||||||
public int getDazeBonusMax() { return config.getInt("Skills.Archery.Daze_MaxChance", 50); }
|
public int getDazeBonusMax() { return config.getInt("Skills.Archery.Daze_MaxChance", 50); }
|
||||||
public int getDazeMaxBonusLevel() { return config.getInt("Skills.Archery.Daze_MaxBonusLevel", 1000); }
|
public int getDazeMaxBonusLevel() { return config.getInt("Skills.Archery.Daze_MaxBonusLevel", 1000); }
|
||||||
public int getDazeModifier() { return config.getInt("Skills.Archery.Daze_BonusDamage", 4); }
|
public int getDazeModifier() { return config.getInt("Skills.Archery.Daze_BonusDamage", 4); }
|
||||||
|
|
||||||
public int getRetrieveBonusMax() { return config.getInt("Skills.Archery.Retrieve_MaxBonus", 100); }
|
public int getRetrieveBonusMax() { return config.getInt("Skills.Archery.Retrieve_MaxBonus", 100); }
|
||||||
public int getRetrieveMaxBonusLevel() { return config.getInt("Skills.Archery.Retrieve_MaxBonusLevel", 1000); }
|
public int getRetrieveMaxBonusLevel() { return config.getInt("Skills.Archery.Retrieve_MaxBonusLevel", 1000); }
|
||||||
|
|
||||||
/* AXES */
|
/* AXES */
|
||||||
public int getBonusDamageAxesBonusMax() { return config.getInt("Skills.Axes.DamageIncrease_MaxBonus", 4); }
|
public int getBonusDamageAxesBonusMax() { return config.getInt("Skills.Axes.DamageIncrease_MaxBonus", 4); }
|
||||||
public int getBonusDamageAxesMaxBonusLevel() { return config.getInt("Skills.Axes.DamageIncrease_MaxBonusLevel", 200); }
|
public int getBonusDamageAxesMaxBonusLevel() { return config.getInt("Skills.Axes.DamageIncrease_MaxBonusLevel", 200); }
|
||||||
|
|
||||||
public double getAxesCriticalChance() { return config.getDouble("Skills.Axes.AxesCritical_MaxChance", 37.50); }
|
public double getAxesCriticalChance() { return config.getDouble("Skills.Axes.AxesCritical_MaxChance", 37.50); }
|
||||||
public int getAxesCriticalMaxBonusLevel() { return config.getInt("Skills.Axes.AxesCritical_MaxBonusLevel", 750); }
|
public int getAxesCriticalMaxBonusLevel() { return config.getInt("Skills.Axes.AxesCritical_MaxBonusLevel", 750); }
|
||||||
public double getAxesCriticalPVPModifier() { return config.getDouble("Skills.Axes.AxesCritical_PVP_Modifier", 1.5); }
|
public double getAxesCriticalPVPModifier() { return config.getDouble("Skills.Axes.AxesCritical_PVP_Modifier", 1.5); }
|
||||||
public int getAxesCriticalPVEModifier() { return config.getInt("Skills.Axes.AxesCritical_PVE_Modifier", 2); }
|
public int getAxesCriticalPVEModifier() { return config.getInt("Skills.Axes.AxesCritical_PVE_Modifier", 2); }
|
||||||
|
|
||||||
public int getGreaterImpactChance() { return config.getInt("Skills.Axes.GreaterImpact_Chance", 25); }
|
public int getGreaterImpactChance() { return config.getInt("Skills.Axes.GreaterImpact_Chance", 25); }
|
||||||
public int getGreaterImpactIncreaseLevel() { return config.getInt("Skills.Axes.GreaterImpact_IncreaseLevel", 50); }
|
public int getGreaterImpactIncreaseLevel() { return config.getInt("Skills.Axes.GreaterImpact_IncreaseLevel", 50); }
|
||||||
public double getGreaterImpactModifier() { return config.getDouble("Skills.Axes.GreaterImpact_KnockbackModifier", 1.5); }
|
public double getGreaterImpactModifier() { return config.getDouble("Skills.Axes.GreaterImpact_KnockbackModifier", 1.5); }
|
||||||
public int getGreaterImpactBonusDamage() { return config.getInt("Skills.Axes.GreaterImpact_BonusDamage", 2); }
|
public int getGreaterImpactBonusDamage() { return config.getInt("Skills.Axes.GreaterImpact_BonusDamage", 2); }
|
||||||
|
|
||||||
/* EXCAVATION */
|
/* EXCAVATION */
|
||||||
//Nothing to configure, everything is already configurable in config.yml
|
//Nothing to configure, everything is already configurable in config.yml
|
||||||
|
|
||||||
/* FISHING */
|
/* FISHING */
|
||||||
public int getShakeUnlockLevel() { return config.getInt("Skills.Fishing.Shake_UnlockLevel", 150); }
|
public int getShakeUnlockLevel() { return config.getInt("Skills.Fishing.Shake_UnlockLevel", 150); }
|
||||||
@ -97,56 +97,56 @@ public class AdvancedConfig extends ConfigLoader {
|
|||||||
public int getSuperRepairMaxLevel() { return config.getInt("Skills.Repair.SuperRepair_MaxBonusLevel", 1000); }
|
public int getSuperRepairMaxLevel() { return config.getInt("Skills.Repair.SuperRepair_MaxBonusLevel", 1000); }
|
||||||
|
|
||||||
/* SWORDS */
|
/* SWORDS */
|
||||||
public int getBleedChanceMax() { return config.getInt("Skills.Sword.Bleed_ChanceMax", 75); }
|
public int getBleedChanceMax() { return config.getInt("Skills.Sword.Bleed_ChanceMax", 75); }
|
||||||
public int getBleedMaxBonusLevel() { return config.getInt("Skills.Sword.Bleed_MaxBonusLevel", 750); }
|
public int getBleedMaxBonusLevel() { return config.getInt("Skills.Sword.Bleed_MaxBonusLevel", 750); }
|
||||||
public int getBleedMaxTicks() { return config.getInt("Skills.Sword.Bleed_MaxTicks", 3); }
|
public int getBleedMaxTicks() { return config.getInt("Skills.Sword.Bleed_MaxTicks", 3); }
|
||||||
public int getBleedBaseTicks() { return config.getInt("Skills.Sword.Bleed_BaseTicks", 2); }
|
public int getBleedBaseTicks() { return config.getInt("Skills.Sword.Bleed_BaseTicks", 2); }
|
||||||
|
|
||||||
public int getCounterChanceMax() { return config.getInt("Skills.Sword.Counter_ChanceMax", 30); }
|
public int getCounterChanceMax() { return config.getInt("Skills.Sword.Counter_ChanceMax", 30); }
|
||||||
public int getCounterMaxBonusLevel() { return config.getInt("Skills.Sword.Counter_MaxBonusLevel", 600); }
|
public int getCounterMaxBonusLevel() { return config.getInt("Skills.Sword.Counter_MaxBonusLevel", 600); }
|
||||||
public int getCounterModifier() { return config.getInt("Skills.Sword.Counter_DamageModifier", 2); }
|
public int getCounterModifier() { return config.getInt("Skills.Sword.Counter_DamageModifier", 2); }
|
||||||
|
|
||||||
public int getSerratedStrikesModifier() { return config.getInt("Skills.Sword.SerratedStrikes_DamageModifier", 4); }
|
public int getSerratedStrikesModifier() { return config.getInt("Skills.Sword.SerratedStrikes_DamageModifier", 4); }
|
||||||
public int getSerratedStrikesTicks() { return config.getInt("Skills.Sword.SerratedStrikes_BleedTicks", 5); }
|
public int getSerratedStrikesTicks() { return config.getInt("Skills.Sword.SerratedStrikes_BleedTicks", 5); }
|
||||||
/* TAMING */
|
/* TAMING */
|
||||||
public int getGoreChanceMax() { return config.getInt("Skills.Taming.Gore_ChanceMax", 100); }
|
public int getGoreChanceMax() { return config.getInt("Skills.Taming.Gore_ChanceMax", 100); }
|
||||||
public int getGoreMaxBonusLevel() { return config.getInt("Skills.Taming.Gore_MaxBonusLevel", 1000); }
|
public int getGoreMaxBonusLevel() { return config.getInt("Skills.Taming.Gore_MaxBonusLevel", 1000); }
|
||||||
public int getGoreBleedTicks() { return config.getInt("Skills.Taming.Gore_BleedTicks", 2); }
|
public int getGoreBleedTicks() { return config.getInt("Skills.Taming.Gore_BleedTicks", 2); }
|
||||||
public int getGoreModifier() { return config.getInt("Skills.Taming.Gore_Modifier", 2); }
|
public int getGoreModifier() { return config.getInt("Skills.Taming.Gore_Modifier", 2); }
|
||||||
|
|
||||||
public int getFastFoodUnlock() { return config.getInt("Skills.Taming.FastFood_UnlockLevel", 50); }
|
public int getFastFoodUnlock() { return config.getInt("Skills.Taming.FastFood_UnlockLevel", 50); }
|
||||||
public int getFastFoodChance() { return config.getInt("Skills.Taming.FastFood_Chance", 50); }
|
public int getFastFoodChance() { return config.getInt("Skills.Taming.FastFood_Chance", 50); }
|
||||||
|
|
||||||
public int getEnviromentallyAwareUnlock() { return config.getInt("Skills.Taming.EnvironmentallyAware_UnlockLevel", 100); }
|
public int getEnviromentallyAwareUnlock() { return config.getInt("Skills.Taming.EnvironmentallyAware_UnlockLevel", 100); }
|
||||||
|
|
||||||
public int getThickFurUnlock() { return config.getInt("Skills.Taming.ThickFur_UnlockLevel", 250); }
|
public int getThickFurUnlock() { return config.getInt("Skills.Taming.ThickFur_UnlockLevel", 250); }
|
||||||
public int getThickFurModifier() { return config.getInt("Skills.Taming.ThickFur_Modifier", 2); }
|
public int getThickFurModifier() { return config.getInt("Skills.Taming.ThickFur_Modifier", 2); }
|
||||||
|
|
||||||
public int getShockProofUnlock() { return config.getInt("Skills.Taming.ShockProof_UnlockLevel", 500); }
|
public int getShockProofUnlock() { return config.getInt("Skills.Taming.ShockProof_UnlockLevel", 500); }
|
||||||
public int getShockProofModifier() { return config.getInt("Skills.Taming.ShockProof_Modifier", 6); }
|
public int getShockProofModifier() { return config.getInt("Skills.Taming.ShockProof_Modifier", 6); }
|
||||||
|
|
||||||
public int getSharpenedClawsUnlock() { return config.getInt("Skills.Taming.SharpenedClaws_UnlockLevel", 750); }
|
public int getSharpenedClawsUnlock() { return config.getInt("Skills.Taming.SharpenedClaws_UnlockLevel", 750); }
|
||||||
public int getSharpenedClawsBonus() { return config.getInt("Skills.Taming.SharpenedClaws_Bonus", 2); }
|
public int getSharpenedClawsBonus() { return config.getInt("Skills.Taming.SharpenedClaws_Bonus", 2); }
|
||||||
/* UNARMED */
|
/* UNARMED */
|
||||||
public int getDisarmChanceMax() { return config.getInt("Skills.Unarmed.Disarm_ChanceMax", 33); }
|
public int getDisarmChanceMax() { return config.getInt("Skills.Unarmed.Disarm_ChanceMax", 33); }
|
||||||
public int getDisarmMaxBonusLevel() { return config.getInt("Skills.Unarmed.Disarm_MaxBonusLevel", 1000); }
|
public int getDisarmMaxBonusLevel() { return config.getInt("Skills.Unarmed.Disarm_MaxBonusLevel", 1000); }
|
||||||
public int getDeflectChanceMax() { return config.getInt("Skills.Unarmed.Deflect_ChanceMax", 50); }
|
public int getDeflectChanceMax() { return config.getInt("Skills.Unarmed.Deflect_ChanceMax", 50); }
|
||||||
public int getDeflectMaxBonusLevel() { return config.getInt("Skills.Unarmed.Deflect_MaxBonusLevel", 1000); }
|
public int getDeflectMaxBonusLevel() { return config.getInt("Skills.Unarmed.Deflect_MaxBonusLevel", 1000); }
|
||||||
public int getIronGripChanceMax() { return config.getInt("Skills.Unarmed.IronGrip_ChanceMax", 100); }
|
public int getIronGripChanceMax() { return config.getInt("Skills.Unarmed.IronGrip_ChanceMax", 100); }
|
||||||
public int getIronGripMaxBonusLevel() { return config.getInt("Skills.Unarmed.IronGrip_MaxBonusLevel", 1000); }
|
public int getIronGripMaxBonusLevel() { return config.getInt("Skills.Unarmed.IronGrip_MaxBonusLevel", 1000); }
|
||||||
public int getIronArmBonus() { return config.getInt("Skills.Unarmed.IronArm_Bonus", 8); }
|
public int getIronArmBonus() { return config.getInt("Skills.Unarmed.IronArm_Bonus", 8); }
|
||||||
public int getIronArmIncreaseLevel() { return config.getInt("Skills.Unarmed.IronArm_IncreaseLevel", 50); }
|
public int getIronArmIncreaseLevel() { return config.getInt("Skills.Unarmed.IronArm_IncreaseLevel", 50); }
|
||||||
/* WOODCUTTING */
|
/* WOODCUTTING */
|
||||||
public int getLeafBlowUnlockLevel() { return config.getInt("Skills.Woodcutting.LeafBlower_UnlockLevel", 100); }
|
public int getLeafBlowUnlockLevel() { return config.getInt("Skills.Woodcutting.LeafBlower_UnlockLevel", 100); }
|
||||||
public int getWoodcuttingDoubleDropChance() { return config.getInt("Skills.Woodcutting.DoubleDrops_ChanceMax", 100); }
|
public int getWoodcuttingDoubleDropChance() { return config.getInt("Skills.Woodcutting.DoubleDrops_ChanceMax", 100); }
|
||||||
public int getWoodcuttingDoubleDropMaxLevel() { return config.getInt("Skills.Woodcutting.DoubleDrops_MaxBonusLevel", 1000); }
|
public int getWoodcuttingDoubleDropMaxLevel() { return config.getInt("Skills.Woodcutting.DoubleDrops_MaxBonusLevel", 1000); }
|
||||||
|
|
||||||
/* SPOUT STUFF*/
|
/* SPOUT STUFF*/
|
||||||
public int getSpoutNotificationTier1() { return config.getInt("Spout.Notifications.Tier1", 200); }
|
public int getSpoutNotificationTier1() { return config.getInt("Spout.Notifications.Tier1", 200); }
|
||||||
public int getSpoutNotificationTier2() { return config.getInt("Spout.Notifications.Tier2", 400); }
|
public int getSpoutNotificationTier2() { return config.getInt("Spout.Notifications.Tier2", 400); }
|
||||||
public int getSpoutNotificationTier3() { return config.getInt("Spout.Notifications.Tier3", 600); }
|
public int getSpoutNotificationTier3() { return config.getInt("Spout.Notifications.Tier3", 600); }
|
||||||
public int getSpoutNotificationTier4() { return config.getInt("Spout.Notifications.Tier4", 800); }
|
public int getSpoutNotificationTier4() { return config.getInt("Spout.Notifications.Tier4", 800); }
|
||||||
//TODO Make the sounds configurable! :D
|
//TODO Make the sounds configurable! :D
|
||||||
// public String getSpoutSoundRepair() { return config.getString("Spout.Sounds.RepairSound", "url here"); }
|
// public String getSpoutSoundRepair() { return config.getString("Spout.Sounds.RepairSound", "url here"); }
|
||||||
// public String getSpoutSoundLevelUp() { return config.getString("Spout.Sounds.LevelUp", "url here"); }
|
// public String getSpoutSoundLevelUp() { return config.getString("Spout.Sounds.LevelUp", "url here"); }
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import java.util.Random;
|
|||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
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_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();
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import com.gmail.nossr50.config.AdvancedConfig;
|
|||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
|
|
||||||
public class Archery {
|
public class Archery {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
private static List<TrackedEntity> trackedEntities = new ArrayList<TrackedEntity>();
|
private static List<TrackedEntity> trackedEntities = new ArrayList<TrackedEntity>();
|
||||||
|
|
||||||
|
@ -11,17 +11,17 @@ import com.gmail.nossr50.util.Permissions;
|
|||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class ArcheryManager {
|
public class ArcheryManager {
|
||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private Player player;
|
private Player player;
|
||||||
private PlayerProfile profile;
|
private PlayerProfile profile;
|
||||||
private int skillLevel;
|
private int skillLevel;
|
||||||
private Permissions permissionsInstance;
|
private Permissions permissionsInstance;
|
||||||
|
|
||||||
private float dazeBonusMax = advancedConfig.getDazeBonusMax();
|
private float dazeBonusMax = advancedConfig.getDazeBonusMax();
|
||||||
private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel();
|
private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel();
|
||||||
private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax();
|
private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax();
|
||||||
private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel();
|
private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel();
|
||||||
|
|
||||||
public ArcheryManager (Player player) {
|
public ArcheryManager (Player player) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
@ -57,7 +57,7 @@ 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 = (retrieveBonusMax / retrieveMaxBonusLevel) * skillLevel;
|
final float chance = (float) (((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * (double) skillLevel);
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.addToTracker();
|
eventHandler.addToTracker();
|
||||||
}
|
}
|
||||||
@ -88,10 +88,10 @@ public class ArcheryManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (dazeBonusMax / dazeMaxBonusLevel) * skillLevel;
|
final float chance = (float) (((double) dazeBonusMax / (double) dazeMaxBonusLevel) * (double) skillLevel);
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.handleDazeEffect();
|
eventHandler.handleDazeEffect();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import com.gmail.nossr50.util.Permissions;
|
|||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class Axes {
|
public class Axes {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ public class Axes {
|
|||||||
final int INCREASE_LEVEL = MAX_LEVEL / MAX_BONUS;
|
final int INCREASE_LEVEL = MAX_LEVEL / MAX_BONUS;
|
||||||
|
|
||||||
/* Add 1 DMG for every 50 skill levels */
|
/* Add 1 DMG for every 50 skill levels */
|
||||||
int bonus = Users.getProfile(attacker).getSkillLevel(SkillType.AXES) / INCREASE_LEVEL;
|
int bonus = (int) ((double) Users.getProfile(attacker).getSkillLevel(SkillType.AXES) / (double) INCREASE_LEVEL);
|
||||||
|
|
||||||
if (bonus > MAX_BONUS) {
|
if (bonus > MAX_BONUS) {
|
||||||
bonus = MAX_BONUS;
|
bonus = MAX_BONUS;
|
||||||
@ -87,7 +87,7 @@ public class Axes {
|
|||||||
int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL);
|
int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL);
|
||||||
|
|
||||||
int randomChance = 100;
|
int randomChance = 100;
|
||||||
double chance = (MAX_CHANCE / MAX_BONUS_LEVEL) * skillCheck;
|
double chance = ((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * (double) skillCheck;
|
||||||
|
|
||||||
if (attacker.hasPermission("mcmmo.perks.lucky.axes")) {
|
if (attacker.hasPermission("mcmmo.perks.lucky.axes")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
@ -130,7 +130,7 @@ public class Axes {
|
|||||||
|
|
||||||
/* Every 30 Skill Levels you gain 1 durability damage */
|
/* Every 30 Skill Levels you gain 1 durability damage */
|
||||||
int impactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel();
|
int impactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel();
|
||||||
durabilityDamage += Users.getProfile(attacker).getSkillLevel(SkillType.AXES)/impactIncreaseLevel;
|
durabilityDamage += (int) ((double) Users.getProfile(attacker).getSkillLevel(SkillType.AXES) / (double) impactIncreaseLevel);
|
||||||
|
|
||||||
if (!hasArmor(targetPlayer)) {
|
if (!hasArmor(targetPlayer)) {
|
||||||
applyGreaterImpact(attacker, target, event);
|
applyGreaterImpact(attacker, target, event);
|
||||||
|
@ -28,18 +28,18 @@ import com.gmail.nossr50.util.Skills;
|
|||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class BlastMining {
|
public class BlastMining {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
|
|
||||||
private static int blastMiningRank1 = advancedConfig.getBlastMiningRank1();
|
private static int blastMiningRank1 = advancedConfig.getBlastMiningRank1();
|
||||||
private static int blastMiningRank2 = advancedConfig.getBlastMiningRank2();
|
private static int blastMiningRank2 = advancedConfig.getBlastMiningRank2();
|
||||||
private static int blastMiningRank3 = advancedConfig.getBlastMiningRank3();
|
private static int blastMiningRank3 = advancedConfig.getBlastMiningRank3();
|
||||||
private static int blastMiningRank4 = advancedConfig.getBlastMiningRank4();
|
private static int blastMiningRank4 = advancedConfig.getBlastMiningRank4();
|
||||||
private static int blastMiningRank5 = advancedConfig.getBlastMiningRank5();
|
private static int blastMiningRank5 = advancedConfig.getBlastMiningRank5();
|
||||||
private static int blastMiningRank6 = advancedConfig.getBlastMiningRank6();
|
private static int blastMiningRank6 = advancedConfig.getBlastMiningRank6();
|
||||||
private static int blastMiningRank7 = advancedConfig.getBlastMiningRank7();
|
private static int blastMiningRank7 = advancedConfig.getBlastMiningRank7();
|
||||||
private static int blastMiningRank8 = advancedConfig.getBlastMiningRank8();
|
private static int blastMiningRank8 = advancedConfig.getBlastMiningRank8();
|
||||||
/**
|
/**
|
||||||
* Handler for what blocks drop from the explosion.
|
* Handler for what blocks drop from the explosion.
|
||||||
*
|
*
|
||||||
|
@ -27,7 +27,7 @@ import com.gmail.nossr50.util.Users;
|
|||||||
|
|
||||||
public class Mining {
|
public class Mining {
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle double drops when using Silk Touch.
|
* Handle double drops when using Silk Touch.
|
||||||
@ -323,13 +323,13 @@ public class Mining {
|
|||||||
miningXP(player, block);
|
miningXP(player, block);
|
||||||
|
|
||||||
final int MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
final int MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
||||||
int MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
int MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
||||||
|
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
||||||
int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL);
|
int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL);
|
||||||
|
|
||||||
int randomChance = 100;
|
int randomChance = 100;
|
||||||
int chance = (MAX_CHANCE / MAX_BONUS_LEVEL) * skillLevel;
|
int chance = (int) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * (double) skillLevel);
|
||||||
|
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.mining")) {
|
if (player.hasPermission("mcmmo.perks.lucky.mining")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
|
@ -32,7 +32,7 @@ import com.gmail.nossr50.util.Users;
|
|||||||
|
|
||||||
public class WoodCutting {
|
public class WoodCutting {
|
||||||
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Random random = new Random();
|
private static Random random = new Random();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -330,7 +330,7 @@ public class WoodCutting {
|
|||||||
*/
|
*/
|
||||||
private static void woodCuttingProcCheck(Player player, Block block) {
|
private static void woodCuttingProcCheck(Player player, Block block) {
|
||||||
|
|
||||||
final int MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
final int MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
||||||
final int MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
final int MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
||||||
|
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.WOODCUTTING);
|
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.WOODCUTTING);
|
||||||
@ -345,7 +345,7 @@ public class WoodCutting {
|
|||||||
Material mat = Material.getMaterial(block.getTypeId());
|
Material mat = Material.getMaterial(block.getTypeId());
|
||||||
|
|
||||||
int randomChance = 100;
|
int randomChance = 100;
|
||||||
int chance = (MAX_CHANCE / MAX_BONUS_LEVEL) * skillLevel;
|
int chance = (int) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * (double) skillLevel);
|
||||||
|
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) {
|
if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) {
|
||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
|
@ -28,12 +28,12 @@ public class Repair {
|
|||||||
private static Config configInstance = Config.getInstance();
|
private static Config configInstance = Config.getInstance();
|
||||||
private static Permissions permInstance = Permissions.getInstance();
|
private static Permissions permInstance = Permissions.getInstance();
|
||||||
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private static int repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
private static int repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
||||||
private static int repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
private static int repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
||||||
private static int superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
private static int superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
||||||
private static int superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
private static int superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle the XP gain for repair events.
|
* Handle the XP gain for repair events.
|
||||||
@ -91,6 +91,10 @@ public class Repair {
|
|||||||
* @param is Item being repaired
|
* @param is Item being repaired
|
||||||
*/
|
*/
|
||||||
protected static void addEnchants(Player player, ItemStack is) {
|
protected static void addEnchants(Player player, ItemStack is) {
|
||||||
|
if(permInstance.arcaneBypass(player)) {
|
||||||
|
player.sendMessage(LocaleLoader.getString("Repair.Arcane.Perfect"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
Map<Enchantment, Integer> enchants = is.getEnchantments();
|
Map<Enchantment, Integer> enchants = is.getEnchantments();
|
||||||
|
|
||||||
if (enchants.size() == 0) {
|
if (enchants.size() == 0) {
|
||||||
@ -122,7 +126,7 @@ public class Repair {
|
|||||||
int enchantLevel = enchant.getValue();
|
int enchantLevel = enchant.getValue();
|
||||||
|
|
||||||
if (configInstance.getArcaneForgingDowngradeEnabled() && enchantLevel > 1) {
|
if (configInstance.getArcaneForgingDowngradeEnabled() && enchantLevel > 1) {
|
||||||
if (random.nextInt(100) < getDowngradeChance(rank)) {
|
if (random.nextInt(randomChance) < getDowngradeChance(rank)) {
|
||||||
is.addEnchantment(enchantment, --enchantLevel);
|
is.addEnchantment(enchantment, --enchantLevel);
|
||||||
downgraded = true;
|
downgraded = true;
|
||||||
}
|
}
|
||||||
@ -207,9 +211,9 @@ public class Repair {
|
|||||||
*/
|
*/
|
||||||
protected static short repairCalculate(Player player, int skillLevel, short durability, int repairAmount) {
|
protected static short repairCalculate(Player player, int skillLevel, short durability, int repairAmount) {
|
||||||
// float bonus = (float) skillLevel / 500;
|
// float bonus = (float) skillLevel / 500;
|
||||||
float bonus;
|
float bonus;
|
||||||
if(skillLevel >= repairMasteryMaxBonusLevel) bonus = repairMasteryChanceMax;
|
if(skillLevel >= repairMasteryMaxBonusLevel) bonus = repairMasteryChanceMax;
|
||||||
else bonus = (repairMasteryChanceMax / repairMasteryMaxBonusLevel) * skillLevel;
|
else bonus = ((float) skillLevel / (float) repairMasteryMaxBonusLevel) * (float) repairMasteryChanceMax;
|
||||||
|
|
||||||
if (permInstance.repairMastery(player)) {
|
if (permInstance.repairMastery(player)) {
|
||||||
bonus = (repairAmount * bonus);
|
bonus = (repairAmount * bonus);
|
||||||
@ -236,20 +240,20 @@ public class Repair {
|
|||||||
* @return true if bonus granted, false otherwise
|
* @return true if bonus granted, false otherwise
|
||||||
*/
|
*/
|
||||||
public static boolean checkPlayerProcRepair(Player player) {
|
public static boolean checkPlayerProcRepair(Player player) {
|
||||||
final int MAX_CHANCE = superRepairChanceMax;
|
final int MAX_CHANCE = superRepairChanceMax;
|
||||||
final int MAX_BONUS_LEVEL = superRepairMaxBonusLevel;
|
final int MAX_BONUS_LEVEL = superRepairMaxBonusLevel;
|
||||||
|
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.REPAIR);
|
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.REPAIR);
|
||||||
|
|
||||||
int randomChance = 100;
|
int randomChance = 100;
|
||||||
int chance = (MAX_CHANCE / MAX_BONUS_LEVEL) * skillLevel;
|
int chance = (int) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * (double) skillLevel);
|
||||||
if (skillLevel >= MAX_BONUS_LEVEL) chance = MAX_CHANCE;
|
if (skillLevel >= MAX_BONUS_LEVEL) chance = MAX_CHANCE;
|
||||||
|
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.repair")) randomChance = (int) (randomChance * 0.75);
|
if (player.hasPermission("mcmmo.perks.lucky.repair")) randomChance = (int) (randomChance * 0.75);
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance) && permInstance.repairBonus(player)){
|
if (chance > random.nextInt(randomChance) && permInstance.repairBonus(player)){
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Skills.FeltEasy"));
|
player.sendMessage(LocaleLoader.getString("Repair.Skills.FeltEasy"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import java.util.Random;
|
|||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Swords {
|
public class Swords {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
public static final int BLEED_MAX_BONUS_LEVEL = advancedConfig.getBleedMaxBonusLevel();
|
public static final int BLEED_MAX_BONUS_LEVEL = advancedConfig.getBleedMaxBonusLevel();
|
||||||
public static final int MAX_BLEED_TICKS = advancedConfig.getBleedMaxTicks();
|
public static final int MAX_BLEED_TICKS = advancedConfig.getBleedMaxTicks();
|
||||||
|
@ -50,7 +50,7 @@ public class SwordsManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (bleedChanceMax / bleedMaxLevel) * skillLevel;
|
final float chance = (float) (((double) bleedChanceMax / (double) bleedMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.addBleedTicks();
|
eventHandler.addBleedTicks();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
@ -81,7 +81,7 @@ public class SwordsManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (counterChanceMax / counterMaxLevel) * skillLevel;
|
final float chance = (float) (((double) counterChanceMax / (double) counterMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.dealDamage();
|
eventHandler.dealDamage();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
|
@ -5,7 +5,7 @@ import java.util.Random;
|
|||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Taming {
|
public class Taming {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
public static final int ENVIRONMENTALLY_AWARE_ACTIVATION_LEVEL = advancedConfig.getEnviromentallyAwareUnlock();
|
public static final int ENVIRONMENTALLY_AWARE_ACTIVATION_LEVEL = advancedConfig.getEnviromentallyAwareUnlock();
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ public class TamingManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (goreChanceMax / goreMaxLevel) * skillLevel;
|
final float chance = (float) (((double) goreChanceMax / (double) goreMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Taming.getRandom().nextInt(randomChance)) {
|
if (chance > Taming.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.applyBleed();
|
eventHandler.applyBleed();
|
||||||
|
@ -5,7 +5,7 @@ import java.util.Random;
|
|||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Unarmed {
|
public class Unarmed {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
public static final int BONUS_DAMAGE_MAX_BONUS_MODIFIER = advancedConfig.getIronArmBonus();
|
public static final int BONUS_DAMAGE_MAX_BONUS_MODIFIER = advancedConfig.getIronArmBonus();
|
||||||
public static final int BONUS_DAMAGE_INCREASE_LEVEL = advancedConfig.getIronArmIncreaseLevel();
|
public static final int BONUS_DAMAGE_INCREASE_LEVEL = advancedConfig.getIronArmIncreaseLevel();
|
||||||
|
@ -51,7 +51,7 @@ public class UnarmedManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (disarmChanceMax / disarmMaxLevel) * skillLevel;
|
final float chance = (float) (((double) disarmChanceMax / (double) disarmMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
||||||
if (!hasIronGrip(defender)) {
|
if (!hasIronGrip(defender)) {
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
@ -88,7 +88,7 @@ public class UnarmedManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (deflectChanceMax / deflectMaxLevel) * skillLevel;
|
final float chance = (float) (((double) deflectChanceMax / (double) deflectMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.cancelEvent();
|
eventHandler.cancelEvent();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
@ -144,7 +144,7 @@ public class UnarmedManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
final float chance = (ironGripChanceMax / ironGripMaxLevel) * skillLevel;
|
final float chance = (float) (((double) ironGripChanceMax / (double) ironGripMaxLevel) * (double) skillLevel);
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user