Fishing item changes and improvements.

Contributed by darky999.
This commit is contained in:
MobiusDev
2015-05-17 16:22:18 +00:00
parent 139eb93dc8
commit 688164f377
52 changed files with 460 additions and 462 deletions

View File

@ -33,6 +33,7 @@ import com.l2jserver.gameserver.model.items.type.EtcItemType;
import com.l2jserver.gameserver.model.items.type.WeaponType;
import com.l2jserver.gameserver.model.zone.L2ZoneType;
import com.l2jserver.gameserver.model.zone.ZoneId;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.ExAutoFishAvailable;
/**
@ -54,7 +55,7 @@ public class L2FishingZone extends L2ZoneType
@Override
protected void onEnter(L2Character character)
{
if (character.isPlayer())
if (character.isPlayable() || (character.getLevel() > 85))
{
character.setInsideZone(ZoneId.FISHING, true);
}
@ -122,21 +123,34 @@ public class L2FishingZone extends L2ZoneType
{
if (Config.ALLOWFISHING && !player.isFishing() && !player.isInsideZone(ZoneId.WATER) && !player.isInBoat() && !player.isInCraftMode() && !player.isInStoreMode() && !player.isTransformed())
{
// check for equiped fishing rod
L2Weapon equipedWeapon = player.getActiveWeaponItem();
if (((equipedWeapon == null) || (equipedWeapon.getItemType() != WeaponType.FISHINGROD)))
{
return;
if (player.getLevel() < 85)
{
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
L2ItemInstance equipedLeftHand = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
if ((equipedLeftHand == null) || (equipedLeftHand.getItemType() != EtcItemType.LURE))
{
return;
}
player.sendPacket(new ExAutoFishAvailable(player));
}
}
}