mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
Adding ranks to Fisherman/Farmer's Diet and Green Thumb
This commit is contained in:
parent
4137cc0d3d
commit
13a3e9a790
@ -64,9 +64,11 @@ Version 2.1.0
|
|||||||
! (Item) Improved some of the messages sent to the player regarding the Chimaera Wing
|
! (Item) Improved some of the messages sent to the player regarding the Chimaera Wing
|
||||||
! (Party) Party member list will only include members of the party that you can see (aren't vanished)
|
! (Party) Party member list will only include members of the party that you can see (aren't vanished)
|
||||||
! (Skills) Some skill level rank requirements have changed
|
! (Skills) Some skill level rank requirements have changed
|
||||||
|
! (Skills) Green Thumb now uses a rank system
|
||||||
|
! (Skills) Farmer's Diet & Fisherman's Diet now use a rank system
|
||||||
! (Skills) Fixed an edge case bug where Blast Mining wouldn't inform the player that it was on cooldown
|
! (Skills) Fixed an edge case bug where Blast Mining wouldn't inform the player that it was on cooldown
|
||||||
! (Skills) mcMMO skills will now be on a scale from 1-100 instead of 0-1000 (for existing mcMMO installs this is opt-in and off by default)
|
! (Skills) mcMMO skills will now be on a scale from 1-100 instead of 0-1000 (for existing mcMMO installs this is opt-in and off by default)
|
||||||
! (Skills) Skill Super Powers are now unlockabled skills, unlocking at level 10
|
! (Skills) Skill Super Powers now use a rank system, almost all of them unlocking first at level 10
|
||||||
! (Skills) Acrobatics' Roll exploit detection was tweaked to still allow for Roll to trigger even if it rewards no XP
|
! (Skills) Acrobatics' Roll exploit detection was tweaked to still allow for Roll to trigger even if it rewards no XP
|
||||||
! (Skills) Acrobatics' Roll & Gracefull Roll are now considered the same skill (both mechanics are still there)
|
! (Skills) Acrobatics' Roll & Gracefull Roll are now considered the same skill (both mechanics are still there)
|
||||||
! (Skills) Woodcutting's Double Drop subskill is now named Harvest Lumber
|
! (Skills) Woodcutting's Double Drop subskill is now named Harvest Lumber
|
||||||
|
@ -51,12 +51,12 @@ public class HerbalismCommand extends SkillCommand {
|
|||||||
|
|
||||||
// FARMERS DIET
|
// FARMERS DIET
|
||||||
if (canFarmersDiet) {
|
if (canFarmersDiet) {
|
||||||
farmersDietRank = calculateRank(skillValue, Herbalism.farmersDietMaxLevel, Herbalism.farmersDietRankLevel1);
|
farmersDietRank = RankUtils.getRank(player, SubSkillType.HERBALISM_FARMERS_DIET);
|
||||||
}
|
}
|
||||||
|
|
||||||
// GREEN THUMB
|
// GREEN THUMB
|
||||||
if (canGreenThumbBlocks || canGreenThumbPlants) {
|
if (canGreenThumbBlocks || canGreenThumbPlants) {
|
||||||
greenThumbStage = calculateRank(skillValue, Herbalism.greenThumbStageMaxLevel, Herbalism.greenThumbStageChangeLevel);
|
greenThumbStage = RankUtils.getRank(player, SubSkillType.HERBALISM_GREEN_THUMB);
|
||||||
|
|
||||||
String[] greenThumbStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.HERBALISM_GREEN_THUMB, isLucky);
|
String[] greenThumbStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.HERBALISM_GREEN_THUMB, isLucky);
|
||||||
greenThumbChance = greenThumbStrings[0];
|
greenThumbChance = greenThumbStrings[0];
|
||||||
|
@ -39,12 +39,12 @@ public enum SubSkillType {
|
|||||||
FISHING_SHAKE,
|
FISHING_SHAKE,
|
||||||
|
|
||||||
/* Herbalism */
|
/* Herbalism */
|
||||||
HERBALISM_FARMERS_DIET,
|
HERBALISM_FARMERS_DIET(5),
|
||||||
HERBALISM_GREEN_THUMB,
|
HERBALISM_GREEN_THUMB(4),
|
||||||
HERBALISM_DOUBLE_DROPS,
|
HERBALISM_DOUBLE_DROPS,
|
||||||
HERBALISM_HYLIAN_LUCK,
|
HERBALISM_HYLIAN_LUCK,
|
||||||
HERBALISM_SHROOM_THUMB,
|
HERBALISM_SHROOM_THUMB,
|
||||||
HERBALISM_GREEN_TERRA,
|
HERBALISM_GREEN_TERRA(1),
|
||||||
|
|
||||||
/* Mining */
|
/* Mining */
|
||||||
MINING_DOUBLE_DROPS,
|
MINING_DOUBLE_DROPS,
|
||||||
|
@ -237,7 +237,7 @@ public class FishingManager extends SkillManager {
|
|||||||
* @return the modified change in hunger for the event
|
* @return the modified change in hunger for the event
|
||||||
*/
|
*/
|
||||||
public int handleFishermanDiet(int rankChange, int eventFoodLevel) {
|
public int handleFishermanDiet(int rankChange, int eventFoodLevel) {
|
||||||
return SkillUtils.handleFoodSkills(getPlayer(), skill, eventFoodLevel, Fishing.fishermansDietRankLevel1, Fishing.fishermansDietMaxLevel, rankChange);
|
return SkillUtils.handleFoodSkills(getPlayer(), eventFoodLevel, SubSkillType.FISHING_FISHERMANS_DIET);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void iceFishing(FishHook hook, Block block) {
|
public void iceFishing(FishHook hook, Block block) {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.herbalism;
|
package com.gmail.nossr50.skills.herbalism;
|
||||||
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
|
||||||
import com.gmail.nossr50.mcMMO;
|
import com.gmail.nossr50.mcMMO;
|
||||||
import com.gmail.nossr50.util.skills.SkillUtils;
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -12,13 +11,6 @@ import java.util.HashSet;
|
|||||||
|
|
||||||
public class Herbalism {
|
public class Herbalism {
|
||||||
|
|
||||||
public static int farmersDietRankLevel1 = AdvancedConfig.getInstance().getFarmerDietRankChange();
|
|
||||||
public static int farmersDietRankLevel2 = farmersDietRankLevel1 * 2;
|
|
||||||
public static int farmersDietMaxLevel = farmersDietRankLevel1 * 5;
|
|
||||||
|
|
||||||
public static int greenThumbStageChangeLevel = AdvancedConfig.getInstance().getGreenThumbStageChange();
|
|
||||||
public static int greenThumbStageMaxLevel = greenThumbStageChangeLevel * 4;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert blocks affected by the Green Thumb & Green Terra abilities.
|
* Convert blocks affected by the Green Thumb & Green Terra abilities.
|
||||||
*
|
*
|
||||||
|
@ -13,6 +13,7 @@ import com.gmail.nossr50.runnables.skills.HerbalismBlockUpdaterTask;
|
|||||||
import com.gmail.nossr50.skills.SkillManager;
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
import com.gmail.nossr50.util.*;
|
import com.gmail.nossr50.util.*;
|
||||||
import com.gmail.nossr50.util.player.NotificationManager;
|
import com.gmail.nossr50.util.player.NotificationManager;
|
||||||
|
import com.gmail.nossr50.util.skills.RankUtils;
|
||||||
import com.gmail.nossr50.util.skills.SkillActivationType;
|
import com.gmail.nossr50.util.skills.SkillActivationType;
|
||||||
import com.gmail.nossr50.util.skills.SkillUtils;
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -75,7 +76,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
* @return the modified change in hunger for the event
|
* @return the modified change in hunger for the event
|
||||||
*/
|
*/
|
||||||
public int farmersDiet(int rankChange, int eventFoodLevel) {
|
public int farmersDiet(int rankChange, int eventFoodLevel) {
|
||||||
return SkillUtils.handleFoodSkills(getPlayer(), skill, eventFoodLevel, Herbalism.farmersDietRankLevel1, Herbalism.farmersDietMaxLevel, rankChange);
|
return SkillUtils.handleFoodSkills(getPlayer(), eventFoodLevel, SubSkillType.HERBALISM_FARMERS_DIET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -315,7 +316,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean handleBlockState(BlockState blockState, boolean greenTerra) {
|
private boolean handleBlockState(BlockState blockState, boolean greenTerra) {
|
||||||
byte greenThumbStage = getGreenThumbStage();
|
int greenThumbStage = getGreenThumbStage();
|
||||||
|
|
||||||
blockState.setMetadata(mcMMO.greenThumbDataKey, new FixedMetadataValue(mcMMO.p, (int) (System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR)));
|
blockState.setMetadata(mcMMO.greenThumbDataKey, new FixedMetadataValue(mcMMO.p, (int) (System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR)));
|
||||||
Ageable crops = (Ageable) blockState.getBlockData();
|
Ageable crops = (Ageable) blockState.getBlockData();
|
||||||
@ -365,7 +366,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte getGreenThumbStage() {
|
private int getGreenThumbStage() {
|
||||||
return (byte) Math.min(Math.min(getSkillLevel(), Herbalism.greenThumbStageMaxLevel) / Herbalism.greenThumbStageChangeLevel, 4);
|
return RankUtils.getRank(getPlayer(), SubSkillType.HERBALISM_GREEN_THUMB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,17 +86,13 @@ public class SkillUtils {
|
|||||||
* Others
|
* Others
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static int handleFoodSkills(Player player, PrimarySkillType skill, int eventFoodLevel, int baseLevel, int maxLevel, int rankChange) {
|
public static int handleFoodSkills(Player player, int eventFoodLevel, SubSkillType subSkillType) {
|
||||||
int skillLevel = UserManager.getPlayer(player).getSkillLevel(skill);
|
int curRank = RankUtils.getRank(player, subSkillType);
|
||||||
|
|
||||||
int currentFoodLevel = player.getFoodLevel();
|
int currentFoodLevel = player.getFoodLevel();
|
||||||
int foodChange = eventFoodLevel - currentFoodLevel;
|
int foodChange = eventFoodLevel - currentFoodLevel;
|
||||||
|
|
||||||
for (int i = baseLevel; i <= maxLevel; i += rankChange) {
|
foodChange+=curRank;
|
||||||
if (skillLevel >= i) {
|
|
||||||
foodChange++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return currentFoodLevel + foodChange;
|
return currentFoodLevel + foodChange;
|
||||||
}
|
}
|
||||||
|
@ -238,17 +238,15 @@ Herbalism:
|
|||||||
Rank_1: 100
|
Rank_1: 100
|
||||||
GreenThumb:
|
GreenThumb:
|
||||||
Standard:
|
Standard:
|
||||||
Rank_1: 20
|
Rank_1: 25
|
||||||
Rank_2: 40
|
Rank_2: 50
|
||||||
Rank_3: 60
|
Rank_3: 75
|
||||||
Rank_4: 80
|
Rank_4: 100
|
||||||
Rank_5: 100
|
|
||||||
RetroMode:
|
RetroMode:
|
||||||
Rank_1: 200
|
Rank_1: 250
|
||||||
Rank_2: 400
|
Rank_2: 500
|
||||||
Rank_3: 600
|
Rank_3: 750
|
||||||
Rank_4: 800
|
Rank_4: 1000
|
||||||
Rank_5: 1000
|
|
||||||
FarmersDiet:
|
FarmersDiet:
|
||||||
Standard:
|
Standard:
|
||||||
Rank_1: 20
|
Rank_1: 20
|
||||||
|
Loading…
Reference in New Issue
Block a user