Fix for large door targeting.

This commit is contained in:
MobiusDev 2017-11-11 22:32:48 +00:00
parent 5aac275c4a
commit 2913652515
5 changed files with 35 additions and 20 deletions

View File

@ -1034,12 +1034,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
// GeoData Los Check here (or dz > 1000) // GeoData Los Check here (or dz > 1000)
if (!GeoEngine.getInstance().canSeeTarget(this, target)) if (!GeoEngine.getInstance().canSeeTarget(this, target))
{
if (!target.isDoor() || (target.calculateDistance(this, false, false) > 200)) // fix for big door targeting
{ {
sendPacket(SystemMessageId.CANNOT_SEE_TARGET); sendPacket(SystemMessageId.CANNOT_SEE_TARGET);
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
} }
}
// BOW and CROSSBOW checks // BOW and CROSSBOW checks
if ((weaponItem != null) && weaponItem.getItemType().isRanged()) if ((weaponItem != null) && weaponItem.getItemType().isRanged())

View File

@ -1038,12 +1038,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
// GeoData Los Check here (or dz > 1000) // GeoData Los Check here (or dz > 1000)
if (!GeoEngine.getInstance().canSeeTarget(this, target)) if (!GeoEngine.getInstance().canSeeTarget(this, target))
{
if (!target.isDoor() || (target.calculateDistance(this, false, false) > 200)) // fix for big door targeting
{ {
sendPacket(SystemMessageId.CANNOT_SEE_TARGET); sendPacket(SystemMessageId.CANNOT_SEE_TARGET);
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
} }
}
// BOW and CROSSBOW checks // BOW and CROSSBOW checks
if ((weaponItem != null) && weaponItem.getItemType().isRanged()) if ((weaponItem != null) && weaponItem.getItemType().isRanged())

View File

@ -1038,12 +1038,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
// GeoData Los Check here (or dz > 1000) // GeoData Los Check here (or dz > 1000)
if (!GeoEngine.getInstance().canSeeTarget(this, target)) if (!GeoEngine.getInstance().canSeeTarget(this, target))
{
if (!target.isDoor() || (target.calculateDistance(this, false, false) > 200)) // fix for big door targeting
{ {
sendPacket(SystemMessageId.CANNOT_SEE_TARGET); sendPacket(SystemMessageId.CANNOT_SEE_TARGET);
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
} }
}
// BOW and CROSSBOW checks // BOW and CROSSBOW checks
if ((weaponItem != null) && weaponItem.getItemType().isRanged()) if ((weaponItem != null) && weaponItem.getItemType().isRanged())

View File

@ -1038,12 +1038,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
// GeoData Los Check here (or dz > 1000) // GeoData Los Check here (or dz > 1000)
if (!GeoEngine.getInstance().canSeeTarget(this, target)) if (!GeoEngine.getInstance().canSeeTarget(this, target))
{
if (!target.isDoor() || (target.calculateDistance(this, false, false) > 200)) // fix for big door targeting
{ {
sendPacket(SystemMessageId.CANNOT_SEE_TARGET); sendPacket(SystemMessageId.CANNOT_SEE_TARGET);
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
} }
}
// BOW and CROSSBOW checks // BOW and CROSSBOW checks
if ((weaponItem != null) && weaponItem.getItemType().isRanged()) if ((weaponItem != null) && weaponItem.getItemType().isRanged())

View File

@ -1038,12 +1038,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
// GeoData Los Check here (or dz > 1000) // GeoData Los Check here (or dz > 1000)
if (!GeoEngine.getInstance().canSeeTarget(this, target)) if (!GeoEngine.getInstance().canSeeTarget(this, target))
{
if (!target.isDoor() || (target.calculateDistance(this, false, false) > 200)) // fix for big door targeting
{ {
sendPacket(SystemMessageId.CANNOT_SEE_TARGET); sendPacket(SystemMessageId.CANNOT_SEE_TARGET);
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
} }
}
// BOW and CROSSBOW checks // BOW and CROSSBOW checks
if ((weaponItem != null) && weaponItem.getItemType().isRanged()) if ((weaponItem != null) && weaponItem.getItemType().isRanged())