2013-01-22 18:43:25 +01:00
|
|
|
package com.gmail.nossr50.skills.woodcutting;
|
2012-01-09 20:00:13 +01:00
|
|
|
|
2013-01-30 00:21:34 +01:00
|
|
|
import com.gmail.nossr50.config.AdvancedConfig;
|
|
|
|
import com.gmail.nossr50.config.Config;
|
2012-04-27 11:47:11 +02:00
|
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
2013-01-22 18:43:25 +01:00
|
|
|
import com.gmail.nossr50.skills.SkillCommand;
|
2013-01-30 17:53:51 +01:00
|
|
|
import com.gmail.nossr50.skills.utilities.SkillType;
|
2013-01-07 02:52:31 +01:00
|
|
|
import com.gmail.nossr50.util.Permissions;
|
2012-01-09 20:00:13 +01:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
public class WoodcuttingCommand extends SkillCommand {
|
2012-04-25 22:14:44 +02:00
|
|
|
private String treeFellerLength;
|
2013-01-10 21:33:39 +01:00
|
|
|
private String treeFellerLengthEndurance;
|
2012-04-25 22:14:44 +02:00
|
|
|
private String doubleDropChance;
|
2013-01-06 12:16:08 +01:00
|
|
|
private String doubleDropChanceLucky;
|
2012-04-25 22:14:44 +02:00
|
|
|
|
2012-05-01 21:15:30 +02:00
|
|
|
private boolean canTreeFell;
|
|
|
|
private boolean canLeafBlow;
|
|
|
|
private boolean canDoubleDrop;
|
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
public WoodcuttingCommand() {
|
|
|
|
super(SkillType.WOODCUTTING);
|
|
|
|
}
|
|
|
|
|
2012-04-25 22:14:44 +02:00
|
|
|
@Override
|
2012-05-31 21:14:40 +02:00
|
|
|
protected void dataCalculations() {
|
2013-01-22 17:52:06 +01:00
|
|
|
//TREE FELLER
|
|
|
|
String[] treeFellerStrings = calculateLengthDisplayValues();
|
|
|
|
treeFellerLength = treeFellerStrings[0];
|
|
|
|
treeFellerLengthEndurance = treeFellerStrings[1];
|
|
|
|
|
|
|
|
//DOUBLE DROPS
|
2013-01-30 00:21:34 +01:00
|
|
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
|
|
|
String[] doubleDropStrings = calculateAbilityDisplayValues(advancedConfig.getWoodcuttingDoubleDropMaxLevel(), advancedConfig.getWoodcuttingDoubleDropChance());
|
2013-01-22 17:52:06 +01:00
|
|
|
doubleDropChance = doubleDropStrings[0];
|
|
|
|
doubleDropChanceLucky = doubleDropStrings[1];
|
2012-05-31 21:14:40 +02:00
|
|
|
}
|
2012-04-25 22:14:44 +02:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
@Override
|
|
|
|
protected void permissionsCheck() {
|
2013-01-07 02:52:31 +01:00
|
|
|
canTreeFell = Permissions.treeFeller(player);
|
|
|
|
canDoubleDrop = Permissions.woodcuttingDoubleDrops(player);
|
|
|
|
canLeafBlow = Permissions.leafBlower(player);
|
2012-05-31 21:14:40 +02:00
|
|
|
}
|
2012-04-25 22:14:44 +02:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
@Override
|
|
|
|
protected boolean effectsHeaderPermissions() {
|
2013-01-30 00:21:34 +01:00
|
|
|
return (canDoubleDrop && !Config.getInstance().woodcuttingDoubleDropsDisabled()) || canLeafBlow || canTreeFell;
|
2012-05-31 21:14:40 +02:00
|
|
|
}
|
2012-04-25 22:14:44 +02:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
@Override
|
|
|
|
protected void effectsDisplay() {
|
2013-01-22 17:52:06 +01:00
|
|
|
luckyEffectsDisplay();
|
2012-11-22 22:40:55 +01:00
|
|
|
|
2012-05-01 21:15:30 +02:00
|
|
|
if (canTreeFell) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Woodcutting.Effect.0"), LocaleLoader.getString("Woodcutting.Effect.1")));
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
2012-04-25 22:14:44 +02:00
|
|
|
|
2012-05-01 21:15:30 +02:00
|
|
|
if (canLeafBlow) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Woodcutting.Effect.2"), LocaleLoader.getString("Woodcutting.Effect.3")));
|
2012-04-25 22:14:44 +02:00
|
|
|
}
|
2012-05-01 21:15:30 +02:00
|
|
|
|
2013-01-30 00:21:34 +01:00
|
|
|
if (canDoubleDrop && !Config.getInstance().woodcuttingDoubleDropsDisabled()) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Woodcutting.Effect.4"), LocaleLoader.getString("Woodcutting.Effect.5")));
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
2012-05-31 21:14:40 +02:00
|
|
|
}
|
2012-05-01 21:15:30 +02:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
@Override
|
|
|
|
protected boolean statsHeaderPermissions() {
|
2013-01-30 00:21:34 +01:00
|
|
|
return (canDoubleDrop && !Config.getInstance().woodcuttingDoubleDropsDisabled()) || canLeafBlow || canTreeFell;
|
2012-05-31 21:14:40 +02:00
|
|
|
}
|
2012-05-01 21:15:30 +02:00
|
|
|
|
2012-05-31 21:14:40 +02:00
|
|
|
@Override
|
|
|
|
protected void statsDisplay() {
|
2012-05-01 21:15:30 +02:00
|
|
|
if (canLeafBlow) {
|
2013-01-30 00:21:34 +01:00
|
|
|
int leafBlowerUnlockLevel = AdvancedConfig.getInstance().getLeafBlowUnlockLevel();
|
|
|
|
|
|
|
|
if (skillValue < leafBlowerUnlockLevel) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Woodcutting.Ability.Locked.0", leafBlowerUnlockLevel)));
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
|
|
|
else {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Woodcutting.Ability.0"), LocaleLoader.getString("Woodcutting.Ability.1")));
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-01-30 00:21:34 +01:00
|
|
|
if (canDoubleDrop && !Config.getInstance().woodcuttingDoubleDropsDisabled()) {
|
2013-01-22 17:52:06 +01:00
|
|
|
if (isLucky) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", doubleDropChance) + LocaleLoader.getString("Perks.lucky.bonus", doubleDropChanceLucky));
|
2013-01-22 17:52:06 +01:00
|
|
|
}
|
|
|
|
else {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Chance.DDrop", doubleDropChance));
|
2013-01-22 17:52:06 +01:00
|
|
|
}
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (canTreeFell) {
|
2013-01-22 17:52:06 +01:00
|
|
|
if (hasEndurance) {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Length", treeFellerLength) + LocaleLoader.getString("Perks.activationtime.bonus", treeFellerLengthEndurance));
|
2013-01-22 17:52:06 +01:00
|
|
|
}
|
|
|
|
else {
|
2013-02-02 08:55:49 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Woodcutting.Ability.Length", treeFellerLength));
|
2013-01-22 17:52:06 +01:00
|
|
|
}
|
2012-04-25 22:14:44 +02:00
|
|
|
}
|
2012-05-01 21:15:30 +02:00
|
|
|
}
|
2012-01-09 20:00:13 +01:00
|
|
|
}
|