Self targeting for non playable targets.
Contributed by nasseka.
This commit is contained in:
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
@@ -179,9 +179,21 @@ public class AutoUseTaskManager
|
||||
continue BUFFS;
|
||||
}
|
||||
|
||||
if (canCastBuff(player, skill))
|
||||
final WorldObject target = player.getTarget();
|
||||
if (canCastBuff(player, target, skill))
|
||||
{
|
||||
player.doCast(skill);
|
||||
// Playable target cast.
|
||||
if ((target != null) && target.isPlayable())
|
||||
{
|
||||
player.doCast(skill);
|
||||
}
|
||||
else // Target self, cast and re-target.
|
||||
{
|
||||
final WorldObject savedTarget = target;
|
||||
player.setTarget(player);
|
||||
player.doCast(skill);
|
||||
player.setTarget(savedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +285,7 @@ public class AutoUseTaskManager
|
||||
}, 1000, 1000);
|
||||
}
|
||||
|
||||
private boolean canCastBuff(PlayerInstance player, Skill skill)
|
||||
private boolean canCastBuff(PlayerInstance player, WorldObject target, Skill skill)
|
||||
{
|
||||
// Summon check.
|
||||
if (skill.getAffectScope() == AffectScope.SUMMON_EXCEPT_MASTER)
|
||||
@@ -296,7 +308,6 @@ public class AutoUseTaskManager
|
||||
}
|
||||
}
|
||||
|
||||
final WorldObject target = player.getTarget();
|
||||
return !((target == null) || !target.isPlayable() || (skill.getTargetType() == TargetType.SELF) ? player : (Playable) target).isAffectedBySkill(skill.getId()) && canUseMagic(player, target, skill);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user