diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/SkillCaster.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/SkillCaster.lua index 23e1c0aa1a..7c19bb6391 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/SkillCaster.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/SkillCaster.lua @@ -175,7 +175,7 @@ function SkillCaster:GetEffectPosition(skill) local targetPos = targets[1].position - if chooseLimit == 0 then + if chooseLimit == 0 or chooseLimit == 4 or chooseLimit == 5 then return targetCamp == 0 and FullEffectPosition.My_All or FullEffectPosition.Enemy_All elseif chooseLimit == 1 or chooseLimit == 2 then if targetCamp == 0 then @@ -369,6 +369,7 @@ function SkillCaster:CheckSkillForoleEffect(combat, skill) local go local path = combat.BeforeBullet local offset = combat.BeforeOffset and Vector3.New(combat.BeforeOffset[1], combat.BeforeOffset[2], 0) or Vector3.zero + local pos = Vector3.zero -- 挂在人身上,以人物中心为原点 if combat.BeforeEffectType == 1 then @@ -389,6 +390,12 @@ function SkillCaster:CheckSkillForoleEffect(combat, skill) local sortingOrder = self.effectRoot:GetComponent("Canvas").sortingOrder go = BattleManager.LoadAsset(path, sortingOrder) go.transform:SetParent(self.effectRoot.transform) + + -- 根据目标位置 + elseif combat.BeforeEffectType == 3 then + pos = self:GetEffectPosition(skill) + go = BattleManager.LoadAsset(path, self.effectRoot:GetComponent("Canvas").sortingOrder) + go.transform:SetParent(self.effectRoot.transform) end -- 检测特效旋转 @@ -398,7 +405,7 @@ function SkillCaster:CheckSkillForoleEffect(combat, skill) go.transform.localScale = Vector3.one go.transform.localPosition = Vector3.zero - go.transform.anchoredPosition = offset + go.transform.anchoredPosition = offset + pos go:SetActive(true) BattleManager.AddDelayRecycleRes(path, go, 4) end