More targeting changes

Added CanUse instead of CanAttack/CanWeaponSkill/CanCast since they all
check the same things anyway.

Fixed some bugs like mp checking against hp in AddMP.
This commit is contained in:
Yogurt
2019-05-29 19:46:29 -07:00
parent a458608322
commit 289e4dc24b
5 changed files with 41 additions and 100 deletions

View File

@@ -36,13 +36,12 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state
this.target = target != null ? target : owner;
if (returnCode == 0 && owner.CanCast(this.target, spell))
if (returnCode == 0 && owner.CanUse(this.target, spell, errorResult))
{
OnStart();
}
else
{
errorResult = new CommandResult(owner.actorId, 32553, 0);
interrupt = true;
}
}
@@ -174,7 +173,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state
private bool CanCast()
{
return owner.CanCast(target, spell) && spell.IsValidMainTarget(owner, target) && !HasMoved();
return owner.CanUse(target, spell);
}
private bool HasMoved()

View File

@@ -24,7 +24,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state
this.skill = Server.GetWorldManager().GetBattleCommand(skillId);
var returnCode = lua.LuaEngine.CallLuaBattleCommandFunction(owner, skill, "weaponskill", "onSkillPrepare", owner, target, skill);
if (returnCode == 0 && owner.CanWeaponSkill(target, skill))
if (returnCode == 0 && owner.CanUse(this.target, skill, errorResult))
{
OnStart();
}
@@ -167,7 +167,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state
private bool CanUse()
{
return owner.CanWeaponSkill(target, skill) && skill.IsValidMainTarget(owner, target);
return owner.CanUse(target, skill);
}
public BattleCommand GetWeaponSkill()