Sync with L2jServer HighFive Jul 3rd 2015.

This commit is contained in:
MobiusDev
2015-07-03 21:10:51 +00:00
parent 9c11f00722
commit ac006cde6a
29 changed files with 311 additions and 268 deletions

View File

@@ -1355,11 +1355,13 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
setAttackTarget(caster.getMostHated());
}
}
L2Character attackTarget = getAttackTarget();
final L2Character attackTarget = getAttackTarget();
if (attackTarget == null)
{
return false;
}
double dist = caster.calculateDistance(attackTarget, false, false);
double dist2 = dist - attackTarget.getTemplate().getCollisionRadius();
double range = caster.getPhysicalAttackRange() + caster.getTemplate().getCollisionRadius() + attackTarget.getTemplate().getCollisionRadius();
@@ -1376,10 +1378,9 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
if (!caster.isAffectedBySkill(sk.getId()))
{
clientStopMoving(null);
// L2Object target = attackTarget;
caster.setTarget(caster);
caster.doCast(sk);
// _actor.setTarget(target);
_actor.setTarget(attackTarget);
return true;
}
// ----------------------------------------
@@ -1394,20 +1395,18 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
if (target != null)
{
clientStopMoving(null);
L2Object targets = attackTarget;
caster.setTarget(target);
caster.doCast(sk);
caster.setTarget(targets);
caster.setTarget(attackTarget);
return true;
}
}
if (canParty(sk))
{
clientStopMoving(null);
L2Object targets = attackTarget;
caster.setTarget(caster);
caster.doCast(sk);
caster.setTarget(targets);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1464,10 +1463,9 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
if (target != null)
{
clientStopMoving(null);
L2Object targets = attackTarget;
caster.setTarget(target);
caster.doCast(sk);
caster.setTarget(targets);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1506,15 +1504,18 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(leader);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
}
if (Rnd.get(100) < ((100 - percentage) / 3))
{
clientStopMoving(null);
caster.setTarget(caster);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
@@ -1541,6 +1542,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(obj);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1554,6 +1556,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
{
continue;
}
L2Npc targets = ((L2Npc) obj);
if (targets.isInMyClan(caster))
{
@@ -1562,6 +1565,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(caster);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1584,10 +1588,9 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
if (target != null)
{
clientStopMoving(null);
L2Object targets = attackTarget;
caster.setTarget(target);
caster.doCast(sk);
caster.setTarget(targets);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1738,6 +1741,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(leader);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1755,6 +1759,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
{
continue;
}
if (Rnd.get(100) < 10)
{
if (GeoData.getInstance().canSeeTarget(caster, targets))
@@ -1762,6 +1767,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(obj);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1783,6 +1789,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
clientStopMoving(null);
caster.setTarget(caster);
caster.doCast(sk);
caster.setTarget(attackTarget);
return true;
}
}
@@ -1804,10 +1811,9 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
if (target != null)
{
clientStopMoving(null);
L2Object targets = attackTarget;
caster.setTarget(target);
caster.doCast(sk);
caster.setTarget(targets);
caster.setTarget(attackTarget);
return true;
}
}