From 706a9fa721435d8a9a878b704953c2b540b3d926 Mon Sep 17 00:00:00 2001 From: Yogurt Date: Wed, 29 May 2019 19:51:51 -0700 Subject: [PATCH] Auto target self on skills whose main target can only be self. --- FFXIVClassic Map Server/actors/chara/ai/state/AbilityState.cs | 3 ++- FFXIVClassic Map Server/actors/chara/ai/state/MagicState.cs | 3 ++- .../actors/chara/ai/state/WeaponSkillState.cs | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/FFXIVClassic Map Server/actors/chara/ai/state/AbilityState.cs b/FFXIVClassic Map Server/actors/chara/ai/state/AbilityState.cs index 5376b6d9..ab95b013 100644 --- a/FFXIVClassic Map Server/actors/chara/ai/state/AbilityState.cs +++ b/FFXIVClassic Map Server/actors/chara/ai/state/AbilityState.cs @@ -23,8 +23,9 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state this.skill = Server.GetWorldManager().GetBattleCommand(skillId); var returnCode = lua.LuaEngine.CallLuaBattleCommandFunction(owner, skill, "ability", "onAbilityPrepare", owner, target, skill); - this.target = target != null ? target : owner; + this.target = (skill.mainTarget & ValidTarget.SelfOnly) != 0 ? owner : target; + errorResult = new CommandResult(owner.actorId, 32553, 0); if (returnCode == 0) { OnStart(); diff --git a/FFXIVClassic Map Server/actors/chara/ai/state/MagicState.cs b/FFXIVClassic Map Server/actors/chara/ai/state/MagicState.cs index c44db21c..4d9e7ffd 100644 --- a/FFXIVClassic Map Server/actors/chara/ai/state/MagicState.cs +++ b/FFXIVClassic Map Server/actors/chara/ai/state/MagicState.cs @@ -34,8 +34,9 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.state foreach (var effect in effects) lua.LuaEngine.CallLuaStatusEffectFunction(owner, effect, "onMagicCast", owner, effect, spell); - this.target = target != null ? target : owner; + this.target = (spell.mainTarget & ValidTarget.SelfOnly) != 0 ? owner : target; + errorResult = new CommandResult(owner.actorId, 32553, 0); if (returnCode == 0 && owner.CanUse(this.target, spell, errorResult)) { OnStart(); diff --git a/FFXIVClassic Map Server/actors/chara/ai/state/WeaponSkillState.cs b/FFXIVClassic Map Server/actors/chara/ai/state/WeaponSkillState.cs index 06210707..21780d00 100644 --- a/FFXIVClassic Map Server/actors/chara/ai/state/WeaponSkillState.cs +++ b/FFXIVClassic Map Server/actors/chara/ai/state/WeaponSkillState.cs @@ -24,6 +24,9 @@ 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); + this.target = (skill.mainTarget & ValidTarget.SelfOnly) != 0 ? owner : target; + + errorResult = new CommandResult(owner.actorId, 32553, 0); if (returnCode == 0 && owner.CanUse(this.target, skill, errorResult)) { OnStart();