Use hook location in Master Angler

This commit is contained in:
TfT_02 2013-10-24 21:17:10 +02:00
parent 9f33c6cef1
commit c2e100b1e3
3 changed files with 20 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package com.gmail.nossr50.commands.skills; package com.gmail.nossr50.commands.skills;
import org.bukkit.Location;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
@ -83,7 +84,9 @@ public class FishingCommand extends SkillCommand {
// MASTER ANGLER // MASTER ANGLER
if (canMasterAngler) { if (canMasterAngler) {
double rawBiteChance = 1.0 / (isStorming ? 300 : 500); double rawBiteChance = 1.0 / (isStorming ? 300 : 500);
Biome biome = player.getLocation().getBlock().getBiome(); Location location = (mcMMOPlayer.getHookLocation() != null) ? mcMMOPlayer.getHookLocation() : player.getLocation();
Biome biome = location.getBlock().getBiome();
if (biome == Biome.RIVER || biome == Biome.OCEAN) { if (biome == Biome.RIVER || biome == Biome.OCEAN) {
rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier(); rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();

View File

@ -86,6 +86,8 @@ public class McMMOPlayer {
private int lastSalvageClick; private int lastSalvageClick;
private boolean godMode; private boolean godMode;
private Location hookLocation;
private final Map<AbilityType, Boolean> abilityMode = new HashMap<AbilityType, Boolean>(); private final Map<AbilityType, Boolean> abilityMode = new HashMap<AbilityType, Boolean>();
private final Map<AbilityType, Boolean> abilityInformed = new HashMap<AbilityType, Boolean>(); private final Map<AbilityType, Boolean> abilityInformed = new HashMap<AbilityType, Boolean>();
@ -499,6 +501,18 @@ public class McMMOPlayer {
godMode = !godMode; godMode = !godMode;
} }
/*
* Fishing: Master Angler
*/
public Location getHookLocation() {
return hookLocation;
}
public void setHookLocation(Location hookLocation) {
this.hookLocation = hookLocation;
}
/* /*
* Skill notifications * Skill notifications
*/ */

View File

@ -277,7 +277,8 @@ public class FishingManager extends SkillManager {
public void masterAngler(Fish hook) { public void masterAngler(Fish hook) {
Player player = getPlayer(); Player player = getPlayer();
Biome biome = player.getLocation().getBlock().getBiome(); mcMMOPlayer.setHookLocation(hook.getLocation());
Biome biome = hook.getLocation().getBlock().getBiome();
double biteChance = hook.getBiteChance(); double biteChance = hook.getBiteChance();
if (biome == Biome.RIVER || biome == Biome.OCEAN) { if (biome == Biome.RIVER || biome == Biome.OCEAN) {