Moving fishing level check from zone to effect.
This commit is contained in:
parent
688164f377
commit
5fbcd41959
@ -134,6 +134,12 @@ public final class Fishing extends AbstractEffect
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (player.getLevel() < 85)
|
||||||
|
{
|
||||||
|
player.sendMessage("You must be level 85 or higher to fish.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// calculate a position in front of the player with a random distance
|
// calculate a position in front of the player with a random distance
|
||||||
int distance = Rnd.get(MIN_BAIT_DISTANCE, MAX_BAIT_DISTANCE);
|
int distance = Rnd.get(MIN_BAIT_DISTANCE, MAX_BAIT_DISTANCE);
|
||||||
final double angle = Util.convertHeadingToDegree(player.getHeading());
|
final double angle = Util.convertHeadingToDegree(player.getHeading());
|
||||||
|
@ -33,7 +33,6 @@ import com.l2jserver.gameserver.model.items.type.EtcItemType;
|
|||||||
import com.l2jserver.gameserver.model.items.type.WeaponType;
|
import com.l2jserver.gameserver.model.items.type.WeaponType;
|
||||||
import com.l2jserver.gameserver.model.zone.L2ZoneType;
|
import com.l2jserver.gameserver.model.zone.L2ZoneType;
|
||||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
|
||||||
import com.l2jserver.gameserver.network.serverpackets.ExAutoFishAvailable;
|
import com.l2jserver.gameserver.network.serverpackets.ExAutoFishAvailable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,8 +62,10 @@ public class L2FishingZone extends L2ZoneType
|
|||||||
if (character.isPlayer() && !Config.SERVER_CLASSIC_SUPPORT)
|
if (character.isPlayer() && !Config.SERVER_CLASSIC_SUPPORT)
|
||||||
{
|
{
|
||||||
final L2PcInstance plr = (L2PcInstance) character;
|
final L2PcInstance plr = (L2PcInstance) character;
|
||||||
stopTask(plr);
|
if (!_task.containsKey(plr.getObjectId()))
|
||||||
_task.put(plr.getObjectId(), ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new FishReq(plr), 100, 7000));
|
{
|
||||||
|
_task.put(plr.getObjectId(), ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new FishReq(plr), 100, 2000));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,34 +124,25 @@ public class L2FishingZone extends L2ZoneType
|
|||||||
{
|
{
|
||||||
if (Config.ALLOWFISHING && !player.isFishing() && !player.isInsideZone(ZoneId.WATER) && !player.isInBoat() && !player.isInCraftMode() && !player.isInStoreMode() && !player.isTransformed())
|
if (Config.ALLOWFISHING && !player.isFishing() && !player.isInsideZone(ZoneId.WATER) && !player.isInBoat() && !player.isInCraftMode() && !player.isInStoreMode() && !player.isTransformed())
|
||||||
{
|
{
|
||||||
|
// check for equiped fishing rod
|
||||||
|
final L2Weapon equipedWeapon = player.getActiveWeaponItem();
|
||||||
|
|
||||||
|
if (((equipedWeapon == null) || (equipedWeapon.getItemType() != WeaponType.FISHINGROD)))
|
||||||
{
|
{
|
||||||
if (player.getLevel() < 85)
|
stopTask(player);
|
||||||
{
|
return;
|
||||||
player.sendPacket(SystemMessageId.YOUR_ATTEMPT_AT_FISHING_HAS_BEEN_CANCELLED);
|
|
||||||
player.sendMessage("You must be level 85 or higher to fish.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check for equiped fishing rod
|
|
||||||
final L2Weapon equipedWeapon = player.getActiveWeaponItem();
|
|
||||||
|
|
||||||
if (((equipedWeapon == null) || (equipedWeapon.getItemType() != WeaponType.FISHINGROD)))
|
|
||||||
{
|
|
||||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_FISHING_POLE_EQUIPPED);
|
|
||||||
stopTask(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
// check for equiped lure
|
|
||||||
final L2ItemInstance equipedLeftHand = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
|
|
||||||
|
|
||||||
if ((equipedLeftHand == null) || (equipedLeftHand.getItemType() != EtcItemType.LURE))
|
|
||||||
{
|
|
||||||
player.sendPacket(SystemMessageId.YOU_MUST_PUT_BAIT_ON_YOUR_HOOK_BEFORE_YOU_CAN_FISH);
|
|
||||||
stopTask(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
player.sendPacket(new ExAutoFishAvailable(player));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check for equiped lure
|
||||||
|
final L2ItemInstance equipedLeftHand = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
|
||||||
|
|
||||||
|
if ((equipedLeftHand == null) || (equipedLeftHand.getItemType() != EtcItemType.LURE))
|
||||||
|
{
|
||||||
|
stopTask(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendPacket(new ExAutoFishAvailable(player));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user