Fixed PointBlank handler targeting dead characters.

This commit is contained in:
MobiusDev
2018-09-04 03:33:48 +00:00
parent f5e4c94194
commit 5967cd7be1
7 changed files with 63 additions and 21 deletions

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;

View File

@@ -54,11 +54,17 @@ public class PointBlank implements IAffectScopeHandler
{ {
return false; return false;
} }
// XXX : Find a proper way to fix, if it's not proper. if (affectObject != null)
if ((affectObject != null) && (!c.isDead() || (skill.getAffectObject() == AffectObject.OBJECT_DEAD_NPC_BODY)) && !affectObject.checkAffectedObject(activeChar, c)) {
if (c.isDead() && (skill.getAffectObject() != AffectObject.OBJECT_DEAD_NPC_BODY))
{ {
return false; return false;
} }
if (!affectObject.checkAffectedObject(activeChar, c))
{
return false;
}
}
if (!GeoEngine.getInstance().canSeeTarget(target, c)) if (!GeoEngine.getInstance().canSeeTarget(target, c))
{ {
return false; return false;