|
@@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
import com.gmail.nossr50.skills.gathering.Fishing;
|
|
import com.gmail.nossr50.skills.gathering.Fishing;
|
|
import com.gmail.nossr50.util.Permissions;
|
|
import com.gmail.nossr50.util.Permissions;
|
|
-import com.gmail.nossr50.util.Skills;
|
|
|
|
|
|
|
|
public class FishingCommand extends SkillCommand {
|
|
public class FishingCommand extends SkillCommand {
|
|
|
|
|
|
@@ -15,22 +14,18 @@ public class FishingCommand extends SkillCommand {
|
|
private int lootTier;
|
|
private int lootTier;
|
|
private String magicChance;
|
|
private String magicChance;
|
|
private String magicChanceLucky;
|
|
private String magicChanceLucky;
|
|
- private String chanceRaining;
|
|
|
|
- private int shakeUnlockLevel;
|
|
|
|
|
|
+ private String chanceRaining = "";
|
|
private String shakeChance;
|
|
private String shakeChance;
|
|
private String shakeChanceLucky;
|
|
private String shakeChanceLucky;
|
|
private String fishermansDietRank;
|
|
private String fishermansDietRank;
|
|
|
|
|
|
- private int magicHunterMultiplier = advancedConfig.getFishingMagicMultiplier();
|
|
|
|
- private int fishermansDietRankChange = advancedConfig.getFarmerDietRankChange();
|
|
|
|
|
|
+ private int fishermansDietRankChange = AdvancedConfig.getInstance().getFarmerDietRankChange();
|
|
private int fishermansDietRankMaxLevel = fishermansDietRankChange * 5;
|
|
private int fishermansDietRankMaxLevel = fishermansDietRankChange * 5;
|
|
|
|
|
|
private boolean canTreasureHunt;
|
|
private boolean canTreasureHunt;
|
|
private boolean canMagicHunt;
|
|
private boolean canMagicHunt;
|
|
private boolean canShake;
|
|
private boolean canShake;
|
|
private boolean canFishermansDiet;
|
|
private boolean canFishermansDiet;
|
|
- private boolean lucky;
|
|
|
|
- private boolean raining;
|
|
|
|
|
|
|
|
public FishingCommand() {
|
|
public FishingCommand() {
|
|
super(SkillType.FISHING);
|
|
super(SkillType.FISHING);
|
|
@@ -38,30 +33,32 @@ public class FishingCommand extends SkillCommand {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected void dataCalculations() {
|
|
protected void dataCalculations() {
|
|
|
|
+ lootTier = Fishing.getFishingLootTier(profile);
|
|
|
|
+
|
|
//TREASURE HUNTER
|
|
//TREASURE HUNTER
|
|
- raining = player.getWorld().hasStorm();
|
|
|
|
- chanceRaining = "";
|
|
|
|
|
|
+ double enchantChance = lootTier * Fishing.magicHunterMultiplier;
|
|
|
|
|
|
- lootTier = Fishing.getFishingLootTier(profile);
|
|
|
|
- double magicChanceD = lootTier * magicHunterMultiplier;
|
|
|
|
- if (raining) {
|
|
|
|
|
|
+ if (player.getWorld().hasStorm()) {
|
|
chanceRaining = LocaleLoader.getString("Fishing.Chance.Raining");
|
|
chanceRaining = LocaleLoader.getString("Fishing.Chance.Raining");
|
|
- magicChanceD = magicChanceD * 1.1D;
|
|
|
|
|
|
+ enchantChance = enchantChance * 1.1D;
|
|
}
|
|
}
|
|
- magicChance = percent.format(magicChanceD / 100D);
|
|
|
|
- if (magicChanceD * 1.3333D >= 100D) magicChanceLucky = percent.format(1D);
|
|
|
|
- else magicChanceLucky = percent.format(magicChanceD * 1.3333D / 100D);
|
|
|
|
-
|
|
|
|
- //Shake
|
|
|
|
- int dropChance = Fishing.getShakeChance(lootTier);
|
|
|
|
- shakeChance = percent.format(dropChance / 100D);
|
|
|
|
- if (dropChance * 1.3333D >= 100D) shakeChanceLucky = percent.format(1D);
|
|
|
|
- else shakeChanceLucky = percent.format(dropChance * 1.3333D / 100D);
|
|
|
|
- shakeUnlockLevel = advancedConfig.getShakeUnlockLevel();
|
|
|
|
-
|
|
|
|
- //Fishermans Diet
|
|
|
|
- if (skillValue >= fishermansDietRankMaxLevel) fishermansDietRank = "5";
|
|
|
|
- else fishermansDietRank = String.valueOf((int) ((double) skillValue / (double) fishermansDietRankChange));
|
|
|
|
|
|
+
|
|
|
|
+ String[] treasureHunterStrings = calculateAbilityDisplayValues(enchantChance);
|
|
|
|
+ magicChance = treasureHunterStrings[0];
|
|
|
|
+ magicChanceLucky = treasureHunterStrings[1];
|
|
|
|
+
|
|
|
|
+ //SHAKE
|
|
|
|
+ String[] shakeStrings = calculateAbilityDisplayValues(Fishing.getShakeChance(lootTier));
|
|
|
|
+ shakeChance = shakeStrings[0];
|
|
|
|
+ shakeChanceLucky = shakeStrings[1];
|
|
|
|
+
|
|
|
|
+ //FISHERMAN'S DIET
|
|
|
|
+ if (skillValue >= fishermansDietRankMaxLevel) {
|
|
|
|
+ fishermansDietRank = "5";
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ fishermansDietRank = String.valueOf((int) (skillValue / fishermansDietRankChange));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -70,7 +67,6 @@ public class FishingCommand extends SkillCommand {
|
|
canMagicHunt = Permissions.fishingMagic(player);
|
|
canMagicHunt = Permissions.fishingMagic(player);
|
|
canShake = Permissions.shakeMob(player);
|
|
canShake = Permissions.shakeMob(player);
|
|
canFishermansDiet = Permissions.fishermansDiet(player);
|
|
canFishermansDiet = Permissions.fishermansDiet(player);
|
|
- lucky = Permissions.luckyFishing(player);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -80,10 +76,7 @@ public class FishingCommand extends SkillCommand {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected void effectsDisplay() {
|
|
protected void effectsDisplay() {
|
|
- if (lucky) {
|
|
|
|
- String perkPrefix = LocaleLoader.getString("MOTD.PerksPrefix");
|
|
|
|
- player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { Skills.localizeSkillName(SkillType.FISHING) }) }));
|
|
|
|
- }
|
|
|
|
|
|
+ luckyEffectsDisplay();
|
|
|
|
|
|
if (canTreasureHunt) {
|
|
if (canTreasureHunt) {
|
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Fishing.Effect.0"), LocaleLoader.getString("Fishing.Effect.1") }));
|
|
player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Fishing.Effect.0"), LocaleLoader.getString("Fishing.Effect.1") }));
|
|
@@ -114,21 +107,25 @@ public class FishingCommand extends SkillCommand {
|
|
}
|
|
}
|
|
|
|
|
|
if (canMagicHunt) {
|
|
if (canMagicHunt) {
|
|
- if (lucky)
|
|
|
|
|
|
+ if (isLucky) {
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Enchant.Chance", new Object[] { magicChance}) + chanceRaining + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { magicChanceLucky }));
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Enchant.Chance", new Object[] { magicChance}) + chanceRaining + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { magicChanceLucky }));
|
|
- else
|
|
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Enchant.Chance", new Object[] { magicChance}) + chanceRaining);
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Enchant.Chance", new Object[] { magicChance}) + chanceRaining);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (canShake) {
|
|
if (canShake) {
|
|
- if (skillValue < advancedConfig.getShakeUnlockLevel()) {
|
|
|
|
- player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", new Object[] { LocaleLoader.getString("Fishing.Ability.Locked.0", new Object[] { shakeUnlockLevel }) }));
|
|
|
|
|
|
+ if (skillValue < Fishing.shakeUnlockLevel) {
|
|
|
|
+ player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", new Object[] { LocaleLoader.getString("Fishing.Ability.Locked.0", new Object[] { Fishing.shakeUnlockLevel }) }));
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- if (lucky)
|
|
|
|
|
|
+ if (isLucky) {
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { shakeChanceLucky }));
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }) + LocaleLoader.getString("Perks.lucky.bonus", new Object[] { shakeChanceLucky }));
|
|
- else
|
|
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
|
|
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|