添加全屏弹道按列区分释放位移

dev_chengFeng
gaoxin 2020-07-03 16:50:14 +08:00
parent cf93ea3910
commit 0bdb498338
3 changed files with 29 additions and 9 deletions

View File

@ -924,11 +924,34 @@ local FullEffectPosition = {
My_All = Vector3.New(0, -566, 0),
My_Front = Vector3.New(-120, -410, 0),
My_Behind = Vector3.New(20, -760, 0),
My_COL_1 = Vector3.New(-300, -566, 0),
My_COL_2 = Vector3.New(0, -566, 0),
My_COL_3 = Vector3.New(300, -566, 0),
Enemy_All = Vector3.New(0, 430, 0),
Enemy_Front = Vector3.New(-100, 340, 0),
Enemy_Behind = Vector3.New(50, 540, 0),
Enemy_COL_1 = Vector3.New(-300, 430, 0),
Enemy_COL_2 = Vector3.New(0, 430, 0),
Enemy_COL_3 = Vector3.New(300, 430, 0),
}
function RoleView:GetEffectSPostion(skill)
local chooseId = skill.effectList.buffer[1].chooseId
local chooseLimit = math.floor(chooseId / 10000) % 10
local targets = skill:GetDirectTargets()
local targetPos = targets[1].position
if chooseLimit == 3 then
local col = (targetPos % 4) + 1
return self.camp == 0 and FullEffectPosition["My_COL_"..col] or FullEffectPosition["Enemy_COL_"..col]
else
return self.camp == 0 and FullEffectPosition.My_All or FullEffectPosition.Enemy_All
end
end
function RoleView:GetEffectPosition(skill)
local chooseId = skill.effectList.buffer[1].chooseId
local chooseLimit = math.floor(chooseId / 10000) % 10
@ -937,6 +960,7 @@ function RoleView:GetEffectPosition(skill)
local targetCamp = targets[1].camp
local targetPos = targets[1].position
if chooseLimit == 0 then
return targetCamp == 0 and FullEffectPosition.My_All or FullEffectPosition.Enemy_All
elseif chooseLimit == 1 or chooseLimit == 2 then
@ -945,8 +969,10 @@ function RoleView:GetEffectPosition(skill)
else
return targetPos <= 3 and FullEffectPosition.Enemy_Front or FullEffectPosition.Enemy_Behind
end
elseif chooseLimit == 3 then
local col = (targetPos % 4) + 1
return targetCamp == 0 and FullEffectPosition["My_COL_"..col] or FullEffectPosition["Enemy_COL_"..col]
end
end
-- 检测是否需要释放全屏技能
function RoleView:CheckFullSceenSkill(combat, skill)
@ -975,15 +1001,9 @@ function RoleView:CheckFullSceenSkill(combat, skill)
elseif combat.EffectType == 3 then
local path = combat.Bullet
if path then
local spos
if self.camp == 0 then
spos = Vector3.New(0, -566, 0)
else
spos = Vector3.New(0, 430, 0)
end
local spos = self:GetEffectSPostion(skill)
local tpos = self:GetEffectPosition(skill)
if not tpos then
if not spos or not tpos then
return
end
-- 时间