diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java index 6abe06713..23362d213 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java @@ -14,8 +14,11 @@ public class AcrobaticsCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String dodgeChance; + private String dodgeChanceLucky; private String rollChance; + private String rollChanceLucky; private String gracefulRollChance; + private String gracefulRollChanceLucky; private float dodgeChanceMax = advancedConfig.getDodgeChanceMax(); private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel(); @@ -36,15 +39,30 @@ public class AcrobaticsCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float dodgeChanceF; + float rollChanceF; + float gracefulRollChanceF; + // DODGE - if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax); - else dodgeChance = df.format(((double) dodgeChanceMax / (double) dodgeMaxBonusLevel) * skillValue); + if(skillValue >= dodgeMaxBonusLevel) dodgeChanceF = dodgeChanceMax; + 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 - if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax); - else rollChance = df.format(((double) rollChanceMax / (double) rollMaxBonusLevel) * skillValue); + if(skillValue >= rollMaxBonusLevel) rollChanceF = rollChanceMax; + 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 - if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax); - else gracefulRollChance = df.format(((double) gracefulRollChanceMax / (double) gracefulRollMaxBonusLevel) * skillValue); + if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChanceF = gracefulRollChanceMax; + 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 @@ -88,15 +106,24 @@ public class AcrobaticsCommand extends SkillCommand { @Override protected void statsDisplay() { if (canRoll) { - player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance })); + 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 })); } if (canGracefulRoll) { - player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance })); + 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 })); } if (canDodge) { - player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance })); + 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 })); } } } \ No newline at end of file diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java index bdc6472d5..ecb9cb49f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java @@ -15,7 +15,9 @@ public class ArcheryCommand extends SkillCommand { private String skillShotBonus; private String dazeChance; + private String dazeChanceLucky; private String retrieveChance; + private String retrieveChanceLucky; private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel(); private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage(); @@ -27,7 +29,6 @@ public class ArcheryCommand extends SkillCommand { private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax(); private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel(); - private boolean canSkillShot; private boolean canDaze; private boolean canRetrieve; @@ -40,18 +41,27 @@ public class ArcheryCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float dazeChanceF; + float retrieveChanceF; + // SkillShot double bonus = (int)((double) skillValue / (double) skillShotIncreaseLevel) * skillShotIncreasePercentage; if (bonus > skillShotBonusMax) skillShotBonus = percent.format(skillShotBonusMax); else skillShotBonus = percent.format(bonus); // Daze - if(skillValue >= dazeMaxBonusLevel) dazeChance = df.format(dazeBonusMax); - else dazeChance = df.format(((double) dazeBonusMax / (double) dazeMaxBonusLevel) * skillValue); + if(skillValue >= dazeMaxBonusLevel) dazeChanceF = dazeBonusMax; + 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 - if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax); - else retrieveChance = df.format(((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * skillValue); + if(skillValue >= retrieveMaxBonusLevel) retrieveChanceF = retrieveBonusMax; + 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 @@ -95,15 +105,21 @@ public class ArcheryCommand extends SkillCommand { @Override protected void statsDisplay() { if (canSkillShot) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus })); + player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus })); } if (canDaze) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance })); + 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 })); } if (canRetrieve) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance })); + 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 })); } } } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java index d09dc46ea..ab28750da 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java @@ -15,6 +15,7 @@ public class AxesCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String critChance; + private String critChanceLucky; private String bonusDamage; private String impactDamage; private String greaterImpactDamage; @@ -25,7 +26,7 @@ public class AxesCommand extends SkillCommand { private double critMaxChance = advancedConfig.getAxesCriticalChance(); private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel(); private int greaterImpactIncreaseLevel = advancedConfig.getArmorImpactIncreaseLevel(); - // private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier(); + private double greaterImpactBonusDamage = advancedConfig.getGreaterImpactBonusDamage(); private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private boolean canSkullSplitter; @@ -42,14 +43,22 @@ public class AxesCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float critChanceF; int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel); + //Armor Impact impactDamage = String.valueOf(1 + ((double) skillValue / (double) greaterImpactIncreaseLevel)); + //Skull Splitter skullSplitterLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); - greaterImpactDamage = "2"; - - if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance); - else critChance = String.valueOf((critMaxChance / critMaxBonusLevel) * skillCheck); + //Greater Impact + greaterImpactDamage = String.valueOf(greaterImpactBonusDamage); + //Critical Strikes + 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); else bonusDamage = String.valueOf(skillValue / ((double) bonusDamageAxesMaxBonusLevel / (double) bonusDamageAxesBonusMax)); } @@ -116,8 +125,11 @@ 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}) })); } - if (canCritical) { - player.sendMessage(LocaleLoader.getString("Axes.Combat.CritChance", new Object[] { critChance })); + 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 })); } if (canSkullSplitter) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java index 50233e6ff..67f64a6c4 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java @@ -1,5 +1,7 @@ package com.gmail.nossr50.commands.skills; +import java.text.DecimalFormat; + import org.bukkit.ChatColor; import com.gmail.nossr50.commands.SkillCommand; @@ -17,8 +19,12 @@ public class FishingCommand extends SkillCommand { private String magicChance; private int shakeUnlockLevel; private String shakeChance; + private String shakeChanceLucky; private String fishermansDietRank; + private int fishermansDietRankChange = advancedConfig.getFarmerDietRankChange(); + private int fishermansDietRankMaxLevel = fishermansDietRankChange * 5; + private boolean canTreasureHunt; private boolean canMagicHunt; private boolean canShake; @@ -31,30 +37,21 @@ public class FishingCommand extends SkillCommand { @Override protected void dataCalculations() { + DecimalFormat df = new DecimalFormat("0.0"); + //Treasure Hunter lootTier = Fishing.getFishingLootTier(profile); - magicChance = percent.format(lootTier / 15D); + magicChance = percent.format(lootTier / 15D); + //Shake int dropChance = Fishing.getShakeChance(lootTier); - if (Permissions.luckyFishing(player)) { - dropChance = (int) (dropChance * 1.25D); - } - shakeChance = String.valueOf(dropChance); + + shakeChance = df.format(dropChance); + if(dropChance + (dropChance * 0.3333D) >= 100D) shakeChanceLucky = df.format(100D); + else shakeChanceLucky = df.format(dropChance + (dropChance * 0.3333D)); + shakeUnlockLevel = advancedConfig.getShakeUnlockLevel(); - if (skillValue >= 1000) { - fishermansDietRank = "5"; - } - else if (skillValue >= 800) { - fishermansDietRank = "4"; - } - else if (skillValue >= 600) { - fishermansDietRank = "3"; - } - else if (skillValue >= 400) { - fishermansDietRank = "2"; - } - else { - fishermansDietRank = "1"; - } - shakeUnlockLevel = advancedConfig.getShakeUnlockLevel(); + //Fishermans Diet + if(skillValue >= fishermansDietRankMaxLevel) fishermansDietRank = "5"; + else fishermansDietRank = String.valueOf((int) ((double) skillValue / (double) fishermansDietRankChange)); } @Override @@ -115,7 +112,10 @@ public class FishingCommand extends SkillCommand { player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", new Object[] { LocaleLoader.getString("Fishing.Ability.Locked.0", new Object[] { shakeUnlockLevel }) })); } else { - player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance })); + 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 })); } } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java index 306aae036..2140e7a05 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java @@ -16,9 +16,11 @@ public class HerbalismCommand extends SkillCommand { private String greenTerraLength; private String greenThumbChance; + private String greenThumbChanceLucky; private String greenThumbStage; private String farmersDietRank; private String doubleDropChance; + private String doubleDropChanceLucky; private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private int farmersDietRankChange = advancedConfig.getFarmerDietRankChange(); @@ -45,6 +47,8 @@ public class HerbalismCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float greenThumbChanceF; + float doubleDropChanceF; greenTerraLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); //FARMERS DIET if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5"; @@ -53,12 +57,17 @@ public class HerbalismCommand extends SkillCommand { if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4"; else greenThumbStage = String.valueOf((int) ((double) skillValue / (double) greenThumbStageChange)); - - if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus); - else greenThumbChance = df.format((greenThumbMaxBonus / greenThumbMaxLevel) * skillValue); + if(skillValue >= greenThumbMaxLevel) greenThumbChanceF = (float) (greenThumbMaxBonus); + else greenThumbChanceF = (float) ((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 - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - 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); } @Override @@ -119,7 +128,10 @@ public class HerbalismCommand extends SkillCommand { } if (canGreenThumbBlocks || canGreenThumbWheat) { - player.sendMessage(LocaleLoader.getString("Herbalism.Ability.GTh.Chance", new Object[] { greenThumbChance })); + 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 })); } if (canGreenThumbWheat) { @@ -131,7 +143,10 @@ public class HerbalismCommand extends SkillCommand { } if (canDoubleDrop && !doubleDropsDisabled) { - player.sendMessage(LocaleLoader.getString("Herbalism.Ability.DoubleDropChance", new Object[] { doubleDropChance })); + 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 })); } } } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java index 70b2af8aa..dc3ad1e1e 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java @@ -15,6 +15,7 @@ import com.gmail.nossr50.util.Permissions; public class MiningCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String doubleDropChance; + private String doubleDropChanceLucky; private String superBreakerLength; private String blastMiningRank; private String blastRadiusIncrease; @@ -48,10 +49,17 @@ public class MiningCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float doubleDropChanceF; + //Super Breaker superBreakerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue); + //Double Drops + 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) { blastMiningRank = "8"; blastDamageDecrease = "100.00%"; @@ -153,7 +161,10 @@ public class MiningCommand extends SkillCommand { @Override protected void statsDisplay() { if (canDoubleDrop && !doubleDropsDisabled) { - player.sendMessage(LocaleLoader.getString("Mining.Effect.DropChance", new Object[] { doubleDropChance })); + 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 })); } if (canSuperBreaker) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index 11ab0fb25..7e3fba203 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -19,6 +19,7 @@ public class RepairCommand extends SkillCommand { private int arcaneForgingRank; private String repairMasteryBonus; private String superRepairChance; + private String superRepairChanceLucky; private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax(); private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel(); @@ -52,6 +53,7 @@ public class RepairCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float superRepairChanceF; // We're using pickaxes here, not the best but it works Repairable diamondRepairable = mcMMO.repairManager.getRepairable(278); Repairable goldRepairable = mcMMO.repairManager.getRepairable(285); @@ -68,8 +70,11 @@ public class RepairCommand extends SkillCommand { if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax); else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * skillValue); - if(skillValue >= superRepairMaxBonusLevel) superRepairChance = df.format(superRepairChanceMax); - else superRepairChance = df.format(((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * skillValue); + if(skillValue >= superRepairMaxBonusLevel) superRepairChanceF = superRepairChanceMax; + 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); } @@ -152,7 +157,10 @@ public class RepairCommand extends SkillCommand { } if (canSuperRepair) { - player.sendMessage(LocaleLoader.getString("Repair.Skills.Super.Chance", new Object[] { superRepairChance })); + 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 })); } if (canArcaneForge) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java index 6a0fb0418..25cd6f4c3 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java @@ -14,8 +14,10 @@ public class SwordsCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String counterAttackChance; + private String counterAttackChanceLucky; private String bleedLength; private String bleedChance; + private String bleedChanceLucky; private String serratedStrikesLength; private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); @@ -39,16 +41,24 @@ public class SwordsCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float bleedChanceF; + float counterAttackChanceF; serratedStrikesLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); if (skillValue >= bleedMaxLevel) bleedLength = String.valueOf(bleedMaxTicks); else bleedLength = String.valueOf(bleedBaseTicks); - if(skillValue >= bleedMaxLevel) bleedChance = df.format(bleedChanceMax); - else bleedChance = df.format(((double) bleedChanceMax / (double) bleedMaxLevel) * skillValue); + if(skillValue >= bleedMaxLevel) bleedChanceF = bleedChanceMax; + 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); - else counterAttackChance = df.format(((double) counterChanceMax / (double) counterMaxLevel) * skillValue); + if(skillValue >= counterMaxLevel) counterAttackChanceF = counterChanceMax; + 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); } @@ -95,13 +105,19 @@ public class SwordsCommand extends SkillCommand { @Override protected void statsDisplay() { if (canCounter) { - player.sendMessage(LocaleLoader.getString("Swords.Combat.Counter.Chance", new Object[] { counterAttackChance })); + 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 })); } if (canBleed) { 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.Chance", new Object[] { bleedChance })); + 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 })); } if (canSerratedStrike) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java index f60e7e103..0335e41a0 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java @@ -14,6 +14,7 @@ import com.gmail.nossr50.util.Permissions; public class TamingCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String goreChance; + private String goreChanceLucky; private float goreChanceMax = advancedConfig.getGoreChanceMax(); private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel(); @@ -41,8 +42,12 @@ public class TamingCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); - if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax); - else goreChance = df.format(((double) goreChanceMax / (double) goreMaxLevel) * skillValue); + float goreChanceF; + 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 @@ -160,7 +165,10 @@ public class TamingCommand extends SkillCommand { } if (canGore) { - player.sendMessage(LocaleLoader.getString("Taming.Combat.Chance.Gore", new Object[] { goreChance })); + 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 })); } } } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java index 370e52040..110b989a5 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java @@ -14,7 +14,9 @@ public class UnarmedCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String berserkLength; private String deflectChance; + private String deflectChanceLucky; private String disarmChance; + private String disarmChanceLucky; private String ironArmBonus; private float disarmChanceMax = advancedConfig.getDisarmChanceMax(); @@ -38,13 +40,21 @@ public class UnarmedCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float disarmChanceF; + float deflectChanceF; berserkLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); - if(skillValue >= disarmMaxLevel) disarmChance = df.format(disarmChanceMax); - else disarmChance = df.format(((double) disarmChanceMax / (double) disarmMaxLevel) * skillValue); + if(skillValue >= disarmMaxLevel) disarmChanceF = disarmChanceMax; + 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); - else deflectChance = df.format(((double) deflectChanceMax / (double) deflectMaxLevel) * skillValue); + if(skillValue >= deflectMaxLevel) deflectChanceF = deflectChanceMax; + 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); else ironArmBonus = String.valueOf(3 + ((double) skillValue / (double) ironArmIncreaseLevel)); @@ -100,11 +110,17 @@ public class UnarmedCommand extends SkillCommand { } if (canDeflect) { - player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", new Object[] { deflectChance })); + 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 })); } if (canDisarm) { - player.sendMessage(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", new Object[] { disarmChance })); + 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 })); } if (canBerserk) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java index 6352f6a5f..cfa8ed32a 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java @@ -15,6 +15,7 @@ public class WoodcuttingCommand extends SkillCommand { AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String treeFellerLength; private String doubleDropChance; + private String doubleDropChanceLucky; private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance(); @@ -34,10 +35,14 @@ public class WoodcuttingCommand extends SkillCommand { @Override protected void dataCalculations() { DecimalFormat df = new DecimalFormat("0.0"); + float doubleDropChanceF; treeFellerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel)); - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - 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); } @Override @@ -94,7 +99,10 @@ public class WoodcuttingCommand extends SkillCommand { } if (canDoubleDrop && !doubleDropsDisabled) { - player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", new Object[] { doubleDropChance })); + 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 })); } if (canTreeFell) { diff --git a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java index 7ab839a42..ddeb8fc11 100644 --- a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java +++ b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java @@ -148,7 +148,4 @@ public class AdvancedConfig extends ConfigLoader { public int getSpoutNotificationTier2() { return config.getInt("Spout.Notifications.Tier2", 400); } public int getSpoutNotificationTier3() { return config.getInt("Spout.Notifications.Tier3", 600); } public int getSpoutNotificationTier4() { return config.getInt("Spout.Notifications.Tier4", 800); } - //TODO Make the sounds configurable! :D - // public String getSpoutSoundRepair() { return config.getString("Spout.Sounds.RepairSound", "url here"); } - // public String getSpoutSoundLevelUp() { return config.getString("Spout.Sounds.LevelUp", "url here"); } } diff --git a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java index f56d12c54..b313cb7b7 100644 --- a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java @@ -348,13 +348,13 @@ public class EntityListener implements Listener { case RAW_FISH: /* RAW FISH RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */ - rankChange = 400; + rankChange = FoodRank2; fish = true; break; case COOKED_FISH: /* COOKED FISH RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @ 1000 */ - rankChange = 200; + rankChange = FoodRank1; fish = true; break; diff --git a/src/main/java/com/gmail/nossr50/skills/combat/Axes.java b/src/main/java/com/gmail/nossr50/skills/combat/Axes.java index d267043eb..d451ec83c 100644 --- a/src/main/java/com/gmail/nossr50/skills/combat/Axes.java +++ b/src/main/java/com/gmail/nossr50/skills/combat/Axes.java @@ -96,7 +96,6 @@ public class Axes { } if (chance > random.nextInt(randomChance) && !entity.isDead()){ - // if (random.nextInt(randomChance) <= skillCheck && !entity.isDead()){ int damage = event.getDamage(); if (entity instanceof Player){ diff --git a/src/main/java/com/gmail/nossr50/skills/gathering/Fishing.java b/src/main/java/com/gmail/nossr50/skills/gathering/Fishing.java index 17bdc6a3e..f66eee191 100755 --- a/src/main/java/com/gmail/nossr50/skills/gathering/Fishing.java +++ b/src/main/java/com/gmail/nossr50/skills/gathering/Fishing.java @@ -108,11 +108,11 @@ public class Fishing { default: break; } - + if (Config.getInstance().getFishingDropsEnabled() && rewards.size() > 0 && Permissions.fishingTreasures(player)) { - FishingTreasure treasure = rewards.get(random.nextInt(rewards - .size())); + FishingTreasure treasure; + treasure = rewards.get(random.nextInt(rewards.size())); int randomChance = 100; @@ -121,26 +121,20 @@ public class Fishing { } if (random.nextDouble() * randomChance <= treasure.getDropChance()) { - Users.getPlayer(player).addXP(SkillType.FISHING, - treasure.getXp()); + Users.getPlayer(player).addXP(SkillType.FISHING,treasure.getXp()); theCatch.setItemStack(treasure.getDrop()); } } else { theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); } - short maxDurability = theCatch.getItemStack().getType() - .getMaxDurability(); + short maxDurability = theCatch.getItemStack().getType().getMaxDurability(); if (maxDurability > 0) { - theCatch.getItemStack().setDurability( - (short) (random.nextInt(maxDurability))); // Change - // durability to - // random value + theCatch.getItemStack().setDurability((short) (random.nextInt(maxDurability))); // Change durability to random value } - Skills.xpProcessing(player, profile, SkillType.FISHING, Config - .getInstance().getFishingBaseXP()); + Skills.xpProcessing(player, profile, SkillType.FISHING, Config.getInstance().getFishingBaseXP()); } /** @@ -160,8 +154,7 @@ public class Fishing { Item theCatch = (Item) event.getCaught(); if (theCatch.getItemStack().getType() != Material.RAW_FISH) { - final int ENCHANTMENT_CHANCE = advancedConfig - .getFishingEnchantmentChance(); + final int ENCHANTMENT_CHANCE = advancedConfig.getFishingEnchantmentChance(); boolean enchanted = false; ItemStack fishingResults = theCatch.getItemStack(); @@ -173,16 +166,14 @@ public class Fishing { if (Permissions.luckyFishing(player)) { randomChance = (int) (randomChance * 0.75); } - + if (random.nextInt(randomChance) <= ENCHANTMENT_CHANCE - && Permissions.fishingMagic(player)) { + && Permissions.fishingMagic(player)) { for (Enchantment newEnchant : Enchantment.values()) { if (newEnchant.canEnchantItem(fishingResults)) { - Map resultEnchantments = fishingResults - .getEnchantments(); + Map resultEnchantments = fishingResults.getEnchantments(); - for (Enchantment oldEnchant : resultEnchantments - .keySet()) { + for (Enchantment oldEnchant : resultEnchantments.keySet()) { if (oldEnchant.conflictsWith(newEnchant)) continue; } @@ -191,23 +182,18 @@ public class Fishing { * Actual chance to have an enchantment is related * to your fishing skill */ - if (random.nextInt(15) < Fishing - .getFishingLootTier(profile)) { + if (random.nextInt(15) < Fishing.getFishingLootTier(profile)) { enchanted = true; - int randomEnchantLevel = random - .nextInt(newEnchant.getMaxLevel()) + 1; + int randomEnchantLevel = random.nextInt(newEnchant.getMaxLevel()) + 1; - if (randomEnchantLevel < newEnchant - .getStartLevel()) { - randomEnchantLevel = newEnchant - .getStartLevel(); + if (randomEnchantLevel < newEnchant.getStartLevel()) { + randomEnchantLevel = newEnchant.getStartLevel(); } if (randomEnchantLevel >= 1000) continue; - fishingResults.addEnchantment(newEnchant, - randomEnchantLevel); + fishingResults.addEnchantment(newEnchant,randomEnchantLevel); } } } @@ -238,10 +224,10 @@ public class Fishing { int lootTier = getFishingLootTier(profile); int dropChance = getShakeChance(lootTier); - + if (Permissions.luckyFishing(player)) { - dropChance = (int) (dropChance * 1.25); // With lucky perk on max - // level tier, its 100% + // With lucky perk on max level tier, its 100% + dropChance = (int) (dropChance * 1.25); } final int DROP_CHANCE = random.nextInt(100); diff --git a/src/main/resources/advanced.yml b/src/main/resources/advanced.yml index 10b3bebd3..fdc696255 100644 --- a/src/main/resources/advanced.yml +++ b/src/main/resources/advanced.yml @@ -14,51 +14,119 @@ ### Skills: General: + # This setting will determine when the length of every ability gets longer with 1 second Ability_IncreaseLevel: 50 + # + # Settings for Acrobatics + ### Acrobatics: + # Dodge_ChanceMax: Maximum chance of dodging when on Dodge_MaxBonusLevel or higher + # Dodge_MaxBonusLevel: On this level or higher, the dodge chance will not go higher than Dodge_ChanceMax Dodge_ChanceMax: 20 Dodge_MaxBonusLevel: 800 + + # Roll_ChanceMax: Maximum chance of rolling when on Roll_MaxBonusLevel or higher + # Roll_MaxBonusLevel: On this level or higher, the roll chance will not go higher than Roll_ChanceMax Roll_ChanceMax: 100 Roll_MaxBonusLevel: 1000 + + # GracefulRoll_ChanceMax: Maximum chance of graceful rolling when on GracefulRoll_MaxBonusLevel or higher + # GracefulRoll_MaxBonusLevel: On this level or higher, the graceful roll chance will not go higher than GracefulRoll_ChanceMax GracefulRoll_ChanceMax: 100 GracefulRoll_MaxBonusLevel: 500 + + # Amount of experience for performing a dodge, roll or fall Dodge_XP_Modifier: 120 Roll_XP_Modifier: 80 Fall_XP_Modifier: 120 + # + # Settings for Archery + ### Archery: + # SkillShot_IncreaseLevel: Every "SkillShot_IncreaseLevel" the skillshot bonus will go up by "SkillShot_IncreasePercentage" + # SkillShot_IncreasePercentage: This is a percentage value, 0.1 = 10% + # SkillShot_MaxBonus: When the SkillShot_MaxBonus has been reached, the bonus percentage will not go up anymore. 2.0 = 200% SkillShot_IncreaseLevel: 50 SkillShot_IncreasePercentage: 0.1D SkillShot_MaxBonus: 2.0D + + # Daze_MaxChance: Maximum chance of causing daze to opponents + # Daze_MaxBonusLevel: Maximum bonus level of Daze, when a player reaches this level his chance of causing a daze will be "Daze_MaxChance" + # Daze_Modifier: Extra damage for arrows that cause a daze (2 damage = 1 heart) Daze_MaxChance: 50 Daze_MaxBonusLevel: 1000 Daze_Modifier: 4 + + # Retrieve_MaxBonus: Maximum chance or retrieving arrows + # Retrieve_MaxBonusLevel: Maximum bonus level for Arrow retrieval, at this level the chance of retrieving arrows from mobs is Retrieve_MaxBonus Retrieve_MaxBonus: 100 Retrieve_MaxBonusLevel: 1000 + # + # Settings for Axes + ### Axes: + # DamageIncrease_MaxBonus: Maximum bonus damage + # DamageIncrease_MaxBonusLevel: Level where the maximum bonus is reached DamageIncrease_MaxBonus: 4 DamageIncrease_MaxBonusLevel: 200 + + # AxesCritical_MaxChance: Maximum chance of causing a critical hit + # AxesCritical_MaxBonusLevel: Level where the maximum chance of causing critical hits is reached AxesCritical_MaxChance: 37.50 AxesCritical_MaxBonusLevel: 750 + + # Damage modifier of critical hits for PVP / PVE, when causing a critical hit the damage gets multiplied by the modifier AxesCritical_PVP_Modifier: 1.5 AxesCritical_PVE_Modifier: 2 + + # GreaterImpact_Chance: Chance of hitting with GreaterImpact, knocksbacks mobs + # GreaterImpact_KnockbackModifier: Velocity modifier of GreaterImpact hits, this determines how great the knockback is + # GreaterImpact_BonusDamage: Extra damage for GreaterImpact hits GreaterImpact_Chance: 25 GreaterImpact_KnockbackModifier: 1.5 GreaterImpact_BonusDamage: 2 + + # ArmorImpact_IncreaseLevel: Every "IncreaseLevel" the durability damage goes up with 1 + # ArmorImpact_MaxPercentageDurabilityDamage: Durability damage cap for ArmorImpact, 20% means that you can never destroy a piece of armor in less than 5 hits ArmorImpact_IncreaseLevel: 50 ArmorImpact_MaxPercentageDurabilityDamage: 20 + # + # Settings for Fishing + ### Fishing: + # Shake_UnlockLevel: Fishing level when the Shake ability unlocks Shake_UnlockLevel: 150 + + # Enchantment_Chance: Chance of getting fishing treasure with enchantments Enchantment_Chance: 10 + # + # Settings for Herbalism + ### Herbalism: + # This determines when Farmersdiet and Fishermans diet add extra hunger recovery to food Food_RankChange: 200 + + # GreenThumb_StageChange: Level value when the GreenThumb stage level goes up + # GreenThumb_ChanceMax: Maximum chance of GreenThumb + # GreenThumb_MaxBonusLevel: On this level, greenthumb chance will be GreenThumb_ChanceMax GreenThumb_StageChange: 200 GreenThumb_ChanceMax: 100 GreenThumb_MaxBonusLevel: 1500 + + # DoubleDrops_ChanceMax: Maximum chance of receiving double drops + # DoubleDrops_MaxBonusLevel: Level when the maximum chance of receiving double drops is reached DoubleDrops_ChanceMax: 100 DoubleDrops_MaxBonusLevel: 1000 + # + # Settings for Mining + ### Mining: + # DoubleDrops_ChanceMax: Maximum chance of receiving double drops + # DoubleDrops_MaxBonusLevel: Level when the maximum chance of receiving double drops is reached DoubleDrops_ChanceMax: 100 DoubleDrops_MaxBonusLevel: 1000 + + # BlastMining rank unlocks BlastMining_Rank1: 125 BlastMining_Rank2: 250 BlastMining_Rank3: 375 diff --git a/src/main/resources/locale/locale_cy.properties b/src/main/resources/locale/locale_cy.properties index beca3b50a..262dae477 100644 --- a/src/main/resources/locale/locale_cy.properties +++ b/src/main/resources/locale/locale_cy.properties @@ -226,8 +226,8 @@ Swords.SkillName=SWORDS Swords.Skills.SS.Off=[[RED]]**Serrated Strikes has worn off** Swords.Skills.SS.On=[[GWYRDD]] ** Streiciau danheddog actifadu ** Swords.Skills.SS.Refresh=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed! -Swords.Skills.SS.Other.Off=[[COCH]] Streiciau danheddog [[GWYRDD]] wedi gwisgo i ffwrdd ar gyfer [[MELYN]] {0} -Swords.Skills.SS.Other.On=[[GWYRDD]] {0} [[TYWYLL_GWYRDD]] wedi defnyddio [[COCH]] Streiciau danheddog! +Swords.Skills.SS.Other.Off=[[RED]] Streiciau danheddog [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0} +Swords.Skills.SS.Other.On=[[GREEN]] {0} [[DARK_GREEN]] wedi defnyddio [[RED]] Streiciau danheddog! Swords.Skillup=[[YELLOW]]Swords skill increased by {0}. Total ({1}) Swords.SS.Length=[[RED]]Serrated Strikes Length: [[YELLOW]]{0}s Taming.Ability.Bonus.0=Environmentally Aware @@ -364,9 +364,6 @@ Commands.Party.Quit=[[RED]]- Leave your current party Commands.Party.Teleport= [[RED]]- Teleport to party member Commands.Party.Toggle=[[RED]]- Toggle Party Chat Commands.Party= [[RED]]- Create/Join designated party -Commands.PowerLevel.Leaderboard=[[MELYN]] - mcMMO [[GLAS]] Lefel P\u0175er [[MELYN]] Arweinwyr-- -Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAX LEVEL: [[YELLOW]]{1} -Commands.PowerLevel=[[TYWYLL COCH]] LEFEL POWER: [[GWYRDD]] {0} Commands.Reset.All=[[GREEN]]All of your skill levels have been reset successfully. Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully. Commands.Reset=[[RED]]Reset a skill\'s level to 0 @@ -417,7 +414,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Angenfilod ymosod Commands.XPGain.Taming=Anifeiliaid Taming, neu ymladd \u00e2\'ch bleiddiaid Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]] Cael Profiad: [[GWYN]] {0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +461,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_da.properties b/src/main/resources/locale/locale_da.properties index ee4bb02bc..49f5d1cda 100644 --- a/src/main/resources/locale/locale_da.properties +++ b/src/main/resources/locale/locale_da.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Dyret\u00e6mning, eller kamp m/ dine ulve Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP FORTJENST: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_de.properties b/src/main/resources/locale/locale_de.properties index 42393ea7e..533f91e5b 100644 --- a/src/main/resources/locale/locale_de.properties +++ b/src/main/resources/locale/locale_de.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Monster angreifen Commands.XPGain.Taming=Tierz\u00e4hmung oder Kampf mit W\u00f6lfen Commands.XPGain.Unarmed=Monster angreifen -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP Gewinn: [[WHITE]]{0} Commands.xplock.locked=[[YELLOW]]Deine XP BAR ist nun auf {0} gesperrt! Commands.xplock.unlocked=[[YELLOW]]Deine XP BAR ist nun wieder [[GREEN]]FREIGEGEBEN[[YELLOW]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_en_US.properties b/src/main/resources/locale/locale_en_US.properties index bfd0be415..aed0a3d19 100644 --- a/src/main/resources/locale/locale_en_US.properties +++ b/src/main/resources/locale/locale_en_US.properties @@ -112,7 +112,7 @@ Fishing.Effect.4=Shake (vs. Entities) Fishing.Effect.5=Shake items off of mobs w/ fishing pole Fishing.Effect.6=Fisherman's Diet 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.Listener=Fishing: Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... @@ -473,7 +473,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -535,6 +535,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_es.properties b/src/main/resources/locale/locale_es.properties index 1c0fae886..8829fd19b 100644 --- a/src/main/resources/locale/locale_es.properties +++ b/src/main/resources/locale/locale_es.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Reparando Commands.XPGain.Swords=Atacando a Monstruos Commands.XPGain.Taming=Domando animales, o combatiendo con tus lobos Commands.XPGain.Unarmed=Atacando a Monstruos -Commands.XPGain.WoodCutting=Talando \u00e1rboles +Commands.XPGain.Woodcutting=Talando \u00e1rboles Commands.XPGain=[[DARK_GRAY]]OBTENCI\u00d3N DE EXPERIENCIA: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Tu BARRA DE EXP esta bloqueada a {0}! Commands.xplock.unlocked=[[GOLD]]Tu BARRA DE EXP esta ahora [[GREEN]]DESBLOQUEADA[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_fi.properties b/src/main/resources/locale/locale_fi.properties index a9aaa283c..640beef94 100644 --- a/src/main/resources/locale/locale_fi.properties +++ b/src/main/resources/locale/locale_fi.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_fr.properties b/src/main/resources/locale/locale_fr.properties index 955913183..84bc03ac4 100644 --- a/src/main/resources/locale/locale_fr.properties +++ b/src/main/resources/locale/locale_fr.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=R\u00e9paration Commands.XPGain.Swords=Attaquer des monstres Commands.XPGain.Taming=Apprivoiser et combattre Commands.XPGain.Unarmed=Attaquer des monstres -Commands.XPGain.WoodCutting=Couper des arbres +Commands.XPGain.Woodcutting=Couper des arbres Commands.XPGain=[[DARK_GRAY]]GAIN D\'XP : [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Votre barre d\'XP est maintenant verrouill\u00e9e sur {0} ! Commands.xplock.unlocked=[[GOLD]]Votre barre d\'XP est maintenant [[GREEN]]D\u00c9VERROUILL\u00c9E[[GOLD]] !! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_it.properties b/src/main/resources/locale/locale_it.properties index 7afb133d4..850dbb9d5 100644 --- a/src/main/resources/locale/locale_it.properties +++ b/src/main/resources/locale/locale_it.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Riparare Commands.XPGain.Swords=Attaccare Mostri Commands.XPGain.Taming=Addomesticare Animali, o combattere con i tuoi lupi Commands.XPGain.Unarmed=Attaccare Mostri -Commands.XPGain.WoodCutting=Tagliare alberi +Commands.XPGain.Woodcutting=Tagliare alberi Commands.XPGain=[[DARK_GRAY]]GUADAGNARE XP: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]La tua BARRA XP \u00e8 ora bloccata a {0}! Commands.xplock.unlocked=[[GOLD]]La tua BARRA XP \u00e8 ora [[GREEN]]SBLOCCATA[[GOLD]]! diff --git a/src/main/resources/locale/locale_ko.properties b/src/main/resources/locale/locale_ko.properties index 1d7c19593..cde6e1357 100644 --- a/src/main/resources/locale/locale_ko.properties +++ b/src/main/resources/locale/locale_ko.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_lv.properties b/src/main/resources/locale/locale_lv.properties index 0c6f6b4cf..04fa4f9a9 100644 --- a/src/main/resources/locale/locale_lv.properties +++ b/src/main/resources/locale/locale_lv.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Koku cir\u0161ana +Commands.XPGain.Woodcutting=Koku cir\u0161ana Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_nl.properties b/src/main/resources/locale/locale_nl.properties index 1552cbe3e..c36f71433 100644 --- a/src/main/resources/locale/locale_nl.properties +++ b/src/main/resources/locale/locale_nl.properties @@ -372,7 +372,8 @@ Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully. Commands.Reset=[[RED]]Reset a skill\'s level to 0 Commands.Skill.Invalid=[[RED]]That is not a valid skillname! Commands.Skill.Leaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard-- -Commands.SkillInfo=/ [[RED]]- View detailed information about a skill +Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAXIMUM LEVEL: [[YELLOW]]{1} +Commands.SkillInfo=/ [[RED]]- Lees gedetailleerde informatie over een skill Commands.Stats.Self=YOUR STATS Commands.Stats=[[RED]]- View your mcMMO stats Commands.ToggleAbility=[[RED]]- Toggle ability activation with right click @@ -417,7 +418,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Dieren Temmen, of vechten met je wolven Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GEWONNEN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +465,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_no.properties b/src/main/resources/locale/locale_no.properties index ca190dcb2..0cc103d84 100644 --- a/src/main/resources/locale/locale_no.properties +++ b/src/main/resources/locale/locale_no.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Angriper Monstre Commands.XPGain.Taming=Dyr temming, eller sl\u00e5ssing hvisk dine ulver. Commands.XPGain.Unarmed=Angriper Monstre -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GEVINST: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_pl.properties b/src/main/resources/locale/locale_pl.properties index 6664367cd..c46d551e6 100644 --- a/src/main/resources/locale/locale_pl.properties +++ b/src/main/resources/locale/locale_pl.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Naprawianie Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Oswoj zwierze, lub walcz ze swoimi wilkami. Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Scina drzewa +Commands.XPGain.Woodcutting=Scina drzewa Commands.XPGain=[[DARK_GRAY]Zdobyte do\u015bwiadczenie: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_pt_BR.properties b/src/main/resources/locale/locale_pt_BR.properties index d6f5835d4..ec77a9f2b 100644 --- a/src/main/resources/locale/locale_pt_BR.properties +++ b/src/main/resources/locale/locale_pt_BR.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Sua barra de XP BAR est\u00e1 travada em {0}! Commands.xplock.unlocked=[[GOLD]]Sua barra de XP foi [[GREEN]]DESTRAVADA[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_ru.properties b/src/main/resources/locale/locale_ru.properties index 7550ca519..5cc8f26a5 100644 --- a/src/main/resources/locale/locale_ru.properties +++ b/src/main/resources/locale/locale_ru.properties @@ -228,7 +228,7 @@ Swords.Skills.SS.On=[[GREEN]]**\u0423\u043c\u0435\u043d\u0438\u0435 \"\u0420\u04 Swords.Skills.SS.Refresh=[[GREEN]]\u0412\u0430\u0448\u0435 \u0443\u043c\u0435\u043d\u0438\u0435 [[YELLOW]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\" [[GREEN]]\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e! Swords.Skills.SS.Other.Off=[[RED]]\u0423\u043c\u0435\u043d\u0438\u0435 \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0443\u0434\u0430\u0440\"[[GREEN]] \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0443 [[YELLOW]]{0} Swords.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\"! -Swords.Skillup=[[YELLOW]]Swords skill increased by {0}. Total ({1}) +Swords.Skillup=[[YELLOW]]\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0432\u044b\u043a\u0430 \"\u0412\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u041c\u0435\u0447\u0435\u043c" \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d \u043d\u0430 {0}. \u0412\u0441\u0435\u0433\u043e ({1}) Swords.SS.Length=[[RED]]\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043c\u0435\u043d\u0438\u044f \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\": [[YELLOW]]{0}\u0441. Taming.Ability.Bonus.0=\u042d\u043a\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0421\u043e\u0437\u043d\u0430\u043d\u0438\u0435 Taming.Ability.Bonus.1=\u0412\u043e\u043b\u043a\u0438 \u0438\u0437\u0431\u0435\u0433\u0430\u044e\u0442 \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 @@ -365,7 +365,7 @@ Commands.Party.Teleport= [[RED]]- \u0422\u0435\u043b\u0435\u043f\u043e\u Commands.Party.Toggle=[[RED]]- \u0412\u043a\u043b./\u043e\u0442\u043a\u043b. \u0433\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0439 \u0447\u0430\u0442 Commands.Party= [[RED]]- \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u043b\u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439 Commands.PowerLevel.Leaderboard=[[YELLOW]]--\u0421\u043f\u0438\u0441\u043e\u043a \u041b\u0438\u0434\u0435\u0440\u043e\u0432 mcMMO \u043f\u043e[[BLUE]] \u041e\u0431\u0449\u0435\u043c\u0443 \u0423\u0440\u043e\u0432\u043d\u044e [[YELLOW]]-- -Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAX LEVEL: [[YELLOW]]{1} +Commands.PowerLevel.Capped=[[DARK_RED]]\u041e\u0431\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c: [[GREEN]]{0} [[DARK_RED]]\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c: [[YELLOW]]{1} Commands.PowerLevel=[[DARK_RED]]\u041e\u0411\u0429\u0418\u0419 \u0423\u0420\u041e\u0412\u0415\u041d\u042c: [[GREEN]]{0} Commands.Reset.All=[[GREEN]]All of your skill levels have been reset successfully. Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully. @@ -379,7 +379,7 @@ Commands.ToggleAbility=[[RED]]- \u0412\u043a\u043b./\u043e\u0442\u043a\u043b. \u mcMMO.MOTD=[[BLUE]]\u042d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 mcMMO {0}! \n \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 [[YELLOW]]/mcmmo[[BLUE]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043c\u043e\u0449\u0438. mcMMO.NoInvites=[[RED]]\u0421\u0435\u0439\u0447\u0430\u0441 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0439 mcMMO.NoPermission=[[DARK_RED]]\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432. -mcMMO.NoSkillNote=[[DARK_GRAY]]\u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0430\u0432\u044b\u043a\u0443, \u0442\u043e \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u0441\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f. +mcMMO.NoSkillNote=[[DARK_GRAY]]\u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0430\u0432\u044b\u043a\u0443 - \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0434\u0435\u0441\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f. mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - \u0421\u0430\u0439\u0442 mcMMO Commands.Party.InParty=[[GREEN]]\u0413\u0440\u0443\u043f\u043f\u0430: {0} Party.Forbidden=[mcMMO] \u0413\u0440\u0443\u043f\u043f\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0432 \u044d\u0442\u043e\u043c \u043c\u0438\u0440\u0435 (\u0421\u043c\u043e\u0442\u0440\u0438 Permissions) @@ -417,7 +417,7 @@ Commands.XPGain.Repair=\u0420\u0435\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0 Commands.XPGain.Swords=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432 Commands.XPGain.Taming=\u0423\u043a\u0440\u043e\u0449\u0430\u0439\u0442\u0435 \u0436\u0438\u0432\u043e\u0442\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0440\u0430\u0436\u0430\u0439\u0442\u0435\u0441\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0432\u043e\u0438\u0445 \u0432\u043e\u043b\u043a\u043e\u0432 Commands.XPGain.Unarmed=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432 -Commands.XPGain.WoodCutting=\u0420\u0443\u0431\u0438\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f +Commands.XPGain.Woodcutting=\u0420\u0443\u0431\u0438\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f Commands.XPGain=[[DARK_GRAY]]\u041f\u041e\u041b\u0423\u0427\u0415\u041d\u041e \u041e\u041f\u042b\u0422\u0410: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]\u0412\u0430\u0448\u0430 \u041f\u0430\u043d\u0435\u043b\u044c \u041e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 {0}! Commands.xplock.unlocked=[[GOLD]]\u0412\u0430\u0448\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u043e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c [[GREEN]]\u0420\u0410\u0417\u0411\u041b\u041e\u041a\u0418\u0420\u041e\u0412\u0410\u041d\u0410[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_sv.properties b/src/main/resources/locale/locale_sv.properties index 27e3cc04a..ca1d239b5 100644 --- a/src/main/resources/locale/locale_sv.properties +++ b/src/main/resources/locale/locale_sv.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Djurt\u00e4mjning, eller sl\u00e5ss m/ dina vargar Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_tr_TR.properties b/src/main/resources/locale/locale_tr_TR.properties index 0b04e5372..04be69b01 100644 --- a/src/main/resources/locale/locale_tr_TR.properties +++ b/src/main/resources/locale/locale_tr_TR.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing Commands.XPGain.Swords=Attacking Monsters Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves Commands.XPGain.Unarmed=Attacking Monsters -Commands.XPGain.WoodCutting=Chopping down trees +Commands.XPGain.Woodcutting=Chopping down trees Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance diff --git a/src/main/resources/locale/locale_zh_CN.properties b/src/main/resources/locale/locale_zh_CN.properties index 873455e98..fcca3efa0 100644 --- a/src/main/resources/locale/locale_zh_CN.properties +++ b/src/main/resources/locale/locale_zh_CN.properties @@ -417,7 +417,7 @@ Commands.XPGain.Repair=\u4fee\u7406 Commands.XPGain.Swords=\u653b\u51fb\u602a\u7269 Commands.XPGain.Taming=\u9a6f\u517d, \u548c\u4f60\u7684\u72fc\u4e00\u8d77\u6218\u6597 Commands.XPGain.Unarmed=\u653b\u51fb\u602a\u7269 -Commands.XPGain.WoodCutting=\u628a\u6811\u780d\u5012 +Commands.XPGain.Woodcutting=\u628a\u6811\u780d\u5012 Commands.XPGain=[[DARK_GRAY]]\u83b7\u5f97\u7ecf\u9a8c: [[WHITE]]{0} Commands.xplock.locked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u9501\u5b9a\u5728 {0}! Commands.xplock.unlocked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u73b0\u5728 [[GREEN]]\u89e3\u9664\u9501\u5b9a\u4e86[[GOLD]]! @@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP. Perks.lucky.name=Luck 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.bonus=[[GOLD]] ({0}% with Lucky Perk) Perks.cooldowns.name=Fast Recovery Perks.cooldowns.desc=Cuts cooldown duration by {0}. Perks.activationtime.name=Endurance