mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-02 08:39:49 +01:00
Skill commands now show the perk effect, if any are active
This commit is contained in:
parent
99c6c46d54
commit
00020a9cbb
@ -13,8 +13,11 @@ public class AcrobaticsCommand extends SkillCommand {
|
|||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String dodgeChance;
|
private String dodgeChance;
|
||||||
|
private String dodgeChanceLucky;
|
||||||
private String rollChance;
|
private String rollChance;
|
||||||
|
private String rollChanceLucky;
|
||||||
private String gracefulRollChance;
|
private String gracefulRollChance;
|
||||||
|
private String gracefulRollChanceLucky;
|
||||||
|
|
||||||
private float dodgeChanceMax = advancedConfig.getDodgeChanceMax();
|
private float dodgeChanceMax = advancedConfig.getDodgeChanceMax();
|
||||||
private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel();
|
private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel();
|
||||||
@ -34,15 +37,30 @@ public class AcrobaticsCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float dodgeChanceF;
|
||||||
|
float rollChanceF;
|
||||||
|
float gracefulRollChanceF;
|
||||||
|
|
||||||
// DODGE
|
// DODGE
|
||||||
if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax);
|
if(skillValue >= dodgeMaxBonusLevel) dodgeChanceF = dodgeChanceMax;
|
||||||
else dodgeChance = df.format(((double) dodgeChanceMax / (double) dodgeMaxBonusLevel) * skillValue);
|
else dodgeChanceF = (float) (((double) dodgeChanceMax / (double) dodgeMaxBonusLevel) * skillValue);
|
||||||
|
dodgeChance = df.format(dodgeChanceF);
|
||||||
|
if(dodgeChanceF + dodgeChanceF * 0.3333D >= 100D) dodgeChanceLucky = df.format(100D);
|
||||||
|
else dodgeChanceLucky = df.format(dodgeChanceF + dodgeChanceF * 0.3333D);
|
||||||
|
|
||||||
// ROLL
|
// ROLL
|
||||||
if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax);
|
if(skillValue >= rollMaxBonusLevel) rollChanceF = rollChanceMax;
|
||||||
else rollChance = df.format(((double) rollChanceMax / (double) rollMaxBonusLevel) * skillValue);
|
else rollChanceF = (float) (((double) rollChanceMax / (double) rollMaxBonusLevel) * skillValue);
|
||||||
|
rollChance = df.format(rollChanceF);
|
||||||
|
if(rollChanceF + rollChanceF * 0.3333D >= 100D) rollChanceLucky = df.format(100D);
|
||||||
|
else rollChanceLucky = df.format(rollChanceF + rollChanceF * 0.3333D);
|
||||||
|
|
||||||
// GRACEFULROLL
|
// GRACEFULROLL
|
||||||
if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax);
|
if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChanceF = gracefulRollChanceMax;
|
||||||
else gracefulRollChance = df.format(((double) gracefulRollChanceMax / (double) gracefulRollMaxBonusLevel) * skillValue);
|
else gracefulRollChanceF = (float) (((double) gracefulRollChanceMax / (double) gracefulRollMaxBonusLevel) * skillValue);
|
||||||
|
gracefulRollChance = df.format(gracefulRollChanceF);
|
||||||
|
if(gracefulRollChanceF + gracefulRollChanceF * 0.3333D >= 100D) gracefulRollChanceLucky = df.format(100D);
|
||||||
|
else gracefulRollChanceLucky = df.format(gracefulRollChanceF + gracefulRollChanceF * 0.3333D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -85,14 +103,23 @@ public class AcrobaticsCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void statsDisplay() {
|
protected void statsDisplay() {
|
||||||
if (canRoll) {
|
if (canRoll) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { rollChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canGracefulRoll) {
|
if (canGracefulRoll) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { gracefulRollChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDodge) {
|
if (canDodge) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.acrobatics"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { dodgeChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance }));
|
player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,9 @@ public class ArcheryCommand extends SkillCommand {
|
|||||||
|
|
||||||
private String skillShotBonus;
|
private String skillShotBonus;
|
||||||
private String dazeChance;
|
private String dazeChance;
|
||||||
|
private String dazeChanceLucky;
|
||||||
private String retrieveChance;
|
private String retrieveChance;
|
||||||
|
private String retrieveChanceLucky;
|
||||||
|
|
||||||
private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel();
|
private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel();
|
||||||
private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage();
|
private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage();
|
||||||
@ -26,7 +28,6 @@ public class ArcheryCommand extends SkillCommand {
|
|||||||
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;
|
||||||
@ -38,18 +39,27 @@ public class ArcheryCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float dazeChanceF;
|
||||||
|
float retrieveChanceF;
|
||||||
|
|
||||||
// SkillShot
|
// SkillShot
|
||||||
double bonus = (int)((double) skillValue / (double) skillShotIncreaseLevel) * skillShotIncreasePercentage;
|
double bonus = (int)((double) skillValue / (double) skillShotIncreaseLevel) * 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) dazeChanceF = dazeBonusMax;
|
||||||
else dazeChance = df.format(((double) dazeBonusMax / (double) dazeMaxBonusLevel) * skillValue);
|
else dazeChanceF = (float) (((double) dazeBonusMax / (double) dazeMaxBonusLevel) * skillValue);
|
||||||
|
dazeChance = df.format(dazeChanceF);
|
||||||
|
if(dazeChanceF + dazeChanceF * 0.3333D >= 100D) dazeChanceLucky = df.format(100D);
|
||||||
|
else dazeChanceLucky = df.format(dazeChanceF + dazeChanceF * 0.3333D);
|
||||||
|
|
||||||
// Retrieve
|
// Retrieve
|
||||||
if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax);
|
if(skillValue >= retrieveMaxBonusLevel) retrieveChanceF = retrieveBonusMax;
|
||||||
else retrieveChance = df.format(((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * skillValue);
|
else retrieveChanceF = (float) (((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * skillValue);
|
||||||
|
retrieveChance = df.format(retrieveChanceF);
|
||||||
|
if(retrieveChanceF + retrieveChanceF * 0.3333D >= 100D) retrieveChanceLucky = df.format(100D);
|
||||||
|
else retrieveChanceLucky = df.format(retrieveChanceF + retrieveChanceF * 0.3333D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -96,10 +106,16 @@ public class ArcheryCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canDaze) {
|
if (canDaze) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.archery"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { dazeChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }));
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canRetrieve) {
|
if (canRetrieve) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.archery"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { retrieveChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }));
|
player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ public class AxesCommand extends SkillCommand {
|
|||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String critChance;
|
private String critChance;
|
||||||
|
private String critChanceLucky;
|
||||||
private String bonusDamage;
|
private String bonusDamage;
|
||||||
private String impactDamage;
|
private String impactDamage;
|
||||||
private String greaterImpactDamage;
|
private String greaterImpactDamage;
|
||||||
@ -24,7 +25,7 @@ public class AxesCommand extends SkillCommand {
|
|||||||
private double critMaxChance = advancedConfig.getAxesCriticalChance();
|
private double critMaxChance = advancedConfig.getAxesCriticalChance();
|
||||||
private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel();
|
private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel();
|
||||||
private int greaterImpactIncreaseLevel = advancedConfig.getArmorImpactIncreaseLevel();
|
private int greaterImpactIncreaseLevel = advancedConfig.getArmorImpactIncreaseLevel();
|
||||||
// private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier();
|
private double greaterImpactBonusDamage = advancedConfig.getGreaterImpactBonusDamage();
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
|
|
||||||
private boolean canSkullSplitter;
|
private boolean canSkullSplitter;
|
||||||
@ -40,14 +41,22 @@ public class AxesCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float critChanceF;
|
||||||
int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel);
|
int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel);
|
||||||
|
|
||||||
|
//Armor Impact
|
||||||
impactDamage = String.valueOf(1 + ((double) skillValue / (double) greaterImpactIncreaseLevel));
|
impactDamage = String.valueOf(1 + ((double) skillValue / (double) greaterImpactIncreaseLevel));
|
||||||
|
//Skull Splitter
|
||||||
skullSplitterLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
skullSplitterLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
greaterImpactDamage = "2";
|
//Greater Impact
|
||||||
|
greaterImpactDamage = String.valueOf(greaterImpactBonusDamage);
|
||||||
if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance);
|
//Critical Strikes
|
||||||
else critChance = String.valueOf((critMaxChance / critMaxBonusLevel) * skillCheck);
|
if (skillValue >= critMaxBonusLevel) critChanceF = (float) critMaxChance;
|
||||||
|
else critChanceF = (float) ((critMaxChance / critMaxBonusLevel) * skillCheck);
|
||||||
|
critChance = df.format(critChanceF);
|
||||||
|
if(critChanceF + critChanceF * 0.3333D >= 100D) critChanceLucky = df.format(100D);
|
||||||
|
else critChanceLucky = df.format(critChanceF + critChanceF * 0.3333D);
|
||||||
|
//Axe Mastery
|
||||||
if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax);
|
if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax);
|
||||||
else bonusDamage = String.valueOf(skillValue / ((double) bonusDamageAxesMaxBonusLevel / (double) bonusDamageAxesBonusMax));
|
else bonusDamage = String.valueOf(skillValue / ((double) bonusDamageAxesMaxBonusLevel / (double) bonusDamageAxesBonusMax));
|
||||||
}
|
}
|
||||||
@ -113,7 +122,10 @@ public class AxesCommand extends SkillCommand {
|
|||||||
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template", new Object[] { LocaleLoader.getString("Axes.Ability.Bonus.4"), LocaleLoader.getString("Axes.Ability.Bonus.5", new Object[] {greaterImpactDamage}) }));
|
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template", new Object[] { LocaleLoader.getString("Axes.Ability.Bonus.4"), LocaleLoader.getString("Axes.Ability.Bonus.5", new Object[] {greaterImpactDamage}) }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canCritical) {
|
if (canCritical){
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.axes"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Axes.Combat.CritChance", new Object[] { critChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { critChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Axes.Combat.CritChance", new Object[] { critChance }));
|
player.sendMessage(LocaleLoader.getString("Axes.Combat.CritChance", new Object[] { critChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.gmail.nossr50.commands.skills;
|
package com.gmail.nossr50.commands.skills;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
import com.gmail.nossr50.commands.SkillCommand;
|
import com.gmail.nossr50.commands.SkillCommand;
|
||||||
@ -16,6 +18,7 @@ public class FishingCommand extends SkillCommand {
|
|||||||
private String magicChance;
|
private String magicChance;
|
||||||
private int shakeUnlockLevel;
|
private int shakeUnlockLevel;
|
||||||
private String shakeChance;
|
private String shakeChance;
|
||||||
|
private String shakeChanceLucky;
|
||||||
private String fishermansDietRank;
|
private String fishermansDietRank;
|
||||||
|
|
||||||
private int fishermansDietRankChange = advancedConfig.getFarmerDietRankChange();
|
private int fishermansDietRankChange = advancedConfig.getFarmerDietRankChange();
|
||||||
@ -32,18 +35,20 @@ public class FishingCommand extends SkillCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
//Treasure Hunter
|
||||||
lootTier = Fishing.getFishingLootTier(profile);
|
lootTier = Fishing.getFishingLootTier(profile);
|
||||||
magicChance = percent.format(lootTier / 15D);
|
magicChance = percent.format(lootTier / 15D);
|
||||||
|
//Shake
|
||||||
int dropChance = Fishing.getShakeChance(lootTier);
|
int dropChance = Fishing.getShakeChance(lootTier);
|
||||||
if (player.hasPermission("mcmmo.perks.lucky.fishing")) {
|
shakeChance = df.format(dropChance);
|
||||||
dropChance = (int) (dropChance * 1.25D);
|
if(dropChance + dropChance * 0.3333D >= 100D) shakeChanceLucky = df.format(100D);
|
||||||
}
|
else shakeChanceLucky = df.format(dropChance + dropChance * 0.3333D);
|
||||||
shakeChance = String.valueOf(dropChance);
|
shakeUnlockLevel = advancedConfig.getShakeUnlockLevel();
|
||||||
|
|
||||||
|
//Fishermans Diet
|
||||||
if(skillValue >= fishermansDietRankMaxLevel) fishermansDietRank = "5";
|
if(skillValue >= fishermansDietRankMaxLevel) fishermansDietRank = "5";
|
||||||
else fishermansDietRank = String.valueOf((int) ((double) skillValue / (double) fishermansDietRankChange));
|
else fishermansDietRank = String.valueOf((int) ((double) skillValue / (double) fishermansDietRankChange));
|
||||||
|
|
||||||
shakeUnlockLevel = advancedConfig.getShakeUnlockLevel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -103,6 +108,9 @@ public class FishingCommand extends SkillCommand {
|
|||||||
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", new Object[] { LocaleLoader.getString("Fishing.Ability.Locked.0", new Object[] { shakeUnlockLevel }) }));
|
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", new Object[] { LocaleLoader.getString("Fishing.Ability.Locked.0", new Object[] { shakeUnlockLevel }) }));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.fishing"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { shakeChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,11 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
|
|
||||||
private String greenTerraLength;
|
private String greenTerraLength;
|
||||||
private String greenThumbChance;
|
private String greenThumbChance;
|
||||||
|
private String greenThumbChanceLucky;
|
||||||
private String greenThumbStage;
|
private String greenThumbStage;
|
||||||
private String farmersDietRank;
|
private String farmersDietRank;
|
||||||
private String doubleDropChance;
|
private String doubleDropChance;
|
||||||
|
private String doubleDropChanceLucky;
|
||||||
|
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
private int farmersDietRankChange = advancedConfig.getFarmerDietRankChange();
|
private int farmersDietRankChange = advancedConfig.getFarmerDietRankChange();
|
||||||
@ -43,6 +45,8 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float greenThumbChanceF;
|
||||||
|
float doubleDropChanceF;
|
||||||
greenTerraLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
greenTerraLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
//FARMERS DIET
|
//FARMERS DIET
|
||||||
if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5";
|
if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5";
|
||||||
@ -51,12 +55,17 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4";
|
if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4";
|
||||||
else greenThumbStage = String.valueOf((int) ((double) skillValue / (double) greenThumbStageChange));
|
else greenThumbStage = String.valueOf((int) ((double) skillValue / (double) greenThumbStageChange));
|
||||||
|
|
||||||
|
if(skillValue >= greenThumbMaxLevel) greenThumbChanceF = (float) (greenThumbMaxBonus);
|
||||||
if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus);
|
else greenThumbChanceF = (float) ((greenThumbMaxBonus / greenThumbMaxLevel) * skillValue);
|
||||||
else greenThumbChance = df.format((greenThumbMaxBonus / greenThumbMaxLevel) * skillValue);
|
greenThumbChance = df.format(greenThumbChanceF);
|
||||||
|
if(greenThumbChanceF + greenThumbChanceF * 0.3333D >= 100D) greenThumbChanceLucky = df.format(100D);
|
||||||
|
else greenThumbChanceLucky = df.format(greenThumbChanceF + greenThumbChanceF * 0.3333D);
|
||||||
//DOUBLE DROPS
|
//DOUBLE DROPS
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChanceF = (float) (doubleDropsMaxBonus);
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
else doubleDropChanceF = (float) ((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
||||||
|
doubleDropChance = df.format(doubleDropChanceF);
|
||||||
|
if(doubleDropChanceF + doubleDropChanceF * 0.3333D >= 100D) doubleDropChanceLucky = df.format(100D);
|
||||||
|
else doubleDropChanceLucky = df.format(doubleDropChanceF + doubleDropChanceF * 0.3333D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -116,6 +125,9 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canGreenThumbBlocks || canGreenThumbWheat) {
|
if (canGreenThumbBlocks || canGreenThumbWheat) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.herbalism"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.GTh.Chance", new Object[] { greenThumbChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { greenThumbChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.GTh.Chance", new Object[] { greenThumbChance }));
|
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.GTh.Chance", new Object[] { greenThumbChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,6 +140,9 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canDoubleDrop && !doubleDropsDisabled) {
|
if (canDoubleDrop && !doubleDropsDisabled) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.herbalism"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.DoubleDropChance", new Object[] { doubleDropChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { doubleDropChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.DoubleDropChance", new Object[] { doubleDropChance }));
|
player.sendMessage(LocaleLoader.getString("Herbalism.Ability.DoubleDropChance", new Object[] { doubleDropChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ 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 doubleDropChanceLucky;
|
||||||
private String superBreakerLength;
|
private String superBreakerLength;
|
||||||
private String blastMiningRank;
|
private String blastMiningRank;
|
||||||
private String blastRadiusIncrease;
|
private String blastRadiusIncrease;
|
||||||
@ -46,10 +47,17 @@ public class MiningCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float doubleDropChanceF;
|
||||||
|
//Super Breaker
|
||||||
superBreakerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
superBreakerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
//Double Drops
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChanceF = (float) (doubleDropsMaxBonus);
|
||||||
|
else doubleDropChanceF = (float) ((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
||||||
|
doubleDropChance = df.format(doubleDropChanceF);
|
||||||
|
if(doubleDropChanceF + doubleDropChanceF * 0.3333D >= 100D) doubleDropChanceLucky = df.format(100D);
|
||||||
|
else doubleDropChanceLucky = df.format(doubleDropChanceF + doubleDropChanceF * 0.3333D);
|
||||||
|
|
||||||
|
//Blast Mining
|
||||||
if (skillValue >= blastMiningRank8) {
|
if (skillValue >= blastMiningRank8) {
|
||||||
blastMiningRank = "8";
|
blastMiningRank = "8";
|
||||||
blastDamageDecrease = "100.00%";
|
blastDamageDecrease = "100.00%";
|
||||||
@ -150,6 +158,9 @@ public class MiningCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void statsDisplay() {
|
protected void statsDisplay() {
|
||||||
if (canDoubleDrop && !doubleDropsDisabled) {
|
if (canDoubleDrop && !doubleDropsDisabled) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.mining"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Mining.Effect.DropChance", new Object[] { doubleDropChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { doubleDropChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Mining.Effect.DropChance", new Object[] { doubleDropChance }));
|
player.sendMessage(LocaleLoader.getString("Mining.Effect.DropChance", new Object[] { doubleDropChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
private int arcaneForgingRank;
|
private int arcaneForgingRank;
|
||||||
private String repairMasteryBonus;
|
private String repairMasteryBonus;
|
||||||
private String superRepairChance;
|
private String superRepairChance;
|
||||||
|
private String superRepairChanceLucky;
|
||||||
|
|
||||||
private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
||||||
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
||||||
@ -50,6 +51,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float superRepairChanceF;
|
||||||
// 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);
|
||||||
@ -66,8 +68,11 @@ public class RepairCommand extends SkillCommand {
|
|||||||
if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax);
|
if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax);
|
||||||
else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * skillValue);
|
else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * skillValue);
|
||||||
|
|
||||||
if(skillValue >= superRepairMaxBonusLevel) superRepairChance = df.format(superRepairChanceMax);
|
if(skillValue >= superRepairMaxBonusLevel) superRepairChanceF = superRepairChanceMax;
|
||||||
else superRepairChance = df.format(((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * skillValue);
|
else superRepairChanceF = (float) (((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * skillValue);
|
||||||
|
superRepairChance = df.format(superRepairChanceF);
|
||||||
|
if(superRepairChanceF + superRepairChanceF * 0.3333D >= 100D) superRepairChanceLucky = df.format(100D);
|
||||||
|
else superRepairChanceLucky = df.format(superRepairChanceF + superRepairChanceF * 0.3333D);
|
||||||
|
|
||||||
arcaneForgingRank = Repair.getArcaneForgingRank(profile);
|
arcaneForgingRank = Repair.getArcaneForgingRank(profile);
|
||||||
}
|
}
|
||||||
@ -149,6 +154,9 @@ public class RepairCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canSuperRepair) {
|
if (canSuperRepair) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.repair"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Repair.Skills.Super.Chance", new Object[] { superRepairChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { superRepairChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Skills.Super.Chance", new Object[] { superRepairChance }));
|
player.sendMessage(LocaleLoader.getString("Repair.Skills.Super.Chance", new Object[] { superRepairChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,8 +13,10 @@ public class SwordsCommand extends SkillCommand {
|
|||||||
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private String counterAttackChance;
|
private String counterAttackChance;
|
||||||
|
private String counterAttackChanceLucky;
|
||||||
private String bleedLength;
|
private String bleedLength;
|
||||||
private String bleedChance;
|
private String bleedChance;
|
||||||
|
private String bleedChanceLucky;
|
||||||
private String serratedStrikesLength;
|
private String serratedStrikesLength;
|
||||||
|
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
@ -37,16 +39,24 @@ public class SwordsCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float bleedChanceF;
|
||||||
|
float counterAttackChanceF;
|
||||||
serratedStrikesLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
serratedStrikesLength = String.valueOf(2 + (int) ((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) bleedChanceF = bleedChanceMax;
|
||||||
else bleedChance = df.format(((double) bleedChanceMax / (double) bleedMaxLevel) * skillValue);
|
else bleedChanceF = (float) (((double) bleedChanceMax / (double) bleedMaxLevel) * skillValue);
|
||||||
|
bleedChance = df.format(bleedChanceF);
|
||||||
|
if(bleedChanceF + bleedChanceF * 0.3333D >= 100D) bleedChanceLucky = df.format(100D);
|
||||||
|
else bleedChanceLucky = df.format(bleedChanceF + bleedChanceF * 0.3333D);
|
||||||
|
|
||||||
if(skillValue >= counterMaxLevel) counterAttackChance = df.format(counterChanceMax);
|
if(skillValue >= counterMaxLevel) counterAttackChanceF = counterChanceMax;
|
||||||
else counterAttackChance = df.format(((double) counterChanceMax / (double) counterMaxLevel) * skillValue);
|
else counterAttackChanceF = (float) (((double) counterChanceMax / (double) counterMaxLevel) * skillValue);
|
||||||
|
counterAttackChance = df.format(counterAttackChanceF);
|
||||||
|
if(counterAttackChanceF + counterAttackChanceF * 0.3333D >= 100D) counterAttackChanceLucky = df.format(100D);
|
||||||
|
else counterAttackChanceLucky = df.format(counterAttackChanceF + counterAttackChanceF * 0.3333D);
|
||||||
|
|
||||||
serratedStrikesLength = String.valueOf(serratedBleedTicks);
|
serratedStrikesLength = String.valueOf(serratedBleedTicks);
|
||||||
}
|
}
|
||||||
@ -92,12 +102,18 @@ public class SwordsCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void statsDisplay() {
|
protected void statsDisplay() {
|
||||||
if (canCounter) {
|
if (canCounter) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.swords"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Counter.Chance", new Object[] { counterAttackChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { counterAttackChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Swords.Combat.Counter.Chance", new Object[] { counterAttackChance }));
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Counter.Chance", new Object[] { counterAttackChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canBleed) {
|
if (canBleed) {
|
||||||
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Length", new Object[] { bleedLength }));
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Length", new Object[] { bleedLength }));
|
||||||
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Note"));
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Note"));
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.swords"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Chance", new Object[] { bleedChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { bleedChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Chance", new Object[] { bleedChance }));
|
player.sendMessage(LocaleLoader.getString("Swords.Combat.Bleed.Chance", new Object[] { bleedChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ 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 String goreChanceLucky;
|
||||||
|
|
||||||
private float goreChanceMax = advancedConfig.getGoreChanceMax();
|
private float goreChanceMax = advancedConfig.getGoreChanceMax();
|
||||||
private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel();
|
private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel();
|
||||||
@ -39,8 +40,12 @@ public class TamingCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax);
|
float goreChanceF;
|
||||||
else goreChance = df.format(((double) goreChanceMax / (double) goreMaxLevel) * skillValue);
|
if(skillValue >= goreMaxLevel) goreChanceF = (goreChanceMax);
|
||||||
|
else goreChanceF = (float) (((double) goreChanceMax / (double) goreMaxLevel) * skillValue);
|
||||||
|
goreChance = df.format(goreChanceF);
|
||||||
|
if(goreChanceF + goreChanceF * 0.3333D >= 100D) goreChanceLucky = df.format(100D);
|
||||||
|
else goreChanceLucky = df.format(goreChanceF + goreChanceF * 0.3333D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -157,6 +162,9 @@ public class TamingCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canGore) {
|
if (canGore) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.taming"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Taming.Combat.Chance.Gore", new Object[] { goreChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { goreChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Taming.Combat.Chance.Gore", new Object[] { goreChance }));
|
player.sendMessage(LocaleLoader.getString("Taming.Combat.Chance.Gore", new Object[] { goreChance }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,9 @@ 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 deflectChanceLucky;
|
||||||
private String disarmChance;
|
private String disarmChance;
|
||||||
|
private String disarmChanceLucky;
|
||||||
private String ironArmBonus;
|
private String ironArmBonus;
|
||||||
|
|
||||||
private float disarmChanceMax = advancedConfig.getDisarmChanceMax();
|
private float disarmChanceMax = advancedConfig.getDisarmChanceMax();
|
||||||
@ -36,13 +38,21 @@ public class UnarmedCommand extends SkillCommand {
|
|||||||
@Override
|
@Override
|
||||||
protected void dataCalculations() {
|
protected void dataCalculations() {
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
|
float disarmChanceF;
|
||||||
|
float deflectChanceF;
|
||||||
berserkLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
berserkLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
|
|
||||||
if(skillValue >= disarmMaxLevel) disarmChance = df.format(disarmChanceMax);
|
if(skillValue >= disarmMaxLevel) disarmChanceF = disarmChanceMax;
|
||||||
else disarmChance = df.format(((double) disarmChanceMax / (double) disarmMaxLevel) * skillValue);
|
else disarmChanceF = (float) (((double) disarmChanceMax / (double) disarmMaxLevel) * skillValue);
|
||||||
|
disarmChance = df.format(disarmChanceF);
|
||||||
|
if(disarmChanceF + disarmChanceF * 0.3333D >= 100D) disarmChanceLucky = df.format(100D);
|
||||||
|
else disarmChanceLucky = df.format(disarmChanceF + disarmChanceF * 0.3333D);
|
||||||
|
|
||||||
if(skillValue >= deflectMaxLevel) deflectChance = df.format(deflectChanceMax);
|
if(skillValue >= deflectMaxLevel) deflectChanceF = deflectChanceMax;
|
||||||
else deflectChance = df.format(((double) deflectChanceMax / (double) deflectMaxLevel) * skillValue);
|
else deflectChanceF = (float) (((double) deflectChanceMax / (double) deflectMaxLevel) * skillValue);
|
||||||
|
deflectChance = df.format(deflectChanceF);
|
||||||
|
if(deflectChanceF + deflectChanceF * 0.3333D >= 100D) deflectChanceLucky = df.format(100D);
|
||||||
|
else deflectChanceLucky = df.format(deflectChanceF + deflectChanceF * 0.3333D);
|
||||||
|
|
||||||
if (skillValue >= 250) ironArmBonus = String.valueOf(ironArmMaxBonus);
|
if (skillValue >= 250) ironArmBonus = String.valueOf(ironArmMaxBonus);
|
||||||
else ironArmBonus = String.valueOf(3 + ((double) skillValue / (double) ironArmIncreaseLevel));
|
else ironArmBonus = String.valueOf(3 + ((double) skillValue / (double) ironArmIncreaseLevel));
|
||||||
@ -97,10 +107,16 @@ public class UnarmedCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canDeflect) {
|
if (canDeflect) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.unarmed"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", new Object[] { deflectChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { deflectChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", new Object[] { deflectChance }));
|
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", new Object[] { deflectChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canDisarm) {
|
if (canDisarm) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.unarmed"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", new Object[] { disarmChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { disarmChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", new Object[] { disarmChance }));
|
player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", new Object[] { disarmChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ 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 String doubleDropChanceLucky;
|
||||||
|
|
||||||
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance();
|
private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance();
|
||||||
@ -32,10 +33,14 @@ 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");
|
||||||
|
float doubleDropChanceF;
|
||||||
|
|
||||||
treeFellerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
treeFellerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
|
||||||
if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus);
|
if(skillValue >= doubleDropsMaxLevel) doubleDropChanceF = (float) (doubleDropsMaxBonus);
|
||||||
else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
else doubleDropChanceF = (float) ((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue);
|
||||||
|
doubleDropChance = df.format(doubleDropChanceF);
|
||||||
|
if(doubleDropChanceF + doubleDropChanceF * 0.3333D >= 100D) doubleDropChanceLucky = df.format(100D);
|
||||||
|
else doubleDropChanceLucky = df.format(doubleDropChanceF + doubleDropChanceF * 0.3333D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -91,6 +96,9 @@ public class WoodcuttingCommand extends SkillCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canDoubleDrop && !doubleDropsDisabled) {
|
if (canDoubleDrop && !doubleDropsDisabled) {
|
||||||
|
if (player.hasPermission("mcmmo.perks.lucky.woodcutting"))
|
||||||
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", new Object[] { doubleDropChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { doubleDropChanceLucky }));
|
||||||
|
else
|
||||||
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", new Object[] { doubleDropChance }));
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", new Object[] { doubleDropChance }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +96,6 @@ public class Axes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance) && !entity.isDead()){
|
if (chance > random.nextInt(randomChance) && !entity.isDead()){
|
||||||
// if (random.nextInt(randomChance) <= skillCheck && !entity.isDead()){
|
|
||||||
int damage = event.getDamage();
|
int damage = event.getDamage();
|
||||||
|
|
||||||
if (entity instanceof Player){
|
if (entity instanceof Player){
|
||||||
|
@ -514,6 +514,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -513,6 +513,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -514,6 +514,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -112,7 +112,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman's Diet
|
Fishing.Effect.6=Fisherman's Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
@ -535,6 +535,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -515,6 +515,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
Loading…
Reference in New Issue
Block a user